

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á.

# Replicação de imagem privada no Amazon ECR
<a name="replication"></a>

É possível configurar o registro privado do Amazon ECR para oferecer suporte à replicação dos seus repositórios. O Amazon ECR oferece suporte à replicação entre regiões e entre contas. Para que ocorra replicação entre contas, a conta de destino deverá configurar uma política de permissões de registro para permitir que a replicação do registro de origem ocorra. Para obter mais informações, consulte [Permissões de registro privado no Amazon ECR](registry-permissions.md).

**Topics**
+ [Requisitos da política de replicação entre contas](#replication-policy-clarification)
+ [Considerações sobre a replicação de imagem privada](#replication-considerations)
+ [Exemplos de replicação de imagens privadas do Amazon ECR](registry-settings-examples.md)
+ [Configurar replicação de imagem privada no Amazon ECR](registry-settings-configure.md)
+ [Remoção das configurações de replicação de imagem privada no Amazon ECR](registry-settings-remove.md)

## Requisitos da política de replicação entre contas
<a name="replication-policy-clarification"></a>

Para que a replicação do ECR entre contas funcione adequadamente, você precisa entender qual conta precisa de quais políticas configuradas. Esta seção esclarece os requisitos de política para contas de origem e de destino.

### Visão geral da configuração da política
<a name="replication-policy-overview"></a>

A replicação do ECR entre contas requer a configuração da política **somente na conta de destino**. A conta de origem não exige nenhuma política especial de repositório ou registro.
+ **Conta de origem**: defina as regras de replicação nas configurações do registro. Não são necessárias políticas adicionais nos repositórios de origem.
+ **Conta de destino**: configure uma política de permissões de registro para permitir que a conta de origem replique imagens.

### Requisitos da política de registro de destino
<a name="destination-registry-policy-requirements"></a>

A conta de destino deve configurar uma política de permissões de registo que conceda à conta de origem a permissão para realizar as seguintes ações:
+ `ecr:ReplicateImage` - Permite que a conta de origem replique imagens para o registro de destino
+ `ecr:CreateRepository` - Permite que o ECR crie automaticamente repositórios no registro de destino, caso eles ainda não existam

**Importante**  
Se não conceder a permissão `ecr:CreateRepository`, você precisa criar manualmente repositórios com os mesmos nomes na conta de destino para que a replicação seja bem-sucedida.

Exemplo de política de registro de destino:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCrossAccountReplication",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "ecr:ReplicateImage",
                "ecr:CreateRepository"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### Requisitos da conta de origem
<a name="source-account-requirements"></a>

A conta de origem só precisa:
+ Definir as regras de replicação nas configurações do registro para especificar a conta e as regiões de destino
+ Certificar que a entidade principal do IAM que configura a replicação tenha as permissões do ECR necessárias

**Não são necessárias políticas adicionais nos repositórios de origem.** Os repositórios de origem não precisam de políticas de repositório que concedam permissões de replicação.

### Equívocos comuns
<a name="common-misconceptions"></a>

A seguir estão os equívocos comuns sobre as políticas de replicação entre contas do ECR:
+ **Equívoco**: o repositório de origem precisa de uma política que permita que a conta de destino replique imagens.

  **Realidade**: os repositórios de origem não precisam de nenhuma política especial para replicação.
+ **Equívoco**: tanto as contas de origem quanto as de destino precisam de políticas de registro.

  **Realidade**: somente a conta de destino precisa de uma política de permissões de registro.
+ **Equívoco**: políticas de repositório e políticas de registro são a mesma coisa.

  **Realidade**: as políticas de repositório controlam o acesso a repositórios individuais, enquanto as políticas de registro controlam as operações de registro, como a replicação.

### Solução de problemas de falhas de replicação
<a name="replication-troubleshooting"></a>

Se a replicação entre contas estiver falhando, verifique o seguinte:
+ Verifique se a conta de destino tem uma política de permissões de registro configurada
+ Certifique-se de que a política de registro inclua ambas as ações `ecr:ReplicateImage` e `ecr:CreateRepository`
+ Confirme se a ID da conta de origem está especificada corretamente na política de registro de destino
+ Verifique se os repositórios de destino existem (se `ecr:CreateRepository` não foi concedido)
+ Revise CloudTrail os registros de falhas `CreateRepository` ou chamadas de `ReplicateImage` API

## Considerações sobre a replicação de imagem privada
<a name="replication-considerations"></a>

As seguintes informações devem ser consideradas ao usar replicação de imagem privada.
+ Somente o conteúdo do repositório enviado ou restaurado em um repositório após a configuração da replicação é replicado. Nenhum conteúdo preexistente em um repositório é replicado. Se uma imagem for restaurada após a ativação da replicação, ela será replicada. Se for restaurado antes da ativação da replicação, não será replicado.
+ O nome do repositório permanecerá o mesmo em diferentes regiões e contas quando a replicação ocorrer. O Amazon ECR não suporta a alteração do nome do repositório durante a replicação.
+ Na primeira vez que você configura seu registro privado para replicação, o Amazon ECR cria um perfil do IAM vinculada ao serviço em seu nome. A função do IAM vinculada ao serviço concede ao serviço de replicação do Amazon ECR a permissão necessária para criar repositórios e replicar imagens em seu registro. Para obter mais informações, consulte [Uso de funções vinculadas ao serviço para o Amazon ECR](using-service-linked-roles.md).
+ Para que a replicação entre contas ocorra, o destino do registro privado deve conceder permissão para permitir que o registro de origem replique suas imagens. Isso é feito definindo uma política de permissões de registro privado. Para obter mais informações, consulte [Permissões de registro privado no Amazon ECR](registry-permissions.md).
+ Se a política de permissão para um registro privado for alterada para remover uma permissão, todas as replicações em andamento concedidas anteriormente poderão ser concluídas.
+ Para que a replicação entre regiões ocorra, tanto a conta de origem quanto a conta de destino devem estar ativadas na região antes que qualquer ação de replicação ocorra dentro da região ou tendo a região como destino. Para obter mais informações, consulte [Como gerenciar regiões da AWS](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) no *Referência geral da Amazon Web Services*.
+ A replicação entre regiões não é suportada entre AWS partições. Por exemplo, um repositório em `us-west-2` não pode ser replicado para ` cn-north-1`. Para obter mais informações sobre AWS partições, consulte o formato [ARN AWS](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax) *na* Referência geral.
+ A configuração de replicação para um registro privado pode conter até 25 destinos exclusivos em todas as regras, com um máximo de 10 regras no total. Cada regra pode conter até 100 filtros. Isso permite especificar regras separadas para repositórios contendo imagens usadas para produção e teste, por exemplo.
+ A configuração de replicação oferece suporte à filtragem de quais repositórios em um registro privado são replicados especificando um prefixo de repositório. Para ver um exemplo, consulte [Exemplo: configurar a replicação entre regiões usando um filtro de repositório](registry-settings-examples.md#registry-settings-examples-crr-filter).
+ Uma ação de replicação ocorre somente uma vez por envio de imagem ou restauração de imagem. Por exemplo, se você configurou a replicação entre regiões do `us-west-2` para ` us-east-1` e do `us-east-1` para `us-east-2`, uma imagem enviada para `us-west-2` replica somente para `us-east-1`, ela não é replicada novamente para `us-east-2`. Esse comportamento se aplica à replicação entre regiões e entre contas.
+ A maioria das imagens replica-se em menos de 30 minutos, mas em casos raros a replicação pode demorar mais.
+ A replicação do registro não executa nenhuma ação de exclusão ou arquivamento. Imagens e repositórios replicados podem ser excluídos ou arquivados quando não estiverem mais sendo usados.
+ Se a imagem a ser replicada for arquivada no destino, ela será restaurada no destino.
+ Quando uma imagem é arquivada em uma região de origem, ela não será arquivada em uma região de destino especificada pela configuração de replicação.
+ As políticas de repositório, incluindo políticas do IAM e políticas de ciclo de vida não são replicadas e não têm nenhum efeito além do repositório para o qual estão definidas.
+ As configurações do repositório não são replicadas por padrão. Você pode replicar as configurações do repositório usando modelos de criação de repositórios. Essas configurações incluem mutabilidade de tags, criptografia, permissões de repositório e políticas de ciclo de vida. Para obter mais informações sobre modelos de criação de repositórios, consulte [Modelos para controlar repositórios criados durante uma ação de extração por cache, criação por push ou replicação](repository-creation-templates.md).
+ Se a imutabilidade da etiqueta estiver habilitada em um repositório e for replicada uma imagem que usa a mesma marca de uma imagem existente, a imagem será replicada, mas não conterá a etiqueta duplicada. Isso pode resultar na imagem ficar sem etiqueta.
+ Ao replicar imagens, se a montagem de blob tiver sido configurada, o ECR verificará se todas as camadas do repositório de origem já existem no registro de destino. Se alguma camada já existir no registro de destino, o ECR montará essas camadas. 

**nota**  
Se o registro de origem for diferente do registro de destino, a montagem de blobs precisará ser habilitada em ambos os registros para que o ECR monte camadas replicadas.

# Exemplos de replicação de imagens privadas do Amazon ECR
<a name="registry-settings-examples"></a>

Os exemplos a seguir mostram casos de uso comuns para replicação de imagens privadas. Se você configurar a replicação usando o AWS CLI, poderá usar os exemplos de JSON como ponto de partida ao criar seu arquivo JSON. Caso configure a replicação usando o Console de gerenciamento da AWS, você verá um JSON semelhante ao revisar a regra de replicação na página **Revisar e enviar**.

## Exemplo: configurar a replicação entre regiões para uma única região de destino
<a name="registry-settings-examples-crr-single"></a>

A seguir, é mostrado um exemplo para configurar a replicação entre regiões em um único registro. Este exemplo pressupõe que o ID da conta seja ` 111122223333` e que você está especificando essa configuração de replicação em uma região diferente de `us-west-2`.

```
{
    "rules": [
        {
            "destinations": [
                {
                    "region": "us-west-2",
                    "registryId": "111122223333"
                }
            ]
        }
    ]
}
```

## Exemplo: configurar a replicação entre regiões usando um filtro de repositório
<a name="registry-settings-examples-crr-filter"></a>

O exemplo a seguir mostra um exemplo para configurar a replicação entre regiões para repositórios que correspondam a um valor de nome de prefixo. Este exemplo pressupõe que o ID da conta seja ` 111122223333` e que você está especificando essa configuração de replicação em uma região diferente de `us-west-1` e tem repositórios com prefixo `prod`.

```
{
	"rules": [{
		"destinations": [{
			"region": "us-west-1",
			"registryId": "111122223333"
		}],
		"repositoryFilters": [{
			"filter": "prod",
			"filterType": "PREFIX_MATCH"
		}]
	}]
}
```

## Exemplo: configurar a replicação entre regiões para várias regiões de destino
<a name="registry-settings-examples-crr-multipledestinations"></a>

A seguir, é mostrado um exemplo para configurar a replicação entre regiões em um único registro. Este exemplo pressupõe que o ID da sua conta seja ` 111122223333` e que você esteja especificando essa configuração de replicação em uma região diferente de ou. `us-west-1` `us-west-2`

```
{
    "rules": [
        {
            "destinations": [
                {
                    "region": "us-west-1",
                    "registryId": "111122223333"
                },
                {
                    "region": "us-west-2",
                    "registryId": "111122223333"
                }
            ]
        }
    ]
}
```

## Exemplo: configurar replicação entre contas
<a name="registry-settings-examples-crossaccount"></a>

A seguir, é mostrado um exemplo para configurar a replicação entre contas para o registo. Este exemplo configura a replicação para a conta `444455556666` e para a região `us-west-2`.

**Importante**  
Para que ocorra replicação entre contas, a conta de destino deve configurar uma política de permissões de registo para permitir que a replicação ocorra. Para obter mais informações, consulte [Permissões de registro privado no Amazon ECR](registry-permissions.md).

```
{
    "rules": [
        {
            "destinations": [
                {
                    "region": "us-west-2",
                    "registryId": "444455556666"
                }
            ]
        }
    ]
}
```

## Exemplo: especificar várias regras em uma configuração
<a name="registry-settings-examples-multiple-rules"></a>

A seguir, é mostrado um exemplo para configurar várias regras de replicação para o seu registro. Este exemplo configura a replicação para a conta * 111122223333* com uma regra que replica repositórios com prefixo `prod` para a região `us-west-2` e repositórios com prefixo `test` para a região `us-east-2`. Uma configuração de replicação pode conter até 10 regras, com cada regra especificando até 25 destinos.

```
{
	"rules": [{
			"destinations": [{
				"region": "us-west-2",
				"registryId": "111122223333"
			}],
			"repositoryFilters": [{
				"filter": "prod",
				"filterType": "PREFIX_MATCH"
			}]
		},
		{
			"destinations": [{
				"region": "us-east-2",
				"registryId": "111122223333"
			}],
			"repositoryFilters": [{
				"filter": "test",
				"filterType": "PREFIX_MATCH"
			}]
		}
	]
}
```

## Exemplo: remover todas as configurações de replicação
<a name="registry-settings-examples-remove"></a>

A seguir, é mostrado um exemplo para remover todas as configurações de replicação do seu registro. Para remover as configurações de replicação, você deve configurar uma matriz de regras vazia.

```
{
    "rules": []
}
```

**Importante**  
A remoção das configurações de replicação não exclui nenhum repositório ou imagem replicado anteriormente. Você precisa excluir manualmente o conteúdo replicado caso ele não seja mais necessário.

# Configurar replicação de imagem privada no Amazon ECR
<a name="registry-settings-configure"></a>

Configurar a replicação por região para o registro privado. Você pode configurar a replicação entre regiões ou entre contas.

Para obter exemplos de como a replicação é comumente usada, consulte [Exemplos de replicação de imagens privadas do Amazon ECR](registry-settings-examples.md).

## Para configurar as definições de replicação do registo (Console de gerenciamento da AWS)
<a name="registry-settings-configure-console"></a>

1. Abra o console do Amazon ECR nos [https://console.aws.amazon.com/ecr/repositórios](https://console.aws.amazon.com/ecr/repositories).

1. Na barra de navegação, selecione a região para a qual definirá as configurações de replicação do registro.

1. No painel de navegação, escolha **Private registry (Registro privado)**.

1. Na página **Registro privado**, escolha **Configurações** e, em seguida, escolha **Editar** em **Configuração de replicação**.

1. Na página **Replication (Replicação)**, selecione **Add replication rule (Adicionar regra de replicação)**.

1. Na página **Destination types (Tipos de destino)**, escolha se deseja ativar a replicação entre regiões, a replicação entre contas ou ambas e escolha **Next (Próximo)**.

1. Se a replicação entre regiões estiver habilitada, então para **Configure destination regions (Configurar regiões de destino)**, escolha um ou mais **Destination regions (Regiões de destino)** e, depois, escolha **Next (Próximo)**.

1. Se a replicação entre contas estiver habilitada, então para **Cross- accpint replication (Replicação entre contas)**, escolha a configuração de replicação entre contas para o registro. Para **Destination account (Conta de destino)**, insira o ID da conta para a conta de destino e uma ou mais **Destination regions (Regiões de destino)** para replicar. Selecione **Destination account \$1 (Conta de destino \$1)** para configurar contas adicionais como destinos de replicação.
**Importante**  
Para que ocorra replicação entre contas, a conta de destino deve configurar uma política de permissões de registo para permitir que a replicação ocorra. Para obter mais informações, consulte [Permissões de registro privado no Amazon ECR](registry-permissions.md).

1. (Opcional) Na página **Add filters (Adicionar filtros)**, especifique um ou mais filtros para a regra de replicação e escolha**Add (Adicionar)**. Repita essa etapa para cada filtro que deseja associar à ação de replicação. Um filtro deve ser especificado como prefixo do nome do repositório. Se nenhum filtro for adicionado, o conteúdo de todos os repositórios será replicado. Selecione **Next (Próximo)** quando todos os filtros tiverem sido adicionados.

1. Na página **Review and submit (Analisar e enviar)**, analise a configuração da regra de replicação e selecione **Submit rule (Enviar regra)**.

## Para configurar as definições de replicação do registo (AWS CLI)
<a name="registry-settings-configure-cli"></a>

1. Crie um arquivo JSON contendo as regras de replicação a serem definidas para o registro. Uma configuração de replicação pode conter até 10 regras, com até 25 destinos exclusivos entre todas as regras e 100 filtros por regra. Para configurar a replicação entre regiões em sua própria conta, especifique seu próprio ID de conta. Para obter mais exemplos, consulte [Exemplos de replicação de imagens privadas do Amazon ECR](registry-settings-examples.md).

   ```
   {
   	"rules": [{
   		"destinations": [{
   			"region": "destination_region",
   			"registryId": "destination_accountId"
   		}],
   		"repositoryFilters": [{
   			"filter": "repository_prefix_name",
   			"filterType": "PREFIX_MATCH"
   		}]
   	}]
   }
   ```

1. Crie uma configuração de replicação para o seu registro.

   ```
   aws ecr put-replication-configuration \
        --replication-configuration file://replication-settings.json \
        --region us-west-2
   ```

1. Confirme as configurações do seu registro.

   ```
   aws ecr describe-registry \
        --region us-west-2
   ```

# Remoção das configurações de replicação de imagem privada no Amazon ECR
<a name="registry-settings-remove"></a>

Para remover ou desativar as configurações de replicação do seu registro privado, você precisa definir uma configuração de replicação vazia. Não há nenhum comando de remoção dedicado no AWS CLI.

## Para remover as configurações de replicação do registo (Console de gerenciamento da AWS)
<a name="registry-settings-remove-console"></a>

1. Abra o console do Amazon ECR nos [https://console.aws.amazon.com/ecr/repositórios](https://console.aws.amazon.com/ecr/repositories).

1. Na barra de navegação, selecione a região da qual serão removidas as configurações de replicação do registro.

1. No painel de navegação, escolha **Private registry (Registro privado)**.

1. Na página **Registro privado**, escolha **Configurações** e, em seguida, escolha **Editar** em **Configuração de replicação**.

1. Remova todas as regras de replicação existentes escolhendo a opção de exclusão para cada regra.

1. Selecione **Salvar** para aplicar a configuração de replicação vazia.

## Para remover as configurações de replicação do registo (AWS CLI)
<a name="registry-settings-remove-cli"></a>

1. Crie um arquivo JSON com uma matriz de regras vazia para remover todas as configurações de replicação.

   ```
   {
       "rules": []
   }
   ```

1. Aplique a configuração de replicação vazia ao seu registro.

   ```
   aws ecr put-replication-configuration \
        --replication-configuration file://empty-replication-settings.json \
        --region us-west-2
   ```

1. Confirme que as configurações de replicação foram removidas.

   ```
   aws ecr describe-registry \
        --region us-west-2
   ```

   O resultado deve ser um `replicationConfiguration` vazio sem regras.

**Importante**  
A remoção das configurações de replicação não exclui nenhum repositório ou imagem replicado anteriormente. Você precisa excluir manualmente o conteúdo replicado caso ele não seja mais necessário.