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.
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
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
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 GetServiceInstanceSyncStatus 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 AWS Management Console ou AWS CLI.
AWS Proton ajuda a evitar a substituição de quaisquer alterações manuais feitas por meio do AWS Management Console 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
getServiceSyncBlockerSummaryAPI com oserviceName. -
Chamar a API
getServiceSyncBlockerSummarycom oserviceNamee oserviceInstanceName.
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 AWS Management Console, 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.