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

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

Auto Scaling グループを起動テンプレートに移行する

2023 年 1 月 1 日以降、新しいインスタンスタイプは起動設定でサポートされなくなりました。これは、最初のリージョンの起動後に AWS リージョンに追加されたすべてのインスタンスタイプに適用されます。さらに、リージョンでサポートされなくなったインスタンスタイプを使用して起動設定を作成できる場合があります。詳細については、「Auto Scaling 起動設定」を参照してください。

Auto Scaling グループを起動設定から起動テンプレートに移行するには、次の手順を参照してください。

重要

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

セキュリティグループや IAM インスタンスプロファイルなど、起動設定に関連付けられたリソースが意図せず削除されていないことを確認します。

ロールバックオペレーションをテストして、変更を安全に元に戻すことができることを確認します。

ステップ 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", "TrafficSources": [] }, ... 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] で、[Auto Scaling グループ] を選択します。

  3. ページの上部付近にある [起動設定] を選択します。確認を求めるプロンプトが表示されたら、[起動設定を表示] を選択して、[起動設定] ページを表示することを確認します。

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

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

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

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

  7. [コピー] を選択します。

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

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

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

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

ステップ 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. [更新] を選択します。

起動テンプレートを使用するように 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 グループ内のインスタンスを置き換えることができます。詳細については、「インスタンスの更新を使用して Auto Scaling グループのインスタンスを更新する」を参照してください。グループが大きい場合、インスタンスの更新は特に便利です。

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

追加情報

詳細については、「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 スタックを起動テンプレートに移行する」を参照してください。