View a markdown version of this page

リモート A2A エージェントの接続 - AWS DevOps エージェント

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

リモート A2A エージェントの接続

リモートエージェントは、エージェント間 (A2A) プロトコルを実装する外部エージェントにタスクを委任することで、 AWS DevOps エージェントの調査機能を拡張します。 Agent-to-Agent リモートエージェントを接続すると、 AWS DevOps Agent は調査サブタスクを割り当て、その結果を全体的な調査に組み込むことができます。このガイドでは、リモートエージェントを AWS DevOps エージェントに接続する方法について説明します。

要件

リモートエージェントを接続する前に、エージェントが次の要件を満たしていることを確認してください。

  • A2A プロトコルのサポート – エージェントは Agent-to-Agent (A2A) プロトコル (JSONRPC または HTTP+JSON バインディング) を実装し、アクセス可能な URL で有効なエージェントカードを提供する必要があります。エージェントカードは、エージェントとの通信方法を AWS DevOps エージェントに伝えます。エージェントカードのフェッチには、エージェントの呼び出しに使用したのと同じ認証情報が使用されます。次のエージェントカードフィールドは必須です。

    • name – エージェントを識別する一意の名前

    • description – エージェントの機能の説明。 AWS DevOps Agent はこれを使用して、特定のサブタスクに最適なリモートエージェントを決定します。

    • supportedInterfaces – 呼び出しエンドポイント URL、プロトコルバインディング (JSONRPC または HTTP+JSON)、およびプロトコルバージョンを宣言します

    • 機能 – エージェントがストリーミングレスポンスをサポートしているかどうかを示すオブジェクト

    • スキル – エージェントの特定の機能を説明する配列。 AWS DevOps エージェントはスキルを使用してタスクを最も適切なリモートエージェントにルーティングします。

  • 認証サポート – リモートエージェントは、ベアラートークン、OAuth クライアント認証情報、API キー、または AWS 署名バージョン 4 (SigV4) のいずれかの認証方法をサポートする必要があります。

  • アイドルタイムアウト – リモート A2A エージェントが 1 分間データを送信しない場合、 AWS DevOps エージェントは接続を閉じます。これは単一レスポンスとストリーミングレスポンスの両方に適用されるため、ストリーミングエージェントは接続を開いたままにするために少なくとも 1 分に 1 回データを送信する必要があります。

セキュリティに関する考慮事項

リモートエージェントを AWS DevOps エージェントに接続するときは、次のセキュリティ面を考慮してください。

  • 読み取り専用エージェント – リモートエージェントは、調査とデータ収集のみを目的として設計する必要があります。リモートエージェントが本番稼働用システムに対して書き込みオペレーションや変更を実行しないようにします。

  • プロンプトインジェクションリスク – リモートエージェントは、プロンプトインジェクション攻撃のリスクをさらに増やす可能性があります。詳細については、「プロンプトインジェクション保護: AWS DevOps エージェントセキュリティ」を参照してください。

プロンプトインジェクションと責任共有モデルの詳細については、AWS DevOps エージェントセキュリティ「」を参照してください。

注記

リモートエージェントがプライベートネットワーク上にある場合は、「」を参照してくださいプライベートにホストされたツールへの接続。

リモートエージェントの登録 (アカウントレベル)

リモートエージェントは AWS アカウントレベルで登録され、そのアカウントのすべてのエージェントスペース間で共有されます。

ステップ 1: リモートエージェントを設定する

  1. AWS マネジメントコンソールにサインインする

  2. AWS DevOps エージェントコンソールに移動する

  3. 機能プロバイダーページに移動する (サイドナビゲーションからアクセス可能)

  4. 「利用可能なプロバイダー」セクションでリモートエージェントを検索し、「登録」をクリックします。

  5. リモートエージェントの設定ページで、エージェントの詳細を入力します。

    • 名前 – このリモートエージェントの一意の名前

    • エージェントカードエンドポイント – リモートエージェントのエージェントカードの HTTPS URL。 AWS DevOps エージェントはこの URL を取得してエージェントの機能を検出し、エンドポイントを呼び出します。

    • 説明 (オプション) – エージェントの目的を特定するのに役立つ説明を追加します。

  6. 認証方法を選択し、その詳細を入力します。

    • API キー – カスタムヘッダーで送信された静的 API キーを使用して認証します。

      • API キー名 – API キーのわかりやすい名前

      • API キーヘッダー – サービスで想定されるヘッダー名 (例: x-api-key)

      • API キー値 – サービスで認証するための API キー値

    • ベアラートークン – ベアラートークン (RFC 6750) を使用して認証します。

      • トークン – ベアラートークン値

    • OAuth クライアント認証情報 – OAuth 2.0 クライアント認証情報付与フローを使用して認証します。

      • クライアント ID – OAuth クライアントのクライアント ID を入力します。

      • クライアントシークレット – OAuth クライアントのクライアントシークレットを入力します。

      • Exchange URL – OAuth トークン交換エンドポイント URL を入力します。

      • スコープの追加 – 認証用の OAuth スコープの追加

    • AWS SigV4 – AWS 署名バージョン 4 を使用した認証:

      • IAM ロールの設定 – 「既存のロールを使用する」 (「SigV4 認証用の IAM ロールを作成する」で説明されているように、 AWS DevOps エージェントサービスプリンシパルがロールを引き受けることを許可する信頼ポリシーを持つ既存の IAM ロールを選択する」) または「手動で新しいロールを作成する」 (コンソールに表示される手順に従います) を選択します。 SigV4

      • AWS リージョン – SigV4 署名の AWS リージョンを入力します (例: us-east-1)

      • サービス名 – SigV4 署名 AWS のサービス名を入力します (API Gateway execute-api の場合は 、Amazon Bedrock AgentCore bedrock-agentcoreの場合は など)。

  7. (オプション) API キー、ベアラートークン、または OAuth クライアント認証情報認証を使用する場合は、プライベート接続を使用してエンドポイントに接続を選択し、リモートエージェントにプライベートにリクエストを行います。選択しない場合、接続はパブリックインターネット経由で行われます。このオプションは、パブリックにアクセス可能なエンドポイントを必要とする AWS SigV4 認証では使用できません。プライベート接続は、エージェントカードエンドポイントとエージェントカードで宣言された呼び出しエンドポイントの両方に適用されます。OAuth クライアント認証情報認証を使用する場合、トークン交換エンドポイントにも適用されます。プライベート接続に、これらのエンドポイントにトラフィックをルーティングできるホストアドレスが設定されていることを確認します。詳細については、「プライベートにホストされたツールへの接続」を参照してください。選択したら、次のいずれかを選択します。

    • 既存のプライベート接続を使用する – 既存のプライベート接続のいずれかを選択します。

    • 新しいプライベート接続を作成する – Amazon VPC Lattice を使用して新しい VPC 接続を作成します。

  8. [次へ] を選択します。

ステップ 2: 確認して登録する

  1. すべてのリモートエージェント設定の詳細を確認する

  2. 登録をクリックして登録を完了します

  3. AWS DevOps エージェントはエージェントカードを取得して接続を検証します

  4. 検証が成功すると、リモートエージェントはアカウントレベルで登録されます。

リモートエージェントとエージェントスペースの関連付け

アカウントレベルでリモートエージェントを登録したら、それを特定のエージェントスペースに関連付けることができます。

  1. AWS DevOps エージェントコンソールで、エージェントスペースを選択します。

  2. 機能タブに移動する

  3. リモートエージェントセクションで、追加をクリックします。

  4. このエージェントスペースに接続する登録済みリモートエージェントを選択します。

  5. 追加をクリックして、リモートエージェントをエージェントスペースに関連付けます。

AWS DevOps エージェントは、このエージェントスペースのリモートエージェントに調査サブタスクを委任できるようになりました。

リモートエージェント接続の管理

接続されたエージェントの表示 – エージェントスペースに接続されているすべてのリモートエージェントを表示するには、エージェントスペースを選択し、機能タブに移動し、リモートエージェントセクションを確認します。

リモートエージェント接続の削除 – エージェントスペースからリモートエージェントを切断するには、リモートエージェントセクションでエージェントを選択し、削除を選択します。リモートエージェント登録を完全に削除するには、まずすべてのエージェントスペースから削除し、次に機能プロバイダーに移動してリモートエージェントを選択し、アクションメニューから登録解除を選択します。

認証情報の更新 – 認証情報を更新する必要がある場合は、リモートエージェントを再登録する必要があります。 AWS DevOps エージェントコンソールの Capability Providers ページに移動し、リモートエージェントを見つけてアクティブな関連付けを削除し、アクションメニューから登録解除を選択します。次に、新しい認証情報でリモートエージェントを登録し、エージェントスペースと必要な関連付けを再作成します。