翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用して Amazon WorkSpaces アプリケーションリソースの作成を自動化する AWS CloudFormation
Ram Kandaswamy (Amazon Web Services)
概要
このパターンでは、 AWS CloudFormation テンプレート AWS クラウド を使用して での Amazon WorkSpaces アプリケーション
前提条件と制限
前提条件
アクティブな AWS アカウント
WorkSpaces アプリケーションの利用規約の承諾
フリート、スタック、Image Builder などの WorkSpaces アプリケーションリソースに関する基本的な知識
制限事項
WorkSpaces アプリケーションインスタンスに関連付けられた AWS Identity and Access Management (IAM) ロールは、そのインスタンスの作成後に変更することはできません。
Image Builder の作成後に WorkSpaces Applications Image Builder インスタンスのプロパティ (サブネットやセキュリティグループなど) を変更することはできません。
アーキテクチャ
次の図は、 CloudFormation テンプレートを使用して WorkSpaces アプリケーションリソースの作成を自動化する方法を示しています。

この図表は、次のワークフローを示しています:
このパターンの追加情報セクションの YAML コードに基づいて CloudFormation テンプレートを作成します。
CloudFormation テンプレートは CloudFormation テストスタックを作成します。
(オプション) WorkSpaces アプリケーションを使用して Image Builder インスタンスを作成します。
(オプション) カスタムソフトウェアを使用して Windows イメージを作成します。
CloudFormation スタックは WorkSpaces Applications フリートインスタンスとスタックを作成します。
WorkSpaces アプリケーションリソースを HTML5-compliantのブラウザでエンドユーザーにデプロイします。
ツール
Amazon WorkSpaces Applications は、どこからでもデスクトップアプリケーションに瞬時にアクセスできるフルマネージド型のアプリケーションストリーミングサービスです。WorkSpaces Applications は、アプリケーションのホストと実行に必要な AWS リソースを管理し、自動的にスケールし、オンデマンドでユーザーへのアクセスを提供します。
AWS CloudFormation は、 AWS リソースのモデル化とセットアップ、迅速かつ一貫したプロビジョニング、ライフサイクル全体の管理に役立ちます。リソースを個別に管理する代わりに、テンプレートを使用してリソースとその依存関係を記述し、それらをスタックとしてまとめて起動して設定できます。複数の および にまたがるスタックを管理 AWS アカウント およびプロビジョニングできます AWS リージョン。
ベストプラクティス
Image Builder のネットワークアクセスを正しく設定する – アウトバウンドのみのインターネットアクセスに NAT ゲートウェイを使用して、適切なインターネットアクセスで Virtual Private Cloud (VPC) サブネットで Image Builder を起動します。
イメージを作成する前に、必要なリソース (アプリケーションサーバー、データベース、ライセンスサーバーなど) へのネットワーク接続をテストします。VPC ルートテーブルで、必要なすべてのネットワークリソースへの接続が許可されていることを確認します。詳細については、WorkSpaces アプリケーションドキュメントの「インターネットアクセス」を参照してください。
フリート容量をサービスクォータに対してプロアクティブにモニタリングする – WorkSpaces Applications インスタンスタイプとサイズクォータは ごと AWS アカウント、 ごとです AWS リージョン。同じリージョン内に同じインスタンスタイプとサイズを使用するフリートが複数存在する場合、そのリージョン内のすべてのフリートインスタンスの総数は、該当するクォータ以下でなければなりません。詳細については、WorkSpaces アプリケーションドキュメントの「フリートのトラブルシューティング」を参照してください。
フリートデプロイ前に Image Builder テストモードでアプリケーションをテストする – イメージを作成してフリートにデプロイする前に、必ず Image Builder テストモードでアプリケーションを検証します。テストモードは、エンドユーザーがフリートインスタンスに対して持つ制限されたアクセス許可をシミュレートします。詳細については、WorkSpaces アプリケーションドキュメントの「Image Builders のトラブルシューティング」を参照してください。
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
カスタムソフトウェアをインストールしてイメージを作成します。 |
注記Windows AppLocker 機能を使用してイメージをさらにロックダウンすることを検討してください。 | AWS DevOps、クラウドアーキテクト |
| タスク | 説明 | 必要なスキル |
|---|---|---|
CloudFormation テンプレートを更新します。 |
| AWS システム管理者、クラウド管理者、クラウドアーキテクト、AWS 全般、AWS 管理者 |
テンプレートを使用して CloudFormation スタックを作成します。 |
| アプリ所有者、AWS システム管理者、Windows エンジニア |
トラブルシューティング
| 問題 | ソリューション |
|---|---|
さまざまな問題 | 詳細については、WorkSpaces アプリケーションドキュメントの「トラブルシューティング」を参照してください。 |
関連リソース
リファレンス
チュートリアルと動画
追加情報
次のコードは、WorkSpaces アプリケーションリソースを自動的に作成するために使用できる CloudFormation テンプレートの例です。
AWSTemplateFormatVersion: 2010-09-09 Parameters: SubnetIds: Type: 'List<AWS::EC2::Subnet::Id>' testSecurityGroup: Type: 'AWS::EC2::SecurityGroup::Id' ImageName: Type: String Resources: AppStreamFleet: Type: 'AWS::AppStream::Fleet' Properties: ComputeCapacity: DesiredInstances: 5 InstanceType: stream.standard.medium Name: appstream-test-fleet DisconnectTimeoutInSeconds: 1200 FleetType: ON_DEMAND IdleDisconnectTimeoutInSeconds: 1200 ImageName: !Ref ImageName MaxUserDurationInSeconds: 345600 VpcConfig: SecurityGroupIds: - !Ref testSecurityGroup SubnetIds: !Ref SubnetIds AppStreamStack: Type: 'AWS::AppStream::Stack' Properties: Description: AppStream stack for test DisplayName: AppStream test Stack Name: appstream-test-stack StorageConnectors: - ConnectorType: HOMEFOLDERS UserSettings: - Action: CLIPBOARD_COPY_FROM_LOCAL_DEVICE Permission: ENABLED - Action: CLIPBOARD_COPY_TO_LOCAL_DEVICE Permission: ENABLED - Action: FILE_DOWNLOAD Permission: ENABLED - Action: PRINTING_TO_LOCAL_DEVICE Permission: ENABLED AppStreamFleetAssociation: Type: 'AWS::AppStream::StackFleetAssociation' Properties: FleetName: appstream-test-fleet StackName: appstream-test-stack DependsOn: - AppStreamFleet - AppStreamStack