起動テンプレートに移行する - Amazon EC2 Auto Scaling

起動テンプレートに移行する

2023 年から、起動設定は 2022 年 12 月 31 日よりも後にリリースされた新しい Amazon EC2 インスタンスタイプをサポートしなくなります。詳細については、「起動設定」を参照してください。

起動設定から起動テンプレートに移行するには、次のステップを参照してください。

重要

続行する前に、起動テンプレートを操作するために必要な許可があることを確認してください。詳細については、「起動テンプレートのサポート」を参照してください。

ステップ 1: 起動設定を使用する Auto Scaling グループを検索する

まだ起動設定を使用している Auto Scaling グループがあるかどうかを確認するには、AWS CLI を使用して次の describe-auto-scaling-groups コマンドを実行します。REGION は、自分の AWS リージョン に置き換えます。

aws autoscaling describe-auto-scaling-groups --region REGION \ --query 'AutoScalingGroups[?LaunchConfigurationName!=`null`]'

以下は出力例です。

[ { "AutoScalingGroupName": "group-1", "AutoScalingGroupARN": "arn", "LaunchConfigurationName": "my-launch-config", "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 2, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 300, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchConfigurationName": "my-launch-config", "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2b", "LaunchConfigurationName": "my-launch-config", "InstanceId": "i-0c20ac468fa3049e8", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "CreatedTime": "2023-03-09T22:15:11.611Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [ { "ResourceId": "group-1", "ResourceType": "auto-scaling-group", "Key": "environment", "Value": "production", "PropagateAtLaunch": true } ], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN": "arn" }, ... additional groups ... ]

あるいは、Auto Scaling グループ名、それぞれの起動設定およびタグの名前のみを出力に表示するには、次のコマンドを実行します。

aws autoscaling describe-auto-scaling-groups --region REGION \ --query 'AutoScalingGroups[?LaunchConfigurationName!=`null`].{AutoScalingGroupName: AutoScalingGroupName, LaunchConfigurationName: LaunchConfigurationName, Tags: Tags}'

出力例を次に示します。

[ { "AutoScalingGroupName": "group-1", "LaunchConfigurationName": "my-launch-config", "Tags": [ { "ResourceId": "group-1", "ResourceType": "auto-scaling-group", "Key": "environment", "Value": "production", "PropagateAtLaunch": true } ] }, ... additional groups ... ]

フィルタリングの詳細については、「AWS Command Line Interface ユーザーガイド」の「AWS CLI 出力をフィルタリングする」を参照してください。

ステップ 2: 起動設定を起動テンプレートにコピーする

次のステップを実行して、起動設定を起動テンプレートにコピーできます。その後、それを Auto Scaling グループに追加できます。

複数の起動設定をコピーすると、同じ名前の起動テンプレートが作成されます。コピープロセス中に起動テンプレートに付けられた名前を変更するには、起動設定を 1 つずつコピーする必要があります。

注記

コピー機能は、コンソールでのみ使用できます。

起動テンプレートへ起動設定をコピーするには (コンソール)
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [Auto Scaling] で、[Launch Configurations (起動設定)] を選択します。

  3. コピーする起動設定を選択し、[Copy to launch template (起動テンプレートにコピー)、Copy selected (選択した範囲をコピー)] を選択します。これにより、新しい起動テンプレートが、選択した起動設定と同じ名前およびオプションでセットアップされます。

  4. [New launch template name (新しい起動テンプレート名)] では、起動設定の名前 (デフォルト) を使用する、または、新しい名前を入力します。起動テンプレート名は一意である必要があります。

  5. (オプション) [新しいテンプレートを使用して Auto Scaling グループを作成] を選択します。

    このステップをスキップして、起動設定のコピーを完了することができます。新しい Auto Scaling グループを作成する必要はありません。

  6. [Copy] (コピー) を選択します。

すべての起動設定を起動テンプレートにコピーするには (コンソール)
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [Auto Scaling] で、[Launch Configurations (起動設定)] を選択します。

  3. Copy to launch template (起動テンプレートにコピー)、Copy all (すべてコピー)を選択します。これにより、現在のリージョンの各起動設定が、同じ名前およびオプションで新しい起動テンプレートにコピーされます。

  4. [Copy] (コピー) を選択します。

ステップ 3: 起動テンプレートを使用するように Auto Scaling グループを更新する

起動テンプレートを作成すると、それを Auto Scaling グループに追加する準備が整います。

起動テンプレートを使用するように Auto Scaling グループを更新するには (コンソール)
  1. https://console.aws.amazon.com/ec2/ でAmazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling グループ] を選択します。

  2. Auto Scaling グループの隣にあるチェックボックスを選択します。

    ページ下部に分割ウィンドウが開き、選択したグループの情報が表示されます。

  3. [詳細] タブで、[起動設定]、[編集] の順に選択します。

  4. 起動テンプレートに切り替えるを選択します。

  5. [Launch Template (起動テンプレート)] では、起動テンプレートを選択します。

  6. [Version (バージョン)] では、必要に応じて起動テンプレートのバージョンを選択します。起動テンプレートのバージョンを作成したら、スケールアウト時に Auto Scaling グループで起動テンプレートのデフォルトバージョンを使用するか最新バージョンを使用するかを選択できます。

  7. [Update] (更新) を選択します。

起動テンプレートを使用するように Auto Scaling グループを更新するには (AWS CLI)

次の update-auto-scaling-group コマンドは、指定された Auto Scaling グループを更新して、指定された起動テンプレートの最初のバージョンを使用します。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='1'

CLI コマンドを使用して Auto Scaling グループを更新して起動テンプレートを使用する他の例については、「起動テンプレートを使用するように Auto Scaling グループを更新する」を参照してください。

ステップ 4: インスタンスを置き換える

起動設定を起動テンプレートに置き換えると、新しいインスタンスは、その新しい起動テンプレートを使用するようになります。既存のインスタンスは影響を受けません。

既存のインスタンスを更新するには、自動スケーリングを許可して、グループの終了ポリシーに基づき既存のインスタンスを新しいインスタンスに徐々に置き換えるようにするか、これらを手動で終了します。手動での終了により、グループが必要とする容量を維持するため、強制的にAuto Scaling グループが新しいインスタンスを起動します。詳細については、「Linux インスタンス向け Amazon EC2 ユーザーガイド」の「インスタンスを終了する」を参照してください。

あるいは、一度にいくつかのインスタンスを手動で置き換えるのではなく、インスタンスの更新を開始して Auto Scaling グループ内のインスタンスを置き換えることもできます。詳細については、「インスタンスの更新に基づいて Auto Scaling インスタンスを置き換える」を参照してください。グループが大きい場合、インスタンスの更新は特に便利です。

追加情報

起動テンプレートへの移行の詳細については、AWS コンピューティングブログの「Amazon EC2 Auto Scaling will no longer add support for new EC2 features to Launch Configurations」(Amazon EC2 Auto Scaling による起動設定への新しい EC2 機能サポートの追加は終了しました) を参照してください。

AWS CloudFormation スタックを起動設定から起動テンプレートに移行する方法を説明するトピックについては、「AWS CloudFormation スタックを起動設定から起動テンプレートに移行する」を参照してください。

コンソールから Amazon EC2 Auto Scaling の新しい起動テンプレートを作成する方法については、「Auto Scaling グループの起動テンプレートを作成する」を参照してください。