View a markdown version of this page

WorkSpaces アプリケーションへのアクセス権をエージェントに付与する - Amazon WorkSpaces Applications

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

WorkSpaces アプリケーションへのアクセス権をエージェントに付与する

AI エージェントが Amazon WorkSpaces アプリケーションを介してデスクトップアプリケーションを操作できるようにするには、エージェントのアクセスを有効にしたスタックを作成し、ストリーミング URL を生成して、エージェントをマネージド MCP サービスに接続します。

エージェントアクセスを初めて設定する場合は、Build Your First Agent クイックスタートエクスペリエンスを使用できます。このトピックの手順に従って、エージェントアクセスを手動で設定することもできます。クイックスタートエクスペリエンスは、GitHub リポジトリの sample-code-for-workspaces-agent-access で利用できます。

このチュートリアルの所要時間は約 15 分です。

重要

このチュートリアルで作成したリソースは、アカウントに AWS 課金される可能性があります。継続的な料金が発生しないように、スタックを削除し、完了したらフリートを停止します。

このチュートリアルでは、以下のタスクを完了します。

  • ステップ 1: エージェントアクセスを有効にしてスタックを作成する

  • ステップ 2: ストリーミング URL を生成する

  • ステップ 3: エージェントを MCP サービスに接続する

  • ステップ 4: エージェントアクティビティを検証する

  • ステップ 5: のリソースをクリーンアップする

前提条件

作業を開始する前に、次の項目があることを確認します。

  • アクティブな Amazon WorkSpaces アプリケーションフリート。まだ設定していない場合は、「」を参照してくださいAmazon WorkSpaces アプリケーションの開始方法: サンプルアプリケーションのセットアップ

  • AWS 次の IAM アクセス許可を持つ 認証情報 (環境変数、 AWS プロファイル、EC2 インスタンスロール、または Lambda 実行ロール)。

    { "Sid": "MCP", "Effect": "Allow", "Action": ["agentaccess-mcp:*"], "Resource": "*" }, { "Sid": "AppStream", "Effect": "Allow", "Action": ["appstream:CreateStreamingURL", "appstream:DescribeFleets"], "Resource": "*" }
  • MCP 互換のエージェントフレームワーク。エージェントは、SigV4-signed付き Streamable HTTP リクエストを MCP エンドポイントに作成できる必要があります。Strands Agents SDK はネイティブ MCP クライアントサポートを提供します。または、mcp-proxy-for-aws トランスポートで任意のフレームワークを使用できます。

  • Python 3.10 以降。特定のオペレーティングシステムは必要ありません。

ステップ 1: エージェントアクセスを有効にしてスタックを作成する

AI エージェントがデスクトップアプリケーションとやり取りできるように、エージェントアクセスを有効にして WorkSpaces アプリケーションスタックを作成します。

AWS マネジメントコンソールの使用

エージェントアクセスを持つスタックを作成するには
  1. WorkSpaces アプリケーションコンソールを開きます。

  2. 左側のナビゲーションペインで、スタックを選択し、スタックの作成を選択します。

  3. スタックの詳細ページ (ステップ 1/4) で、AI エージェントアクセスAI エージェントアクセスを有効にするを選択します。[次へ] を選択します。

  4. ストレージの有効化ページ (ステップ 2/4) で、オプションでホームフォルダを有効にして、エージェントが AWS アカウント内の Amazon S3 バケットにファイルを保存できるようにします。このスタックに関連付けられたフリートは、インターネットまたは Amazon S3 の Amazon VPC エンドポイントを介した Amazon S3 へのアクセスを許可する必要があります。[次へ] を選択します。

  5. エージェント設定の編集ページ (ステップ 3/4) で、以下を設定します。

    • コンピュータ入力を有効にする — エージェントがボタンを選択し、テキストを入力し、デスクトップでスクロールできるようにします。コンピュータ入力を有効にする場合は、コンピュータビジョンも有効にする必要があります。

    • コンピュータビジョンを有効にする — エージェントがデスクトップを表示できるようにします。

    • スクリーンショットストレージ — ストリーミングセッション中にエージェントのスクリーンショットを保存する場所を設定します。有効にした場合、書き込みのアクセス許可を持つ Amazon S3 バケットを指定します。

    • 画面解像度 — エージェントストリーミング環境の表示解像度 (1280x720) を選択します。

    • 画面イメージタイプ — エージェントの画面キャプチャ (PNG または JPEG) のイメージ形式を選択します。

    • アプリケーション設定の永続性 — 必要に応じてこれを有効にして、セッション間でエージェントのアプリケーションのカスタマイズと Windows 設定を保存します。設定は、 AWS アカウントの Amazon S3 バケットに保存されます。

    注記

    コンピュータ入力またはコンピュータビジョンの少なくとも 1 つを有効にする必要があります。

    [次へ] を選択します。

  6. 確認と作成ページ (ステップ 4/4) で、設定を確認し、スタックの作成を選択します。

の使用 AWS CLI

次のコマンドを実行して、エージェントアクセスが有効になっているスタックを作成します。

aws appstream create-stack \ --name your-stack-name \ --agent-access-config '{ "Settings": [ {"AgentAction": "COMPUTER_VISION", "Permission": "ENABLED"}, {"AgentAction": "COMPUTER_INPUT", "Permission": "ENABLED"} ], "ScreenResolution": "W_1280xH_720", "ScreenImageFormat": "PNG" }'

スクリーンショットストレージも有効にするには、 S3BucketArn および ScreenshotsUploadEnabledパラメータを追加します。

aws appstream create-stack \ --name your-stack-name \ --agent-access-config '{ "Settings": [ {"AgentAction": "COMPUTER_VISION", "Permission": "ENABLED"}, {"AgentAction": "COMPUTER_INPUT", "Permission": "ENABLED"} ], "ScreenResolution": "W_1280xH_720", "ScreenImageFormat": "PNG", "S3BucketArn": "arn:aws:s3:::your-bucket-name", "ScreenshotsUploadEnabled": true }'

スタックを作成したら、フリートに関連付けます。エージェントは、関連付けられたフリートを持たないスタックに接続できません。

aws appstream associate-fleet \ --stack-name your-stack-name \ --fleet-name your-fleet-name

ステップ 2: ストリーミング URL を生成する

標準の WorkSpaces Applications CreateStreamingURL API を使用してストリーミング URL を作成します。エージェント固有のパラメータは必要ありません。スタックのエージェントアクセス設定によって、エージェント固有の動作が決まります。

AWS マネジメントコンソールの使用

コンソールを使用してストリーミング URL を生成するには
  1. WorkSpaces アプリケーションコンソールを開きます。

  2. 左側のナビゲーションペインで、 スタックを選択し、エージェントアクセスを有効にして作成したスタックを選択します。

  3. アクションボタンを選択し、ドロップダウンでストリーミング URL の作成を選択します。このオプションを使用するには、スタックを選択する必要があります。

  4. UserID セクションで、ユーザーを入力します。テストTestUserする場合は、 と入力できます。

  5. URL の有効期限セクションで、URL を有効にする時間を選択します。より短い時間が推奨されます。デフォルトは 30 分で、テストに推奨されます。

  6. GetURL を選択し、生成された URL をコピーします。

の使用 AWS CLI

ストリーミング URL を生成するには、次のコマンドを実行します。

aws appstream create-streaming-url \ --stack-name your-stack-name \ --fleet-name your-fleet-name \ --user-id your-agent-id \ --validity 3600

レスポンスには、次のステップでエージェントにStreamingURL渡す が含まれます。URL は、 --validityパラメータで指定された期間有効です。

ステップ 3: エージェントを MCP サービスに接続する

エージェントは、次の固定エンドポイントでマネージド MCP サービスに接続します。

https://agentaccess-mcp.region.api.aws/mcp

接続では、サービス名 で SigV4 署名を使用しますagentaccess-mcp。ステップ 2 のストリーミング URL は、すべての MCP リクエストのヘッダーとして渡します。

次の例は、mcp-proxy-for-aws を使用して接続を確立する方法を示しています。

aws_iam_streamablehttp_client( endpoint="https://agentaccess-mcp.region.api.aws/mcp", aws_service="agentaccess-mcp", aws_region="region", headers={ "X-Amzn-AgentAccess-Streaming-Session-Url": streaming_url, }, )

エージェントが接続したら、MCP ツールを使用してテキストの入力、ボタンの選択、デスクトップのスクリーンショットの撮影を行うことができます。

ステップ 4: エージェントアクティビティを検証する

次の AWS サービスを使用して、エージェントのアクティビティを確認できます。

  • AWS CloudTrail — エージェントセッションイベント AWS CloudTrail を記録します。 AWS CloudTrail コンソールを開いて、エージェントのアクティビティを表示します。

  • CloudWatch — CloudWatch はエージェントセッションの運用メトリクスを提供します。CloudWatch コンソールを開いてメトリクスを表示します。

  • Amazon S3 — スクリーンショットストレージを有効にした場合、Amazon S3 はスタック設定時に指定したバケットにスクリーンショットを保存します。

ステップ 5: のリソースをクリーンアップする

継続的な課金を回避するには、このチュートリアルで作成したスタックを削除します。スタックを削除する前に、フリートを停止し、スタックとの関連付けを解除する必要があります。必要に応じて、フリートを削除することもできます。

AWS マネジメントコンソールの使用

リソースをクリーンアップするには
  1. WorkSpaces アプリケーションコンソールを開きます。

  2. 左のナビゲーションペインの [フリート] を選択します。

  3. スタックに関連付けられているフリートを選択します。[Actions]、[Stop] の順に選択します。フリートが停止するのを待ちます。

  4. 左のナビゲーションペインで [Stacks] (スタック) をクリックします。

  5. 作成したスタックを選択し、アクションフリートの関連付け解除を選択します。

  6. スタックをまだ選択したまま、アクション削除を選択します。

  7. (オプション) フリートを削除するには、左側のナビゲーションペインでフリートを選択します。フリートを選択し、アクション削除を選択します。

の使用 AWS CLI

次のコマンドを実行して、リソースをクリーンアップします。

aws appstream stop-fleet \ --name your-fleet-name aws appstream disassociate-fleet \ --stack-name your-stack-name \ --fleet-name your-fleet-name aws appstream delete-stack \ --name your-stack-name

(オプション) 停止後にフリートも削除するには:

aws appstream delete-fleet \ --name your-fleet-name