インスタンスタイプに異なる起動テンプレートを指定する - Amazon EC2 Auto Scaling (日本語)

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

インスタンスタイプに異なる起動テンプレートを指定する

-Overrides構造を使用すると、新規または既存の Auto Scaling グループの個々のインスタンスタイプに新しい起動テンプレートを定義できます。たとえば、インスタンスタイプのアーキテクチャでグループの残りの部分とは異なる AMI が必要な場合は、互換性のある AMI で起動テンプレートを指定する必要があります。

計算負荷の高いアプリケーション用に Auto Scaling グループを設定し、C5、C5a、C6g のインスタンスタイプを混在させたいとします。ただし、C6g インスタンスはAWS64 ビット Arm アーキテクチャに基づく Graviton プロセッサ、C5 および C5a インスタンスは 64 ビット Intel x86 プロセッサで実行されます。C5 インスタンスの AMI は C5a インスタンスで動作し、その逆も動作しますが、C6g インスタンスでは動作しません。-Overridesプロパティを使用すると、C5 インスタンスと C5a インスタンスに対して同じ起動テンプレートを使用しながら、C6g インスタンスに対して異なる起動テンプレートを含めることができます。

注記

現在、この機能は、AWS CLIまたは SDK のいずれかであり、コンソールからは利用できません。

インスタンスタイプの起動テンプレートの追加または変更(AWS CLI)

以下の手順では、AWS CLIを使用して Auto Scaling グループを設定して、1 つ以上のインスタンスタイプがグループの残りの部分とは異なる起動テンプレートを使用するようにします。

新しい Auto Scaling グループを作成して設定するには

  1. 混合インスタンスのポリシー構造を指定する設定ファイルを作成し、Overrides構造。

    次に、JSON でフォーマットされた設定ファイルの例を示します。これは、を指定します。c5.large,c5a.large, およびc6g.largeインスタンスタイプを作成し、c6g.largeインスタンスタイプを使用して、適切な AMI を使用して Arm インスタンスを起動するようにします。Amazon EC2 Auto Scaling は、オンデマンド容量を満たすときに、インスタンスタイプの順序を使用して、最初に使用するインスタンスタイプを決定します。

    { "AutoScalingGroupName":"my-asg", "MixedInstancesPolicy":{ "LaunchTemplate":{ "LaunchTemplateSpecification":{ "LaunchTemplateName":"my-launch-template-for-x86", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType":"c5.large" }, { "InstanceType":"c5a.large" } ] }, "InstancesDistribution":{ "OnDemandBaseCapacity": 1, "OnDemandPercentageAboveBaseCapacity": 50, "SpotAllocationStrategy": "capacity-optimized" } }, "MinSize":1, "MaxSize":5, "DesiredCapacity":3, "VPCZoneIdentifier":"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "Tags":[ ] }
  2. 以下のを使用します。create-auto-scaling-groupAuto Scaling グループの唯一のパラメータとして JSON ファイルを参照します。

    aws autoscaling create-auto-scaling-group --cli-input-json file://~/config.json

既存の Auto Scaling グループのインスタンスタイプの起動テンプレートを変更するには

  • 以下のを使用します。update-auto-scaling-groupコマンドを使用すると、インスタンスタイプに対して別の起動テンプレートを指定できます。Overrides構造。

    この変更が行われると、起動される新しいインスタンスは新しい設定に基づいていますが、既存のインスタンスは影響を受けません。Auto Scaling グループが新しい設定を使用していることを確認するには、インスタンスの更新を開始するか、インスタンスの最大有効期間機能を使用して、グループ内のすべてのインスタンスを置き換えることができます。

    aws autoscaling update-auto-scaling-group --cli-input-json file://~/config.json

    次は、config.json ファイルの例です。

    { "AutoScalingGroupName":"my-asg", "MixedInstancesPolicy":{ "LaunchTemplate":{ "Overrides":[ { "InstanceType":"c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType":"c5.large" }, { "InstanceType":"c5a.large" } ] } } }

Auto Scaling グループの起動テンプレートを確認するには

  • 以下のを使用します。説明-auto-scaling-groupコマンドを使用して、現在指定されている起動テンプレートを確認および表示します。

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg

    以下に、応答の例を示します。

    { "AutoScalingGroups":[ { "AutoScalingGroupName":"my-asg", "AutoScalingGroupARN":"arn", "MixedInstancesPolicy":{ "LaunchTemplate":{ "LaunchTemplateSpecification":{ "LaunchTemplateId":"lt-0fb0e487336917fb2", "LaunchTemplateName":"my-launch-template-for-x86", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c6g.large", "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-09d958b8fb2ba5bcc", "LaunchTemplateName": "my-launch-template-for-arm", "Version": "$Latest" } }, { "InstanceType":"c5.large" }, { "InstanceType":"c5a.large" } ] }, "InstancesDistribution":{ "OnDemandAllocationStrategy":"prioritized", "OnDemandBaseCapacity":1, "OnDemandPercentageAboveBaseCapacity":50, "SpotAllocationStrategy":"capacity-optimized" } }, "MinSize":1, "MaxSize":5, "DesiredCapacity":3, "Instances":[ { "InstanceId":"i-07c63168522c0f620", "InstanceType":"c5.large", "AvailabilityZone":"us-west-2c", "LifecycleState":"InService", "HealthStatus":"Healthy", "LaunchTemplate":{ "LaunchTemplateId":"lt-0fb0e487336917fb2", "LaunchTemplateName":"my-launch-template-for-x86", "Version":"1" }, "ProtectedFromScaleIn":false }, { "InstanceId":"i-0b7ff78be9896a2c2", "InstanceType":"c5.large", "AvailabilityZone":"us-west-2a", "LifecycleState":"InService", "HealthStatus":"Healthy", "LaunchTemplate":{ "LaunchTemplateId":"lt-0fb0e487336917fb2", "LaunchTemplateName":"my-launch-template-for-x86", "Version":"1" }, "ProtectedFromScaleIn":false }, { "InstanceId":"i-0c682c2ceae918bc0", "InstanceType":"c6g.large", "AvailabilityZone":"us-west-2b", "LifecycleState":"InService", "HealthStatus":"Healthy", "LaunchTemplate":{ "LaunchTemplateId":"lt-09d958b8fb2ba5bcc", "LaunchTemplateName":"my-launch-template-for-arm", "Version":"1" }, ... } ] }