キャパシティの再調整を有効にして、リスクがあるスポットインスタンスをプロアクティブに置き換える
Auto Scaling グループのキャパシティーの再調整を有効にするには、AWS マネジメントコンソール または AWS CLI を使用します。キャパシティの再調整が有効になっている場合、Amazon EC2 Auto Scaling は、EC2 インスタンスの再調整レコメンデーションを受け取ったスポットインスタンスをプロアクティブに置き換えようとします。
キャパシティの再調整を有効にする (コンソール)
Auto Scaling グループを作成または更新するときに、キャパシティの再調整を有効または無効にできます。
新しい Auto Scaling グループのキャパシティの再調整を有効にするには
https://console.aws.amazon.com/ec2/
でAmazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling グループ] を選択します。 -
[Auto Scaling グループの作成] を選択します。
-
ステップ 1 で、起動テンプレートまたは構成を選択し、Auto Scaling グループの名前を入力し、起動テンプレートを選択してから、[Next] (次へ) を選択して次のステップに進みます。
-
[ステップ 2: インスタンスの起動オプションを選択] の [インスタンスタイプの要件] で、混合インスタンスグループを作成するための設定を選択します。この混合インスタンスグループには、起動できるインスタンスタイプ、インスタンス購入オプション、スポットインスタンスとオンデマンドインスタンスの配分戦略が含まれます。これらの設定はデフォルトで設定されていません。これらを設定するには、[Override launch template] (起動テンプレートを上書きする) を選択する必要があります。混合インスタンスグループの作成に関する詳細については、「複数のインスタンスタイプと購入オプションを使用する Auto Scaling グループ」を参照してください。
-
[ネットワーク] で、必要なオプションを選択します。使用するサブネットが、異なるアベイラビリティーゾーンにあることを確認します。
-
[配分戦略] セクションで、スポット配分戦略を選択します。[容量の再分散] で、チェックボックスをオンまたはオフにして、容量の再分散を有効または無効にします。このオプションは、[インスタンスの購入オプション] セクションで Auto Scaling グループのスポットインスタンスとして起動するようにリクエストした場合にのみ表示されます。
-
Auto Scaling グループを作成します。
-
(オプション) 必要に応じてライフサイクルフックを追加します。詳細については、「Auto Scaling グループにライフサイクル フックを追加する」を参照してください。
既存の Auto Scaling グループのキャパシティの再調整を有効または無効にするには
https://console.aws.amazon.com/ec2/
でAmazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling グループ] を選択します。 -
Auto Scaling グループの横にあるチェックボックスを選択します。ページの下部にスプリットペインが開きます。
-
[Details] (詳細) タブで、[Allocation strategies] (配分戦略)、[Edit] (編集) の順に選択します。
-
[配分戦略] セクションで、[容量の再分散] チェックボックスをオンまたはオフにして、容量の再分散を有効または無効にします。
-
[更新] を選択します。
キャパシティの再調整を有効にする (AWS CLI)
以下の例では、AWS CLIを使用してキャパシティの再調整を有効または無効にする方法を示しています。
[create-auto-scaling-group
-
--capacity-rebalance/--no-capacity-rebalance– キャパシティーの再調整が有効かどうかを示すブール値。
[create-auto-scaling-group
注記
次の手順は、JSON または YAML でフォーマットされた設定ファイルの使用方法を示しています。AWS CLIバージョン 1 を使用する場合は、JSON 形式の設定ファイルを指定する必要があります。AWS CLIバージョン 2 を使用する場合は、YAML または JSON のいずれかでフォーマットされた設定ファイルを指定できます。
新しい Auto Scaling グループを作成して設定するには
-
次の create-auto-scaling-group
コマンドを使用して、新しい Auto Scaling グループを作成し、キャパシティの再調整を有効にします。このコマンドは、Auto Scaling グループの唯一のパラメーターとして JSON ファイルを参照します。 aws autoscaling create-auto-scaling-group --cli-input-jsonfile://~/config.json[混合インスタンス・ポリシー] を指定する CLI 設定ファイルがまだない場合は、作成します。
次の行を設定ファイルのトップレベルの JSON オブジェクトに追加します。
{ "CapacityRebalance": true }次は、
config.jsonファイルの例です。{ "AutoScalingGroupName": "my-asg", "DesiredCapacity":, "MinSize":12, "MaxSize":12, "CapacityRebalance": true, "MixedInstancesPolicy": { "InstancesDistribution": { "OnDemandBaseCapacity":150, "OnDemandPercentageAboveBaseCapacity":25, "SpotAllocationStrategy": "price-capacity-optimized" }, "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "$Default" }, "Overrides": [ { "InstanceType": "c5.large" }, { "InstanceType": "c5a.large" }, { "InstanceType": "m5.large" }, { "InstanceType": "m5a.large" }, { "InstanceType": "c4.large" }, { "InstanceType": "m4.large" }, { "InstanceType": "c3.large" }, { "InstanceType": "m3.large" } ] } }, "TargetGroupARNs": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-alb-target-group/943f017f100becff", "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }
新しい Auto Scaling グループを作成して設定するには
-
次の create-auto-scaling-group
コマンドを使用して、新しい Auto Scaling グループを作成し、キャパシティの再調整を有効にします。このコマンドは、Auto Scaling グループの唯一のパラメーターとして YAML ファイルを参照します。 aws autoscaling create-auto-scaling-group --cli-input-yamlfile://~/config.yamlYAML でフォーマットされた設定ファイルに以下の行を追加します。
CapacityRebalance: true次は、
config.yamlファイルの例です。--- AutoScalingGroupName:my-asgDesiredCapacity:12MinSize:12MaxSize:15CapacityRebalance: true MixedInstancesPolicy: InstancesDistribution: OnDemandBaseCapacity:0OnDemandPercentageAboveBaseCapacity:25SpotAllocationStrategy: price-capacity-optimized LaunchTemplate: LaunchTemplateSpecification: LaunchTemplateName:my-launch-templateVersion:$DefaultOverrides: - InstanceType:c5.large- InstanceType:c5a.large- InstanceType:m5.large- InstanceType:m5a.large- InstanceType:c4.large- InstanceType:m4.large- InstanceType:c3.large- InstanceType:m3.largeTargetGroupARNs: -arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-alb-target-group/943f017f100becffVPCZoneIdentifier:subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
既存の Auto Scaling グループのキャパシティの再調整を有効にするには
-
以下の update-auto-scaling-group
コマンドを使用して、キャパシティの再調整を有効にします。 aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --capacity-rebalance
Auto Scaling グループのキャパシティの再調整を有効になっていることを確認するには
-
以下の describe-auto-scaling-group
コマンドを使用して、キャパシティの再調整が有効になっていることを確認し、詳細を表示します。 aws autoscaling describe-auto-scaling-groups --auto-scaling-group-namemy-asg以下に、応答の例を示します。
{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn", ... "CapacityRebalance": true } ] }
キャパシティの再調整を無効にするには
キャパシティの再調整を無効にするには、[update-auto-scaling-group--no-capacity-rebalanceオプションを付けて使用します。
aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --no-capacity-rebalance
関連リソース
キャパシティの再調整の特徴の詳細とチュートリアルについては、AWS コンピューティングブログの「Proactively manage Spot Instance lifecycle using the new Capacity Rebalancing feature for Amazon EC2 Auto Scaling
EC2 インスタンスの再調整のレコメンデーションの詳細については、「Amazon EC2 ユーザーガイド」の「EC2 インスタンスの再調整に関する推奨事項」を参照してください。
ライフスタイルフックの詳細については、以下のリソースを参照してください。
制限
-
Amazon EC2 Auto Scaling は、インスタンスがスケールインから保護されていない場合のみ、再調整通知を受信したインスタンスを置き換えることができます。ただし、スケールイン保護はスポットの中断による終了を防ぐことはできません。詳細については、「インスタンスのスケールイン保護を使用してインスタンスの終了を制御する」を参照してください。
-
キャパシティの再調整のサポートは、中東 (アラブ首長国連邦) リージョンを除くAmazon EC2 Auto Scaling が使用可能なすべての商用 AWS リージョンで利用できます。