

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration des fournisseurs de capacité Amazon ECS pour l’arrêt des instances en toute sécurité
<a name="enable-managed-instance-draining"></a>

Vous pouvez activer le drainage d’instance gérée lorsque vous créez ou mettez à jour les fournisseurs de capacité de votre groupe Auto Scaling à l’aide de la console et AWS CLI Amazon ECS.

**Note**  
Le drainage d’instance gérée est activé par défaut lorsque vous créez un fournisseur de capacité.

Les exemples suivants utilisent le AWS CLI pour créer un fournisseur de capacité avec le drainage d'instance géré activé et activer le drainage d'instance géré pour le fournisseur de capacité existant d'un cluster.

**Création d’un fournisseur de capacité avec le drainage d’instance gérée**  
Pour créer un fournisseur de capacité avec le drainage d’instance gérée activé, utilisez la commande `create-capacity-provider`. Définissez le paramètre `managedDraining` sur `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",
}'
```

Réponse :

```
{
    "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"
        }
    }
}
```

**Activation du drainage d’instance gérée pour le fournisseur de capacité existant d’un cluster**  
Activez le drainage d’instance gérée pour le fournisseur de capacité existant d’un cluster à l’aide de la commande `update-capacity-provider`. Vous voyez que `managedDraining` a pour valeur actuelle `DISABLED` et que `updateStatus` a pour valeur actuelle `UPDATE_IN_PROGRESS`.

```
aws ecs update-capacity-provider \
--name cp-draining \
--auto-scaling-group-provider '{
  "managedDraining": "ENABLED"
}
```

Réponse :

```
{
    "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": [
        ]
    }
}
```



Utilisez la commande `describe-clusters` et incluez l’option `ATTACHMENTS`. Le `status` de l’attachement du drainage d’instance gérée est `PRECREATED`, et le `attachmentsStatus` global est `UPDATING`.

```
aws ecs describe-clusters --clusters cluster-name --include ATTACHMENTS
```

Réponse :

```
{
    "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": []
}
```

Lorsque la mise à jour est terminée, utilisez `describe-capacity-providers`, et vous verrez que `managedDraining` a maintenant pour valeur `ENABLED`.

```
aws ecs describe-capacity-providers --capacity-providers cp-draining
```

Réponse :

```
{
    "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": []
        }
    ]
}
```