View a markdown version of this page

Amazon EC2 Windows Server AMI 向けに EC2 Fast Launch 設定を構成する - Amazon Elastic Compute Cloud

Amazon EC2 Windows Server AMI 向けに EC2 Fast Launch 設定を構成する

EC2 Fast Launch は、所有している Windows AMI に対して、または、AWS マネジメントコンソール、API、SDK、CloudFormation、または AWS Command Line Interface AWS CLIから共有した AMI に対して設定できます。EC2 Fast Launch を設定する前に、対象の AMI が、事前プロビジョニングのスナップショットを作成するのに必要な、すべての前提条件を満たしていることを確認してください。詳細については、「Windows 用に EC2 Fast Launch を設定するための前提条件」を参照してください。

Windows インスタンスの高速起動を有効にすると、Amazon EC2 は暗号化された AMI のアクセス許可を含め、指定された AMI および起動テンプレート (提供されている場合) からインスタンスを起動するために必要なアクセス許可があることをチェックします。インスタンスの起動プロセス中のエラーを防ぐため、サービスで EC2 Fast Launch を有効にする前にアクセス許可の検証が行われます。必要なアクセス許可がない場合、サービスでエラーが返され、EC2 Fast Launch が有効になりません。

EC2 Fast Launch を EC2 Image Builder と統合すると、EC2 Fast Launch が有効になっているカスタムイメージを作成しやすくなります。詳細については、「EC2 Image Builder ユーザーガイド」の「EC2 の高速起動を有効にした Windows AMI のディストリビューション設定を作成する (AWS CLI)」を参照してください。

EC2 Fast Launch を有効にする

これらの設定を変更する前に、AMI と、これを実行するリージョンが、Windows 用に EC2 Fast Launch を設定するための前提条件 のすべてを満たしていることを確認します。

Console
EC2 Fast Launch を有効にするには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインの [Images] (イメージ) で、[AMI] (AMI) を選択してください。

  3. [Name] (名前) の横にあるチェックボックスをオンにして、更新する AMI を選択してください。

  4. AMI のリストの上にある [アクション] メニューから、[高速起動の設定] を選択してください。この結果 [高速起動を設定] ページが開くため、ここで EC2 Fast Launch の設定を構成します。

  5. 事前プロビジョニングされたスナップショットの使用を開始して Windows AMI からインスタンスをより速く起動するには、[Windows に高速起動を有効化] チェックボックスをオンにします。

  6. [Set anticipated launch frequency] (予想される起動頻度の設定) ドロップダウンリストから、予想されるインスタンス起動ボリュームに対応できるように作成および維持されているスナップショット数を、指定する値を選択してください。

  7. 変更が完了したら、[Save changes] (変更を保存) を選択してください。

注記

VPC を指定する、または IMDSv2 のメタデータ設定を構成するための起動テンプレートを使用する必要がある場合は、「EC2 Fast Launch を設定するときに起動テンプレートを使用する」を参照してください。

AWS CLI
EC2 Fast Launch を有効にするには

次の enable-fast-launch コマンドを使用して、指定した AMI に対して EC2 Fast Launch を有効にし、事前プロビジョニングのために 6 つの平行インスタンスを起動します。

aws ec2 enable-fast-launch \ --image-id ami-0abcdef1234567890 \ --max-parallel-launches 6 \ --resource-type snapshot

以下は出力の例です。

{ "ImageId": "ami-0abcdef1234567890", "ResourceType": "snapshot", "SnapshotConfiguration": { "TargetResourceCount": 10 }, "LaunchTemplate": {}, "MaxParallelLaunches": 6, "OwnerId": "0123456789123", "State": "enabling", "StateTransitionReason": "Client.UserInitiated", "StateTransitionTime": "2022-01-27T22:16:03.199000+00:00" }
PowerShell
EC2 Fast Launch を有効にするには

Enable-EC2FastLaunch コマンドレットを使用して、指定した AMI で EC2 Fast Launch を有効にし、事前プロビジョニングのために 6 つの平行インスタンスを起動します。

Enable-EC2FastLaunch ` -ImageId ami-0abcdef1234567890 ` -MaxParallelLaunch 6 ` -Region us-west-2 ` -ResourceType snapshot

以下は出力の例です。

ImageId : ami-0abcdef1234567890 LaunchTemplate : MaxParallelLaunches : 6 OwnerId : 0123456789123 ResourceType : snapshot SnapshotConfiguration : Amazon.EC2.Model.FastLaunchSnapshotConfigurationResponse State : enabling StateTransitionReason : Client.UserInitiated StateTransitionTime : 2/25/2022 12:24:11 PM

EC2 Fast Launch を無効にする

これらの設定を変更する前に、AMI と、これを実行するリージョンが、Windows 用に EC2 Fast Launch を設定するための前提条件 のすべてを満たしていることを確認します。

Console
EC2 Fast Launch を無効にするには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインの [Images] (イメージ) で、[AMI] (AMI) を選択してください。

  3. [Name] (名前) の横にあるチェックボックスをオンにして、更新する AMI を選択してください。

  4. AMI のリストの上にある [アクション] メニューから、[高速起動の設定] を選択してください。この結果 [高速起動を設定] ページが開くため、ここで EC2 Fast Launch の設定を構成します。

  5. [Windows に高速起動を有効化] チェックボックスをオフにし、EC2 Fast Launch を無効にして事前プロビジョニングされたスナップショットを削除します。その結果、AMI は今後、各インスタンスに対して標準の起動プロセスを使用するようになります。

    注記

    Windows イメージの最適化を無効にすると、既存の事前プロビジョニングされたスナップショットが自動的に削除されます。この機能を再度使用するには、この手順を完了する必要があります。

  6. 変更が完了したら、[Save changes] (変更を保存) を選択してください。

AWS CLI
EC2 Fast Launch を無効にするには

次の disable-fast-launch コマンドを使用して、指定した AMI で EC2 Fast Launch を無効にし、事前プロビジョニングされた既存のスナップショットをクリーンアップします。

aws ec2 disable-fast-launch --image-id ami-01234567890abcedf

以下は出力の例です。

{ "ImageId": "ami-01234567890abcedf", "ResourceType": "snapshot", "SnapshotConfiguration": {}, "LaunchTemplate": { "LaunchTemplateId": "lt-01234567890abcedf", "LaunchTemplateName": "EC2FastLaunchDefaultResourceCreation-a8c6215d-94e6-441b-9272-dbd1f87b07e2", "Version": "1" }, "MaxParallelLaunches": 6, "OwnerId": "0123456789123", "State": "disabling", "StateTransitionReason": "Client.UserInitiated", "StateTransitionTime": "2022-01-27T22:47:29.265000+00:00" }
PowerShell
EC2 Fast Launch を無効にするには

Disable-EC2FastLaunch コマンドレットを使用して、指定した AMI で EC2 Fast Launch を無効にし、事前プロビジョニングされた既存のスナップショットをクリーンアップします。

Disable-EC2FastLaunch -ImageId ami-0abcdef1234567890

以下は出力の例です。

ImageId : ami-0abcdef1234567890 LaunchTemplate : Amazon.EC2.Model.FastLaunchLaunchTemplateSpecificationResponse MaxParallelLaunches : 6 OwnerId : 0123456789123 ResourceType : snapshot SnapshotConfiguration : State : disabling StateTransitionReason : Client.UserInitiated StateTransitionTime : 2/25/2022 1:10:08 PM

EC2 Fast Launch を設定するときに起動テンプレートを使用する

起動テンプレートを使用すると、そのテンプレートからインスタンスを起動するたびに Amazon EC2 が使用する、一連の起動パラメータを設定することができます。指定できるのは、基本イメージに使用される AMI、インスタンスタイプ、ストレージ、ネットワーク設定などです。

起動テンプレートはオプションです。ただし、高速起動を設定するときに Windows AMI で起動テンプレートを使用する必要がある、次の特定の場合を除きます。

  • Windows AMI 用の既存の VPC を指定するには起動テンプレートを使用する必要があります。AWS アカウントのデフォルト VPC を使用する場合は必要ありません。

  • アカウントに、Amazon EC2 インスタンスに IMDSv2 を強制するポリシーが含まれている場合、IMDSv2 を強制するメタデータ設定を指定する、起動テンプレートを作成する必要があります。

    AWS CLI で enable-fast-launch コマンドを実行するとき、または EnableFastLaunch API アクションを呼び出すとき、EC2 コンソールのメタデータ設定を含む起動テンプレートを使用します。

起動テンプレートを使用する場合、EC2 Fast Launch では以下の設定はサポートされていません。EC2 Fast Launch の起動テンプレートを使用する場合は、以下を指定しないでください。

  • ユーザーデータスクリプト

  • 終了保護

  • 無効なメタデータ

  • スポットオプション

  • インスタンスを終了させるシャットダウン動作

  • ネットワークインターフェイス、Elastic Graphics、スポットインスタンスのリクエスト用のリソースタグ

VPC を指定する

ステップ 1: 起動テンプレートを作成する

Windows インスタンスの次の詳細を指定する起動テンプレートを作成します。

  • VPC サブネット。

  • t3.xlarge のインスタンスタイプ。

詳細については、「Amazon EC2 起動テンプレートを作成する」を参照してください。

ステップ 2: EC2 Fast Launch AMI に起動テンプレートを指定する

Console
EC2 Fast Launch AMI に起動テンプレートを指定するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインの [Images] (イメージ) で、[AMI] (AMI) を選択してください。

  3. [Name] (名前) の横にあるチェックボックスをオンにして、更新する AMI を選択してください。

  4. AMI のリストの上にある [アクション] メニューから、[高速起動の設定] を選択してください。この結果 [高速起動を設定] ページが開くため、ここで EC2 Fast Launch の設定を構成します。

  5. [Launch template] (起動テンプレート) ボックスが、フィルター済みの検索を実行し、入力したテキストにマッチする起動テンプレートを、現在のリージョンのアカウントで特定します。ボックスで、起動テンプレートの名前または ID の、全部または一部を指定し、一致する起動テンプレートの一覧を表示します。例えば、ボックスに fast と入力すると、Amazon EC2 は、現在のリージョンのアカウントで、名前に「fast」を含む起動テンプレートをすべて検索します。

    起動テンプレートを新規作成するときは、[Create launch template] (起動テンプレートを作成) を選択してください。

  6. 起動テンプレートを選択すると、Amazon EC2 は、[Source template version] (ソーステンプレートのバージョン) ボックスにそのテンプレートのデフォルトバージョンを表示します。別のバージョンを指定するときは、置き換えるデフォルトのバージョンを強調表示し、ボックスに必要なバージョンの番号を入力してください。

  7. 変更が完了したら、[Save changes] (変更を保存) を選択してください。

AWS CLI
EC2 Fast Launch AMI に起動テンプレートを指定するには

enable-fast-launch コマンドを --launch-template オプションとともに使用して、起動テンプレートの名前または ID を指定します。

--launch-template LaunchTemplateName=my-launch-template
PowerShell
EC2 Fast Launch AMI に起動テンプレートを指定するには

Enable-EC2FastLaunch コマンドレットを -LaunchTemplate_LaunchTemplateId または -LaunchTemplate_LaunchTemplateName パラメータと共に使用します。

-LaunchTemplate_LaunchTemplateName my-launch-template

EC2 起動テンプレートの詳細については、「Amazon EC2 起動テンプレートにインスタンス起動パラメータを保存する」(起動テンプレートからのインスタンスの起動) を参照してください。

EC2 Fast Launch のアクセス許可のチェック

起動テンプレートで EC2 Fast Launch を有効にすると、その起動テンプレートの番号付きバージョンを指定できます。$Latest または $Default バージョンを使用することもできます。エイリアスのいずれかを使用した場合、エイリアスは制限対象の ec2:RunInstances および iam:PassRole アクセス許可を上書きできます。

EC2 Fast Launch を有効にすると、現在の起動テンプレートバージョンに照らしてアクセス許可がチェックされます。その際に、$Latest$Default がそれぞれ特定のバージョンに解決されます。このチェックは、EC2 Fast Launch を有効にする前に実行されます。ec2:RunInstancesiam:PassRole のアクセス許可など、インスタンスの起動に必要なアクセス許可が検証されます。そのために、EC2 Fast Launch は RunInstances ドライラン呼び出しを発行します。これにより、インスタンスを起動することなく、アクセス許可がチェックされます。現在のアクセス許可だけでは目的のアクションを実行できない場合、リクエストが失敗し、不足しているアクセス許可について説明したエラーが返されます。EC2 Fast Launch は有効になりません。

この最初のチェックが完了すると、EC2 Fast Launch は事前にプロビジョニングされたスナップショットをバックグラウンドで作成します。次に、自身のサービスリンクロールのアクセス許可を使用して、インスタンスを起動します。インスタンスを起動するたびに、その時点で $Latest または $Default が解決するバージョンが使用されます。これは、初回のチェック後にバージョンが変更された場合にも当てはまります。アクセス許可の再チェックは行われません。その結果、起動テンプレートを更新できるユーザーであれば、IAM ロールまたはインスタンスプロファイルをインスタンスに渡すことができます。これは、そのロールに対する iam:PassRole アクセス許可がない場合でも起こりえます。

EC2 Fast Launch を有効にしたときに検証されたバージョンが常に使用されるようにするには、番号付きの起動テンプレートバージョンを指定します。$Latest$Default を使用しないでください。

$Latest または $Default の起動テンプレートバージョンを使用するように EC2 Fast Launch を設定する場合は、起動テンプレートバージョンを作成および管理できるユーザーを制限することをお勧めします。IAM ポリシーを使用すると、ec2:CreateLaunchTemplateVersionec2:ModifyLaunchTemplate などのアクションへのアクセスを制限できます。