翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
RES 対応の Amazon マシンイメージ (AMIs) を使用すると、仮想デスクトップインスタンス (VDIs) の RES 依存関係をカスタム AMIs にプリインストールできます。RES 対応 AMIs を使用すると、事前にベイクされたイメージを使用して VDI インスタンスの起動時間を短縮できます。EC2 Image Builder を使用すると、AMIs を新しいソフトウェアスタックとして構築して登録できます。Image Builder の詳細については、「Image Builder ユーザーガイド」を参照してください。
開始する前に、最新バージョンの RES をデプロイする必要があります。
トピック
RES 環境にアクセスするための IAM ロールを準備する
EC2 Image Builder から RES 環境サービスにアクセスするには、RES-EC2InstanceProfileForImageBuilder という IAM ロールを作成または変更する必要があります。Image Builder で使用する IAM ロールの設定については、「Image Builder ユーザーガイド」のAWS Identity and Access Management 「 (IAM)」を参照してください。
ロールには以下が必要です。
-
Amazon EC2 サービスを含む信頼関係。
-
AmazonSSMManagedInstanceCore および EC2InstanceProfileForImageBuilder ポリシー。
-
デプロイされた RES 環境への DynamoDB および Amazon S3 アクセスが制限されたカスタム RES ポリシー。
(このポリシーは、カスタマー管理ポリシードキュメントまたはカスタマーインラインポリシードキュメントのいずれかになります)。
-
まず、ロールにアタッチされる新しいポリシーを作成します: IAM -> Policies -> Create policy
-
ポリシーエディタから JSON を選択します。
-
ここに示すポリシーをコピーしてエディタに貼り付け、必要に応じて必要な
{AWS-Region}
、{AWS-Account-ID}
、{RES-EnvironmentName}
を置き換えます。RES ポリシー:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RESDynamoDBAccess", "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "arn:aws:dynamodb:
{AWS-Region}
:{AWS-Account-ID}
:table/{RES-EnvironmentName}
.cluster-settings", "Condition": { "ForAllValues:StringLike": { "dynamodb:LeadingKeys": [ "global-settings.gpu_settings.*", "global-settings.package_config.*", "cluster-manager.host_modules.*", "identity-provider.cognito.enable_native_user_login" ] } } }, { "Sid": "RESS3Access", "Effect": "Allow", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::{RES-EnvironmentName}
-cluster-{AWS-Region}
-{AWS-Account-ID}
/idea/vdc/res-ready-install-script-packages/*", "arn:aws:s3:::research-engineering-studio-{AWS-Region}
/host_modules/*" ] } ] } -
次へ を選択し、名前とオプションの説明を入力してポリシーの作成を完了します。
-
ロールを作成するには、まず IAM -> Roles -> Create role に移動します。
-
信頼されたエンティティタイプで、AWS 「サービス」を選択します。
-
サービスまたはユースケースのドロップダウンで EC2 を選択します。
-
ユースケースセクションで、EC2 を選択し、次へを選択します。
-
を検索し、以前に作成したポリシーの名前を選択します。
-
次へ を選択し、名前とオプションの説明を入力してロールの作成を完了します。
-
新しいロールを選択し、信頼関係が以下と一致することを確認します。
信頼された関係エンティティ:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
EC2 Image Builder コンポーネントを作成する
Image Builder ユーザーガイドの「Image Builder コンソールを使用してコンポーネントを作成する」の指示に従います。
コンポーネントの詳細を入力します。
-
タイプ で、ビルド を選択します。
-
イメージオペレーティングシステム (OS) の場合は、Linux または Windows を選択します。
-
コンポーネント名には、 などのわかりやすい名前を入力します
research-and-engineering-studio-vdi-<operating-system>
。 -
コンポーネントのバージョン番号を入力し、オプションで説明を追加します。
-
定義ドキュメントには、次の定義ファイルを入力します。エラーが発生した場合、YAML ファイルはスペースに敏感であり、最も可能性の高い原因です。
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance # with the License. A copy of the License is located at # # http://www.apache.org/licenses/LICENSE-2.0 # # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions # and limitations under the License. name: research-and-engineering-studio-vdi-linux description: An RES EC2 Image Builder component to install required RES software dependencies for Linux VDI. schemaVersion: 1.0 parameters: - AWSAccountID: type: string description: RES Environment AWS Account ID - RESEnvName: type: string description: RES Environment Name - RESEnvRegion: type: string description: RES Environment Region - RESEnvReleaseVersion: type: string description: RES Release Version phases: - name: build steps: - name: PrepareRESBootstrap action: ExecuteBash onFailure: Abort maxAttempts: 3 inputs: commands: - 'mkdir -p /root/bootstrap/logs' - 'mkdir -p /root/bootstrap/latest' - name: DownloadRESLinuxInstallPackage action: S3Download onFailure: Abort maxAttempts: 3 inputs: - source: 's3://{{ RESEnvName }}-cluster-{{ RESEnvRegion }}-{{ AWSAccountID }}/idea/vdc/res-ready-install-script-packages/linux/res_linux_install_{{ RESEnvReleaseVersion }}.tar.gz' destination: '/root/bootstrap/res_linux_install_{{ RESEnvReleaseVersion }}.tar.gz' expectedBucketOwner: '{{ AWSAccountID }}' - name: RunInstallScript action: ExecuteBash onFailure: Abort maxAttempts: 3 inputs: commands: - 'tar -xvf {{ build.DownloadRESLinuxInstallPackage.inputs[0].destination }} -C /root/bootstrap/latest' - '/bin/bash /root/bootstrap/latest/virtual-desktop-host-linux/install.sh -r {{ RESEnvRegion }} -n {{ RESEnvName }} -g NONE' - name: FirstReboot action: Reboot onFailure: Abort maxAttempts: 3 inputs: delaySeconds: 0 - name: RunInstallPostRebootScript action: ExecuteBash onFailure: Abort maxAttempts: 3 inputs: commands: - '/bin/bash /root/bootstrap/latest/virtual-desktop-host-linux/install_post_reboot.sh' - name: SecondReboot action: Reboot onFailure: Abort maxAttempts: 3 inputs: delaySeconds: 0
-
オプションのタグを作成し、コンポーネントの作成を選択します。
EC2 Image Builder レシピを準備する
EC2 Image Builder レシピでは、新しいイメージを作成するための開始点として使用するベースイメージと、イメージをカスタマイズしてすべてが期待どおりに動作することを確認するために追加する一連のコンポーネントを定義します。レシピを作成または変更して、必要な RES ソフトウェアの依存関係を持つターゲット AMI を構築する必要があります。レシピの詳細については、「レシピの管理」を参照してください。
RES は、次のイメージオペレーティングシステムをサポートしています。
-
Amazon Linux 2 (x86 および ARM64)
-
Ubuntu 22.04.3 (x86)
-
RHEL 8 (x86)、および 9 (x86)
-
Windows 2019、2022 (x86)
-
で EC2 Image Builder コンソールを開きますhttps://console.aws.amazon.com/imagebuilder
。 -
「保存されたリソース」で、「イメージレシピ」を選択します。
-
[イメージレシピの作成] を選択します。
-
一意の名前とバージョン番号を入力します。
-
RES でサポートされているベースイメージを選択します。
-
インスタンス設定で、SSM エージェントがプリインストールされていない場合はインストールします。ユーザーデータやその他の必要なユーザーデータに情報を入力します。
注記
SSM エージェントをインストールする方法については、以下を参照してください。
-
Linux ベースのレシピの場合は、Amazon が管理する
aws-cli-version-2-linux
ビルドコンポーネントをレシピに追加します。RES インストールスクリプトは AWS CLI を使用して、DynamoDB クラスター設定の設定値への VDI アクセスを提供します。Windows では、このコンポーネントは必要ありません。 -
Linux または Windows 環境用に作成された EC2 Image Builder コンポーネントを追加し、必要なパラメータ値を入力します。次のパラメータは必須入力です: AWSAccountID、RESEnvName、RESEnvRegion、および RESEnvReleaseVersion。
重要
Linux 環境では、
aws-cli-version-2-linux
ビルドコンポーネントを最初に追加した状態で、これらのコンポーネントを追加する必要があります。 -
(推奨) Amazon が管理する
simple-boot-test-<linux-or-windows>
テストコンポーネントを追加して、AMI を起動できることを確認します。これは最小限の推奨事項です。要件を満たす他のテストコンポーネントを選択できます。 -
必要に応じてオプションのセクションを完了し、その他の必要なコンポーネントを追加して、レシピの作成を選択します。
EC2 Image Builder インフラストラクチャを設定する
インフラストラクチャ設定を使用して、Image Builder が Image Builder イメージの構築とテストに使用する Amazon EC2 インフラストラクチャを指定できます。RES で使用するには、新しいインフラストラクチャ設定を作成するか、既存のインフラストラクチャ設定を使用するかを選択できます。
-
新しいインフラストラクチャ設定を作成するには、「インフラストラクチャ設定の作成」を参照してください。
-
既存のインフラストラクチャ設定を使用するには、インフラストラクチャ設定を更新します。
Image Builder インフラストラクチャを設定するには:
-
IAM ロールには、 で以前に設定したロールを入力しますRES 環境にアクセスするための IAM ロールを準備する。
-
インスタンスタイプでは、少なくとも 4 GB のメモリを持つタイプを選択し、選択したベース AMI アーキテクチャをサポートします。Amazon EC2 インスタンスタイプ
」を参照してください。 -
VPC、サブネット、およびセキュリティグループの場合、ソフトウェアパッケージをダウンロードするためにインターネットアクセスを許可する必要があります。RES 環境の
cluster-settings
DynamoDB テーブルと Amazon S3 クラスターバケットへのアクセスも許可する必要があります。
Image Builder イメージパイプラインを設定する
Image Builder イメージパイプラインは、ベースイメージ、構築とテスト用のコンポーネント、インフラストラクチャ設定、ディストリビューション設定を組み立てます。RES 対応 AMIs のイメージパイプラインを設定するには、新しいパイプラインを作成するか、既存のパイプラインを使用するかを選択できます。詳細については、Image Builder ユーザーガイドの「AMI イメージパイプラインの作成と更新」を参照してください。
-
で Image Builder コンソールを開きますhttps://console.aws.amazon.com/imagebuilder
。 -
ナビゲーションペインから、イメージパイプラインを選択します。
-
「イメージパイプラインの作成」を選択します。
-
一意の名前、オプションの説明、スケジュール、頻度を入力して、パイプラインの詳細を指定します。
-
「レシピの選択」で、「既存のレシピを使用」を選択し、「」で作成したレシピを選択しますEC2 Image Builder レシピを準備する。レシピの詳細が正しいことを確認します。
-
イメージ作成プロセスの定義 では、ユースケースに応じてデフォルトワークフローまたはカスタムワークフローを選択します。ほとんどの場合、デフォルトのワークフローで十分です。詳細については、EC2 Image Builder パイプラインのイメージワークフローを設定する」を参照してください。
-
「インフラストラクチャ設定を定義する」で、「既存のインフラストラクチャ設定を選択」を選択し、「」で作成したインフラストラクチャ設定を選択しますEC2 Image Builder インフラストラクチャを設定する。インフラストラクチャの詳細が正しいことを確認します。
-
ディストリビューション設定を定義する で、サービスのデフォルトを使用してディストリビューション設定を作成する を選択します。出力イメージは、RES 環境 AWS リージョン と同じ に存在する必要があります。サービスのデフォルトを使用すると、Image Builder が使用されているリージョンにイメージが作成されます。
-
パイプラインの詳細を確認し、パイプラインの作成を選択します。
Image Builder イメージパイプラインを実行する
設定された出力イメージを生成するには、イメージパイプラインを開始する必要があります。イメージレシピのコンポーネント数によっては、構築プロセスに最大 1 時間かかる場合があります。
イメージパイプラインを実行するには:
-
イメージパイプラインから、 で作成されたパイプラインを選択しますImage Builder イメージパイプラインを設定する。
-
アクション から、パイプラインの実行 を選択します。
RES に新しいソフトウェアスタックを登録する
-
「」の指示に従ってソフトウェアスタック (AMIs)、ソフトウェアスタックを登録します。
-
AMI ID には、 で構築された出力イメージの AMI ID を入力しますImage Builder イメージパイプラインを実行する。