

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)

# Creación de una configuración de sincronización de servicios
<a name="create-service-sync"></a>



Puede crear una configuración de sincronización de servicios mediante la consola o AWS CLI.

------
#### [ Consola de administración de AWS ]

1. En la página **Elegir una plantilla de servicio**, seleccione una plantilla y elija **Configurar**.

1. En la página **Configurar servicio**, en la sección **Detalles del servicio**, introduzca un nuevo **Nombre del servicio**.

1. (Opcional) Escriba una descripción para el servicio.

1. En la sección **Repositorio de código fuente de la aplicación**, selecciona **Elegir un repositorio de Git vinculado** para seleccionar un repositorio al que ya te hayas vinculado AWS Proton. Si aún no tiene un repositorio vinculado, seleccione **Vincular otro repositorio de Git** y siga las instrucciones en [Crear un enlace al repositorio](https://docs.aws.amazon.com//proton/latest/userguide/ag-create-repo.html).

1. En **Repositorio**, elija de la lista el nombre del repositorio que contenga el código fuente.

1. En **Ramificación**, elija de la lista el nombre de la ramificación del repositorio para el código fuente.

1. (Opcional) En la sección **Etiquetas**, seleccione **Agregar etiqueta** e introduzca una clave y un valor para crear una etiqueta administrada por el cliente.

1. Elija **Siguiente**.

1. En la página **Configurar instancias de servicio**, en la sección **Fuente de definición del servicio**, seleccione **Sincronice el servicio desde Git**.

1. En la sección **Archivos de definición de servicio**, si desea que AWS Proton cree el archivo `proton-ops`, seleccione **Quiero que AWS Proton cree los archivos**. Con esta opción, AWS Proton crea el `proton-ops` archivo `spec` and en las ubicaciones que especifiques. Seleccione **Voy a proporcionar mis propios archivos** para crear su propio archivo OPS.

1. En la sección **Repositorio de definición de servicio**, **elige Elegir un repositorio de Git vinculado** para seleccionar un repositorio al que ya te hayas vinculado AWS Proton.

1. En **Nombre del repositorio**, elija de la lista el nombre del repositorio del código fuente.

1. Para la **rama de `proton-ops` archivos**, elige el nombre de la rama de la lista en la que AWS Proton colocarás el OPS y el archivo de especificaciones.

1. En la sección **Instancias de servicio**, cada campo se rellena automáticamente en función de los valores del archivo `proton-ops`.

1. Seleccione **Siguiente** y revise las entradas.

1. Seleccione **Crear**.

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

**Cree una configuración de sincronización de servicios mediante el AWS CLI**
+ Ejecute el siguiente comando.

  ```
  $ aws proton create-service-sync-config \
      --resource "service-arn" \
      --repository-provider "GITHUB" \
      --repository "example/proton-sync-service" \
      --ops-file-branch "main" \
      --proton-ops-file "./configuration/custom-proton-ops.yaml" (optional)
  ```

  La respuesta será como la que se muestra a continuación.

  ```
  {
      "serviceSyncConfig": {
          "branch": "main",
          "filePath": "./configuration/custom-proton-ops.yaml",
          "repositoryName": "example/proton-sync-service",
          "repositoryProvider": "GITHUB",
          "serviceName": "service name"
      }
  }
  ```

------

# Visualización de los detalles de configuración de una sincronización de servicios
<a name="get-service-sync"></a>

Puede ver los datos de los detalles de configuración de una sincronización de servicios mediante la consola o la AWS CLI.

------
#### [ Consola de administración de AWS ]

**Uso de la consola para ver los detalles de configuración de una sincronización de servicios**

1. En el panel de navegación, elija **Servicios**.

1. Para ver los datos detallados, elija el nombre de un servicio para el que haya creado una configuración de sincronización de servicios.

1. En la página de detalles del servicio, seleccione la pestaña **Sincronización de servicios** para ver los datos detallados de la configuración de la sincronización de servicios.

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

**Utilice el AWS CLI para obtener un servicio sincronizado.**

Ejecute el siguiente comando.

```
$ aws proton get-service-sync-config \
    --service-name "service name"
```

La respuesta será como la que se muestra a continuación.

```
{
    "serviceSyncConfig": {
        "branch": "main",
        "filePath": "./configuration/custom-proton-ops.yaml",
        "repositoryName": "example/proton-sync-service",
        "repositoryProvider": "GITHUB",
        "serviceName": "service name"
    }
}
```

**Usa el AWS CLI para obtener el estado de sincronización del servicio.**

Ejecute el siguiente comando.

```
$ aws proton get-service-sync-status \
    --service-name "service name"
```

------

# Edición de una configuración de sincronización de servicios
<a name="update-service-sync"></a>

Puede editar la configuración de sincronización de un servicio mediante la consola o AWS CLI.



------
#### [ Consola de administración de AWS ]

Edite una configuración de sincronización de servicios mediante la consola.

1. En el panel de navegación, elija **Servicios**.

1. Para ver los datos detallados, elija el nombre de un servicio para el que haya creado una configuración de sincronización de servicios.

1. En la página de detalles del servicio, seleccione la pestaña **Sincronización de servicios**.

1. En la sección **Usuarios**, seleccione **Editar**.

1. En la página **Editar**, actualice la información que desee editar y, a continuación, seleccione **Guardar**.

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

**En el siguiente comando y respuesta de ejemplo se muestra cómo se puede editar la configuración de sincronización de servicios mediante la AWS CLI.**

Ejecute el siguiente comando.

```
$ aws proton update-service-sync-config \
    --service-name "service name" \
    --repository-provider "GITHUB" \
    --repository "example/proton-sync-service" \
    --ops-file-branch "main" \
    --ops-file "./configuration/custom-proton-ops.yaml"
```

La respuesta será como la que se muestra a continuación.

```
{
    "serviceSyncConfig": {
        "branch": "main",
        "filePath": "./configuration/custom-proton-ops.yaml",
        "repositoryName": "example/proton-sync-service",
        "repositoryProvider": "GITHUB",
        "serviceName": "service name"
    }
}
```

------

# Eliminación de una configuración de sincronización de servicios
<a name="delete-service-sync"></a>

Puede eliminar una configuración de sincronización de servicios mediante la consola o AWS CLI.

------
#### [ Consola de administración de AWS ]

**Eliminación de una configuración de sincronización de servicios mediante la consola**

1. En la página de detalles del servicio, seleccione la pestaña **Sincronización de servicios**.

1. En la sección de **Detalles de la sincronización de servicios**, seleccione **Desconectar** para desconectar el repositorio. Una vez desconectado el repositorio, dejaremos de sincronizar el servicio desde ese repositorio.

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

**Los siguientes comandos y respuestas de ejemplo muestran cómo utilizarlos AWS CLI para eliminar las configuraciones sincronizadas del servicio.**

Ejecute el siguiente comando.

```
$ aws proton delete-service-sync-config \
    --service-name "service name"
```

La respuesta será como la que se muestra a continuación.

```
{
    "serviceSyncConfig": {
        "branch": "main",
        "filePath": "./configuration/custom-proton-ops.yaml",
        "repositoryName": "example/proton-sync-service",
        "repositoryProvider": "GITHUB",
        "serviceName": "service name"
    }
}
```

**nota**  
La sincronización de servicios no elimina las instancias de servicio. Solo elimina configuración.

------