

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

# WorkSpaces アプリケーションへのアクセス権をエージェントに付与する
<a name="getting-started-agent-access"></a>

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

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

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

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

このチュートリアルでは、以下のタスクを完了します。
+ ステップ 1: エージェントアクセスを有効にしてスタックを作成する
+ ステップ 2: ストリーミング URL を生成する
+ ステップ 3: エージェントを MCP サービスに接続する
+ ステップ 4: エージェントアクティビティを検証する
+ ステップ 5: のリソースをクリーンアップする

## 前提条件
<a name="getting-started-agent-access-prereqs"></a>

作業を開始する前に、次の項目があることを確認します。
+ アクティブな Amazon WorkSpaces アプリケーションフリート。まだ設定していない場合は、「」を参照してください[Amazon WorkSpaces アプリケーションの開始方法: サンプルアプリケーションのセットアップ](getting-started.md)。
+ 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](https://strandsagents.com/docs/user-guide/concepts/tools/mcp-tools/) はネイティブ MCP クライアントサポートを提供します。または、mcp-proxy-for-aws トランスポートで任意のフレームワークを使用できます。
+ Python 3.10 以降。特定のオペレーティングシステムは必要ありません。

## ステップ 1: エージェントアクセスを有効にしてスタックを作成する
<a name="getting-started-agent-access-create-stack"></a>

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

### AWS マネジメントコンソールの使用
<a name="getting-started-agent-access-create-stack-console"></a>

**エージェントアクセスを持つスタックを作成するには**

1. [WorkSpaces アプリケーションコンソール](https://console.aws.amazon.com/appstream2/home)を開きます。

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

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

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

1. **エージェント設定の編集**ページ (ステップ 3/4) で、以下を設定します。
   + **コンピュータ入力を有効にする** — エージェントがボタンを選択し、テキストを入力し、デスクトップでスクロールできるようにします。コンピュータ入力を有効にする場合は、コンピュータビジョンも有効にする必要があります。
   + **コンピュータビジョンを有効にする** — エージェントがデスクトップを表示できるようにします。
   + **スクリーンショットストレージ** — ストリーミングセッション中にエージェントのスクリーンショットを保存する場所を設定します。有効にした場合、書き込みのアクセス許可を持つ Amazon S3 バケットを指定します。
   + **画面解像度** — エージェントストリーミング環境の表示解像度 (1280x720) を選択します。
   + **画面イメージタイプ** — エージェントの画面キャプチャ (PNG または JPEG) のイメージ形式を選択します。
   + **アプリケーション設定の永続性** — 必要に応じてこれを有効にして、セッション間でエージェントのアプリケーションのカスタマイズと Windows 設定を保存します。設定は、 AWS アカウントの Amazon S3 バケットに保存されます。
**注記**  
コンピュータ入力またはコンピュータビジョンの少なくとも 1 つを有効にする必要があります。

   [**次へ**] を選択します。

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

### の使用 AWS CLI
<a name="getting-started-agent-access-create-stack-cli"></a>

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

```
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 を生成する
<a name="getting-started-agent-access-streaming-url"></a>

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

### AWS マネジメントコンソールの使用
<a name="getting-started-agent-access-streaming-url-console"></a>

**コンソールを使用してストリーミング URL を生成するには**

1. [WorkSpaces アプリケーションコンソール](https://console.aws.amazon.com/appstream2/home)を開きます。

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

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

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

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

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

### の使用 AWS CLI
<a name="getting-started-agent-access-streaming-url-cli"></a>

ストリーミング 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 サービスに接続する
<a name="getting-started-agent-access-connect"></a>

エージェントは、次の固定エンドポイントでマネージド 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: エージェントアクティビティを検証する
<a name="getting-started-agent-access-verify"></a>

次の AWS サービスを使用して、エージェントのアクティビティを確認できます。
+ **AWS CloudTrail** — エージェントセッションイベント AWS CloudTrail を記録します。 AWS CloudTrail コンソールを開いて、エージェントのアクティビティを表示します。
+ **CloudWatch** — CloudWatch はエージェントセッションの運用メトリクスを提供します。CloudWatch コンソールを開いてメトリクスを表示します。
+ **Amazon S3** — スクリーンショットストレージを有効にした場合、Amazon S3 はスタック設定時に指定したバケットにスクリーンショットを保存します。

## ステップ 5: のリソースをクリーンアップする
<a name="getting-started-agent-access-cleanup"></a>

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

### AWS マネジメントコンソールの使用
<a name="getting-started-agent-access-cleanup-console"></a>

**リソースをクリーンアップするには**

1. [WorkSpaces アプリケーションコンソール](https://console.aws.amazon.com/appstream2/home)を開きます。

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

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

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

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

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

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

### の使用 AWS CLI
<a name="getting-started-agent-access-cleanup-cli"></a>

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

```
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}}
```