

Aviso de fim do suporte: em 7 de outubro de 2026, AWS encerrará o suporte para AWS Proton. Depois de 7 de outubro de 2026, você não poderá mais acessar o AWS Proton console ou os AWS Proton recursos. Sua infraestrutura implantada permanecerá intacta. Para obter mais informações, consulte o Guia [AWS Proton de descontinuação e migração de serviços](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurações de sincronização de serviços
<a name="ag-service-sync-configs"></a>

Com a sincronização de serviços, você pode configurar e implantar seus AWS Proton serviços usando o Git. Você pode usar o service sync para gerenciar implantações e atualizações iniciais do seu AWS Proton serviço com uma configuração definida em um repositório Git. Por meio do Git, você pode usar atributos como controle de versão e pull requests para configurar, gerenciar e implantar seus serviços. O Service Sync combina AWS Proton com o Git para ajudar você a provisionar uma infraestrutura padronizada que é definida e gerenciada por meio de modelos. AWS Proton Ele gerencia as definições de serviço em seu repositório Git e reduz a troca de ferramentas. Em comparação com o uso exclusivo do Git, a padronização de modelos e a implantação AWS Proton ajudam você a gastar menos tempo gerenciando sua infraestrutura. AWS Proton também oferece maior transparência e auditabilidade para desenvolvedores e equipes de plataforma.

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

O `proton-ops` arquivo define onde AWS Proton encontra o arquivo de especificação usado para atualizar sua instância de serviço. Ela também define em qual ordem atualizar as instâncias de serviço e quando promover mudanças de uma instância para outra.

O arquivo do `proton-ops` suporta a sincronização de uma instância de serviço usando o arquivo de especificação, ou vários arquivos de especificação, encontrados no seu repositório vinculado. Você pode fazer isso definindo um bloco de sincronização no arquivo `proton-ops`, como no exemplo a seguir.

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

No exemplo anterior, `frontend-svc` é o nome do serviço, e `alpha`, `beta`, `gamma`, `prod-one`, `prod-two`, e `prod-three` são as instâncias.

O arquivo de `spec` pode ser todas as instâncias ou um subconjunto das instâncias definidas no arquivo de `proton-ops`. No entanto, no mínimo, ele deve ter a instância definida na ramificação e a especificação a partir da qual está sincronizando. Se as instâncias não estiverem definidas no arquivo de `proton-ops`, com a ramificação e o local do arquivo de `spec` específicos, a sincronização de serviços não criará nem atualizará essas instâncias.

Os exemplos a seguir mostram a aparência dos arquivos de `spec`. Lembre-se de que o arquivo de `proton-ops` é sincronizado a partir desses arquivos de `spec`.

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

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

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

Se uma instância não sincronizar e houver um problema contínuo ao tentar sincronizá-la, chamar a API de [https://docs.aws.amazon.com//proton/latest/APIReference/API_GetServiceInstanceSyncStatus.html](https://docs.aws.amazon.com//proton/latest/APIReference/API_GetServiceInstanceSyncStatus.html) pode ajudar a resolver o problema.

**nota**  
Os clientes que usam o service sync ainda estão restritos por AWS Proton limites.

**Blockers**

Ao sincronizar seu serviço usando o AWS Proton service sync, você pode atualizar sua especificação de serviço e criar e atualizar instâncias de serviço a partir do seu repositório Git. No entanto, pode haver momentos em que você precise atualizar um serviço ou instância manualmente por meio do Console de gerenciamento da AWS ou AWS CLI.

AWS Proton ajuda a evitar a substituição de quaisquer alterações manuais feitas por meio do Console de gerenciamento da AWS ou AWS CLI, como atualizar uma instância de serviço ou excluir uma instância de serviço. Para isso, o AWS Proton cria automaticamente um bloqueador de sincronização de serviços desativando a sincronização de serviços ao detectar uma alteração manual.

Para obter todos os bloqueadores associados a um serviço, você deve fazer o seguinte na ordem de cada `serviceInstance` associada ao serviço:
+ Você só deve chamar a `getServiceSyncBlockerSummary` API com o `serviceName`.
+ Chamar a API `getServiceSyncBlockerSummary` com o `serviceName` e o `serviceInstanceName`.

Ela retorna uma lista dos bloqueadores mais recentes e o status associado a eles. Se algum bloqueador estiver marcado como **ATIVO**, você deverá resolvê-lo chamando a API `UpdateServiceSyncBlocker` com `blockerId` e `resolvedReason` para cada um.

Se você atualizar ou criar manualmente uma instância de serviço, AWS Proton cria um bloqueador de sincronização de serviço na instância de serviço. AWS Proton continua sincronizando todas as outras instâncias de serviço, mas desativa a sincronização dessa instância de serviço até que o bloqueador seja resolvido. Se você excluir uma instância de serviço de um serviço, AWS Proton cria um bloqueador de sincronização de serviço no serviço. Isso AWS Proton impede a sincronização de qualquer uma das instâncias do serviço até que o bloqueador seja resolvido.

Depois de ter todos os bloqueadores ativos, você deve resolvê-los chamando a API `UpdateServiceSyncBlocker` com `blockerId` e `resolvedReason` para cada um dos bloqueadores ativos.

Usando o Console de gerenciamento da AWS, você pode determinar se uma sincronização de serviço está desativada navegando até a guia **Sincronização de serviços AWS Proton ** e escolhendo-a. Se o serviço ou as instâncias do serviço estiverem bloqueados, um botão **Habilitar** será exibido. Para habilitar a sincronização de serviços, escolha **Habilitar**.

**Topics**
+ [AWS Proton Arquivo OPS](#service-sync-ops)
+ [Criar uma configuração de sincronização de serviço](create-service-sync.md)
+ [Visualizar detalhes da configuração de uma sincronização de serviço](get-service-sync.md)
+ [Editar uma configuração de sincronização de serviço](update-service-sync.md)
+ [Excluir uma configuração de sincronização de serviço](delete-service-sync.md)