インスタンスタイプに異なる起動テンプレートを使用する - Amazon EC2 Auto Scaling

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

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

複数のインスタンスタイプを使用するだけでなく、複数の起動テンプレートを使用することもできます。

例えば、コンピューティング集約型アプリケーション用に Auto Scaling グループを設定し、C5、C5a、C6g のインスタンスタイプを混在させたいとします。ただし、C6g インスタンスは 64 ビット Arm アーキテクチャに基づく AWS Graviton プロセッサを搭載し、C5 および C5a インスタンスは 64 ビット Intel x86 プロセッサ上で動作します。C5 インスタンスと C5a インスタンスの AMI はどちらも、これらの各インスタンスで機能しますが、C6g インスタンスでは機能しません。この問題を解決するには、C6g インスタンス用に別の起動テンプレートを使用します。C5 インスタンスと C5a インスタンスには同じ起動テンプレートを引き続き使用できます。

このセクションでは、 を使用して複数の起動テンプレートの使用に関連するタスク AWS CLI を実行する手順について説明します。現在、この特徴は AWS CLI または SDK を使用している場合のみ利用可能で、コンソールからは利用できません。

複数の起動テンプレートを使用するように Auto Scaling グループを設定する

次の例に示すように、複数の起動テンプレートを使用するように Auto Scaling グループを設定できます。

複数の起動テンプレートを使用するように新しい Auto Scaling グループを設定するには (AWS CLI)

create-auto-scaling-groupコマンドを実行します。例えば、次のコマンドは新しい Auto Scaling グループを作成します。これは、c5.largec5a.large、およびc6g.largeのインスタンスタイプを指定し、c6g.largeのインスタンスタイプに新しい起動テンプレートを定義することで、適切な AMI を使用して Arm インスタンスを起動することを保証します。Amazon EC2 Auto Scalingは、インスタンスタイプの順序を使用して、オンデマンドキャパシティーを満たすときに最初に使用するインスタンスタイプを決定します。

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

config.json ファイルには次のコンテンツが含まれます。

{ "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":[ ] }
複数の起動テンプレートを使用するように既存の Auto Scaling グループを設定するには (AWS CLI)

update-auto-scaling-groupコマンドを実行します。例えば、次のコマンドは、my-launch-template-for-arm という名前の起動テンプレートを、my-asg という名前の Auto Scaling グループの c6g.large インスタンスタイプに割り当てます。

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 グループの起動テンプレートを確認するには

以下のいずれかのコマンドを使用します。

AWS re:Post のテンプレートで属性ベースのインスタンスタイプの選択を使用して複数の起動 AWS CloudFormation テンプレートを指定する例を確認できます。