既存の ECS キャパシティープロバイダーでマネージドインスタンスドレインを有効にする方法を教えてください
困っていた内容
既存の ECS キャパシティープロバイダーで、マネージドインスタンスドレインを有効にしたいです。
AWS 公式ドキュメントによると、AWS CLI からできますが AWS マネジメントコンソールから変更する方法を教えてください。
どう対応すればいいの?
AWS マネジメントコンソールの場合は「インフラストラクチャ」タブから変更します。
やってみた
Amazon ECS コンソールの「クラスター」から、変更するキャパシティープロバイダーが含まれるクラスターを選択します。
「インフラストラクチャ」タブを選択します。
変更するキャパシティープロバイダーを選択して「更新」をクリックします。
スケーリングポリシーセクションの「マネージドインスタンスのドレイン」を選択して、「更新」をクリックします。
更新が完了するまで、しばらく待ちます。
キャパシティープロバイダーが正常に更新されたことを確認します。
AWS CLIからも、やってみた
update-capacity-providerコマンドを実行して、設定変更をリクエストします。
$ aws ecs update-capacity-provider \
--name hato-managedScaling \
--auto-scaling-group-provider '{
"managedDraining": "ENABLED"
}'
{
"capacityProvider": {
"capacityProviderArn": "arn:aws:ecs:ap-northeast-1:123456789012:capacity-provider/hato-managedScaling",
"name": "hato-managedScaling",
"status": "ACTIVE",
"autoScalingGroupProvider": {
"autoScalingGroupArn": "arn:aws:autoscaling:ap-northeast-1:123456789012:autoScalingGroup:a7f5c00c",
"managedScaling": {
"status": "DISABLED",
"targetCapacity": 100,
"minimumScalingStepSize": 1,
"maximumScalingStepSize": 10000,
"instanceWarmupPeriod": 300
},
"managedTerminationProtection": "DISABLED",
"managedDraining": "DISABLED"
},
"updateStatus": "UPDATE_IN_PROGRESS",
"tags": []
}
}
describe-capacity-providersコマンドを実行してmanagedDraining
がENABLED
、updateStatus
がUPDATE_COMPLETE
になっていることを確認します。
$ aws ecs describe-capacity-providers --capacity-providers hato-managedScaling
{
"capacityProviders": [
{
"capacityProviderArn": "arn:aws:ecs:ap-northeast-1:123456789012:capacity-provider/hato-managedScaling",
"name": "hato-managedScaling",
"status": "ACTIVE",
"autoScalingGroupProvider": {
"autoScalingGroupArn": "arn:aws:autoscaling:ap-northeast-1:123456789012:autoScalingGroup:a7f5c00c",
"managedScaling": {
"status": "DISABLED",
"targetCapacity": 100,
"minimumScalingStepSize": 1,
"maximumScalingStepSize": 10000,
"instanceWarmupPeriod": 300
},
"managedTerminationProtection": "DISABLED",
"managedDraining": "ENABLED"
},
"updateStatus": "UPDATE_COMPLETE",
"tags": []
}
],
"failures": []
}
参考資料
- インスタンスを安全にシャットダウンするように Amazon ECS キャパシティープロバイダーを設定する - Amazon Elastic Container Service
- update-capacity-provider — AWS CLI 2.26.6 Command Reference
- describe-capacity-providers — AWS CLI 2.26.6 Command Reference
- Amazon ECS キャパシティープロバイダーを更新する - Amazon Elastic Container Service
- キャパシティプロバイダーが実行中のタスクを含むインスタンスを保持するように設定する | AWS re:Post