

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

# AWS サービスの使用
<a name="using-services"></a>

## AWS Identity and Access Management
<a name="aws-identity-and-access-management"></a>

 IAM ロールを使用して AWS サービスにアクセスし、それにアタッチされた IAM ポリシーに固有であることは、WorkSpaces アプリケーションセッションのユーザーのみが追加の認証情報を管理せずにアクセスできるようにするベストプラクティスです。[https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html#best-practices-for-using-iam-role-with-streaming-instances](https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html#best-practices-for-using-iam-role-with-streaming-instances)に従います。

 ユーザーデータをホームフォルダとアプリケーション設定の永続化の両方に保持するために作成された [https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html](https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html)を作成します。これにより[https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html#s3-iam-policy-restricted-access](https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html#s3-iam-policy-restricted-access)アクセスできなくなります。

## VPC エンドポイント
<a name="vpc-endpoints-1"></a>

 VPC エンドポイントは、VPC とサポートされている AWS サービス、および を搭載した VPC エンドポイントサービス間のプライベート接続を有効にします AWS PrivateLink。 AWS PrivateLink は、プライベート IP アドレスを使用して サービスにプライベートにアクセスできるテクノロジーです。VPC と他のサービス間のトラフィックは、Amazon ネットワークを離れません。 AWS サービスにのみパブリックインターネットアクセスが必要な場合、VPC エンドポイントは NAT ゲートウェイとインターネットゲートウェイの要件を完全に削除します。

 自動化ルーチンまたはデベロッパーが WorkSpaces アプリケーションの API コールを行う必要がある環境では、[https://docs.aws.amazon.com/appstream2/latest/developerguide/access-api-cli-through-interface-vpc-endpoint.html](https://docs.aws.amazon.com/appstream2/latest/developerguide/access-api-cli-through-interface-vpc-endpoint.html)。たとえば、パブリックインターネットアクセスのないプライベートサブネットに EC2 インスタンスがある場合、WorkSpaces アプリケーション API の VPC エンドポイントを使用して、[https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html)などの AppStream 2.0 API オペレーションを呼び出すことができます。次の図は、WorkSpaces アプリケーション API とストリーミング VPC エンドポイントが Lambda 関数と EC2 インスタンスによって消費されるセットアップの例を示しています。

![\[VPC エンドポイントの参照アーキテクチャ図\]](http://docs.aws.amazon.com/ja_jp/appstream2/latest/developerguide/images/vpc-endpoint.jpeg)


 *VPC エンドポイント* 

 ストリーミング VPC エンドポイントでは、VPC エンドポイントを介してセッションをストリーミングできます。ストリーミングインターフェイスエンドポイントは、VPC 内のストリーミングトラフィックを維持します。ストリーミングトラフィックには、ピクセル、USB、ユーザー入力、オーディオ、クリップボード、ファイルのアップロードとダウンロード、プリンターのトラフィックが含まれます。VPC エンドポイントを使用するには、WorkSpaces Applications スタックで VPC エンドポイント設定を有効にする必要があります。これは、インターネットアクセスが制限されていて、Direct Connect インスタンス経由でアクセスしたほうが有利な場所から、パブリックインターネット経由でユーザーセッションをストリーミングする代替手段となります。VPC エンドポイントを介してユーザーセッションをストリーミングするには、以下が必要です。
+  インターフェイスエンドポイントに関連付けられているセキュリティグループは、ユーザーが接続する IP アドレス範囲からポート `443` (TCP) とポート `1400–1499` (TCP) へのインバウンドアクセスを許可する必要があります。
+  サブネットのネットワークアクセスコントロールリストでは、一時ネットワークポート `1024-65535` (TCP) から、ユーザーが接続する IP アドレス範囲へのアウトバウンドトラフィックを許可する必要があります。
+  インターネット接続は、ユーザーを認証し、WorkSpaces アプリケーションが機能するために必要なウェブアセットを配信するために必要です。

 WorkSpaces アプリケーションを使用した AWS サービスへのトラフィックの制限の詳細については、VPC [https://docs.aws.amazon.com/appstream2/latest/developerguide/creating-streaming-from-interface-vpc-endpoints.html](https://docs.aws.amazon.com/appstream2/latest/developerguide/creating-streaming-from-interface-vpc-endpoints.html)するための管理ガイドを参照してください。

 パブリックインターネットへの完全なアクセスが必要な場合は、Image Builder で Internet Explorer のセキュリティ強化構成 (ESC) を無効にするのがベストプラクティスです。詳細については、WorkSpaces アプリケーション管理ガイド」を参照して、[https://docs.aws.amazon.com/appstream2/latest/developerguide/customize-fleets.html#customize-fleets-disable-ie-esc](https://docs.aws.amazon.com/appstream2/latest/developerguide/customize-fleets.html#customize-fleets-disable-ie-esc)します。

## インスタンスでのインスタンスメタデータサービス (IMDS) の設定
<a name="configuring-imds"></a>

このトピックでは、インスタンスメタデータサービス (IMDS) について説明します。

*インスタンスメタデータ*は、アプリケーションが実行中のインスタンスを設定または管理するために使用できる Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに関連するデータです。インスタンスメタデータサービス (IMDS) は、インスタンス上のコードによって、インスタンスメタデータに安全にアクセスするために使用されるインスタンス上のコンポーネントです。詳細については、「*Amazon EC2 ユーザーガイド*」の「[Instance Metadata and User Data](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)」を参照してください。

コードは、手法としてインスタンスメタデータサービスバージョン 1 (IMDSv1) またはインスタンスメタデータサービスバージョン 2 (IMDSv2) のいずれかを使用して、実行中のインスタンスからインスタンスメタデータにアクセスできます。IMDSv2 はセッション指向のリクエストを使用し、IMDS へのアクセス試行に利用される可能性があるいくつかのタイプの脆弱性を軽減します。これら 2 つの方法については、「Amazon EC2 ユーザーガイド」の[インスタンスメタデータサービスの設定に関するページ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)を参照してください。

### IMDS のリソースサポート
<a name="imds-resource-support"></a>

常時オン、オンデマンド、単一セッション、マルチセッションフリート、およびすべての Image Builder は、2024 年 IMDSv1 月 16 日以降にリリースされたエージェントバージョンまたはマネージドイメージ更新で WorkSpaces アプリケーションイメージを実行するときに、IMDSv1 と IMDSv2 の両方をサポートします。

Elastic Fleets と AppBlock Builders インスタンスは、IMDSv1 と IMDSv2 の両方もサポートしています。

### IMDS 属性設定の例
<a name="imds-examples"></a>

IMDS メソッドを選択する 2 つの例を次に示します。

#### Java v2 SDK の例
<a name="java-sdk-example"></a>

以下のリクエスト例では、`disableIMDSV1`属性を使用して IMDSv1 を無効にしています。

```
CreateFleetRequest request = CreateFleetRequest.builder()
 .name("TestFleet")
 .imageArn("arn:aws:appstream:us-east-1::image/TestImage")
 .instanceType("stream.standard.large")
 .fleetType(FleetType.ALWAYS_ON)
 .computeCapacity(ComputeCapacity.builder()
 .desiredInstances(5)
 .build())
 .description("Test fleet description")
 .displayName("Test Fleet Display Name")
 .enableDefaultInternetAccess(true)
 .maxUserDurationInSeconds(3600)
 .disconnectTimeoutInSeconds(900)
 .idleDisconnectTimeoutInSeconds(600)
 .iamRoleArn("arn:aws:iam::123456789012:role/TestRole")
 .streamView(StreamView.APP)
 .platform(PlatformType.WINDOWS)
 .maxConcurrentSessions(10)
 .maxSessionsPerInstance(2)
 .tags(tags)
 .disableIMDSV1(true)
 .build();
```

**disableIMDSV1** を true に設定して IMDSv1 を無効にし、IMDSv2 を適用します。

**disableIMDSV1** を false に設定してIMDSv1 と IMDSv2 の両方を有効にします。

#### CLI の例
<a name="cli-example"></a>

以下のリクエスト例では、`--disable-imdsv1`属性を使用して IMDSv1 を無効にしています。

```
aws appstream create-fleet --name test-fleet --image-arn "arn:aws:appstream:us-east-1::image/test-image" --disable-imdsv1 --instance-type stream.standard.small --compute-capacity DesiredInstances=2 --max-user-duration-in-seconds 57600 --disconnect-timeout-in-seconds 57600 --region us-east-1
```

IMDSv1 を無効にし、IMDSv2 を適用するには、true `--disable-imdsv1`に設定します。

IMDSv1 と IMDSv2 の両方を有効にするには、false `--no-disable-imdsv1`に設定します。