

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

# WorkSpaces Pools のバンドルとイメージ
<a name="pools-images"></a>

*WorkSpace バンドル*は、オペレーティングシステム、ストレージ、コンピューティング、およびソフトウェアリソースの組み合わせです。WorkSpace を起動するときに、必要に応じてバンドルを選択します。WorkSpaces で使用できるデフォルトのバンドルは*パブリックバンドル*と呼ばれます。WorkSpaces で利用可能なさまざまな公開バンドルの詳細については、[Amazon WorkSpaces バンドル](https://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles)を参照してください。

Windows WorkSpaces を起動してカスタマイズした場合は、その WorkSpace からカスタムイメージを作成して WorkSpaces Pools で使用できます。Linux は WorkSpaces Pools ではサポートされていません。

*カスタムイメージ*には、WorkSpace の OS、ソフトウェア、設定のみが含まれます。*カスタムバンドル*は、WorkSpace の起動元になるカスタムイメージとハードウェアの両方を組み合わせたものです。

カスタムイメージを作成したら、カスタム WorkSpace イメージと、選択した基盤となるコンピューティングおよびストレージ設定を組み合わせたカスタムバンドルを構築できます。その後、新しい WorkSpaces Pools を作成するときにこのカスタムバンドルを指定して、プール内の新しい WorkSpaces が同じ一貫した構成 (ハードウェアとソフトウェア) になるようにします。

WorkSpaces にソフトウェアの更新や追加ソフトウェアのインストールが必要な場合は、カスタムバンドルを更新し、そのバンドルにより WorkSpaces を再構築できます。

WorkSpaces Pools は、複数の異なるオペレーティングシステム (OS)、ストリーミングプロトコル、バンドルをサポートしています。次の表は、各 OS でサポートされているライセンス、ストリーミングプロトコル、バンドルに関する情報を示しています。


| オペレーティングシステム | ライセンス | ストリーミングプロトコル | サポート対象バンドル | ライフサイクルポリシー/サポート終了日 | 
| --- | --- | --- | --- | --- | 
| Windows Server 2019 | 含まれる | DCV | Value、Standard、Performance、Power、PowerPro | [2029 年 1 月 9 日](https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2019) | 
| Windows Server 2022 | 含まれる | DCV | Standard、Performance、Power、PowerPro、Graphics.G4dn、GraphicsPro.G4dn | [2031 年 10 月 14 日](https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2022) | 

**注記**  
ベンダーによってサポートされなくなったオペレーティングシステムのバージョンは動作する保証はなく、 AWS サポートによってもサポートされません。

**Topics**
+ [WorkSpaces Pools のバンドルオプション](pools-custom-images-bundles.md)
+ [WorkSpaces Pools のカスタムイメージとカスタムバンドルを作成する](pools-images-custom-image.md)
+ [WorkSpaces Pools のカスタムイメージとカスタムバンドルを管理する](pools-images-managing.md)
+ [セッションスクリプトを使用してユーザーのストリーミングエクスペリエンスを管理する](pools-images-session-scripts.md)

# WorkSpaces Pools のバンドルオプション
<a name="pools-custom-images-bundles"></a>

WorkSpaces Pools で使用するバンドルを選択する前に、選択するバンドルが WorkSpaces のプロトコル、オペレーティングシステム、ネットワーク、およびコンピューティングタイプと互換性があることを確認します。テスト環境で選択するバンドルのパフォーマンスのテストでは、ユーザーの日常タスクをレプリケートするアプリケーションを実行して使用することをお勧めします。プロトコルの詳細については、「[WorkSpaces Personal のプロトコル](amazon-workspaces-networking.md#amazon-workspaces-protocols)」を参照してください。ネットワークの詳細については、「[WorkSpaces Personal のクライアントネットワークの要件](workspaces-network-requirements.md)」を参照してください。

WorkSpaces Pools では、次のパブリックバンドルを使用できます。WorkSpaces でのバンドルの詳細については、「[Amazon WorkSpaces バンドル](https://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles)」を参照してください。Value、Standard、Performance、Power、PowerPro

## Value バンドル
<a name="value"></a>

このバンドルは、以下に最適です。
+ 基本的なテキスト編集とデータ入力
+ 使用量の少ないウェブブラウジング
+ インスタントメッセージング

このバンドルは、言語処理、音声およびビデオ会議、画面共有、ソフトウェア開発ツール、ビジネスインテリジェンスアプリケーション、およびグラフィックアプリケーションにはお勧めしません。

## Standard バンドル
<a name="standard"></a>

このバンドルは、以下に最適です。
+ 基本的なテキスト編集とデータ入力
+ ウェブブラウジング
+ インスタントメッセージング
+ E メール

このバンドルは、音声およびビデオ会議、画面共有、言語処理、ソフトウェア開発ツール、ビジネスインテリジェンスアプリケーション、およびグラフィックアプリケーションにはお勧めしません。

## Performance バンドル
<a name="performance"></a>

このバンドルは、以下に最適です。
+ ウェブブラウジング
+ 言語処理
+ インスタントメッセージング
+ E メール
+ スプレッドシート
+ オーディオ処理
+ コースウェア

このバンドルは、ビデオ会議、画面共有、ソフトウェア開発ツール、ビジネスインテリジェンスアプリケーション、およびグラフィックアプリケーションにはお勧めしません。

## Power バンドル
<a name="power"></a>

このバンドルは、以下に最適です。
+ ウェブブラウジング
+ 言語処理
+ E メール
+ インスタントメッセージング
+ スプレッドシート
+ オーディオ処理
+ ソフトウェア開発 (統合開発環境 (IDE))
+ 中級レベルのデータ処理への参入
+ 音声会議とビデオ会議

このバンドルは、画面共有、ソフトウェア開発ツール、ビジネスインテリジェンスアプリケーション、およびグラフィックアプリケーションにはお勧めしません。

## PowerPro バンドル
<a name="powerpro"></a>

このバンドルは、以下に最適です。
+ ウェブブラウジング
+ 言語処理
+ E メール
+ インスタントメッセージング
+ スプレッドシート
+ オーディオ処理
+ ソフトウェア開発 (統合開発環境 (IDE))
+ データウェアハウス
+ ビジネスインテリジェンスアプリケーション
+ 音声会議とビデオ会議

このバンドルは、機械学習モデルのトレーニング、およびグラフィックアプリケーションにはお勧めしません。

## Graphics.g4dn バンドル
<a name="graphicsg4dn"></a>

このバンドルは、WorkSpaces の高いレベルのグラフィックパフォーマンスと、中程度のレベルの CPU パフォーマンスおよびメモリを提供し、以下に最適です。
+ ウェブブラウジング
+ 言語処理
+ E メール
+ スプレッドシート
+ インスタントメッセージング
+ オーディオ会議
+ ソフトウェア開発 (統合開発環境 (IDE))
+ 中級レベルのデータ処理への参入
+ データウェアハウス
+ ビジネスインテリジェンスアプリケーション
+ グラフィックスデザイン
+ CAD/CAM (コンピューター支援設計/コンピューター支援製造)

このバンドルは、音声会議やビデオ会議、3D レンダリング、実写のようなリアルなデザイン、および機械学習モデルのトレーニングにはお勧めしません。

## GraphicsPro.g4dn バンドル
<a name="graphicsprog4dn"></a>

このバンドルは、WorkSpaces の高いレベルのグラフィックパフォーマンス、CPU パフォーマンス、およびメモリを提供し、以下に最適です。
+ ウェブブラウジング
+ 言語処理
+ E メール
+ スプレッドシート
+ インスタントメッセージング
+ オーディオ会議
+ ソフトウェア開発 (統合開発環境 (IDE))
+ 中級レベルのデータ処理への参入
+ データウェアハウス
+ ビジネスインテリジェンスアプリケーション
+ グラフィックスデザイン
+ CAD/CAM (コンピューター支援設計/コンピューター支援製造)
+ 動画トランスコーディング
+ 3D レンダリング
+ 実写のようなリアルなデザイン
+ ゲームストリーミング
+ 機械学習 (ML) モデルのトレーニングと ML 推論

このバンドルは、音声会議やビデオ会議にはお勧めしません。

# WorkSpaces Pools のカスタムイメージとカスタムバンドルを作成する
<a name="pools-images-custom-image"></a>

WorkSpaces Pools は、Windows のイメージとバンドルのみをサポートします。Windows または WorkSpace を起動してカスタマイズした場合は、その WorkSpace からカスタムイメージとカスタムバンドルを作成できます。

*カスタムイメージ*には、WorkSpace の OS、ソフトウェア、設定のみが含まれます。*カスタムバンドル*は、WorkSpace の起動元になるカスタムイメージとハードウェアの両方を組み合わせたものです。

カスタムイメージを作成したら、カスタムイメージと、選択した基盤となるコンピューティングおよびストレージ設定を組み合わせたカスタムバンドルを構築できます。その後、新しい WorkSpaces を起動するときにこのカスタムバンドルを指定して、新しい WorkSpaces が同じ一貫した構成 (ハードウェアとソフトウェア) になるようにします。

バンドルごとに異なるコンピューティングオプションとストレージオプションを選択することで、同じカスタムイメージを使用してさまざまなカスタムバンドルを作成できます。

**重要**  
カスタムバンドルのストレージボリュームは、イメージストレージボリュームよりも小さくすることはできません。

カスタムバンドルのコストは、作成元であるパブリックバンドルと同じです。料金の詳細については、 [ Amazon WorkSpaces の料金 ](https://aws.amazon.com/workspaces/pricing/) を参照してください。

**Topics**
+ [Windows カスタムイメージを作成するための要件](#pools-windows_custom_image_requirements)
+ [ベストプラクティス](#pools-custom_image_best_practices)
+ [ステップ 1: Image Checker を実行する](#pools-run_image_checker)
+ [ステップ 2: カスタムイメージとカスタムバンドルを作成する](#pools-create_custom_image_bundle)
+ [Windows WorkSpaces カスタムイメージに含まれるアイテム](#pools-image_creation_windows)

## Windows カスタムイメージを作成するための要件
<a name="pools-windows_custom_image_requirements"></a>

**注記**  
現在、Windows では 1 GB を 1,073,741,824 バイトと定義しています。WorkSpace のイメージを作成するには、C ドライブに 12,884,901,888 バイト (または 12 GiB) を超える空き容量があり、ユーザープロファイルが 10,737,418,240 バイト (または 10 GiB) 未満であることを確認する必要があります。
+ WorkSpace のステータスが [**利用可能**] で、変更の状態が [**なし**] であることが必要です。
+ WorkSpaces イメージのすべてのアプリケーションとユーザープロファイルは、Microsoft Sysprep と互換性がある必要があります。
+ イメージに含めるすべてのアプリケーションは、`C` ドライブにインストールする必要があります。
+ WorkSpace 上で実行されるすべてのアプリケーションサービスは、ドメインユーザー資格情報の代わりにローカルシステムアカウントを使用する必要があります。たとえば、ドメインユーザーの認証情報を使用して、インストール済みの Microsoft SQL Server Express を実行することはできません。
+ WorkSpace は暗号化しないでください。暗号化された WorkSpace からのイメージの作成は現在サポートされていません。
+ 以下のコンポーネントがイメージに必要です。これらのコンポーネントがないと、イメージから起動する WorkSpaces は正しく機能しません。詳細については、「[WorkSpaces Personal に必須の設定とサービスコンポーネント](required-service-components.md)」を参照してください。
  + Windows PowerShell バージョン 3.0 以降
  + リモートデスクトップサービス
  + AWS PV ドライバー
  + Windows Remote Management (WinRM)
  + Teradici PCoIP エージェントおよびドライバー
  + STXHD エージェントおよびドライバー
  + AWS および WorkSpaces 証明書
  + Skylight エージェント
+ WorkSpaces Pools は、最大バンドル/イメージルートボリュームサイズ 200 GB のみをサポートします。Windows カスタムイメージを作成するときは、ルートボリュームサイズが 200 GB 未満であることを確認します。

## ベストプラクティス
<a name="pools-custom_image_best_practices"></a>

WorkSpace からイメージを作成する前に、以下を実行します。
+ 本番稼働用環境に接続されていない別の VPC を使用します。
+ WorkSpace をプライベートサブネットにデプロイし、アウトバウンドトラフィックに NAT インスタンスを使用します。
+ 小さい Simple AD ディレクトリを使用します。
+ ソース WorkSpace の最小ボリュームサイズを使用し、カスタムバンドルの作成時に必要に応じてボリュームサイズを調整します。
+ すべてのオペレーティングシステムの更新プログラム (Windows の機能/バージョンの更新プログラムを除く) とすべてのアプリケーション更新プログラムを WorkSpace にインストールします。
+ バンドルに含めるべきでない WorkSpace からキャッシュされたデータを削除します (たとえば、ブラウザの履歴、キャッシュされたファイル、ブラウザの Cookie など)。
+ バンドルに含めるべきではない WorkSpace から構成設定を削除します (E メールプロファイルなど)。
+ DHCP を使用して、動的 IP アドレス設定に切り替えます。
+ リージョンで許可されている WorkSpace イメージのクォータを超えていないことを確認します。デフォルトでは、リージョンごとに 40 の WorkSpace イメージが許可されます。このクォータに達した場合、新しいイメージを作成しようとすると失敗します。クォータの引き上げをリクエストするには、[WorkSpaces 制限のフォーム](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=workspaces)を使用します。
+ 暗号化された WorkSpace からイメージを作成しようとしていないことを確認します。暗号化された WorkSpace からのイメージの作成は現在サポートされていません。
+ WorkSpace でウイルス対策ソフトウェアを実行している場合は、イメージの作成時に無効にします。
+ WorkSpace でファイアウォールを有効にしている場合は、ファイアウォールによって必要なポートがブロックされていないことを確認します。詳細については、「[WorkSpaces Personal の IP アドレスとポートの要件](workspaces-port-requirements.md)」を参照してください。
+ Windows WorkSpaces の場合、イメージを作成する前にグループポリシーオブジェクト (GPO) を設定しないでください。
+ Windows WorkSpaces の場合、イメージを作成する前にデフォルトのユーザープロファイル (`C:\Users\Default`) をカスタマイズしないでください。GPO を使用してユーザープロファイルをカスタマイズし、イメージの作成後に適用することをお勧めします。GPO を使用して行ったカスタマイズは変更やロールバックが容易なため、デフォルトのユーザープロファイルに対して行ったカスタマイズよりもエラーが発生しにくくなります。
+ ENA、NVMe、PV ドライバーなど、WorkSpaces のネットワーク依存関係ドライバーを必ず更新してください。この作業は、少なくとも 6 か月に 1 回行う必要があります。詳細については、[Elastic Network Adapter (ENA) ドライバーのインストールまたはアップグレード](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking-ena.html#ena-adapter-driver-install-upgrade-win)、[AWS NVMe ドライバー (Windows インスタンス)](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/aws-nvme-drivers.html)、および [Windows インスタンスでの PV ドライバーのアップグレード](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Upgrading_PV_drivers.html)に関する説明を参照してください。
+ EC2Config、EC2Launch、および EC2Launch V2 エージェントを定期的に最新バージョンに更新してください。この作業は、少なくとも 6 か月に 1 回行う必要があります。詳細については、「[EC2Config および EC2Launch の更新](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/migrating-latest-types.html#upgdate-ec2config-ec2launch)」を参照してください。

## ステップ 1: Image Checker を実行する
<a name="pools-run_image_checker"></a>

Windows WorkSpace がイメージ作成の要件を満たしていることを確認するには、Image Checker アプリケーションを実行することをお勧めします。Image Checker は、イメージの作成に使用する WorkSpace で一連のテストを実行し、検出された問題を解決する方法に関するガイダンスを提供します。Image Checker は Windows WorkSpaces でのみ使用できます。

**重要**  
WorkSpace は、Image Checker によって実行されるすべてのテストに合格した後に、イメージの作成に使用できます。
Image Checker を実行する前に、WorkSpace に最新の Windows セキュリティと累積更新プログラムがインストールされていることを確認します。

Image Checker を入手するには、以下のいずれかを実行します。
+ [WorkSpace を再起動します](reboot-workspaces.md)。Image Checker は再起動時に自動的にダウンロードされ、`C:\Program Files\Amazon\ImageChecker.exe` にインストールされます。
+ [https://tools.amazonworkspaces.com/ImageChecker.zip](https://tools.amazonworkspaces.com/ImageChecker.zip) から Amazon WorkSpaces Image Checker をダウンロードし、 `ImageChecker.exe` ファイルを抽出します。このファイルを `C:\Program Files\Amazon\` にコピーします。

**Image Checker を実行するには**

1. `C:\Program Files\Amazon\ImageChecker.exe` ファイルを開きます。

1. [**Amazon WorkSpaces Image Checker**] ダイアログボックスで、[**Run (実行)**] を選択します。

1. 各テストが完了したら、テストのステータスを表示できます。

   いずれかのテストで [**Failed (失敗)**] ステータスが表示された場合は、[**Info (情報)**] を選択して、失敗の原因となった問題の解決方法に関する情報を表示します。これらの問題を解決する方法の詳細については、[Image Checker によって検出された問題を解決するためのヒント](#pools-image_checker_tips) を参照してください。

   いずれかのテストで [**WARNING (警告)**] ステータスが表示された場合は、[**Fix All Warnings (すべての警告の修正)**] ボタンを選択します。

   このツールは、Image Checker が配置されているのと同じディレクトリに出力ログファイルを生成します。デフォルトでは、このファイルは `C:\Program Files\Amazon\ImageChecker_yyyyMMddhhmmss.log` にあります。このログファイルは削除しないでください。問題が発生した場合、このログファイルはトラブルシューティングに役立つことがあります。

1. 該当する場合は、テストの失敗と警告の原因となる問題を解決し、WorkSpace がすべてのテストに合格するまで Image Checker の実行プロセスを繰り返します。イメージを作成する前に、すべての失敗と警告が解決されている必要があります。

1. WorkSpace がすべてのテストに合格すると、「**Validation Successful (検証に成功しました)**」というメッセージが表示されます。これで、カスタムバンドルを作成する準備ができました。

### Image Checker によって検出された問題を解決するためのヒント
<a name="pools-image_checker_tips"></a>

Image Checker によって検出された問題を解決するための以下のヒントを参照するほか、`C:\Program Files\Amazon\ImageChecker_yyyyMMddhhmmss.log` で Image Checker のログファイルも確認してください。

#### PowerShell バージョン 3.0 以降がインストールされていることが必要
<a name="pools-tips_powershell"></a>

最新バージョンの [Microsoft Windows PowerShell](https://docs.microsoft.com/powershell) をインストールします。

**重要**  
WorkSpace の PowerShell 実行ポリシーは、**RemoteSigned** スクリプトを許可するように設定する必要があります。実行ポリシーを確認するには、**Get-ExecutionPolicy** PowerShell コマンドを実行します。実行ポリシーが **Unrestricted** または **RemoteSigned** に設定されていない場合は、**Set-ExecutionPolicy –ExecutionPolicy RemoteSigned** コマンドを実行して、実行ポリシーの値を変更します。**RemoteSigned** 設定では、イメージの作成に必要な Amazon WorkSpaces でスクリプトを実行できます。

#### C および D ドライブのみが存在できる
<a name="pools-tips_local_drives"></a>

イメージの作成に使用される WorkSpace には、`C` および `D` ドライブのみが存在できます。仮想ドライブを含め他のすべてのドライブを削除します。

#### Windows Update による保留中の再起動は検出できない
<a name="pools-tips_pending_updates"></a>
+ Windows を再起動してセキュリティまたは累積更新プログラムのインストールが完了するまで、イメージ作成プロセスは実行できません。Windows を再起動してこれらの更新を適用し、保留中の他の Windows セキュリティまたは累積更新プログラムをインストールする必要がないことを確認します。
+ イメージの作成は、あるバージョンの Windows 10 から新しいバージョンの Windows 10 にアップグレードされた Windows 10 システム (Windows の機能/バージョンのアップグレード) ではサポートされません。ただし、Windows の累積的な更新プログラムまたはセキュリティ更新プログラムは、WorkSpaces のイメージ作成プロセスでサポートされます。

#### Sysprep ファイルは存在する必要があり、空白にすることはできない
<a name="pools-tips_blank_sysprep"></a>

Sysprep ファイルに問題がある場合は、[AWS サポート センター](https://console.aws.amazon.com/support/home#/)に連絡して EC2Config または EC2Launch の修復を依頼します。

#### ユーザープロファイルのサイズは 10 GB 未満であることが必要
<a name="pools-tips_large_profile"></a>

Windows 7 WorkSpaces では、ユーザープロファイル (`D:\Users\username`) は合計で 10 GB 未満である必要があります。必要に応じてファイルを削除して、ユーザープロファイルのサイズを小さくします。

#### ドライブ C には十分な空き容量が必要
<a name="pools-tips_drive_c_full"></a>

Windows 7 WorkSpaces では、ドライブ `C` には 12 GB 以上の空き容量が必要です。必要に応じてファイルを削除し、ドライブ `C` の空き容量を増やします。Windows 10 WorkSpaces では、`FAILED` メッセージが表示され、ディスク容量が 2 GB を超えている場合は、無視できます。

#### ドメインアカウントで実行できるサービスがない
<a name="pools-tips_services_domain_accounts"></a>

イメージ作成プロセスを実行するために、WorkSpace にドメインアカウントで実行できるサービスがありません。すべてのサービスがローカルアカウントで実行されている必要があります。

**ローカルアカウントでサービスを実行するには**

1. `C:\Program Files\Amazon\ImageChecker_yyyyMMddhhmmss.log` を開き、ドメインアカウントで実行されているサービスのリストを見つけます。

1. Windows の検索ボックスに「**services.msc**」と入力して、Windows サービスマネージャーを開きます。

1. [**ログオン方法**] で、ドメインアカウントで実行されているサービスを探します。([**ローカルシステム**]、[**ローカルサービス**]、または [**ネットワークサービス**] として実行されているサービスは、イメージの作成を妨げません) 

1. ドメインアカウントで実行されているサービスを選択し、**[Action]**、**[Properties]** の順に選択します。

1. [**ログオン**] タブを開きます。[**ログオン方法**] で、[**ローカルシステムアカウント**] を選択します。

1. **[OK]** を選択します。

#### DHCP を使用するように WorkSpace を設定することが必要
<a name="pools-tips_static_ip"></a>

静的 IP アドレスの代わりに DHCP を使用するように、WorkSpace のすべてのネットワークアダプターを設定する必要があります。

**DHCP を使用するようにすべてのネットワークアダプターを設定するには**

1. Windows の検索ボックスに「**control panel**」と入力して、コントロールパネルを開きます。

1. [**ネットワークとインターネット**] を選択します。

1. [**ネットワークと共有センター**] を選択します。

1. [**アダプター設定の変更**] を選択し、アダプターを選択します。

1. [**この接続の設定を変更する**] を選択します。

1. [**ネットワーク**] タブで、[**インターネットプロトコルバージョン 4 (TCP/IPv4)**] を選択し、[**プロパティ**] を選択します。

1. [**インターネットプロトコルバージョン 4 (TCP/IPv4) のプロパティ**] ダイアログボックスで、[**IP アドレスを自動的に取得する**] を選択します。

1. [**OK**] を選択してください。

1. WorkSpace 上のすべてのネットワークアダプターに対してこのプロセスを繰り返します。

#### リモートデスクトップサービスを有効にすることが必要
<a name="pools-tips_enable_rds"></a>

イメージ作成プロセスでは、リモートデスクトップサービスを有効にする必要があります。

**リモートデスクトップサービスを有効にするには**

1. Windows の検索ボックスに「**services.msc**」と入力して、Windows サービスマネージャーを開きます。

1. [**名前**] 列で、[**リモートデスクトップサービス**] を見つけます。

1. **[Remote Desktop Services]** を選択し、**[Action]**、**[Properties]** の順に選択します。

1. [**全般**] タブの [**スタートアップの種類**] で、[**手動**] または [**自動**] を選択します。

1. [**OK**] を選択してください。

#### ユーザープロファイルが存在することが必要
<a name="pools-tips_user_profile_missing"></a>

イメージの作成に使用する WorkSpace には、ユーザープロファイル (`D:\Users\username`) が必要です。このテストに失敗した場合は、[AWS サポート センター](https://console.aws.amazon.com/support/home#/)にお問い合わせください。

#### 環境変数のパスを適切に設定することが必要
<a name="pools-tips_environment_variables"></a>

ローカルマシンの環境変数のパスに、System32 と Windows PowerShell のエントリがありません。これらのエントリは、[イメージの作成] を実行するために必要です。

**環境変数のパスを設定するには**

1. Windows の検索ボックスに「**environment variables**」と入力し、[**システム環境変数の編集**] を選択します。

1. [**システムのプロパティ**] ダイアログボックスで、[**詳細設定**] タブを開き、[**環境変数**] を選択します。

1. [**環境変数**] ダイアログボックスの [**システム変数**] で、[**パス**] エントリを選択し、[**編集**] を選択します。

1. [**新規**] を選択し、以下のパスを追加します。

   `C:\Windows\System32`

1. もう一度 [**新規**] を選択し、以下のパスを追加します。

   `C:\Windows\System32\WindowsPowerShell\v1.0\`

1. [**OK**] を選択してください。

1. WorkSpace を再起動します。
**ヒント**  
環境変数のパスに項目が表示される順序が重要です。正しい順序を決定するために、WorkSpace の環境変数のパスを、新しく作成された WorkSpace または新しい Windows インスタンスのパスと比較できます。

#### Windows モジュールインストーラーを有効にすることが必要
<a name="pools-tips_enable_wmi"></a>

イメージ作成プロセスでは、Windows モジュールインストーラーサービスを有効にする必要があります。

**Windows モジュールインストーラーサービスを有効にするには**

1. Windows の検索ボックスに「**services.msc**」と入力して、Windows サービスマネージャーを開きます。

1. [**名前**] 列で、[**Windows モジュールインストーラー**] を見つけます。

1. **[Windows Modules Installer]** を選択し、**[Action]**、**[Properties]** の順に選択します。

1. [**全般**] タブの [**スタートアップの種類**] で、[**手動**] または [**自動**] を選択します。

1. [**OK**] を選択してください。

#### Amazon SSM Agent を無効にすることが必要
<a name="pools-tips_disable_ssm"></a>

イメージの作成プロセスでは、Amazon SSM Agent サービスを無効にする必要があります。

**Amazon SSM Agent サービスを無効にするには**

1. Windows の検索ボックスに「**services.msc**」と入力して、Windows サービスマネージャーを開きます。

1. [**名前**] 列で、[**Amazon SSM Agent**] を見つけます。

1. **[Amazon SSM Agent]** を選択し、**[Action]**、**[Properties]** の順に選択します。

1. [**全般**] タブの [**スタートアップの種類**] で、[**無効**] を選択します。

1. [**OK**] を選択してください。

#### SSL3 および TLS バージョン 1.2 を有効にすることが必要
<a name="pools-tips_enable_ssl_tls"></a>

Windows に SSL/TLS を設定するには、Microsoft Windows ドキュメントの「[How to Enable TLS 1.2](https://docs.microsoft.com/configmgr/core/plan-design/security/enable-tls-1-2)」を参照してください。

#### WorkSpace に存在できるユーザープロファイルは 1 つのみ
<a name="pools-tips_remove_extra_profiles"></a>

イメージの作成に使用している WorkSpace に存在できる WorkSpaces ユーザープロファイル (`D:\Users\username`) は 1 つのみです。WorkSpace の対象ユーザーに属していないユーザープロファイルを削除します。

イメージの作成用に、WorkSpace に 3 つのユーザープロファイルのみを含めることができます。
+ WorkSpace の対象ユーザーのユーザープロファイル (`D:\Users\username`)
+ デフォルトのユーザープロファイル (デフォルトプロファイルとも呼ばれます)
+ 管理者ユーザープロファイル

追加のユーザープロファイルがある場合は、Windows コントロールパネルの詳細システムプロパティを使用して削除できます。

**ユーザープロファイルを削除するには**

1. 詳細システムプロパティにアクセスするには、以下のいずれかを実行します。
   + **Windows \$1 Pause Break キー**を押し、**[コントロールパネル]** > **[システムとセキュリティ]** > **[システム]** ダイアログボックスの左側のペインで **[システムの詳細設定]** を選択します。
   + Windows の検索ボックスに「**control panel**」と入力します。コントロールパネルで、**[システムとセキュリティ]**、[システム] の順に選択し、**[コントロールパネル]** > **[システムとセキュリティ]** > **[システム]** ダイアログボックスの左側のペインで **[システムの詳細設定]** を選択します。

1. [**システムのプロパティ**] ダイアログボックスの [**詳細設定**] タブで、[**ユーザープロファイル**] の [**設定**] を選択します。

1. 管理者プロファイル、デフォルトプロファイル、および対象の WorkSpaces ユーザープロファイル以外のプロファイルが一覧表示されている場合は、その追加のプロファイルを選択し、[**削除**] を選択します。

1. プロファイルを削除するかどうか尋ねられたら、[**はい**] を選択します。

1. 必要に応じて、ステップ 3 と 4 を繰り返し、WorkSpace に属していない他のプロファイルを削除します。

1. [**OK**] を 2 回選択し、コントロールパネルを閉じます。

1. WorkSpace を再起動します。

#### AppX パッケージがステージング状態になることはない
<a name="pools-tips_unstage_appx"></a>

1 つ以上の AppX パッケージがステージング状態になっています。これにより、イメージの作成中に Sysprep エラーが発生する可能性があります。

**ステージングされたすべての AppX パッケージを削除するには**

1. Windows の検索ボックスに「**powershell**」と入力します。[**管理者として実行**] を選択します。

1. 「このアプリがデバイスに変更を加えることを許可しますか?」と尋ねられたら、[**はい**] を選択します。

1. Windows PowerShell ウィンドウで、以下のコマンドを入力して、ステージングされたすべての AppX パッケージを一覧表示し、それぞれの後に Enter キーを押します。

   ```
   $workSpaceUserName = $env:username
   ```

   ```
   $allAppxPackages = Get-AppxPackage -AllUsers
   ```

   ```
   $packages = $allAppxPackages |    Where-Object { `
                                   (($_.PackageUserInformation -like "*S-1-5-18*" -and !($_.PackageUserInformation -like "*$workSpaceUserName*")) -and `
                                   ($_.PackageUserInformation -like "*Staged*" -or $_.PackageUserInformation -like "*Installed*")) -or `
                                   ((!($_.PackageUserInformation -like "*S-1-5-18*") -and $_.PackageUserInformation -like "*$workSpaceUserName*") -and `
                                   $_.PackageUserInformation -like "*Staged*")
                                   }
   ```

1. 昇格された SYSTEM 権限で次のコマンドを実行して、ステージングされた AppX パッケージプロビジョニングエントリをすべて削除し、Enter キーを押します。

   ```
   $packages | Remove-AppxPackage -ErrorAction SilentlyContinue
   ```

1. Image Checker を再度実行します。それでもこのテストに失敗する場合は、以下のコマンドを入力して、すべての AppX パッケージを削除し、それぞれの後に Enter キーを押します。

   ```
   Get-AppxProvisionedPackage -Online | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue
   ```

   ```
   Get-AppxPackage -AllUsers | Remove-AppxPackage -ErrorAction SilentlyContinue
   ```

#### Windows が以前のバージョンからアップグレードされていないこと
<a name="pools-tips_version_upgrade"></a>

イメージの作成は、あるバージョンの Windows 10 から新しいバージョンの Windows 10 にアップグレードされた Windows システム (Windows の機能/バージョンのアップグレード) ではサポートされません。

イメージを作成するには、Windows の機能/バージョンのアップグレードを行っていない WorkSpace を使用します。

#### Windows リアームカウントが 0 でないこと
<a name="pools-tips_reset_rearm_count"></a>

リアーム機能を使用すると、Windows の試用バージョンのアクティベーション期間を延長できます。イメージ作成プロセスでは、リアームカウントを 0 以外の値にする必要があります。

**Windows リアームカウントを確認するには**

1. Windows の [**スタート**] メニューで [**Windows システム**] を選択し、[**コマンドプロンプト**] を選択します。

1. [コマンドプロンプト] ウィンドウで、以下のコマンドを入力し、Enter キーを押します。

   `cscript C:\Windows\System32\slmgr.vbs /dlv`

リアームカウントを 0 以外の値にリセットするには、Microsoft Windows ドキュメントの「[Sysprep (Generalize) a Windows installation](https://docs.microsoft.com/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation)」を参照してください。

#### トラブルシューティングに関するその他のヒント
<a name="pools-images_troubleshooting_tips"></a>

Image Checker で実行されるすべてのテストに WorkSpace が合格したにもかかわらず、WorkSpace からイメージを作成できない場合は、以下の点を確認します。
+ WorkSpace が **Domain Guests** グループ内のユーザーに割り当てられていないことを確認します。ドメインアカウントがあるかどうかを確認するには、以下の PowerShell コマンドを実行します。

  ```
  Get-WmiObject -Class Win32_Service | Where-Object { $_.StartName -like "*$env:USERDOMAIN*" }
  ```
+ 一部のグループポリシーオブジェクト (GPO) では、Windows インスタンスの設定中に EC2Config サービスまたは EC2Launch スクリプトによって RDP 証明書のサムプリントへのアクセスがリクエストされると、そのアクセスは制限されます。イメージを作成しようとする前に、継承がブロックされて GPO が適用されていない新しい組織単位 (OU) に、WorkSpace を移動します。
+ Windows Remote Management (WinRM) サービスが自動的に開始するように設定されていることを確認します。次の作業を行います。

  1. Windows の検索ボックスに「`services.msc`」と入力して、Windows サービスマネージャーを開きます。

  1. [**名前**] 列で、[**Windows リモート管理 (WS-Management)**] を見つけます。

  1. **[Windows Remote Management (WS-Management)]** を選択し、**[Action]**、**[Properties]** の順に選択します。

  1. [**全般**] タブの [**スタートアップの種類**] で、[**自動**] を選択します。

  1. [**OK**] を選択してください。

## ステップ 2: カスタムイメージとカスタムバンドルを作成する
<a name="pools-create_custom_image_bundle"></a>

WorkSpace イメージを検証したら、次の手順を実行して、WorkSpaces コンソールを使用してカスタムイメージとカスタムバンドルを作成します。プログラムによってイメージを作成するには、CreateWorkspaceImage API アクションを使用します。詳細については、「*Amazon WorkSpaces API リファレンス*」の「[CreateWorkspaceImage](https://docs.aws.amazon.com/workspaces/latest/api/API_CreateWorkspaceImage.html)」を参照してください。プログラムによりバンドルを作成するには、**CreateWorkspaceBundle** API アクションを使用します。詳細については、*Amazon WorkSpaces API リファレンス*の [CreateWorkspaceBundle](https://docs.aws.amazon.com/workspaces/latest/api/API_CreateWorkspaceBundle.html) を参照してください。

**WorkSpaces コンソールを使用してカスタムイメージとカスタムバンドルを作成するには**

1. まだ WorkSpace に接続している場合は、WorkSpaces クライアントアプリケーションで [**Amazon Workspaces**]、[**Disconnect**] (切断) の順に選択して切断します。

1. [https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home) で WorkSpaces コンソールを開きます。

1. ナビゲーションペインで [**WorkSpaces**] を選択します。

1. <a name="pools-step_create_image"></a>WorkSpace を選択して詳細ページを開き、**[Create image]** (イメージ) の作成を選択します。WorkSpace の状態が **[Stopped]** (停止) の場合、**[Actions]** (アクション)、**[Start WorkSpaces]** (WorkSpaces の起動) の順に選択してから、**[Actions]** (アクション)、**[Create Image]** (イメージの作成) を選択する必要があります。

1. 続行する前に WorkSpace を再起動するように求めるメッセージが表示されます。WorkSpace を再起動すると、Amazon WorkSpaces ソフトウェアが最新バージョンに更新されます。

   メッセージを閉じて、[WorkSpaces Personal の WorkSpace を再起動する](reboot-workspaces.md) のステップに従って WorkSpace を再起動します。完了したら、この手順の [Step 4](create-custom-bundle.md#step_create_image) を繰り返します。ただし、再起動メッセージが表示されたら、[**次へ**] を選択します。イメージを作成するには、WorkSpace のステータスが [**利用可能**]で、変更の状態が [**なし**] である必要があります。

1. イメージを識別するのに役立つイメージの名前と説明を入力し、[**イメージの作成**] を選択します。イメージが作成されている間、WorkSpace のステータスは [**Suspended (停止)**] となり、WorkSpace は使用できません。

   説明には特殊文字のダッシュ (`-`) を使用しないでください。エラーが発生します。

1. ナビゲーションペインで [** Images**] を選択します。WorkSpace のステータスが [**Available**] (使用可能) に変わると、イメージは完成です (これには最長 45 分かかる場合があります)。

1. イメージを選択し、**[アクション]**、**[バンドルの作成]** を選択します。

1. バンドル名と説明を入力し、次の操作を行います。
   + [**Bundle hardware type**] (バンドルハードウェアタイプ) で、このカスタムバンドルから WorkSpaces を起動するときに使用するハードウェアを選択します。
   + ルートボリュームのデフォルトの使用可能なサイズの組み合わせは、WorkSpace あたり 200 GB です。

1. バンドルが作成されたことを確認するには、[**Bundles**] (バンドル) を選択し、バンドルが表示されていることを確認します。

## Windows WorkSpaces カスタムイメージに含まれるアイテム
<a name="pools-image_creation_windows"></a>

Windows WorkSpace からイメージを作成すると、`C` ドライブの内容全体が含まれます。
+ アドレス帳
+ ダウンロード
+ 音楽
+ 画像
+ ゲームのセーブデータ
+ 動画
+ ポッドキャスト
+ 仮想マシン
+ .virtualbox
+ トレース
+ appdata\$1local\$1temp
+ appdata\$1roaming\$1apple computer\$1mobilesync\$1
+ appdata\$1roaming\$1apple computer\$1logs\$1
+ appdata\$1roaming\$1apple computer\$1itunes\$1iphone software updates\$1
+ appdata\$1roaming\$1macromedia\$1flash player\$1macromedia.com\$1support\$1flashplayer\$1sys\$1
+ appdata\$1roaming\$1macromedia\$1flash player\$1\$1sharedobjects\$1
+ appdata\$1roaming\$1adobe\$1flash player\$1assetcache\$1
+ appdata\$1roaming\$1microsoft\$1windows\$1recent\$1
+ appdata\$1roaming\$1microsoft\$1office\$1recent\$1
+ appdata\$1roaming\$1microsoft office\$1live meeting
+ appdata\$1roaming\$1microsoft shared\$1livemeeting shared\$1
+ appdata\$1roaming\$1mozilla\$1firefox\$1crash reports\$1
+ appdata\$1roaming\$1mcafee\$1common framework\$1
+ appdata\$1local\$1microsoft\$1feeds cache
+ appdata\$1local\$1microsoft\$1windows\$1temporary internet files\$1
+ appdata\$1local\$1microsoft\$1windows\$1history\$1
+ appdata\$1local\$1microsoft\$1internet explorer\$1domstore\$1
+ appdata\$1local\$1microsoft\$1internet explorer\$1imagestore\$1
+ appdata\$1locallow\$1microsoft\$1internet explorer\$1iconcache\$1
+ appdata\$1locallow\$1microsoft\$1internet explorer\$1domstore\$1
+ appdata\$1locallow\$1microsoft\$1internet explorer\$1imagestore\$1
+ appdata\$1local\$1microsoft\$1internet explorer\$1recovery\$1
+ appdata\$1local\$1mozilla\$1firefox\$1profiles\$1

# WorkSpaces Pools のカスタムイメージとカスタムバンドルを管理する
<a name="pools-images-managing"></a>

カスタムイメージとカスタムバンドルを管理するプロセスは、WorkSpaces Personal も WorkSpaces Pools も同じです。イメージとバンドルの管理方法の詳細については、このガイドの WorkSpaces Personal セクションにある以下のドキュメントを参照してください。

**注記**  
WorkSpaces Personal で使用できるカスタムバンドルと WorkSpaces Pools で使用できるカスタムバンドルの主な違いは、使用できるオペレーティングシステムとベースとなるパブリックバンドルです。WorkSpaces Pools でサポートされているオペレーティングシステムとバンドルについては、「[ WorkSpaces Pools のバンドルバンドル  WorkSpaces Pools のバンドルについて説明します。   *WorkSpace バンドル*は、オペレーティングシステム、ストレージ、コンピューティング、およびソフトウェアリソースの組み合わせです。WorkSpace を起動するときに、必要に応じてバンドルを選択します。WorkSpaces で使用できるデフォルトのバンドルは*パブリックバンドル*と呼ばれます。WorkSpaces で利用可能なさまざまな公開バンドルの詳細については、[Amazon WorkSpaces バンドル](https://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles)を参照してください。 次の表は、各 OS でサポートされているライセンス、ストリーミングプロトコル、バンドルに関する情報を示しています。 


| オペレーティングシステム | ライセンス | ストリーミングプロトコル | サポート対象バンドル | 
| --- | --- | --- | --- | 
| Windows Server 2019 | 含まれる | DCV | Value、Standard、Performance、Power、PowerPro | 
| Windows Server 2022 | 含まれる | DCV | Standard、Performance、Power、PowerPro、Graphics.G4dn、GraphicsPro.G4dn |     ベンダーによってサポートされなくなったオペレーティングシステムのバージョンは動作する保証はなく、 AWS サポートによってもサポートされません。    ](instance-types.md#instance-types.title)」を参照してください。
+ [WorkSpaces Personal のカスタムバンドルを更新する](update-custom-bundle.md).
+ [WorkSpaces Personal でカスタムイメージをコピーする](copy-custom-image.md).
+ [WorkSpaces Personal でカスタムイメージを共有または共有解除する](share-custom-image.md).
+ [WorkSpaces Personal でカスタムバンドルまたはイメージを削除する](delete_bundle.md).

# セッションスクリプトを使用してユーザーのストリーミングエクスペリエンスを管理する
<a name="pools-images-session-scripts"></a>

WorkSpaces Pools には、インスタンスセッションスクリプトが用意されています。ユーザーのストリーミングセッションで特定のイベントが発生したときに、これらのスクリプトを使用して独自のカスタムスクリプトを実行できます。例えば、ユーザーのストリーミングセッションが開始される前に、カスタムスクリプトを使用して WorkSpaces Pools 環境を準備できます。ユーザーがストリーミングセッションを完了した後に、カスタムスクリプトを使用してストリーミングインスタンスをクリーンアップすることもできます。

セッションスクリプトは WorkSpace イメージ内で指定します。これらのスクリプトはユーザーコンテキストまたはシステムコンテキスト内で実行されます。セッションスクリプトが情報、エラー、またはデバッグメッセージの書き込みに標準出力を使用する場合は、オプションで、それらを Amazon Web Services アカウント内の Amazon S3 バケットに保存することができます。

**Topics**
+ [ストリーミングセッションの開始前にスクリプトを実行する](#run-scripts-before-streaming-sessions-begin)
+ [ストリーミングセッションの終了後にスクリプトを実行する](#run-scripts-after-streaming-sessions-end)
+ [セッションスクリプトを作成および指定する](#create-specify-session-scripts)
+ [セッションスクリプト設定ファイル](#session-script-configuration-file)
+ [Windows PowerShell ファイルの使用](#using-powershell-files-with-session-scripts)
+ [セッションスクリプト出力のログ記録](#logging-session-output)
+ [セッションスクリプトで永続的ストレージを使用する](#use-storage-connectors-with-session-scripts)
+ [セッションスクリプトログに対して Amazon S3 バケットストレージを有効にする](#enable-S3-bucket-storage-session-script-logs)

## ストリーミングセッションの開始前にスクリプトを実行する
<a name="run-scripts-before-streaming-sessions-begin"></a>

ユーザーのアプリケーションが起動されてストリーミングセッションが開始されるまでに最大 60 秒間実行されるようにスクリプトを設定できます。それにより、ユーザーがアプリケーションのストリーミングを開始する前に WorkSpaces Pools 環境をカスタマイズできます。セッションスクリプトが実行されると、読み込みスピナーがユーザーに表示されます。スクリプトが正常に完了するか、最大待機時間が経過すると、ユーザーのストリーミングセッションが開始されます。スクリプトが正常に完了しなかった場合は、エラーメッセージがユーザーに表示されます。ただし、ユーザーはストリーミングセッションの使用を禁止されません。

Windows インスタンスでファイル名を指定するときは、ダブルバックスラッシュを使用する必要があります。例えば、次のようになります。

```
C:\\Scripts\\Myscript.bat
```

二重のバックスラッシュを使用しないと、`.json` ファイル形式が正しくないことを示すエラーが表示されます。

**注記**  
スクリプトは正常に完了したら、値 0 を返します。スクリプトが 0 以外の値を返した場合、WorkSpaces はユーザーにエラーメッセージを表示します。

ストリーミングセッションの開始前にスクリプトを実行すると、以下のプロセスが発生します。

1. ユーザーが、ドメインに参加していない WorkSpaces Pool の WorkSpace に接続されます。接続には SAML 2.0 を使用します。

1. 以下のいずれかのプロセスが発生します。
   + ユーザーに対してアプリケーション設定の永続化が有効になっている場合は、ユーザーのカスタマイズ内容と Windows の設定内容を保存しているアプリケーション設定の Virtual Hard Disk (VHD) ファイルがダウンロードされてマウントされます。この場合は、Windows ユーザーのログインが必要です。

     アプリケーション設定の永続化については、[WorkSpaces Pools ユーザーのアプリケーション設定の永続化を有効にする](app-settings-persistence.md) を参照してください。
   + アプリケーション設定の永続化が有効になっていない場合、Windows ユーザーはすでにログインしています。

1. セッションスクリプトが起動されます。ユーザーに対して永続的ストレージが有効になっている場合は、ストレージコネクタのマウントも開始されます。永続的ストレージについては、[WorkSpaces Pools で永続的ストレージを有効にして管理する](persistent-storage.md) を参照してください。
**注記**  
ストリーミングセッションを開始するためにストレージコネクタのマウントを完了する必要はありません。セッションスクリプトが完了したとき、まだストレージコネクタのマウントが完了していなくても、ストリーミングセッションは開始されます。  
ストレージコネクタのマウント状況のモニタリングについては、[セッションスクリプトで永続的ストレージを使用する](#use-storage-connectors-with-session-scripts) を参照してください。

1. セッションスクリプトは完了するかタイムアウトします。

1. ユーザーのストリーミングセッションが開始されます。

## ストリーミングセッションの終了後にスクリプトを実行する
<a name="run-scripts-after-streaming-sessions-end"></a>

ユーザーのストリーミングセッションの終了後にスクリプトを実行するように設定することもできます。例えば、ユーザーが WorkSpaces クライアントのツールバーから **[セッションの終了]** を選択したとき、またはユーザーが許容される最大セッション時間に達したときに、スクリプトを実行できます。これらのセッションスクリプトを使用して、ストリーミングインスタンスが終了する前に WorkSpaces 環境をクリーンアップすることもできます。たとえば、スクリプトを使用してファイルロックを解除したり、ログファイルをアップロードしたりできます。ストリーミングセッションの終了後にスクリプトを実行すると、以下のプロセスが発生します。

1. ユーザーの WorkSpaces ストリーミングセッションが終了します。

1. セッション終了スクリプトが起動されます。

1. セッション終了スクリプトが完了またはタイムアウトします。

1. Windows ユーザーのログアウトが発生します。

1. 以下のうち該当する一方が実行されるか、両方が同時に実行されます。
   + ユーザーに対してアプリケーション設定の永続化が有効になっている場合、ユーザーのカスタマイズ内容と Windows 設定内容を保存しているアプリケーション設定の VHD ファイルがマウント解除され、アカウントの Amazon S3 バケットにアップロードされます。
   + ユーザーに対して永続的ストレージが有効になっている場合、ストレージコネクタは最後の同期を完了し、マウント解除されます。

1. WorkSpace が終了します。

## セッションスクリプトを作成および指定する
<a name="create-specify-session-scripts"></a>

WorkSpaces Pools の WorkSpaces のセッションスクリプトを作成して指定するには、次の手順を実行します。

1. カスタムイメージの作成元となる Windows WorkSpaces に接続します。

1. ディレクトリ `/AWSEUC/SessionScripts` を作成します (まだない場合)。

1. [セッションスクリプト設定テンプレート](https://docs.aws.amazon.com/workspaces/latest/adminguide/pools-images-session-scripts.html#session-script-configuration-file)を使用して、設定ファイル `/AWSEUC/SessionScripts/config.json` がまだ存在しない場合は作成します。

1. `C:\AWSEUC\SessionScripts` に移動し、`config.json` 設定ファイルを開きます。

   セッションスクリプトパラメータについては、[セッションスクリプト設定ファイル](#session-script-configuration-file) を参照してください。

1. 変更が終了したら、`config.json` ファイルを保存して閉じます。

1. WorkSpace からイメージを作成する手順を完了します。詳細については、「[WorkSpaces Pools のカスタムイメージとカスタムバンドルを作成する](pools-images-custom-image.md)」を参照してください。

## セッションスクリプト設定ファイル
<a name="session-script-configuration-file"></a>

Windows インスタンス上のセッションスクリプト設定ファイルを見つけるには、`C:\AWSEUC\SessionScripts\config.json` に移動します。ファイル形式は次のとおりです。

**注記**  
設定ファイルは JSON 形式です。このファイルに入力したテキストが有効な JSON 形式であることを確認します。

```
{
  "SessionStart": {
    "executables": [
      {
        "context": "system",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      },
      {
        "context": "user",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      }
    ],
    "waitingTime": 30
  },
  "SessionTermination": {
    "executables": [
      {
        "context": "system",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      },
      {
        "context": "user",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      }
    ],
    "waitingTime": 30
  }
}
```

セッションスクリプト設定ファイルでは、以下のパラメータを使用できます。

**`SessionStart/SessionTermination `**  
オブジェクトの名前に基づいて該当するセッションイベントで実行するセッションスクリプト。  
**型**: 文字列  
**必須:** いいえ  
**使用できる値:** **SessionStart**、**SessionTermination**

**`WaitingTime`**  
セッションスクリプトの最大期間 (秒単位)。  
**タイプ:** 整数  
**必須:** いいえ  
**制約**: 最大期間は 60 秒です。セッションスクリプトは、この期間内に完了しない場合、停止されます。スクリプトを引き続き実行する必要がある場合は、別のプロセスとして起動してください。

**`Executables`**  
実行するセッションスクリプトの詳細。  
**型**: 文字列  
**必須**: はい  
**制約**: セッションイベントごとに実行できるスクリプトの最大数は 2 です (1 つはユーザーコンテキスト用、もう 1 つはシステムコンテキスト用)。

**`Context`**  
セッションスクリプトを実行するコンテキスト。  
**型**: 文字列  
**必須**: はい  
**使用できる値:** **user**、**system**

**`Filename`**  
実行するセッションスクリプトへの完全パス。このパラメータを指定しない場合、セッションスクリプトは実行されません。  
**型**: 文字列  
**必須:** いいえ  
**制約**: ファイル名と完全パスの最大長は 1,000 文字です。  
**使用できる値:** **.bat**、**.exe**、**.sh**  
Windows PowerShell ファイルを使用することもできます。詳細については、「[Windows PowerShell ファイルの使用](#using-powershell-files-with-session-scripts)」を参照してください。

**`Arguments`**  
セッションスクリプトまたは実行可能ファイルの引数。  
**型**: 文字列  
**必須:** いいえ  
**長さの制限**: 最大長は 1,000 文字です。

**`S3LogEnabled`**  
このパラメータの値が **True** に設定されていると、セッションスクリプトによって作成されたログを保存するための S3 バケットが Amazon Web Services アカウント内に作成されます。デフォルトではこの値は **True** に設定されます。詳細については、このトピックの後半の「*セッションスクリプト出力のログ記録*」セクションを参照してください。  
型: ブール  
**必須:** いいえ  
**使用できる値:** **True**、**False**

## Windows PowerShell ファイルの使用
<a name="using-powershell-files-with-session-scripts"></a>

Windows PowerShell ファイルを使用するには、`filename` パラメータに PowerShell ファイルへの絶対パスを指定します。

```
"filename": 
"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
```

次に、**arguments** パラメータにセッションスクリプトを指定します。

```
"arguments": "-File \"C:\\path\\to\\session\\script.ps1\"",
```

最後に、PowerShell 実行ポリシーで PowerShell ファイルの実行が許可されていることを確認します。

## セッションスクリプト出力のログ記録
<a name="logging-session-output"></a>

設定ファイルでこのオプションが有効になっていると、セッションスクリプトから標準出力に書き込まれた出力が WorkSpaces Pools によって自動的に収集されます。この出力はアカウントの Amazon S3 バケットにアップロードされます。トラブルシューティングやデバッグの目的でログファイルを確認できます。

**注記**  
ログファイルは、セッションスクリプトが値を返したときか、**WaitingTime** に設定された時間を経過したときの、どちらか早いほうでアップロードされます。

## セッションスクリプトで永続的ストレージを使用する
<a name="use-storage-connectors-with-session-scripts"></a>

WorkSpaces の永続的ストレージを有効にすると、セッション開始スクリプトの実行時にストレージのマウントが開始されます。マウントされている永続的ストレージにスクリプトが依存している場合は、コネクタが使用可能になるまで待つことができます。WorkSpaces は、以下のキーで、Windows WorkSpaces の Windows レジストリにあるストレージコネクタのマウントステータスを維持します。

```
HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\AWSEUC\Storage\<provided user
                name>\<Storage connector>
```

レジストリキーの値は以下のとおりです。
+ 提供されたユーザー名 — アクセスモードで提供されたユーザー ID。アクセスモードと各モードの値は以下のとおりです。
  + ユーザープール — ユーザーの E メールアドレス。
  + ストリーミング URL — ユーザー ID。
  + SAML — NameID。ユーザー名にスラッシュが含まれる場合 (ドメインユーザーの SAMAccountName が含まれる場合など)、スラッシュは「-」文字に置き換えられます。
+ ストレージコネクタ — ユーザーに対して有効になっている永続的ストレージオプションに対応するコネクタ。ストレージコネクタの値は以下のとおりです。
  + HomeFolder

ストレージコネクタの各レジストリキーには **MountStatus** DWORD 値が含まれています。次の表は、**MountStatus** に指定できる値の一覧です。

**注記**  
これらのレジストリキーを表示するには、イメージに Microsoft .NET Framework バージョン 4.7.2 以降がインストールされている必要があります。


| 値 | 説明 | 
| --- | --- | 
| 0 |  ストレージコネクタはこのユーザーに対して有効になっていない  | 
| 1 |  ストレージコネクタのマウントが進行中  | 
| 2 |  ストレージコネクタのマウントに成功した  | 
| 3 |  ストレージコネクタのマウントに失敗した  | 
| 4 |  ストレージコネクタのマウントは有効ですが、まだマウントされていません  | 

## セッションスクリプトログに対して Amazon S3 バケットストレージを有効にする
<a name="enable-S3-bucket-storage-session-script-logs"></a>

セッションスクリプト設定で Amazon S3 のログ記録を有効にすると、WorkSpaces Pools によってセッションスクリプトから標準出力に書き込まれた出力が収集されます。出力は、Amazon Web Services アカウント内の S3 バケットに定期的にアップロードされます。WorkSpaces Pool は、すべての AWS リージョンについて、アカウントとリージョンに固有のバケットをアカウントに作成します。

これらの S3 バケットを管理するための設定タスクを実行する必要はありません。それらのタスクは WorkSpaces サービスによって完全に管理されています。各バケットに保存されているログファイルは、転送時には Amazon S3 の SSL エンドポイントを使用して暗号化され、保管時には Amazon S3 管理の暗号化キーを使用して暗号化されます。バケットは、以下にあるような特定の形式で命名されます。

```
wspool-logs-<region-code>-<account-id-without-hyphens>-random-identifier
```

**`<region-code>`**  
これは、セッションスクリプトログに対して Amazon S3 バケットストレージを有効にして WorkSpaces Pool を作成する AWS リージョンコードです。

**`<account-id-without-hyphens>`**  
ご自身の Amazon Web Services アカウント ID ランダムな ID は、そのリージョン内のその他バケットとの競合が発生しないことを確実にします。バケット名の最初の部分 `wspool-logs` は、複数のアカウントやリージョンにまたがる場合でも変更されません。

例えば、アカウント番号 `123456789012` の米国西部 (オレゴン) リージョン (`us-west-2`) のイメージでセッションスクリプトを指定した場合、WorkSpaces Pools では、そのリージョンのアカウント内に以下の名前で Amazon S3 バケットが作成されます。適切なアクセス許可を持つ管理者のみが、このバケットを削除できます。

```
wspool-logs-us-west-2-1234567890123-abcdefg
```

セッションスクリプトを無効にしても、S3 バケットに保存されているログファイルは削除されません。ログファイルを完全に削除するには、Amazon S3 コンソールまたは API を使用して、ユーザーまたは適切なアクセス許可を持つ別の管理者が削除する必要があります。WorkSpaces Pools には、バケットの誤った削除を防止するバケットポリシーが追加されます。

セッションスクリプトを有効にすると、開始されるストリーミングセッションごとに固有のフォルダが作成されます。

 アカウントの S3 バケットでログファイルが保存されているフォルダへのパスは、以下の構造になります。

```
<bucket-name>/<stack-name>/<fleet-name>/<access-mode>/<user-id-SHA-256-hash>/<session-id>/SessionScriptsLogs/<session-event>
```

***<bucket-name>***  
セッションスクリプトが保存されている S3 バケットの名前。名前の形式については、このセクションで先ほど説明しました。

***<stack-name>***  
セッションが発生したスタックの名前。

***<fleet-name>***  
セッションスクリプトが実行されている WorkSpaces Pools の名前。

***<access-mode>***  
ユーザーの ID メソッド: WorkSpaces API または CLI の場合は `custom`、SAML の場合は `federated`、ユーザープールのユーザーの場合は `userpool`。

***<user-id-SHA-256-hash>***  
ユーザー固有のフォルダ名。この名前は、ユーザー識別子から生成された小文字の SHA-256 ハッシュ 16 進数文字列を使用して作成されます。

***<session-id>***  
ユーザーのストリーミングセッションの識別子。ユーザーの各ストリーミングセッションでは一意の ID が生成されます。

***<session-event>***  
セッションスクリプトログを生成したイベント。イベント値は `SessionStart` と `SessionTermination` です。

以下のフォルダ構造の例は、test-stack と test-fleet から始まるストリーミングセッションに当てはまります。セッションでは`testuser@mydomain.com`、 の ID からユーザー AWS アカウント ID の API と`123456789012`、米国西部 (オレゴン) リージョン () `test-stack` の設定グループを使用します`us-west-2`。

```
wspool-logs-us-west-2-1234567890123-abcdefg/test-stack/test-fleet/custom/a0bcb1da11f480d9b5b3e90f91243143eac04cfccfbdc777e740fab628a1cd13/05yd1391-4805-3da6-f498-76f5x6746016/SessionScriptsLogs/SessionStart/
```

このフォルダ構造の例には、ユーザーコンテキストセッション開始スクリプト用の 1 つのログファイルと、必要に応じてシステムコンテキストセッション開始スクリプト用の 1 つのログファイルが含まれています。