

Aviso de fin del soporte: el 7 de octubre de 2026 AWS finalizará el soporte para AWS Proton. Después del 7 de octubre de 2026, ya no podrás acceder a la AWS Proton consola ni a AWS Proton los recursos. La infraestructura implementada permanecerá intacta. Para obtener más información, consulte la [Guía AWS Proton de obsolescencia y migración del servicio](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuraciones de sincronización de servicios
<a name="ag-service-sync-configs"></a>

Con la sincronización de servicios, puedes configurar e implementar tus AWS Proton servicios mediante Git. Puedes usar la sincronización de servicios para gestionar las implementaciones y actualizaciones iniciales de tu AWS Proton servicio con una configuración definida en un repositorio de Git. A través de Git, puede utilizar características como el seguimiento de versiones y las solicitudes de extracción para configurar, administrar e implementar los servicios. Service Sync combina AWS Proton Git para ayudarlo a aprovisionar una infraestructura estandarizada que se define y administra mediante AWS Proton plantillas. Además, administra las definiciones de servicios en el repositorio de Git del usuario y reduce la necesidad de tener que cambiar de herramienta. En comparación con el uso exclusivo de Git, la estandarización de las plantillas y la implementación le AWS Proton ayudan a dedicar menos tiempo a administrar su infraestructura. AWS Proton también proporciona una mayor transparencia y capacidad de auditoría tanto para los desarrolladores como para los equipos de plataformas.

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

El `proton-ops` archivo define dónde se AWS Proton encuentra el archivo de especificaciones que se utiliza para actualizar la instancia de servicio. También define en qué orden actualizar las instancias de servicio y cuándo promover los cambios de una instancia a otra.

El archivo `proton-ops` permite sincronizar una instancia de servicio mediante el archivo de especificaciones, o varios archivos de especificaciones, que se encuentran en el repositorio vinculado. Para ello, defina un bloque de sincronización en el archivo de `proton-ops`, como en el siguiente ejemplo.

**Ejemplo ./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
```

En el ejemplo anterior, `frontend-svc` es el nombre del servicio y `alpha`, `beta`, `gamma`, `prod-one`, `prod-two` y `prod-three` son las instancias.

El archivo `spec` puede ser todas las instancias o un subconjunto de las instancias definidas en el archivo `proton-ops`. Sin embargo, como mínimo, debe tener la instancia definida en la ramificación y la especificación desde la que se sincronice. Si las instancias no están definidas en el archivo `proton-ops`, con la ramificación específica y la ubicación del archivo `spec`, el servicio de sincronización no creará ni actualizará esas instancias.

El siguiente ejemplo muestra el posible aspecto de los archivos `spec`. Recuerde que el archivo `proton-ops` se sincroniza desde estos archivos `spec`.

**Ejemplo`./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"
```

**Ejemplo`./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"
```

**Ejemplo`./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 una instancia no se sincroniza y hay un problema persistente al intentar sincronizarla, llamar a la API [https://docs.aws.amazon.com//proton/latest/APIReference/API_GetServiceInstanceSyncStatus.html](https://docs.aws.amazon.com//proton/latest/APIReference/API_GetServiceInstanceSyncStatus.html) puede ayudar a resolver el problema.

**nota**  
Los clientes que utilizan la sincronización de servicios siguen estando restringidos por AWS Proton ciertos límites.

**Bloqueadores**

Al sincronizar tu AWS Proton servicio mediante la sincronización de servicios, puedes actualizar las especificaciones del servicio y crear y actualizar instancias de servicio desde tu repositorio de Git. Sin embargo, puede haber ocasiones en las que necesites actualizar un servicio o una instancia manualmente a través de la Consola de administración de AWS tecla o. AWS CLI

AWS Proton ayuda a evitar sobrescribir los cambios manuales que realice a través del Consola de administración de AWS o AWS CLI, por ejemplo, actualizar una instancia de servicio o eliminar una instancia de servicio. Para conseguirlo, AWS Proton crea automáticamente un bloqueador de sincronización de servicios al deshabilitar la sincronización de servicios cuando detecta un cambio manual.

Para obtener todos los bloqueadores asociados a un servicio, se debe hacer lo siguiente para cada `serviceInstance` asociada al servicio:
+ Llamar a la API `getServiceSyncBlockerSummary` solo con el `serviceName`.
+ Llamar a la API `getServiceSyncBlockerSummary` con el `serviceName` y el `serviceInstanceName`.

Esto devuelve una lista de los bloqueadores más recientes y el estado asociado a ellos. Si algún bloqueador está marcado como **ACTIVO**, debe resolverlo mediante una llamada a la API `UpdateServiceSyncBlocker` con el `blockerId` y `resolvedReason` para cada uno de ellos.

Si actualiza o crea una instancia de servicio manualmente, AWS Proton crea un bloqueador de sincronización de servicios en la instancia de servicio. AWS Proton continúa sincronizando todas las demás instancias de servicio, pero deshabilita la sincronización de esta instancia de servicio hasta que se resuelva el bloqueo. Si eliminas una instancia de servicio de un servicio, AWS Proton crea un bloqueador de sincronización de servicios en el servicio. Esto AWS Proton impide que se sincronice ninguna de las instancias de servicio hasta que se haya resuelto el bloqueo.

Una vez que tenga todos los bloqueadores activos, deberá resolverlos mediante una llamada a la API `UpdateServiceSyncBlocker` con el `blockerId` y `resolvedReason` para cada uno de los bloqueadores activos.

Con el Consola de administración de AWS, puede determinar si la sincronización de un servicio está deshabilitada navegando hasta la pestaña **Service Sync AWS Proton y seleccionándola**. Si el servicio o las instancias de servicio están bloqueados, aparecerá el botón **Habilitar**. Para habilitar la sincronización de servicios, seleccione **Habilitar**.

**Topics**
+ [AWS Proton Archivo OPS](#service-sync-ops)
+ [Creación de una configuración de sincronización de servicios](create-service-sync.md)
+ [Visualización de los detalles de configuración de una sincronización de servicios](get-service-sync.md)
+ [Edición de una configuración de sincronización de servicios](update-service-sync.md)
+ [Eliminación de una configuración de sincronización de servicios](delete-service-sync.md)