RES 対応 AMIs の設定 - Research and Engineering Studio

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

RES 対応 AMIs の設定

RES 対応 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 ポリシー

    (このポリシーは、カスタマー管理ポリシードキュメントまたはカスタマーインラインポリシードキュメントのいずれかになります。)

信頼関係エンティティ:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" } "Action": "sts:AssumeRole" } ] }

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.*" ] } } }, { "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/*" } ] }

EC2 Image Builder コンポーネントを作成する

Image Builder ユーザーガイドの「Image Builder コンソールを使用してコンポーネントを作成する」の指示に従ってください。

コンポーネントの詳細を入力します。
  1. タイプ でビルド を選択します。

  2. イメージオペレーティングシステム (OS) で、Linux または Windows を選択します。

  3. コンポーネント名 には、 などのわかりやすい名前を入力しますresearch-and-engineering-studio-vdi-<operating-system>

  4. コンポーネントのバージョン番号を入力し、オプションで説明を追加します。

  5. 定義ドキュメント には、次の定義ファイルを入力します。エラーが発生した場合、YAML ファイルはスペースに敏感であり、最も可能性の高い原因です。

    Linux
    # 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
    Windows
    # 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-windows description: An RES EC2 Image Builder component to install required RES software dependencies for Windows 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: CreateRESBootstrapFolder action: CreateFolder onFailure: Abort maxAttempts: 3 inputs: - path: 'C:\Users\Administrator\RES\Bootstrap' overwrite: true - name: DownloadRESWindowsInstallPackage action: S3Download onFailure: Abort maxAttempts: 3 inputs: - source: 's3://{{ RESEnvName }}-cluster-{{ RESEnvRegion }}-{{ AWSAccountID }}/idea/vdc/res-ready-install-script-packages/windows/res_windows_install_{{ RESEnvReleaseVersion }}.tar.gz' destination: '{{ build.CreateRESBootstrapFolder.inputs[0].path }}\res_windows_install_{{ RESEnvReleaseVersion }}.tar.gz' expectedBucketOwner: '{{ AWSAccountID }}' - name: RunInstallScript action: ExecutePowerShell onFailure: Abort maxAttempts: 3 inputs: commands: - 'cd {{ build.CreateRESBootstrapFolder.inputs[0].path }}' - 'Tar -xf res_windows_install_{{ RESEnvReleaseVersion }}.tar.gz' - 'Import-Module .\virtual-desktop-host-windows\Install.ps1' - 'Install-WindowsEC2Instance' - name: Reboot action: Reboot onFailure: Abort maxAttempts: 3 inputs: delaySeconds: 0
  6. オプションのタグを作成し、コンポーネントの作成 を選択します。

EC2 Image Builder レシピを準備する

注記

CentOS 7 は現在、6/30/2024 end-of-life に に到達する予定です。Research and Engineering Studio バージョン 2024.06 は、CentOS 7 をサポートする最後のバージョンになります。

EC2 Image Builder レシピでは、新しいイメージを作成するための開始点として使用するベースイメージと、イメージをカスタマイズしてすべてが期待どおりに動作することを確認するために追加する一連のコンポーネントを定義します。レシピを作成または変更して、必要な RES ソフトウェアの依存関係を持つターゲット AMI を構築する必要があります。レシピの詳細については、「レシピの管理」を参照してください。

RES は、次のイメージオペレーティングシステムをサポートしています。

  • Amazon Linux 2 (x86 および ARM64)

  • CentOS 7 (x86 および ARM64)

  • RHEL 7 (x86)、8 (x86)、および 9 (x86)

  • Ubuntu 22.04.3 (x86)

  • Windows 2019、2022 (x86)

Create a new recipe
  1. で EC2 Image Builder コンソールを開きますhttps://console.aws.amazon.com/imagebuilder

  2. 保存済みリソース でイメージレシピ を選択します。

  3. [イメージレシピの作成] を選択します。

  4. 一意の名前とバージョン番号を入力します。

  5. RES でサポートされているベースイメージを選択します。

  6. 「インスタンス設定」で、SSM エージェントがインストールされていない場合はインストールします。ユーザーデータおよびその他の必要なユーザーデータに情報を入力します。

  7. Linux ベースのレシピの場合は、Amazon が管理するaws-cli-version-2-linuxビルドコンポーネントをレシピに追加します。RES インストールスクリプトは AWS CLI 、 を使用して、DynamoDB クラスター設定の構成値への VDI アクセスを提供します。Windows では、このコンポーネントは必要ありません。

  8. Linux または Windows 環境用に作成された EC2 Image Builder コンポーネントを追加し、必要なパラメータ値を入力します。次のパラメータは必須入力です: AWSAccountID、RES EnvName、RES EnvRegion、および RES EnvReleaseVersion。

    重要

    Linux 環境では、aws-cli-version-2-linuxビルドコンポーネントを最初に追加した状態で、これらのコンポーネントを追加する必要があります。

  9. (推奨) Amazon が管理するsimple-boot-test-<linux-or-windows>テストコンポーネントを追加して、AMI を起動できることを確認します。これは最小限の推奨事項です。要件を満たす他のテストコンポーネントを選択できます。

  10. 必要に応じてオプションのセクションを完了し、その他の必要なコンポーネントを追加して、レシピの作成 を選択します。

Modify a recipe

既存の EC2 Image Builder レシピがある場合は、次のコンポーネントを追加して使用できます。

  1. Linux ベースのレシピの場合は、Amazon が管理するaws-cli-version-2-linuxビルドコンポーネントをレシピに追加します。RES インストールスクリプトは AWS CLI 、 を使用して、DynamoDB クラスター設定の構成値への VDI アクセスを提供します。Windows では、このコンポーネントは必要ありません。

  2. Linux または Windows 環境用に作成された EC2 Image Builder コンポーネントを追加し、必要なパラメータ値を入力します。次のパラメータは必須入力です: AWSAccountID、RES EnvName、RES EnvRegion、および RES EnvReleaseVersion。

    重要

    Linux 環境では、aws-cli-version-2-linuxビルドコンポーネントを最初に追加した状態で、これらのコンポーネントを追加する必要があります。

  3. 必要に応じてオプションのセクションを完了し、他の必要なコンポーネントを追加して、レシピの作成 を選択します。

EC2 Image Builder インフラストラクチャを設定する

インフラストラクチャ設定を使用して、Image Builder が Image Builder イメージの構築とテストに使用する Amazon EC2 インフラストラクチャを指定できます。RES で使用するには、新しいインフラストラクチャ設定を作成するか、既存のインフラストラクチャ設定を使用するかを選択できます。

Image Builder インフラストラクチャを設定するには
  1. IAM ロール には、 で以前に設定したロールを入力しますRES 環境にアクセスするための IAM ロールを準備する

  2. インスタンスタイプ では、4 GB 以上のメモリを持つタイプを選択し、選択したベース AMI アーキテクチャをサポートします。Amazon EC2 インスタンスタイプ」を参照してください

  3. VPC、サブネット、およびセキュリティグループ の場合、ソフトウェアパッケージをダウンロードするためのインターネットアクセスを許可する必要があります。RES 環境の cluster-settings DynamoDB テーブルと Amazon S3 クラスターバケットへのアクセスも許可する必要があります。

Image Builder イメージパイプラインを設定する

Image Builder イメージパイプラインは、ベースイメージ、構築とテスト用のコンポーネント、インフラストラクチャ設定、およびディストリビューション設定をアセンブルします。RES 対応 AMIs 用にイメージパイプラインを設定するには、新しいパイプラインを作成するか、既存のパイプラインを使用するかを選択できます。詳細については、Image Builder ユーザーガイドの「AMI イメージパイプラインの作成と更新」を参照してください。

Create a new Image Builder pipeline
  1. で Image Builder コンソールを開きますhttps://console.aws.amazon.com/imagebuilder

  2. ナビゲーションから、イメージパイプライン を選択します。

  3. イメージパイプラインの作成 を選択します。

  4. 一意の名前、オプションの説明、スケジュール、頻度を入力して、パイプラインの詳細を指定します。

  5. レシピの選択 で、既存のレシピを使用 を選択し、 で作成されたレシピを選択しますEC2 Image Builder レシピを準備する。レシピの詳細が正しいことを確認します。

  6. 「イメージ作成プロセスの定義」で、ユースケースに応じてデフォルトワークフローまたはカスタムワークフローを選択します。ほとんどの場合、デフォルトのワークフローで十分です。詳細については、EC2 Image Builder パイプラインのイメージワークフローを設定する」を参照してください。

  7. 「インフラストラクチャ設定の定義」で、「既存のインフラストラクチャ設定の選択」を選択し、「」で作成したインフラストラクチャ設定を選択しますEC2 Image Builder インフラストラクチャを設定する。インフラストラクチャの詳細が正しいことを確認します。

  8. ディストリビューション設定の定義 でサービスのデフォルト を使用してディストリビューション設定を作成する を選択します。出力イメージは、RES 環境 AWS リージョン と同じ に存在する必要があります。サービスのデフォルトを使用すると、Image Builder が使用されるリージョンにイメージが作成されます。

  9. パイプラインの詳細を確認し、パイプラインの作成 を選択します。

Modify an existing Image Builder pipeline
  1. 既存のパイプラインを使用するには、 で作成されたレシピを使用するように詳細を変更しますEC2 Image Builder レシピを準備する

  2. [変更の保存] を選択します。

Image Builder イメージパイプラインを実行する

設定された出力イメージを生成するには、イメージパイプラインを開始する必要があります。イメージレシピ内のコンポーネント数によっては、構築プロセスに最大 1 時間かかる場合があります。

イメージパイプラインを実行するには:
  1. イメージパイプライン から、 で作成されたパイプラインを選択しますImage Builder イメージパイプラインを設定する

  2. アクション から、パイプラインの実行 を選択します。

RES に新しいソフトウェアスタックを登録する

  1. 「」の指示に従ってソフトウェアスタック (AMIs)、ソフトウェアスタックを登録します。

  2. AMI ID には、 で構築された出力イメージの AMI ID を入力しますImage Builder イメージパイプラインを実行する