

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)

# Criar uma configuração de sincronização de serviço
<a name="create-service-sync"></a>



Você pode criar uma configuração de sincronização de serviço usando o console ou AWS CLI.

------
#### [ Console de gerenciamento da AWS ]

1. Na página **Escolher um modelo de serviço**, selecione um modelo e escolha **Configurar**.

1. Na página **Configurar serviço**, na seção **Detalhes do serviço**, insira um novo **Nome de serviço**.

1. (Opcional) Insira uma descrição para o serviço.

1. Na seção **Repositório de código-fonte do aplicativo**, escolha **Escolha um repositório Git vinculado** para selecionar um repositório ao qual você já tenha vinculado. AWS Proton Se você ainda não tiver um repositório vinculado, escolha **Vincular outro repositório Git** e siga as instruções em [Criar um link para seu repositório](https://docs.aws.amazon.com//proton/latest/userguide/ag-create-repo.html).

1. Para **Repositório**, escolha o nome do seu repositório de códigos-fonte da lista.

1. Em **Ramificação**, escolha o nome da ramificação do repositório de código-fonte na lista.

1. (Opcional) Na seção **Tags**, escolha **Adicionar nova tag** e insira uma chave e um valor para criar uma tag gerenciada pelo cliente.

1. Escolha **Próximo**.

1. Na página **Configurar instâncias de serviço**, na seção **Fonte de definição de serviço**, selecione **Sincronizar seu serviço a partir do Git**.

1. Na seção **Arquivos de definição de serviço**, se você quiser que o AWS Proton crie seu arquivo do `proton-ops`, selecione **Quero que o AWS Proton crie os arquivos**. Com essa opção, AWS Proton cria o `proton-ops` arquivo `spec` and nos locais que você especificar. Selecione **Estou fornecendo meus próprios arquivos** para criar seu próprio arquivo OPS.

1. Na seção **Repositório de definição de serviço, escolha Escolher um repositório** **Git vinculado** para selecionar um repositório ao qual você já tenha vinculado. AWS Proton

1. Para **Nome do repositório**, escolha o nome do seu repositório de códigos-fonte da lista.

1. Para **ramificação de `proton-ops` arquivo**, escolha o nome de sua ramificação na lista onde AWS Proton colocará seu OPS e arquivo de especificação.

1. Na seção **Instâncias do serviço**, cada campo é preenchido automaticamente com base nos valores do arquivo de `proton-ops`.

1. Escolha **Avançar** e revise suas entradas.

1. Escolha **Criar**.

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

**Crie uma configuração de sincronização de serviço usando o AWS CLI**
+ Execute o comando a seguir.

  ```
  $ 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)
  ```

  A resposta é a que segue.

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

------

# Visualizar detalhes da configuração de uma sincronização de serviço
<a name="get-service-sync"></a>

É possível exibir os dados de detalhes de configuração para uma sincronização do serviço usando o console do ou o AWS CLI.

------
#### [ Console de gerenciamento da AWS ]

**Use o console do para visualizar detalhes da configuração de uma sincronização de serviço**

1. No painel de navegação, escolha **Serviços**.

1. Para visualizar dados detalhados, escolha o nome de um serviço para o qual você criou uma configuração de sincronização de serviços.

1. Na página de detalhes do serviço, selecione a guia **Sincronização do serviço** para ver os dados detalhados da configuração da sincronização do serviço.

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

**Use o AWS CLI para obter um serviço sincronizado.**

Execute o comando a seguir.

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

A resposta é a que segue.

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

**Use o AWS CLI para obter o status de sincronização do serviço.**

Execute o comando a seguir.

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

------

# Editar uma configuração de sincronização de serviço
<a name="update-service-sync"></a>

Você pode editar uma configuração de sincronização de serviço usando o console ou AWS CLI.



------
#### [ Console de gerenciamento da AWS ]

Edite uma configuração de sincronização do serviço usando o console.

1. No painel de navegação, escolha **Serviços**.

1. Para visualizar dados detalhados, escolha o nome de um serviço para o qual você criou uma configuração de sincronização de serviços.

1. Na página de detalhes de serviço, escolha a guia **Sincronização de serviço**.

1. Na seção **Sincronização de serviços**, escolha **Editar**.

1. Na página **Editar**, atualize as informações que deseja editar e escolha **Salvar**.

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

**O exemplo de comando e resposta a seguir mostra como você pode editar uma configuração de sincronização de serviço usando a AWS CLI.**

Execute o comando a seguir.

```
$ 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"
```

A resposta é a que segue.

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

------

# Excluir uma configuração de sincronização de serviço
<a name="delete-service-sync"></a>

Você pode excluir uma configuração de sincronização de serviço usando o console ou AWS CLI.

------
#### [ Console de gerenciamento da AWS ]

**Exclua uma configuração de sincronização do serviço usando o console**

1. Na página de detalhes de serviço, escolha a guia **Sincronização de serviço**.

1. Na seção **Detalhes da sincronização do serviço**, escolha **Desconectar** para desconectar seu repositório. Depois que seu repositório for desconectado, não sincronizaremos mais o serviço desse repositório.

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

**Os exemplos de comandos e respostas a seguir mostram como usar o AWS CLI para excluir configurações sincronizadas do serviço.**

Execute o comando a seguir.

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

A resposta é a que segue.

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

**nota**  
A sincronização de serviços não exclui instâncias de serviço. Ele só exclui a configuração.

------