Skip to content

Latest commit

 

History

History
45 lines (24 loc) · 4.32 KB

PUBLISH_API_ja-JP.md

File metadata and controls

45 lines (24 loc) · 4.32 KB

API公開

概要

このサンプルには、APIを公開する機能が含まれています。チャットインターフェースは予備的な検証に便利かもしれませんが、実際の実装は特定のユースケースとエンドユーザーに求められるユーザーエクスペリエンス(UX)に依存します。状況によっては、チャットUIが望ましい選択肢となる一方で、スタンドアロンのAPIがより適している場合もあります。初期検証の後、このサンプルはプロジェクトのニーズに応じてカスタマイズされたボットを公開する機能を提供します。クォータ、スロットリング、オリジンなどの設定を入力することで、APIキーと共にエンドポイントを公開でき、多様な統合オプションに柔軟に対応できます。

セキュリティ

APIキーのみを使用することは、AWS API Gateway開発者ガイドで説明されているように推奨されません。そのため、このサンプルではAWS WAFを介した簡単なIPアドレス制限を実装しています。コスト面を考慮し、制限したいソースが発行されたすべてのAPIで同様である可能性が高いという前提の下、WAFルールはアプリケーション全体に共通して適用されます。**実際の実装については、組織のセキュリティポリシーに従ってください。**また、アーキテクチャセクションも参照してください。

カスタマイズしたボット APIを公開する方法

前提条件

ガバナンス上の理由により、限られたユーザーのみがボットを公開できます。公開する前に、ユーザーは PublishAllowed というグループのメンバーである必要があります。このグループは管理コンソール > Amazon Cognito ユーザープール、または AWS CLI で設定できます。ユーザープール ID は、CloudFormation > BedrockChatStack > 出力 > AuthUserPoolIdxxxx からアクセスできます。

API 公開設定

PublishedAllowed ユーザーとしてログインし、ボットを作成した後、API 公開設定 を選択します。共有ボットのみ公開できることに注意してください。

次の画面で、スロットリングに関する複数のパラメータを設定できます。詳細については、以下のリンクも参照してください:スループット向上のための API リクエストのスロットリング

デプロイ後、以下の画面が表示され、エンドポイント URL と API キーを取得できます。また、API キーの追加や削除も可能です。

アーキテクチャ

APIは以下の図のように公開されています:

WAFはIPアドレスの制限に使用されます。アドレスは、cdk.jsonpublishedApiAllowedIpV4AddressRangesおよびpublishedApiAllowedIpV6AddressRangesパラメータを設定することで構成できます。

ユーザーがボットを公開すると、AWS CodeBuildがCDKデプロイメントタスクを起動し、API Gateway、Lambda、SQSを含むAPIスタックをプロビジョニングします(参照:CDK定義)。SQSは、ユーザーリクエストとLLM操作を分離するために使用されます。これは、出力の生成がAPI Gatewayのクォータである30秒を超える可能性があるためです。出力を取得するには、APIに非同期にアクセスする必要があります。詳細については、APIの仕様を参照してください。

クライアントはリクエストヘッダーにx-api-keyを設定する必要があります。

APIの仕様

詳細はこちらをご覧ください。