OpenAI APIのmockサービス part3: AWSサービスの設定詳細
OpenAI APIのmockサービスの設定詳細
前回の投稿でOpenAI APIのmockサービスであるopenai-mockのアーキテクチャの概要を解説しました。
今回は、AWSの各サービスの設定内容を解説します。
全体構成
これが、mockサービスの静的コンテンツと動的コンテンツを一つにまとめたシステム構成です。
api.openai-mock
というドメイン名にリファレンスマニュアルとWebAPIをホスティングしています。
詳細な構成図
各サービスの設定内容
サービスの設定内容を解説します。
Amazon CloudFront
動的なコンテンツ(WebAPI)は、APIゲートウェイに流し、静的なコンテンツ(リファレンス・マニュアル)はS3で配信するよう設定しています。
- オリジンの設定
- ビヘイビアの設定
/chat/*
/v1/*
/beta/*
というパスは API Gatewayへ、 /*
は S3へ転送するようにしています。
Amazon S3
詳細は省略しますが、リファレンスマニュアルのコンテンツを置いています。
Slateで生成した静的コンテンツ(HTML/CSSなど)を、そのまま配置しています。
リファレンスマニュアル
上記リファレンスマニュアルのコンテンツはSlateというドキュメントシステムで書いています。
SlateのGitHubページ
Amazon API Gateway
API Gatewayには、2つのLambdaを統合しています。
ひとつは本番バージョンのプログラム、もうひとつはベータバージョンのものです。
ベータバージョンは、本番を壊さずに不安定なバージョンを試せるよう、/beta/*
というパスでホスティングしています。
AWS Lambda
OpenAIのmockサービスのコア部分です。詳細は省略します。
最後に
以上が、今回開発したmockサービスの設定の詳細です。
API GatewayとLambdaの統合を使ったごく普通の構成です。
この記事が皆さんのプロジェクトに役立つようであれば幸いです。
Discussion