Amazon Elastic Container Service (Amazon ECS) でクラスターキャパシティープロバイダーを作成しようとすると、次のエラーが表示されます。「キャパシティープロバイダーのマネージド終了保護設定が無効です。キャパシティープロバイダーのマネージド終了保護を有効にするには、Auto Scaling グループで、スケールインからのインスタンス保護が有効になっている必要があります」
このエラーの解決方法を教えてください。
解決方法
エラーを解決するには、Auto Scaling グループでスケールイン保護を有効にします。Amazon Elastic Compute Cloud (Amazon EC2) コンソールまたは AWS コマンドラインインターフェイス (AWS CLI) を使用して、スケールイン保護を有効にできます。
注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
Amazon EC2 コンソールを使用する
1. Amazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling Groups] (Auto Scaling グループ) を選択します。
2. Auto Scaling グループを選択します。[Details] (詳細) タブで、[Advanced configurations] (高度な設定) まで下にスクロールし、[Edit] (編集) を選択します。
3. [Instance scale-in protection] (インスタンスのスケールイン保護) で 、[Enable instance scale-in protection] (インスタンスのスケールイン保護を有効にする) を選択します。
4. [Update] (更新) を選択します。
AWS CLI の使用
AWS CLI を使用して Auto Scaling グループのスケールイン保護を有効にするには、次のコマンドを実行します。
aws autoscaling update-auto-scaling-group \
--region RegionID \
--auto-scaling-group-name yourASGName \
--new-instances-protected-from-scale-in
注: RegionID をお客様の AWS リージョンに置き換えてください。yourASGName をお客様の Auto Scaling グループの名前に置き換えます。
トラブルシューティング
それでもエラーが表示される場合は、Auto Scaling グループで起動した既存のインスタンスの一部にスケールイン保護がない可能性があります。
Amazon EC2 コンソールまたは AWS CLI を使用して、残りのインスタンスにスケールイン保護を適用するには、次の手順に従います。
Amazon EC2 コンソールを使用する
1. Amazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling Groups] (Auto Scaling グループ) を選択します。
2. Auto Scaling グループを選択し、[Instances] (インスタンス) タブを選択します。
3. [Instance ID] (インスタンス ID) 列から、スケールイン保護を適用するインスタンスを選択します。
4. [Instance management] (インスタンス管理) タブで、[Actions] (アクション)、[Set scale-in protection] (スケールイン保護を設定) の順に選択します。
5. Amazon ECS でキャパシティープロバイダーを作成します。
AWS CLI の使用
スケールイン保護を有効にしない Auto Scaling グループのインスタンスを一覧表示するには、クエリ機能を使用して次の AWS CLI コマンドを実行します。
aws autoscaling describe-auto-scaling-groups \
--region RegionID \
--auto-scaling-group-names yourASGName \
--query 'AutoScalingGroups[].Instances[?ProtectedFromScaleIn==`true`].{Id:InstanceId}' \
--output text
注: RegionID をお客様の AWS リージョンに置き換えます。yourASGName をお客様の Auto Scaling グループの名前に置き換えます。
その後、以下の手順に従って、Auto Scaling グループの指定されたインスタンスのスケールイン保護を有効にします。
1. 次のコマンドを実行します。
aws autoscaling set-instance-protection \
--region RegionID \
--instance-ids yourInstanceID \
--auto-scaling-group-name yourASGName \
--protected-from-scale-in
注:
RegionID をお客様の AWS リージョンに置き換えます。
yourInstanceID をお客様のインスタンス ID に置き換えます。
yourASGName をお客様の Auto Scaling グループの名前に置き換えます。
2. Amazon ECS でキャパシティープロバイダーを作成します。
関連情報
Amazon ECS クラスターの Auto Scaling