View a markdown version of this page

DevOps Agent リモートサーバーに接続する - AWS DevOps エージェント

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

DevOps Agent リモートサーバーに接続する

AWS DevOps エージェントは、モデルコンテキストプロトコル (MCP) およびAgent-to-Agent (A2A) プロトコル専用のリモートサーバーを提供します。これらのサーバーを使用して、IDE、CLI、またはカスタムエージェント統合をエージェントスペースに接続します。

サポートされるプロトコル

  • MCP (モデルコンテキストプロトコル) — Kiro、Claude Code、カーソル、その他の MCP 互換ツールなどの IDE クライアントと CLI クライアントを接続します。

  • A2A (Agent-to-Agent) v1.0 – エージェントagent-to-agent通信用に自律エージェントを接続します。

エンドポイント

リモートサーバーは、リージョン URL で利用できます。

https://connect.aidevops.{region}.api.aws
プロトコル パス 方法
MCP /mcp POST
A2A /a2a/* POST
A2A エージェントカード /.well-known/agent-card.json GET

使用可能なリージョンのリストについては、「」を参照してくださいサポートされるリージョン

認証

MCP エンドポイントと A2A エンドポイントの両方で 2 つの認証方法を使用できます。

  • アクセストークン (ベアラー) – 1 つのエージェントスペースにスコープされた 1 つのトークン。個別の使用のための最も簡単なセットアップ。

  • AWS SigV4 – AWS 認証情報ベースの認証。複数のエージェントスペースをサポートし、既存の AWS ID ガバナンスと統合します。 AWS 認証情報を使用してリクエストに署名するローカルプロキシである mcp-proxy-for-aws によって自動的に処理されます。

アクセストークンを作成する

前提条件

  • アクセストークン機能は、エージェントスペースで有効にする必要があります。

  • アクセストークン (aidevops:CreateAccessToken、、) を管理するにはaidevops:RevokeAccessToken、IAM アクセス許可が必要ですaidevops:RotateAccessToken。利用できるタイムゾーンの一覧については、「DevOps エージェント IAM アクセス許可」を参照してください。

アクセストークンを有効にする

  1. AWS マネジメントコンソールにサインインし、 AWS DevOps エージェントコンソールを開きます。

  2. エージェントスペースを選択します。

  3. [設定] タブを選択します。

  4. アクセストークンセクションで、有効化を選択します。

  5. アクションを確認します。

トークンを作成する

  1. エージェントスペースの DevOps エージェントウェブアプリを開き、ナビゲーションメニューから設定を選択し、アクセストークンを選択します。

  2. [Generate token] を選択します。

  3. トークンの名前を入力します。

  4. スコープを選択します。

    • read – 調査、レコメンデーション、チャット、エージェントスペースリソースを表示します。

    • operate – フルアクセス。にすべてが含まれread、メッセージの送信、チャットの作成、バックログタスクとレコメンデーションの管理を行います。

  5. クライアントタイプを選択します。

    • human – IDE および CLI の使用 (Kiro、Claude Code、Cursor、およびその他のインタラクティブツール)。

    • agent – 自律 A2A 統合とプログラムエージェント用。

  6. 有効期限 (1~60 日) を設定します。

  7. トークン値をコピーし、AWS Secrets Manager などの安全で安全な場所に保存します。再度取得することはできません。

トークンを作成すると、ウェブアプリにクライアントに直接コピーできる設定例が表示されます。

Kiro との接続

Kiro ユーザーには、IDE または Kiro Powers マーケットプレイスから専用の AWS DevOps Agent パワーを利用できます。 https://kiro.dev/powers/#aws-devops-agent

ステップ 1: 電源をインストールする

Powers Marketplace から aws-devops-agent power をインストールします。

ステップ 2: 環境変数を設定する

接続を設定するには、次の環境変数を設定します。

DEVOPS_AGENT_TOKEN=<your-access-token> DEVOPS_AGENT_REGION=<your-agent-space-region>

ステップ 3: Kiro で変数を承認する

設定 > MCP 承認済み Env Vars に移動し、 DEVOPS_AGENT_TOKENと を承認しますDEVOPS_AGENT_REGION。Kiro は、環境変数が承認されるまで MCP サーバーに渡しません。

ステップ 4: Kiro を再起動する

Kiro を再起動して変更を適用します。

Kiro パワーにはフォールバックaws-mcpとして が含まれており、リモートサーバーエンドポイントが使用できない場合に直接 AWS API アクセスを提供します。

Claude コードで接続する

Claude Code ユーザーの場合、 AWS DevOps エージェントは aws-agents-for-devsecops Claude プラグインから使用できます。これにより、 AWS DevOps エージェントと AWS セキュリティエージェントの両方の機能が Claude に取り込まれます。Claude プラグインまたはソースリポジトリからインストールします。

  1. aws-agents-for-devsecops プラグインをインストールします。

  2. /aws-agents-for-devsecops:setup-devops-agent コマンドを実行して接続を設定します。

他の MCP クライアントに接続する

MCP 互換クライアントの場合は、以下を使用してサーバーを設定します。

  • URLhttps://connect.aidevops.{region}.api.aws/mcp

  • 認可ヘッダーBearer <your-token>

  • タイムアウト – 最小 120 秒 (初期応答には 5~30 秒かかる場合があります。進行中のチャットセッションには時間がかかる場合があります)

この設定は、専用の電源やプラグインを使用する代わりに、手動で接続を設定する場合は、Kiro および Claude Code でも機能します。

MCP 設定の例:

{ "mcpServers": { "aws-devops-agent": { "url": "https://connect.aidevops.{region}.api.aws/mcp", "headers": { "Authorization": "Bearer <your-access-token>" } } } }

をエージェントスペースのリージョン ( などus-east-1) {region}に、 をトークン値<your-access-token>に置き換えます。

SigV4 認証を使用する

SigV4 認証は、アクセストークンの代わりに AWS 認証情報を使用します。Kiro power および Claude Code プラグインには、ローカル AWS 認証情報を使用してリクエストに署名するmcp-proxy-for-aws、 を介した組み込み SigV4 サポートが含まれています。

SigV4 を使用する場合

  • アクセストークンが設定されていないか失敗した場合 (期限切れ、無効) のフォールバックとして。

  • 複数のエージェントスペースがあり、ツール呼び出しagent_space_idごとに でルーティングする必要がある場合のプライマリ認証として。

  • ユーザーの選択として – Claude Code で、セットアップスキルを実行してベアラートークンから SigV4 認証に切り替えます。

前提条件

  • AWS 環境で利用可能な 認証情報 (SSO、環境変数、または 認証情報ファイル)。

  • 認証情報には、 AWS DevOps エージェントアクションを呼び出すアクセス許可が必要です。必要なアクセス許可については、「DevOps エージェント IAM アクセス許可」を参照してください。

  • uvx インストール済み (プロキシは を介して実行されますuvx mcp-proxy-for-aws@latest)。

設定例

アクセストークンの代わりに SigV4 を使用するように MCP クライアントを設定するには、 を介してサーバーを実行しますmcp-proxy-for-aws。をエージェントスペースのリージョン ( などus-east-1) {region}に置き換えます。

{ "mcpServers": { "aws-devops-agent": { "command": "uvx", "timeout": 120000, "args": [ "mcp-proxy-for-aws@latest", "https://connect.aidevops.{region}.api.aws/mcp", "--service", "aidevops", "--region", "{region}" ] } } }

プロキシはローカル AWS 認証情報を使用して各リクエストに署名するため、アクセストークンは必要ありません。

Multi-Agent-Spaceルーティング

SigV4 モードでは、各ツール呼び出しagent_space_idを渡して、使用するエージェントスペースを指定します。これにより、1 つのクライアントから複数のエージェントスペースにルーティングできます。

A2A 統合

A2A エンドポイントは、HTTP+JSON バインディングを使用して A2A v1.0 仕様を実装します。

エージェントカード検出

エージェントカードは次の場所から取得します。

GET https://connect.aidevops.{region}.api.aws/.well-known/agent-card.json

サポートされているオペレーション

  • SendMessage – メッセージを送信し、レスポンスを受け取ります。

  • SendStreamingMessage – 生成されたレスポンスをストリーミングします。

  • GetTask – 非同期タスクのステータスを確認します。

  • ListTasks – エージェントスペースのタスクを一覧表示します。

  • CancelTask – 実行中のタスクをキャンセルします。

  • SubscribeToTask – サーバー送信イベントを通じてタスクの更新をサブスクライブします。

スキル

  • 調査 – 運用上の問題の詳細な非同期分析 (5~8 分)。

  • chat – 運用上の質問に対する即時の回答。

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

トークンスコープ

  • 最小特権を使用する: クライアントがメッセージを送信またはタスクを管理する必要があるoperate場合にのみ、読み取り専用の統合readに を選択します。

  • トークンを定期的にローテーションします。トークンは、設定された期間 (最大 60 日) 後に期限切れになります。

  • 環境変数またはシークレットマネージャーにトークンを保存します。ソースコードでトークンをハードコードしないでください。

  • 人間によるレビューなしでエージェントのレスポンスを自動実行しないでください。

IP 許可リスト

アクセストークンを作成するときは、オプションで IP 許可リストを指定できます。設定すると、トークンは指定された IP アドレスまたは CIDR 範囲からのみ使用できます。他の IPsは、アクセス拒否エラーで拒否されます。

トークンのローテーションと取り消し

  • ローテーション – トークンの名前、スコープ、および IP 許可リストを保持しながら、トークンをローテーションして新しいトークン値を生成します。古いトークンはすぐに無効になります。新しいトークン値を使用してクライアント設定を更新します。

  • 取り消し – トークンが侵害された場合は、すぐに取り消します。取り消されたトークンは使用できず、復元することもできません。

侵害されたトークンへの対応

トークンが侵害された疑いがある場合は、次の手順に従います。

  1. すべてのトークンアクセスをブロックする – AWS DevOps エージェントコンソールで、エージェントスペースを開き、設定タブを選択し、アクセストークンセクションで無効化を選択します。これにより、エージェントスペースへのすべてのトークンベースのアクセスが直ちにブロックされます。

  2. 侵害されたトークンの取り消し – ウェブアプリで、設定 > アクセストークンに移動し、侵害されたトークンを選択し、取り消しを選択します。アクセストークンが無効になっている場合でも、トークンを取り消すことができます。

  3. アクセストークンの再有効化 – 侵害されたトークンを取り消した後、トークンベースのアクセスがまだ必要な場合は、設定タブからアクセストークンを再有効化します。

プログラムによるトークンの取り消し

を使用してプログラムでトークンを取り消すこともできますawscurl。次のコマンドは SigV4 認証を使用します。リージョン (us-east-1) を、エージェントスペースが作成されたリージョンに置き換えます。

ステップ 1: エージェントスペースを一覧表示する

aws aidevops list-agent-spaces --region us-east-1

ステップ 2: エージェントスペースのアクセストークンを一覧表示する

awscurl --service aidevops --region us-east-1 \ -H "Accept: application/json" \ "https://cp.aidevops.us-east-1.api.aws/v1/agentspaces/{agentSpaceId}/access-tokens"

ステップ 3: トークンを取り消す

awscurl --service aidevops --region us-east-1 -X POST \ -H "Accept: application/json" \ "https://cp.aidevops.us-east-1.api.aws/v1/agentspaces/{agentSpaceId}/access-tokens/{accessTokenId}/revoke"

{agentSpaceId} と を前のレスポンスの値{accessTokenId}に置き換えます。

トレーサビリティ

AWS DevOps Agent は AWS CloudTrail にリモートサーバーアクティビティを記録します。これらのレコードを使用して、リモートサーバーを呼び出したユーザーと、その結果エージェントが何をしたかを追跡します。 AWS DevOps エージェントは、エージェントスペースをホストする AWS アカウントに CloudTrail イベントを配信します。

アクセストークン認証イベント

AWS DevOps エージェントが MCP または A2A エンドポイントのアクセストークンを認証するたびに、CloudTrail にAuthenticateAccessTokenイベントを発行します。 AWS DevOps エージェントは、成功した認証と失敗した認証の両方を記録します。これらのレコードを使用して正当な使用を監査し、拒否された試行を検出します。例としては、期限切れまたは取り消されたトークン、IP 許可リストによってブロックされたリクエストなどがあります。

イベントには次の特性があります。

  • イベントソースaidevops.amazonaws.com

  • イベント名AuthenticateAccessToken

  • 管理イベント – イベントは管理イベントであり、読み取り専用ではないため、読み取り専用イベントを除外しても表示され続けます。

イベントには、次のキーフィールドが含まれます。

フィールド 説明
userIdentity.principalId 提示されたアクセストークンの ID。
userName アクセストークンの名前。
requestParameters.agentSpaceId トークンが認証されるエージェントスペース。
requestParameters.accessTokenId アクセストークン ID。
requestParameters.tokenName アクセストークン名。
requestParameters.protocol 使用されたプロトコル -MCP または A2A
responseElements.AuthenticateAccessToken 結果 —Success または Failure
resources トークンが認証するエージェントスペースリソース (AWS::AIDevOps::AgentSpace)。ARN によって識別されます。
additionalEventData.roleSessionName 認証を成功させるには、ダウンストリームロールセッション名を の形式で指定しますtoken_{spaceId}_{timestamp}_{tokenName}。これを使用して、認証をエージェントが実行するアクションと関連付けます。
sourceIPAddress クライアントの IP アドレス。
userAgent 利用可能な場合、クライアントの User-Agent 文字列。
errorCode, errorMessage 認証が失敗した場合は、認証が拒否された理由。
注記

AWS DevOps Agent は raw ベアラートークン値を記録しません。イベントには、不透明なアクセストークン ID のみが表示されます。

ダウンストリームアクションイベント

アクセストークンを使用すると、 AWS DevOps Agent はユーザーに代わってアクションを実行するロールを引き受けます。 AWS DevOps Agent は、トークンと発信者を識別するセッションタグを使用して CloudTrail でこのAssumeRole呼び出しを記録します。

  • AgentSpaceId – エージェントスペースの識別子。

  • UserId – トークン作成者の ID。

  • AccessTokenId – トークンの一意の識別子。

  • TokenName – 使用されるアクセストークンの名前。

  • ClientType – 使用されるプロトコル (MCP、A2A)。

  • SourceIp – クライアントの IP アドレス。

  • UserAgent – Client User-Agent 文字列 (使用可能な場合)。

エージェントがユーザーに代わって実行する各アクションには、CloudTrail がログに記録する対応するダウンストリーム AWS API コールがあります。ロールセッション名は 形式を使用しますtoken_{spaceId}_{timestamp}_{tokenName}。このセッション名は、AuthenticateAccessTokenイベントの と一致しroleSessionNameます。これを使用して、認証からそれに従った特定のアクションをトレースします。

SigV4 呼び出し

アクセストークンの代わりに AWS SigV4 認証を使用する呼び出しはAuthenticateAccessTokenイベントを生成しません。 AWS DevOps Agent は、SigV4 リクエストを AWS Identity and Access Management (IAM) ID に属性付けします。エージェントがトリガーするダウンストリーム AWS API コールを通じて実行するアクションを追跡できます。

VPC エンドポイントポリシーの制限

リモートサーバーエンドポイントは VPC エンドポイントポリシーをサポートしていません。アクセストークンまたは SigV4 認証のいずれかを使用した呼び出しは、VPC エンドポイントポリシーでは制限できません。

アクセストークンの無効化

アクセストークン機能はデフォルトでオフになっています。有効にした後で無効にするには:

  1. エージェントスペースの設定タブを開きます。

  2. Access tokens セクションで、Disable を選択します。

を無効にすると、すべてのトークンベースのアクセスがすぐにブロックされます。既存のトークンは削除されませんが、機能を再度有効にするまで使用できません。

組織内のユーザーがアクセストークンを有効にできないようにするには、アクセストークン API アクションと UpdateAgentSpaceアクション (アクセストークンの切り替えを制御する) を拒否するサービスコントロールポリシー (SCP) を作成します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessTokenOperations", "Effect": "Deny", "Action": [ "aidevops:UpdateAgentSpace", "aidevops:CreateAccessToken", "aidevops:GetAccessToken", "aidevops:ListAccessTokens", "aidevops:RotateAccessToken", "aidevops:RevokeAccessToken" ], "Resource": "*" } ] }

トラブルシューティング

症状 原因 解像度
HTTP 401 未承認 トークンが無効または期限切れです。 ウェブアプリで新しいトークンを作成するか、既存のトークンをローテーションします。
HTTP 400 「A2A-Version ヘッダーが必要」 プロトコルバージョンヘッダーがありません。A2A v1.0 のみがサポートされています。 A2A リクエストに A2A-Version: 1.0ヘッダーを追加します。
リクエストタイムアウト 初期応答には 5~30 秒かかります。調査には 5~8 分かかります。 クライアントタイムアウトを少なくとも 120 秒に設定します。
接続が拒否されました エンドポイント URL またはリージョンが正しくありません。 URL 形式を確認します。 https://connect.aidevops.{region}.api.aws