本文にスキップ
AI News HubLIVE
サイト内リライト3 分で読了

サーバーレスA2Aゲートウェイの構築:エージェントの発見、ルーティング、アクセス制御

記事の要約

この記事では、AWS上でサーバーレスA2Aゲートウェイを構築し、パスベースのルーティング、一元化されたアクセス制御、意味検索により複数のエージェントを管理する方法を解説します。標準のA2Aクライアントはそのまま動作します。

ソースAWS Machine Learning Blog著者: Reilly Manton
サーバーレスA2Aゲートウェイの構築:エージェントの発見、ルーティング、アクセス制御
誤りを報告

訂正窓口はまだ利用できません。記事情報をコピーして保存できます。

訂正案内
本文へ

企業が複数のチーム、ベンダー、インフラストラクチャにわたってAIエージェントを展開するにつれて、エージェント間通信の管理は増大する運用負荷となります。集中化レイヤーがない場合、新しいエージェントを統合するたびにポイントツーポイント接続、個別の認証情報、カスタムルーティングロジックが追加されます。チームはエージェント機能の構築ではなく、接続の配線にエンジニアリングサイクルを費やします。アクセス制御は断片化し、どのクライアントがどのエージェントにアクセスできるかを強制する単一の場所がありません。その結果、新しいエージェントワークフローの市場投入までの時間が遅れ、一貫性のない認証ポリシーによるセキュリティリスクが増大し、ネットワークに新しいエージェントが追加されるたびに運用オーバーヘッドが二次関数的に増加します。

ゲートウェイパターンは、エージェントがAmazon ECS、AWS Lambda、Amazon Bedrock AgentCoreランタイム、非AWSクラウド、またはハイブリッド環境のいずれで実行されていても、エージェントの前に単一のエントリポイントを配置することでこの問題に対処します。ルーティングを集中管理し、特定のランタイム、フレームワーク、オーケストレーションレイヤーにチームを縛ることなく、きめ細かい権限を強制します。このパターンは、エージェント間通信を標準化するAgent-to-Agent(A2A)プロトコルに基づいています。中央オーケストレーターがない場合、20のエージェントのデプロイには最大190のポイントツーポイント接続が必要になります。

この記事では、AWS上でサーバーレスA2Aゲートウェイを構築し、パスベースのルーティング(/agents/{agentId})を使用して複数のエージェントを単一ドメインでホストする方法を学びます。標準のA2Aクライアントはそのまま動作します。このソリューションには3つのレイヤーがあります。管理レイヤー:一元化されたエージェントレジストリと意味検索を備えた発見。制御レイヤー:JSON Web Token(JWT)スコープとLambdaオーソライザーを使用したきめ細かいアクセス制御。実行レイヤー:OAuthバックエンド認証とServer-Sent Events(SSE)ストリーミングをサポートする単一ドメインルーティング。

アーキテクチャ

Amazon API Gateway(REST API)が単一のエントリポイントとして機能します。アーキテクチャはREST APIを使用します。これは、REST APIがレスポンスのストリーミングをサポートしているためです。ストリーミングはSSEベースのリアルタイムエージェント応答に必要です。LambdaオーソライザーはJWTスコープを検査し、特定のエージェントパス(/agents/agent-a/*)へのアクセスを許可し、その他を拒否するIAMポリシーを生成します。

Lambda関数はゲートウェイロジックを実装します。オーソライザー:JWTを検証し、スコープからエージェントへのマッピングに基づいてIAMポリシーを生成。レジストリ:呼び出し元がアクセスできるエージェントをリストし、URLをゲートウェイを指すように書き換え。検索:Amazon BedrockのAmazon Titan Text Embeddingsを使用した意味的なエージェント発見。プロキシ:Lambda Web Adapterを介してOAuth認証でリクエストをバックエンドエージェントにルーティングし、SSEストリーミングをサポート。管理:エージェントの登録とライフサイクル管理。

Amazon DynamoDBは3つのテーブルを保存します。エージェントレジストリはエージェントIDをバックエンドURL、認証設定、キャッシュされたエージェントカードにマッピングします。権限テーブルはJWTスコープを許可されたエージェントにマッピングします。レート制限カウンターテーブルは1分あたりのリクエストをカウントします。

Amazon CognitoはOAuth 2.0クライアントクレデンシャルフローを使用して認証を処理します。トークン内のスコープにより、呼び出し元がアクセスできるエージェントが決まります。

ゲートウェイの設計

A2AネイティブエンドポイントはA2Aプロトコル仕様に従い、バックエンドエージェントにルーティングします。ゲートウェイは仕様で定義された2つのプロトコルバインディング、JSON-RPCとHTTP+JSON/RESTをサポートしています。さらに、ゲートウェイエンドポイントはエージェントの発見、検索、ライフサイクル管理を提供します。

3層モデル

エージェントのデプロイが増えるにつれて、チームは何が利用可能かを把握する必要があります。管理レイヤーは、エージェントの機能、バックエンドURL、ステータスがカタログ化された一元化されたレジストリを提供します。制御レイヤーはJWTスコープに基づいてきめ細かい権限を強制し、未承認のリクエストはAPI Gatewayレベルで拒否されます。実行レイヤーはバックエンドエージェントへの実際のリクエストルーティングを処理し、SSEストリーミングとOAuth認証をサポートします。

デプロイとテスト

ゲートウェイはTerraformで完全にデプロイされます。前提条件はTerraform >= 1.5.0、Python 3.12、有効な認証情報で設定されたAWS CLI、Dockerです。コードはaws-samples GitHubリポジトリで入手できます。リポジトリをクローンし、変数を設定し、Lambdaパッケージをビルドしてデプロイします。テストでは、認証情報の取得、JWTの取得、サンプルエージェントのデプロイ、ゲートウェイへのエージェント登録、権限の更新、メッセージの送信を行います。

このソリューションは、エンタープライズAIアプリケーション向けのスケーラブルで安全かつ管理しやすいエージェント通信インフラストラクチャを提供します。

要点と分析を開く

記事インテリジェンス

エンジニア中級

要点

  • API Gatewayを単一エントリポイントとし、パスベースルーティングを実装。
  • JWTスコープに基づくLambdaオーソライザーで細かいアクセス制御。
  • 管理層でエージェントの登録、検索、意味検索を提供。
  • SSEストリーミングをサポートし、標準A2Aプロトコルに対応。

要点と分析は自動生成され、誤りを含む場合があります。原典をご確認ください。