

Avis de fin de support : le 7 octobre 2026, AWS le support de AWS Proton. Après le 7 octobre 2026, vous ne pourrez plus accéder à la AWS Proton console ni aux AWS Proton ressources. Votre infrastructure déployée restera intacte. Pour plus d'informations, consultez le Guide [AWS Proton de dépréciation et de migration des services](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html).

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.

# Modifier un service
<a name="ag-svc-update"></a>

Vous pouvez apporter les modifications suivantes à un AWS Proton service.
+ Modifiez la description du service.
+ Modifiez un service en ajoutant et en supprimant des instances de service.

## Modifier la description du service
<a name="ag-svc-metadata"></a>

Vous pouvez utiliser la console ou le AWS CLI pour modifier la description d'un service.

------
#### [ AWS Management Console ]

**Modifiez un service à l'aide de la console comme décrit dans les étapes suivantes.**

**Dans la liste des services.**

1. Dans la [AWS Proton console](https://console.aws.amazon.com//proton/), choisissez **Services**.

1. Dans la liste des services, cliquez sur le bouton radio situé à gauche du service que vous souhaitez mettre à jour.

1. Choisissez **Modifier**.

1. Sur la page **Configurer le service**, remplissez le formulaire et choisissez **Next**.

1. Sur la page **Configurer les paramètres personnalisés**, choisissez **Next**.

1. Passez en revue vos modifications et choisissez **Enregistrer les modifications**.

**Sur la page détaillée du service.**

1. Dans la [AWS Proton console](https://console.aws.amazon.com//proton/), choisissez **Services**.

1. Dans la liste des services, choisissez le nom du service que vous souhaitez modifier.

1. Sur la page détaillée du service, choisissez **Modifier**.

1. Sur la page **Configurer le service**, remplissez le formulaire et choisissez **Next**.

1. Sur la page **Configurer les paramètres personnalisés**, remplissez le formulaire et choisissez **Suivant**.

1. Passez en revue vos modifications et choisissez **Enregistrer les modifications**.

------
#### [ AWS CLI ]

**Modifiez une description comme indiqué dans l'exemple de commande et de réponse de la CLI ci-dessous.**

Commande :

```
$ aws proton update-service \
    --name "MySimpleService" \
    --description "Edit by updating description"
```

Réponse :

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService",
        "branchName": "main",
        "createdAt": "2021-03-12T22:39:42.318000+00:00",
        "description": "Edit by updating description",
        "lastModifiedAt": "2021-03-12T22:44:21.975000+00:00",
        "name": "MySimpleService",
        "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryId": "my-repository/myorg-myapp",
        "status": "ACTIVE",
        "templateName": "fargate-service"
    }
}
```

------

## Modifier un service pour ajouter ou supprimer des instances de service
<a name="ag-svc-update-instances"></a>

Pour un AWS Proton service, vous pouvez ajouter ou supprimer des instances de service en soumettant une spécification modifiée. Les conditions suivantes doivent être remplies pour que la demande soit acceptée :
+ Votre service et votre pipeline ne sont pas encore en cours de modification ou de suppression lorsque vous soumettez la demande de modification.
+ Votre spécification modifiée n'inclut pas les modifications qui modifient le pipeline de services ni les modifications apportées aux instances de service existantes qui *ne doivent pas être supprimées*.
+ Votre spécification modifiée ne supprime aucune instance de service existante à laquelle un composant est attaché. Pour supprimer une telle instance de service, vous devez d'abord mettre à jour le composant afin de le détacher de son instance de service. Pour plus d'informations sur les composants, consultez[AWS Proton composants](ag-components.md).

Les instances dont la suppression a échoué sont des instances de service en l'`DELETE_FAILED`état. Lorsque vous demandez une modification de service, AWS Proton tente de supprimer pour vous les instances dont la suppression a échoué, dans le cadre du processus de modification. Si l'une de vos instances de service n'a pas pu être supprimée, certaines ressources sont peut-être toujours associées aux instances, même si elles ne sont pas visibles depuis la console ou AWS CLI. Vérifiez les ressources de votre infrastructure d'instance dont la suppression a échoué et nettoyez-les afin de pouvoir les supprimer pour AWS Proton vous.

Pour connaître le quota d'instances de service pour un service, consultez[AWS Proton quotas](ag-limits.md). Vous devez également gérer au moins une instance de service pour votre service après sa création. Au cours du processus de mise à jour, AWS Proton compte les instances de service existantes et les instances à ajouter ou à supprimer. Les instances dont la suppression a échoué sont incluses dans ce décompte et vous devez en tenir compte lorsque vous modifiez votre. `spec`

### Utiliser la console ou AWS CLI pour ajouter ou supprimer des instances de service
<a name="ag-svc-update-console-cli"></a>

------
#### [ AWS Management Console ]

**Modifiez votre service pour ajouter ou supprimer des instances de service à l'aide de la console.**

Dans la [AWS Proton console](https://console.aws.amazon.com//proton/)

1. Dans le panneau de navigation, choisissez **Services**.

1. Sélectionnez le service que vous souhaitez modifier.

1. Choisissez **Modifier**.

1. (Facultatif) Sur la page **Configurer le service**, modifiez le nom ou la description du service, puis choisissez **Suivant**.

1. Sur la page **Configurer les paramètres personnalisés**, choisissez **Supprimer** pour supprimer une instance de service et choisissez **Ajouter une nouvelle instance** pour ajouter une instance de service et remplir le formulaire.

1. Choisissez **Suivant**.

1. Passez en revue votre mise à jour et choisissez **Enregistrer les modifications**.

1. Un modal vous demande de vérifier la suppression des instances de service. Suivez les instructions et choisissez **Oui, supprimer**.

1. Sur la page détaillée du service, consultez les détails de l'état de votre service.

------
#### [ AWS CLI ]

**Ajoutez et supprimez des instances de service avec une modification`spec`, comme indiqué dans les AWS CLI exemples de commandes et de réponses suivants.**

Lorsque vous utilisez la CLI, vous `spec` devez *exclure les* instances de service à supprimer et *inclure* à la fois les instances de service à ajouter et les instances de service existantes que vous *n'avez pas* marquées pour suppression.

La liste suivante montre l'exemple `spec` avant la modification et une liste des instances de service déployées par la spécification. Cette spécification a été utilisée dans l'exemple précédent pour modifier la description d'un service.

Spécification :

```
proton: ServiceSpec

pipeline:
  my_sample_pipeline_optional_input: "abc"
  my_sample_pipeline_required_input: "123"

instances:
  - name: "my-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_optional_input: "def"
      my_sample_service_instance_required_input: "456"
  - name: "my-other-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_required_input: "789"
```

L'exemple de `list-service-instances` commande et de réponse de la CLI ci-dessous montre les instances actives avant l'ajout ou la suppression d'une instance de service.

Commande :

```
$ aws proton list-service-instances \
    --service-name "MySimpleService"
```

Réponse :

```
{
    "serviceInstances": [
        {
            "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/my-other-instance",
            "createdAt": "2021-03-12T22:39:42.318000+00:00",
            "deploymentStatus": "SUCCEEDED",
            "environmentName": "simple-env",
            "lastDeploymentAttemptedAt": "2021-03-12T22:39:43.109000+00:00",
            "lastDeploymentSucceededAt": "2021-03-12T22:39:43.109000+00:00",
            "name": "my-other-instance",
            "serviceName": "example-svc",
            "templateMajorVersion": "1",
            "templateMinorVersion": "0",
            "templateName": "fargate-service"
        },
        {
            "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/my-instance",
            "createdAt": "2021-03-12T22:39:42.318000+00:00",
            "deploymentStatus": "SUCCEEDED",
            "environmentName": "simple-env",
            "lastDeploymentAttemptedAt": "2021-03-12T22:39:43.160000+00:00",
            "lastDeploymentSucceededAt": "2021-03-12T22:39:43.160000+00:00",
            "name": "my-instance",
            "serviceName": "example-svc",
            "serviceTemplateArn": "arn:aws:proton:region-id:123456789012:service-template/fargate-service",
            "templateMajorVersion": "1",
            "templateMinorVersion": "0",
            "templateName": "fargate-service"
        }
    ]
}
```

La liste suivante montre l'exemple modifié `spec` utilisé pour supprimer et ajouter une instance. L'instance existante nommée `my-instance` est supprimée et une nouvelle instance nommée `yet-another-instance` est ajoutée.

Spécification :

```
proton: ServiceSpec

pipeline:
  my_sample_pipeline_optional_input: "abc"
  my_sample_pipeline_required_input: "123"

instances:
  - name: "my-other-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_required_input: "789"
  - name: "yet-another-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_required_input: "789"
```

Vous pouvez l'utiliser `"${Proton::CURRENT_VAL}"` pour indiquer les valeurs de paramètres à conserver par rapport à l'original`spec`, si les valeurs existent dans le`spec`. `get-service`À utiliser pour afficher l'original `spec` d'un service, comme décrit dans[Afficher les données de service](ag-svc-view.md).

La liste suivante indique comment vous pouvez vous assurer que les modifications apportées `"${Proton::CURRENT_VAL}"` aux valeurs des paramètres `spec` *ne sont pas* incluses pour que les instances de services existantes soient conservées.

Spécification :

```
proton: ServiceSpec

pipeline:
  my_sample_pipeline_optional_input: "${Proton::CURRENT_VAL}"
  my_sample_pipeline_required_input: "${Proton::CURRENT_VAL}"

instances:
  - name: "my-other-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_required_input: "${Proton::CURRENT_VAL}"
  - name: "yet-another-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_required_input: "789"
```

La liste suivante indique la commande et la réponse de la CLI pour modifier le service.

Commande :

```
$ aws proton update-service 
    --name "MySimpleService" \
    --description "Edit by adding and deleting a service instance" \
    --spec "file://spec.yaml"
```

Réponse :

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService",
        "branchName": "main",
        "createdAt": "2021-03-12T22:39:42.318000+00:00",
        "description": "Edit by adding and deleting a service instance",
        "lastModifiedAt": "2021-03-12T22:55:48.169000+00:00",
        "name": "MySimpleService",
        "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryId": "my-repository/myorg-myapp",
        "status": "UPDATE_IN_PROGRESS",
        "templateName": "fargate-service"
    }
}
```

La `list-service-instances` commande et la réponse suivantes confirment que l'instance existante nommée `my-instance` est supprimée et qu'une nouvelle instance nommée `yet-another-instance` est ajoutée.

Commande :

```
$ aws proton list-service-instances \
    --service-name "MySimpleService"
```

Réponse :

```
{
    "serviceInstances": [
        {
            "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/yet-another-instance",
            "createdAt": "2021-03-12T22:39:42.318000+00:00",
            "deploymentStatus": "SUCCEEDED",
            "environmentName": "simple-env",
            "lastDeploymentAttemptedAt": "2021-03-12T22:56:01.565000+00:00",
            "lastDeploymentSucceededAt": "2021-03-12T22:56:01.565000+00:00",
            "name": "yet-another-instance",
            "serviceName": "MySimpleService",
            "templateMajorVersion": "1",
            "templateMinorVersion": "0",
            "templateName": "fargate-service"
        },
        {
            "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/my-other-instance",
            "createdAt": "2021-03-12T22:39:42.318000+00:00",
            "deploymentStatus": "SUCCEEDED",
            "environmentName": "simple-env",
            "lastDeploymentAttemptedAt": "2021-03-12T22:39:43.109000+00:00",
            "lastDeploymentSucceededAt": "2021-03-12T22:39:43.109000+00:00",
            "name": "my-other-instance",
            "serviceName": "MySimpleService",
            "templateMajorVersion": "1",
            "templateMinorVersion": "0",
            "templateName": "fargate-service"
        }
    ]
}
```

------

### Que se passe-t-il lorsque vous ajoutez ou supprimez des instances de service
<a name="ag-svc-add-delete"></a>

Après avoir soumis une modification de service pour supprimer et ajouter des instances de service, AWS Proton prend les mesures suivantes.
+ Définit le service sur`UPDATE_IN_PROGRESS`.
+ Si le service possède un pipeline, définit son statut sur `IN_PROGRESS` et bloque les actions du pipeline.
+ Définit toutes les instances de service à supprimer sur`DELETE_IN_PROGRESS`.
+ Bloque les actions de service.
+ Bloque les actions sur les instances de service marquées pour suppression.
+ Crée de nouvelles instances de service.
+ Supprime les instances que vous avez répertoriées pour suppression.
+ Tente de supprimer les instances dont la suppression a échoué.
+ Une fois les ajouts et les suppressions terminés, réapprovisionne le pipeline de services (le cas échéant), définit votre service sur `ACTIVE` et active les actions de service et de pipeline.

AWS Proton tente de remédier aux modes de défaillance comme suit.
+ Si une ou plusieurs instances de service *n'ont pas pu être créées*, AWS Proton essaie de déprovisionner toutes les instances de service nouvellement créées et rétablit `spec` l'état précédent. Il *ne* supprime aucune instance de service et *ne* modifie en aucune façon le pipeline.
+ Si une ou plusieurs instances de service *n'ont pas pu être supprimées*, AWS Proton réapprovisionne le pipeline sans les instances supprimées. Le `spec` est mis à jour pour inclure les instances ajoutées et pour exclure les instances marquées pour suppression.
+ Si le *pipeline échoue au provisionnement*, aucune annulation *n'est* tentée et le service et le pipeline reflètent un état d'échec de mise à jour.

### Marquage et modifications de service
<a name="ag-svc-update-tagging"></a>

Lorsque vous ajoutez des instances de service dans le cadre de la modification de votre service, les balises AWS gérées se propagent vers les nouvelles instances et les ressources allouées et sont automatiquement créées pour celles-ci. Si vous créez de nouvelles balises, celles-ci ne sont appliquées qu'aux nouvelles instances. Les balises de service gérées par les clients existants se propagent également aux nouvelles instances. Pour de plus amples informations, veuillez consulter [AWS Proton ressources et balisage](resources.md).