

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.

# Configurations de synchronisation des services
<a name="ag-service-sync-configs"></a>

Grâce à la synchronisation des services, vous pouvez configurer et déployer vos AWS Proton services à l'aide de Git. Vous pouvez utiliser la synchronisation des services pour gérer les déploiements initiaux et les mises à jour de votre AWS Proton service avec une configuration définie dans un référentiel Git. Grâce à Git, vous pouvez utiliser des fonctionnalités telles que le suivi des versions et les pull requests pour configurer, gérer et déployer vos services. Service Sync combine AWS Proton Git pour vous aider à mettre en place une infrastructure standardisée définie et gérée via AWS Proton des modèles. Il gère les définitions de services dans votre dépôt Git et réduit le changement d'outil. Par rapport à l'utilisation de Git uniquement, la standardisation des modèles et du déploiement vous AWS Proton permet de passer moins de temps à gérer votre infrastructure. AWS Proton offre également une transparence et une auditabilité accrues tant pour les développeurs que pour les équipes de plateforme.

## AWS Proton fichier OPS
<a name="service-sync-ops"></a>

Le `proton-ops` fichier définit où se AWS Proton trouve le fichier de spécifications utilisé pour mettre à jour votre instance de service. Il définit également l'ordre dans lequel les instances de service doivent être mises à jour et le moment où il convient de promouvoir les modifications d'une instance à l'autre.

Le `proton-ops` fichier prend en charge la synchronisation d'une instance de service à l'aide du fichier de spécifications, ou de plusieurs fichiers de spécifications, trouvés dans votre référentiel lié. Vous pouvez le faire en définissant un bloc de synchronisation dans le `proton-ops` fichier, comme dans l'exemple suivant.

**Exemple. /configuration/proton-ops.yaml** :

```
sync:
  services:
      frontend-svc:
          alpha:
              branch: dev
              spec: ./frontend-svc/test/frontend-spec.yaml
          beta:
              branch: dev
              spec: ./frontend-svc/test/frontend-spec.yaml
          gamma:
              branch: pre-prod
              spec: ./frontend-svc/pre-prod/frontend-spec.yaml
          prod-one:
              branch: prod
              spec: ./frontend-svc/prod/frontend-spec-second.yaml
          prod-two:
              branch: prod
              spec: ./frontend-svc/prod/frontend-spec-second.yaml
          prod-three:
              branch: prod
              spec: ./frontend-svc/prod/frontend-spec-second.yaml
```

Dans l'exemple précédent, `frontend-svc` c'est le nom du service`alpha`, et`beta`,`gamma`,`prod-one`,`prod-two`,, `prod-three` sont les instances.

Le `spec` fichier peut être constitué de toutes les instances ou d'un sous-ensemble des instances définies dans le `proton-ops` fichier. Cependant, au minimum, l'instance doit être définie dans la branche et la spécification à partir de laquelle elle est synchronisée. Si les instances ne sont pas définies dans le `proton-ops` fichier, avec la branche et l'emplacement `spec` du fichier spécifiques, Service Sync ne créera ni ne mettra à jour ces instances.

Les exemples suivants montrent à quoi ressemblent les `spec` fichiers. N'oubliez pas que le `proton-ops` fichier est synchronisé à partir de ces `spec` fichiers.

**Exemple `./frontend-svc/test/frontend-spec.yaml` :**

```
proton: "ServiceSpec"
instances:
- name: "alpha"
  environment: "frontend-env"
  spec:
    port: 80
    desired_count: 1
    task_size: "x-small"
    image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
- name: "beta"
  environment: "frontend-env"
  spec:
    port: 80
    desired_count: 1
    task_size: "x-small"
    image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
```

**Exemple `./frontend-svc/pre-prod/frontend-spec.yaml` :**

```
proton: "ServiceSpec"
instances:
- name: "gamma"
  environment: "frontend-env"
  spec:
    port: 80
    desired_count: 1
    task_size: "x-small"
    image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
```

**Exemple `./frontend-svc/prod/frontend-spec-second.yaml` :**

```
proton: "ServiceSpec"
instances:
- name: "prod-one"
  environment: "frontend-env"
  spec:
    port: 80
    desired_count: 1
    task_size: "x-small"
    image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
- name: "prod-two"
  environment: "frontend-env"
  spec:
    port: 80
    desired_count: 1
    task_size: "x-small"
    image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
- name: "prod-three"
  environment: "frontend-env"
  spec:
    port: 80
    desired_count: 1
    task_size: "x-small"
    image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
```

Si une instance ne se synchronise pas et que le problème persiste lors de la tentative de synchronisation, l'appel de l'[https://docs.aws.amazon.com//proton/latest/APIReference/API_GetServiceInstanceSyncStatus.html](https://docs.aws.amazon.com//proton/latest/APIReference/API_GetServiceInstanceSyncStatus.html)API peut aider à résoudre le problème.

**Note**  
Les clients qui utilisent la synchronisation des services sont toujours soumis à AWS Proton des limites.

**Bloqueurs**

En synchronisant votre service à l'aide de la synchronisation des AWS Proton services, vous pouvez mettre à jour les spécifications de votre service et créer et mettre à jour des instances de service à partir de votre référentiel Git. Cependant, il peut arriver que vous deviez mettre à jour un service ou une instance manuellement via le AWS Management Console ou AWS CLI.

AWS Proton permet d'éviter de remplacer les modifications manuelles que vous apportez via le AWS Management Console ou AWS CLI, telles que la mise à jour d'une instance de service ou la suppression d'une instance de service. Pour ce faire, crée AWS Proton automatiquement un bloqueur de synchronisation des services en désactivant la synchronisation des services lorsqu'il détecte une modification manuelle.

Pour obtenir tous les bloqueurs associés à un service, vous devez effectuer les opérations suivantes dans l'ordre pour chacun des bloqueurs `serviceInstance` associés au service :
+ Appelez l'`getServiceSyncBlockerSummary`API avec uniquement le`serviceName`.
+ Appelez l'`getServiceSyncBlockerSummary`API avec le `serviceName` et`serviceInstanceName`.

Cela renvoie une liste des bloqueurs les plus récents et le statut qui leur est associé. Si des bloqueurs sont marqués comme **ACTIFS**, vous devez les résoudre en appelant l'`UpdateServiceSyncBlocker`API avec `blockerId` et `resolvedReason` pour chacun d'eux.

Si vous mettez à jour ou créez manuellement une instance de service, AWS Proton crée un bloqueur de synchronisation de service sur l'instance de service. AWS Proton continue de synchroniser toutes les autres instances de service, mais désactive la synchronisation de cette instance de service jusqu'à ce que le bloqueur soit résolu. Si vous supprimez une instance de service d'un service, AWS Proton crée un bloqueur de synchronisation de services sur le service. Cela AWS Proton empêche la synchronisation des instances de service tant que le bloqueur n'est pas résolu.

Une fois que vous avez tous les bloqueurs actifs, vous devez les résoudre en appelant l'`UpdateServiceSyncBlocker`API avec le `blockerId` et `resolvedReason` pour chacun des bloqueurs actifs.

À l'aide du AWS Management Console, vous pouvez déterminer si la synchronisation d'un service est désactivée en accédant à l'onglet **Synchronisation des services AWS Proton ** et en le sélectionnant. Si le service ou les instances de service sont bloqués, un bouton **Activer** apparaît. Pour activer la synchronisation des services, choisissez **Activer**.

**Topics**
+ [AWS Proton fichier OPS](#service-sync-ops)
+ [Création d'une configuration de synchronisation des services](create-service-sync.md)
+ [Afficher les détails de configuration pour une synchronisation de services](get-service-sync.md)
+ [Modifier une configuration de synchronisation de services](update-service-sync.md)
+ [Supprimer une configuration de synchronisation de services](delete-service-sync.md)