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

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

AppStream を使用して CloudFormationAWS2.0 リソースの作成を自動化する

作成者: Ram Kandaswamy (AWS)

環境:本稼働

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

ワークロード:Microsoft

AWS サービス: Amazon AppStream 2.0、 CloudFormationAWS

[概要]

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

前提条件と制限

前提条件

制約事項

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

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

アーキテクチャ

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

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

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

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

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

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

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

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

テクノロジースタック

  • Amazon AppStream 2.0

  • AWS CloudFormation

ツール

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

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

エピック

タスク説明必要なスキル

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

関連リソース

リファレンス

チュートリアルと動画

追加情報

次のコードは、 CloudFormation AWS2.0 リソースを自動的に作成できる AppStream テンプレートの例です。

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