Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione dei provider di capacità Amazon ECS per chiudere le istanze in modo sicuro
Puoi attivare il drenaggio delle istanze gestite quando crei o aggiorni i provider di capacità del gruppo Auto Scaling usando la console e la AWS CLI Amazon ECS.
Nota
Il drenaggio delle istanze gestite è attivo per impostazione predefinita quando si crea un provider di capacità.
Di seguito sono riportati alcuni esempi di utilizzo di AWS CLI per creare un provider di capacità con il drenaggio gestito delle istanze abilitate e di abilitazione del drenaggio gestito delle istanze per il provider di capacità esistente di un cluster.
Creare un provider di capacità con il drenaggio delle istanze gestite abilitato
Per creare un provider di capacità con lo svuotamento delle istanze gestito abilitato, usa il comando create-capacity-provider. Imposta il parametro managedDraining su ENABLED.
aws ecs create-capacity-provider \ --name capacity-provider \ --auto-scaling-group-provider '{ "autoScalingGroupArn": "asg-arn", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 1 }, "managedDraining": "ENABLED", "managedTerminationProtection": "ENABLED", }'
Risposta:
{ "capacityProvider": { "capacityProviderArn": "capacity-provider-arn", "name": "capacity-provider", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "asg-arn", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 1 }, "managedTerminationProtection": "ENABLED" "managedDraining": "ENABLED" } } }
Abilita il drenaggio delle istanze gestite per il provider di capacità esistente di un cluster
Per abilitare il drenaggio delle istanze gestite per il provider di capacità esistente di un cluster, usa il comando update-capacity-provider. Come puoi vedere, managedDraining indica DISABLED e updateStatus indica UPDATE_IN_PROGRESS.
aws ecs update-capacity-provider \ --name cp-draining \ --auto-scaling-group-provider '{ "managedDraining": "ENABLED" }
Risposta:
{ "capacityProvider": { "capacityProviderArn": "cp-draining-arn", "name": "cp-draining", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "asg-draining-arn", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 1, "instanceWarmupPeriod": 300 }, "managedTerminationProtection": "DISABLED", "managedDraining": "DISABLED" // before update }, "updateStatus": "UPDATE_IN_PROGRESS", // in progress and need describe again to find out the result "tags": [ ] } }
Usa il comando describe-clusters e includi ATTACHMENTS. Lo status dell'allegato di drenaggio dell'istanza gestita è PRECREATED e lo attachmentsStatus generale è UPDATING.
aws ecs describe-clusters --clusters cluster-name --include ATTACHMENTS
Risposta:
{ "clusters": [ { ... "capacityProviders": [ "cp-draining" ], "defaultCapacityProviderStrategy": [], "attachments": [ # new precreated managed draining attachment { "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "type": "managed_draining", "status": "PRECREATED", "details": [ { "name": "capacityProviderName", "value": "cp-draining" }, { "name": "autoScalingLifecycleHookName", "value": "ecs-managed-draining-termination-hook" } ] }, ... ], "attachmentsStatus": "UPDATING" } ], "failures": [] }
Al termine dell'aggiornamento, utilizza describe-capacity-providers e vedrai che managedDraining è ora ENABLED.
aws ecs describe-capacity-providers --capacity-providers cp-draining
Risposta:
{ "capacityProviders": [ { "capacityProviderArn": "cp-draining-arn", "name": "cp-draining", "status": "ACTIVE", "autoScalingGroupProvider": { "autoScalingGroupArn": "asg-draning-arn", "managedScaling": { "status": "ENABLED", "targetCapacity": 100, "minimumScalingStepSize": 1, "maximumScalingStepSize": 1, "instanceWarmupPeriod": 300 }, "managedTerminationProtection": "DISABLED", "managedDraining": "ENABLED" // successfully update }, "updateStatus": "UPDATE_COMPLETE", "tags": [] } ] }