AWS を使用して AppStream 2.0 リソースの作成を自動化する CloudFormation - AWS 規範ガイダンス

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

AWS を使用して AppStream 2.0 リソースの作成を自動化する CloudFormation

作成者: Ram Kandaswamy (AWS)

環境: 実稼働

テクノロジー: エンドユーザーコンピューティング CloudNative、コスト管理 DevOps、SaaS

ワークロード:Microsoft

AWS サービス: Amazon AppStream 2.0、AWS CloudFormation

[概要]

このパターンでは、AWS CloudFormation テンプレートを使用して、Amazon Web Services (AWS) クラウドでの Amazon AppStream 2.0 リソースの作成を自動化するコードサンプルと手順を示します。このパターンは、AWS CloudFormation スタックを使用して、Image Builder、イメージ、フリートインスタンス、スタックなどの AppStream 2.0 アプリケーションリソースの作成を自動化する方法を示しています。デスクトップまたはアプリケーション配信モードを使用して、HTML5-compliantのブラウザで AppStream 2.0 アプリケーションをエンドユーザーにストリーミングできます。

前提条件と制限

前提条件

制約事項

  • インスタンスの作成後に、 AppStream 2.0 インスタンスに関連付けられた AWS Identity and Access Management (IAM) ロールを変更することはできません。

  • Image Builder の作成後に AppStream 2.0 Image Builder インスタンスのプロパティ (サブネットやセキュリティグループなど) を変更することはできません。

アーキテクチャ

次の図は、AWS CloudFormation テンプレートを使用して AppStream 2.0 リソースの作成を自動化する方法を示しています。

この図表は、次のワークフローを示しています:

AppStream 2.0 リソースを自動的に作成するためのワークフロー。
  1. このパターンの「追加情報」セクションの YAML コードに基づいて AWS CloudFormation テンプレートを作成します。

  2. AWS CloudFormation テンプレートは AWS CloudFormation テストスタックを作成します。

    1. (オプション) AppStream 2.0 を使用して Image Builder インスタンスを作成します。

    2. (オプション) カスタムソフトウェアを使用して Windows イメージを作成します。

  3. AWS CloudFormation スタックは AppStream 2.0 フリートインスタンスとスタックを作成します。

  4. HTML5-compliantのブラウザで AppStream 2.0 リソースをエンドユーザーにデプロイします。

テクノロジースタック

  • Amazon AppStream 2.0

  • AWS CloudFormation

ツール

  • Amazon AppStream 2.0 は、どこからでもデスクトップアプリケーションに瞬時にアクセスできるようにするフルマネージド型のアプリケーションストリーミングサービスです。 AppStream 2.0 は、アプリケーションのホストと実行に必要な AWS リソースを管理し、自動的にスケーリングし、オンデマンドでユーザーへのアクセスを提供します。

  • AWS CloudFormation は、AWS リソースのモデル化とセットアップ、迅速かつ一貫したプロビジョニング、ライフサイクル全体の管理に役立ちます。リソースを個別に管理する代わりに、テンプレートを使用してリソースとその依存関係を記述し、それらをスタックとしてまとめて起動して設定できます。複数の AWS アカウントと AWS リージョンにわたってスタックを管理およびプロビジョニングできます。

エピック

タスク説明必要なスキル

カスタムソフトウェアをインストールしてイメージを作成します。

  1. ユーザーにデプロイする予定の AppStream 2.0 アプリケーションをインストールします。

  2. Photon イメージ作成エージェントまたは PowerShell スクリプトを使用して、カスタムソフトウェアの新しい Windows イメージを作成します。 

: Windows AppLocker 機能を使用してイメージをさらにロックダウンすることを検討してください。

AWS DevOps、クラウドアーキテクト
タスク説明必要なスキル

AWS CloudFormation テンプレートを更新します。

  1. このパターンの「追加情報」セクションのコードを YAML ファイルとして保存します。

  2. YAML ファイルを、環境内のパラメータに必要な値で更新します。

AWS システム管理者、クラウド管理者、クラウドアーキテクト、AWS 全般、AWS 管理者

テンプレートを使用して AWS CloudFormation スタックを作成します。

  1. AWS マネジメントコンソール にサインインし、AWS CloudFormation コンソール を開きます。

  2. ナビゲーションペインで、[スタック] を選択します。

  3. [スタックの作成] を選択し、[With new resources (standard) 新しいリソースを使用 (標準)] を選択します。

  4. [前提条件 - テンプレートの準備] セクションで、 [テンプレートの準備完了] を選択します。

  5. [テンプレートの指定] セクションで、[テンプレートファイルのアップロード] を選択します。

  6. ファイルを選択 を選択し、更新された AWS CloudFormation テンプレートを選択します。

  7. ウィザードの残りの手順を完了してスタックを作成します。

アプリ所有者、AWS システム管理者、Windows エンジニア

関連リソース

リファレンス

チュートリアルと動画

追加情報

次のコードは、 AppStream 2.0 リソースを自動的に作成できる AWS 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