

# Replicar objetos dentro de uma região e entre regiões
<a name="replication"></a>

É possível usar a replicação para habilitar a cópia automática e assíncrona de objetos nos buckets do Amazon S3. Os buckets configurados para replicação de objetos podem pertencer à mesma conta da Conta da AWS ou a contas diferentes. Os objetos podem ser replicados em um ou em vários buckets de destino. Os buckets de destino podem estar em Regiões da AWS diferentes ou na mesma região que o bucket de origem.

Há dois tipos de replicação: *replicação em tempo real* e *replicação sob demanda*.
+ **Replicação em tempo real**: **para replicar automaticamente objetos novos e atualizados** à medida que são gravados no bucket de origem, use a replicação em tempo real. A replicação em tempo real não replica nenhum objeto que já existia no bucket antes de você configurar a replicação. Para replicar objetos que já existiam antes de você configurar a replicação, use a replicação sob demanda.
+ **Replicação sob demanda**: **para replicar objetos existentes** do bucket de origem para um ou mais buckets de destino sob demanda, use a Replicação em Lote do S3. Para obter mais informações sobre replicação de objetos existentes, consulte [Quando usar S3 Batch Replication](#batch-replication-scenario).

Há duas formas de replicação em tempo real: *Replicação Entre Regiões Diferentes (CRR)* e *Replicação na Mesma Região (SRR)*.
+ **Replicação Entre Regiões Diferentes (CRR)**: é possível usar a CRR para replicar objetos entre buckets do Amazon S3 em Regiões da AWS diferentes. Para obter mais informações sobre CRR, consulte [Quando usar a replicação entre regiões](#crr-scenario).
+ **Replicação na Mesma Região (SRR)**: é possível usar a SRR para copiar objetos entre buckets do Amazon S3 na mesma Região da AWS. Consulte mais informações sobre SRR em [Quando usar Replicação na mesma região](#srr-scenario).

**Topics**
+ [

## Por que usar a replicação?
](#replication-scenario)
+ [

## Quando usar a replicação entre regiões
](#crr-scenario)
+ [

## Quando usar Replicação na mesma região
](#srr-scenario)
+ [

## Quando usar a replicação bidirecional
](#two-way-replication-scenario)
+ [

## Quando usar S3 Batch Replication
](#batch-replication-scenario)
+ [

## Requisitos de workload e replicação em tempo real
](#replication-workload-requirements)
+ [

# O que o Amazon S3 replica?
](replication-what-is-isnot-replicated.md)
+ [

# Requisitos e considerações de replicação
](replication-requirements.md)
+ [

# Visão geral da configuração da replicação em tempo real
](replication-how-setup.md)
+ [

# Gerenciar ou pausar a replicação em tempo real
](disable-replication.md)
+ [

# Replicar objetos existentes com o Replicação em Lote
](s3-batch-replication-batch.md)
+ [

# Solução de problemas de replicação
](replication-troubleshoot.md)
+ [

# Monitorar a replicação com métricas, notificações de eventos e status
](replication-metrics.md)

## Por que usar a replicação?
<a name="replication-scenario"></a>

A replicação pode ajudar você a fazer o seguinte:
+ **Replicar objetos retendo os metadados**: você pode usar a replicação para fazer cópias dos objetos retendo todos os metadados, como as horas de criação e os IDs de versão dos objetos originais. Esse recurso é importante se você precisar garantir que a réplica seja idêntica ao objeto original.
+ **Replicar objetos em diferentes classes de armazenamento**: você pode usar a replicação para colocar objetos diretamente nas classes de armazenamento S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive ou em outra classe de armazenamento no bucket de destino. Você também pode replicar seus dados para a mesma classe de armazenamento e usar configurações de ciclo de vida nos buckets de destino para mover os objetos para uma classe de armazenamento “mais fria” à medida que eles forem ficando velhos.
+ **Manter cópias de objetos com proprietários diferentes**: independentemente de quem seja o proprietário do objeto original, você pode instruir o Simple Storage Service (Amazon S3) a alterar o proprietário da réplica para a Conta da AWS que é proprietária do bucket de destino. Isso se chama opção de *substituição do proprietário*. Você pode usar esta opção para restringir acesso às replicas do objeto.
+ **Manter objetos armazenados em várias Regiões da AWS**: para garantir diferenças geográficas em onde seus dados são mantidos, você pode definir vários buckets de destino em diferentes Regiões da AWS. Esse recurso pode ajudar a atender a determinados requisitos de conformidade. 
+ **Replicar objetos dentro de 15 minutos**: para replicar dados na mesma Região da AWS ou entre diferentes regiões dentro de um período previsível, você pode usar S3 Replication Time Control (S3 RTC - Controle de Horário de Replicação do S3). O S3 RTC replica 99,99 por cento dos novos objetos armazenados no Simple Storage Service (Amazon S3) em 15 minutos (baseado em um acordo de nível de serviço). Para obter mais informações, consulte [Atender aos requisitos de conformidade com o Controle do Tempo de Replicação do S3](replication-time-control.md).
**nota**  
O S3 RTC não se aplica à replicação em lote. A replicação em lote é um trabalho de replicação sob demanda e pode ser rastreada com o recurso S3 Batch Operations. Para obter mais informações, consulte [Monitoramento de relatórios de status e conclusão](batch-ops-job-status.md).
+ **Sincronizar buckets, replicar objetos existentes e replicar objetos cuja replicação falhou anteriormente**: para sincronizar buckets e replicar objetos existentes, use a replicação em lote como uma ação de replicação sob demanda. Para obter mais informações sobre quando usar a replicação em lote, consulte [Quando usar S3 Batch Replication](#batch-replication-scenario).
+ **Replicar objetos e fazer failover para um bucket em outra Região da AWS**: para manter todos os metadados e objetos sincronizados entre os buckets durante a replicação de dados, use regras de replicação bidirecional antes de configurar os controles de failover para pontos de acesso multirregionais do Amazon S3. As regras de replicação bidirecional ajudam a garantir que, quando os dados são gravados no bucket do S3 para o qual o tráfego faz failover, esses dados sejam replicados de volta para o bucket de origem.

## Quando usar a replicação entre regiões
<a name="crr-scenario"></a>

A replicação entre regiões (CRR) do S3 é usada para copiar objetos entre buckets do Amazon S3 em diferentes Regiões da AWS. As tags podem ajudar a fazer o seguinte:
+ **Atender aos requisitos de conformidade**: embora o Simple Storage Service (Amazon S3), por padrão, armazene seus dados em diversas zonas de disponibilidade geograficamente distantes, requisitos de conformidade podem exigir que você armazene os dados a distâncias ainda maiores. Para atender a esses requisitos, use a Cross-Region Replication para replicar dados entre distantes Regiões da AWS.
+ **Minimizar a latência**: se seus clientes estiverem em duas localizações geográficas diferentes, é possível minimizar a latência no acesso a objetos mantendo cópias dos objetos nas Regiões da AWS geograficamente mais próximas dos usuários.
+ **Aumentar a eficiência operacional**: se tiver clusters de computação em duas Regiões da AWS diferentes que analisam o mesmo conjunto de objetos, talvez você prefira manter cópias dos objetos nessas regiões.

## Quando usar Replicação na mesma região
<a name="srr-scenario"></a>

A replicação para a mesma região (SRR) é usada para copiar objetos entre buckets do Amazon S3 na mesma Região da AWS. A SRR pode ajudar a fazer o seguinte:
+ **Agregar logs em um único bucket**: se você armazenar os logs em vários buckets ou em várias contas, será possível replicar facilmente os logs em um único bucket na região. Isso permite processar os logs em um único local, o que é mais simples.
+ **Configurar replicação em tempo real entre contas de produção e teste**: se você ou seus clientes tiverem contas de produção e de teste que usam os mesmos dados, será possível replicar objetos entre essas várias contas, mantendo os metadados dos objetos.
+ **Cumprir as leis de soberania de dados**: pode ser necessário armazenar várias cópias dos dados em Contas da AWS separadas em uma determinada região. A replicação na mesma região pode ajudar a replicar automaticamente dados vitais quando os regulamentos de conformidade não permitirem que os dados saiam do país.

## Quando usar a replicação bidirecional
<a name="two-way-replication-scenario"></a>
+ **Criar conjuntos de dados compartilhados entre várias Regiões da AWS**: com a sincronização de modificações da réplica, você pode replicar facilmente alterações de metadados, como listas de controle de acesso (ACLs) de objetos, etiquetas de objetos ou bloqueios de objetos, em objetos de replicação. Essa replicação bidirecional é importante se você quiser manter todos os objetos e alterações nos metadados dos objetos em sincronia. Você pode [ativar a sincronização de modificações da réplica](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-for-metadata-changes.html#enabling-replication-for-metadata-changes) em uma regra de replicação nova ou existente ao realizar a replicação bidirecional entre dois ou mais buckets na mesma região ou em Regiões da AWS diferentes.
+ **Manter os dados sincronizados entre regiões durante o failover**: você pode sincronizar dados em buckets entre Regiões da AWS configurando regras de replicação bidirecional com a Replicação do S3 Entre Regiões Diferentes (CRR) diretamente de um ponto de acesso multirregional. Para tomar uma decisão embasada sobre quando iniciar um failover, você também pode habilitar as métricas de replicação do S3 para monitorar a replicação no Amazon CloudWatch, no Controle de Tempo de Replicação do S3 (S3 RTC) ou no ponto de acesso multirregional.
+ **Tornar a aplicação altamente disponível**: mesmo no caso de uma interrupção no tráfego regional, você pode usar regras de replicação bidirecional para manter todos os metadados e objetos sincronizados entre os buckets durante a replicação de dados.

## Quando usar S3 Batch Replication
<a name="batch-replication-scenario"></a>

A replicação em lote replica objetos existentes em diferentes buckets como uma opção sob demanda. Ao contrário da replicação em tempo real, esses trabalhos podem ser executados conforme a necessidade. A replicação em lote pode ajudar você a fazer o seguinte:
+ **Replicar objetos existentes**: você pode usar a replicação em lote para replicar objetos que foram adicionados ao bucket antes que a Same-Region Replication ou a Cross-Region Replication fossem configuradas.
+ **Replicar objetos cuja replicação falhou anteriormente**: você pode filtrar um trabalho de replicação em lote para tentar replicar objetos com um status de replicação de **FAILED** (FALHOU).
+ **Replicar objetos que já foram replicados**: pode ser necessário armazenar várias cópias dos dados em Contas da AWS ou Regiões da AWS separadas. A replicação em lote pode replicar objetos existentes em destinos recém-adicionados.
+ **Replicar réplicas de objetos que foram criadas segundo uma regra de replicação**: as configurações de replicação criam réplicas de objetos em buckets de destino. As réplicas de objetos só podem ser replicadas com a replicação em lote.

## Requisitos de workload e replicação em tempo real
<a name="replication-workload-requirements"></a>

Dependendo dos requisitos de workload, alguns tipos de replicação em tempo real serão mais adequados ao seu caso de uso do que outros. Use a tabela a seguir para determinar qual tipo de replicação usar para a sua situação e se você deve usar o Controle de Tempo de Replicação do S3 (S3 RTC) para sua workload. O S3 RTC replica 99,99% dos novos objetos armazenados no Amazon S3 em 15 minutos (baseado em um acordo de nível de serviço, ou SLA). Para obter mais informações, consulte [Atender aos requisitos de conformidade com o Controle do Tempo de Replicação do S3](replication-time-control.md).


| Requisito de workload | S3 RTC (SLA de 15 minutos) | Replicação Entre Regiões Diferentes (CRR) | Replicação na Mesma Região (SRR) | 
| --- | --- | --- | --- | 
| Replicar objetos entre Contas da AWS diferentes | Sim | Sim | Sim | 
| Replicar objetos na mesma Região da AWS dentro de 24 a 48 horas (sem suporte de SLA) | Não | Não | Sim | 
| Replicar objetos entre Regiões da AWS diferentes dentro de 24 a 48 horas (sem suporte de SLA) | Não | Sim | Não | 
|  Tempo de replicação previsível: apoiado pelo SLA para replicar 99,9% dos objetos em 15 minutos  | Sim | Não | Não | 

# O que o Amazon S3 replica?
<a name="replication-what-is-isnot-replicated"></a>

O Amazon S3 replica somente itens específicos nos buckets que estão configurados para replicação. 

**Topics**
+ [

## O que é replicado com as configurações de replicação?
](#replication-what-is-replicated)
+ [

## O que não é replicado com as configurações de replicação?
](#replication-what-is-not-replicated)

## O que é replicado com as configurações de replicação?
<a name="replication-what-is-replicated"></a>

Por padrão, o Simple Storage Service (Amazon S3) replica o seguinte:
+ Objetos criados depois de adicionar uma configuração de replicação.
+ Objetos não criptografados. 
+ Objetos criptografados usando chaves fornecidas pelo cliente (SSE-C), objetos criptografados em repouso por uma chave gerenciada pelo Amazon S3 (SSE-S3) ou uma chave do KMS armazenada no AWS Key Management Service (SSE-KMS). Para obter mais informações, consulte [Replicar objetos criptografados (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md). 
+ Metadados de objeto dos objetos de origem para as réplicas. Para obter informações sobre como replicar metadados das réplicas para os objetos de origem, consulte [Replicação de alterações de metadados com sincronização de modificação de réplica](replication-for-metadata-changes.md).
+ Somente os objetos no bucket de origem para os quais o proprietário do bucket tenha permissões para ler objetos e listas de controle de acesso (ACLs). 

  Para obter mais informações sobre propriedade de recurso, consulte [Propriedade de bucket e objeto do Amazon S3](access-policy-language-overview.md#about-resource-owner).
+ A ACL do objeto é atualizada, a menos que você oriente o Amazon S3 a alterar a propriedade da réplica quando os buckets de origem e de destino não forem de propriedade das mesmas contas. 

  Para obter mais informações, consulte [Alterar o proprietário da réplica](replication-change-owner.md). 

  Pode levar um tempo até o Amazon S3 sincronizar as duas ACLs. Essa alteração de proprietário aplica-se apenas aos objetos criados depois que você adiciona uma configuração de replicação ao bucket.
+  Tags de objeto, se houver.
+ Informações de retenção de bloqueio de objetos do S3, se houver. 

  Quando o Amazon S3 replica objetos que tenham informações de retenção aplicadas, ele aplica esse mesmo controles de retenção à suas réplicas, substituindo o período de retenção padrão configurado nos buckets de destino. Se você não tiver controles de retenção aplicados aos objetos em seu bucket de origem e replicá-los em buckets de destino que tenham um período de retenção definido, o período de retenção padrão do bucket de destino será aplicado às réplicas de objeto. Para obter mais informações, consulte [Bloquear objetos com o Bloqueio de Objetos](object-lock.md).

### Como a exclusão de operações afeta a replicação
<a name="replication-delete-op"></a>

Se você excluir um objeto do bucket de origem, as seguintes ações ocorrerão por padrão:
+ Se você fizer uma solicitação DELETE sem especificar um ID de versão de objeto, o Amazon S3 adicionará um marcador de exclusão. O Amazon S3 lida com o marcador de exclusão da seguinte forma:
  + Se estiver usando a versão mais recente da configuração de replicação (ou seja, se você especificar o elemento `Filter` em uma regra de configuração da replicação), o Amazon S3 não replicará o marcador de exclusão, por padrão. Porém, você pode adicionar *replicação de marcador de exclusão* a regras não baseadas em etiquetas. Para obter mais informações, consulte [Replicação de marcadores de exclusão entre intervalos](delete-marker-replication.md).
  + Se você não especificar o elemento `Filter`, o Amazon S3 assumirá que a configuração de replicação é a versão V1 e replicará marcadores de exclusão resultantes de ações do usuário. No entanto, se o Amazon S3 excluir um objeto devido a uma ação de ciclo de vida, o marcador de exclusão não será replicado para os buckets de destino.
+ Se você especificar um ID de versão do objeto para excluir na solicitação `DELETE`, o Amazon S3 excluirá essa versão do objeto no bucket de origem. Porém, ele não replica a exclusão no bucket de destino. Em outras palavras: ele não exclui a mesma versão do objeto dos buckets de destino. Isso protege os dados contra exclusões mal-intencionadas. 

## O que não é replicado com as configurações de replicação?
<a name="replication-what-is-not-replicated"></a>

Por padrão, o Simple Storage Service (Amazon S3) não replica o seguinte:
+ Objetos no bucket de origem que são réplicas criadas por outra regra de replicação. Por exemplo, se você configurar uma replicação em que o bucket A é a origem e o bucket B é o destino. Agora, suponha que você adicione outra configuração da replicação em que o bucket B é a origem e o bucket C é o destino. Neste caso, os objetos no bucket B que são réplicas de objetos no bucket A não serão replicados para o bucket C. 

  Para replicar objetos que são réplicas, use a replicação em lote. Saiba mais sobre como configurar a replicação em lote em [Replicar objetos existentes](s3-batch-replication-batch.md).
+ Objetos no bucket de origem que já foram replicados para um destino diferente. Por exemplo, se você alterar o bucket de destino em uma configuração de replicação existente, o Simple Storage Service (Amazon S3) não replicará os objetos novamente.

  Para replicar objetos que já foram replicados anteriormente, use a replicação em lote. Saiba mais sobre como configurar a replicação em lote em [Replicar objetos existentes](s3-batch-replication-batch.md).
+ A replicação em lote não é compatível com a nova replicação de objetos que foram excluídos com o ID de versão do objeto do bucket de destino. Para replicar esses objetos novamente, copie os objetos de origem no local com um trabalho de cópia em lote. Copiar esses objetos no local criará versões dos objetos no bucket de origem e iniciará a replicação automaticamente para o destino. Para obter mais informações sobre como usar a cópia em lote, consulte [Exemplos que usam o Batch Operations para copiar objetos](batch-ops-examples-copy.md).
+ Por padrão, ao replicar de uma Conta da AWS diferente, os marcadores de exclusão adicionados ao bucket de origem não são replicados.

  Para obter mais informações sobre como os marcadores de exclusão funcionam, consulte [Replicação de marcadores de exclusão entre intervalos](delete-marker-replication.md).
+ Objetos armazenados nas classes ou nos níveis de armazenamento S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive, S3 Intelligent-Tiering Archive Access ou S3 Intelligent-Tiering Deep Archive Access. Não é possível replicar esses objetos enquanto eles não forem restaurados e copiados para uma classe de armazenamento diferente. 

  Para saber mais sobre as classes S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive, consulte [Classes de armazenamento para objetos acessados raramente](storage-class-intro.md#sc-glacier).

  Para saber mais sobre a classe S3 Intelligent-Tiering, consulte [Gerenciar custos de armazenamento com o Amazon S3 Intelligent-Tiering](intelligent-tiering.md).
+ Objetos no bucket de origem que o proprietário do bucket não tem permissões suficientes para replicar. 

  Para obter informações sobre como o proprietário de um objeto pode conceder permissões ao proprietário do bucket, consulte [Conceder permissões entre contas para fazer upload de objetos garantindo que o proprietário do bucket tenha controle total](example-bucket-policies.md#example-bucket-policies-acl-2).
+ Atualizações nos sub-recursos no nível do bucket. 

  Por exemplo, se você alterar a configuração do ciclo de vida ou adicionar uma configuração de notificação ao bucket de origem, essas alterações não serão aplicadas ao bucket de destino. Esse recurso torna possível ter configurações diferentes no buckets de origem e de destino. 
+ Ações realizadas pela configuração do ciclo de vida. 

  Por exemplo, se a configuração de ciclo de vida estiver habilitada apenas no seu bucket de origem, o Amazon S3 criará marcadores de exclusão para objetos expirados, mas não replicará esses marcadores. Se você quiser que a mesma configuração de ciclo de vida seja aplicada aos buckets de origem e de destino, habilite a mesma configuração de ciclo de vida em ambos. Para obter mais informações sobre a configuração do ciclo de vida, consulte [Gerenciar o ciclo de vida dos objetos](object-lifecycle-mgmt.md).
+ Ao usar regras de replicação baseadas em etiquetas com replicação em tempo real, novos objetos precisam ser marcados com a etiqueta da regra de replicação correspondente na operação `PutObject`. Caso contrário, os objetos não serão replicados. Se os objetos forem marcados após a operação `PutObject`, esses objetos também não serão replicados. 

  Para replicar objetos que foram marcados após a operação `PutObject`, use a funcionalidade Replicação em Lote do S3. Para obter mais informações sobre replicação em lote, consulte [Replicar objetos existentes](s3-batch-replication-batch.md).

# Requisitos e considerações de replicação
<a name="replication-requirements"></a>

A replicação do Amazon S3 exige o seguinte:
+ O proprietário do bucket de origem deve ter as Regiões da AWS de origem e de destino habilitadas para a conta. O proprietário do bucket de destino deve ter a região de destino habilitada para a conta. 

  Consulte mais informações sobre como habilitar ou desabilitar uma Região da AWS em [Specify which Regiões da AWS your account can use](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) no *Guia de referência do AWS Gerenciamento de contas*.
+ Tanto o bucket de origem quanto o de destino devem ter o versionamento habilitado. Para obter mais informações sobre versionamento, consulte [Reter várias versões de objetos com o Versionamento do S3](Versioning.md).
+ O Amazon S3 deve ter permissões para replicar objetos do bucket de origem para o bucket de destino ou buckets em seu nome. Para obter mais informações sobre essas permissões, consulte [Configurar permissões para replicação em tempo real](setting-repl-config-perm-overview.md).
+ Se o proprietário do bucket de origem não for proprietário do objeto no bucket, o proprietário do objeto precisará conceder ao proprietário do bucket as permissões `READ` e `READ_ACP` com a lista de controle de acesso (ACL) do objeto. Para obter mais informações, consulte [Visão geral da lista de controle de acesso (ACL)](acl-overview.md). 
+ Se o bucket de origem tiver o Bloqueio de objetos do S3 habilitado, o bucket de destino também deverá ter o Bloqueio de objetos do S3 habilitado. 

  Para habilitar a replicação em um bucket que tenha a funcionalidade Bloqueio de Objetos habilitada, você deve usar a AWS Command Line Interface, a API REST ou os AWS SDKs. Para obter mais informações gerais, consulte [Bloquear objetos com o Bloqueio de Objetos](object-lock.md).
**nota**  
É necessário conceder duas novas permissões no bucket de origem do S3 na função do AWS Identity and Access Management (IAM) usada para configurar a replicação. As duas novas permissões são `s3:GetObjectRetention` e `s3:GetObjectLegalHold`. Se a função tiver uma permissão `s3:Get*`, ela satisfaz os requisitos. Para obter mais informações, consulte [Configurar permissões para replicação em tempo real](setting-repl-config-perm-overview.md).

Para obter mais informações, consulte [Visão geral da configuração da replicação em tempo real](replication-how-setup.md). 

Se você estiver definindo a configuração de replicação em um *cenário entre contas*, no qual os buckets de origem e de destino pertencem a diferentes Contas da AWS, o seguinte requisito adicional se aplicará:
+ O proprietário dos buckets de destino precisa conceder ao proprietário do bucket de origem permissões para replicar objetos com uma política de bucket. Para obter mais informações, consulte [(Opcional) Etapa 3: conceder permissões quando os buckets de origem e de destino pertencerem a Contas da AWS diferentes](setting-repl-config-perm-overview.md#setting-repl-config-crossacct).
+ O bucket de destino não pode ser configurado como um bucket de Pagamento pelo solicitante. Para obter mais informações, consulte [Utilizar buckets de uso geral com pagamento pelo solicitante para transferência e uso de armazenamento](RequesterPaysBuckets.md).

## Considerações de replicação
<a name="replication-and-other-bucket-configs"></a>

Antes de criar uma configuração de replicação, esteja ciente das considerações a seguir. 

**Topics**
+ [

### Configuração de ciclo de vida e réplicas de objeto
](#replica-and-lifecycle)
+ [

### Configuração do versionamento e configuração de replicação
](#replication-and-versioning)
+ [

### Usar a replicação do S3 com o S3 Intelligent-Tiering
](#replication-and-intelligent-tiering)
+ [

### Configuração de log e de replicação
](#replication-and-logging)
+ [

### CRR e a região de destino
](#replication-and-dest-region)
+ [

### Replicação em Lote do S3
](#considerations-batch-replication)
+ [

### Controle do tempo de replicação do S3
](#considerations-RTC)

### Configuração de ciclo de vida e réplicas de objeto
<a name="replica-and-lifecycle"></a>

O tempo que o Amazon S3 leva para replicar um objeto depende do tamanho do objeto. Para objetos grandes, pode levar várias horas. Embora possa demorar um pouco até a réplica ser disponibilizada no destino, demora o mesmo tempo para criar a réplica que demorou para criar o objeto correspondente no bucket de origem. Se uma configuração de ciclo de vida estiver ativada em um bucket de destino, as regras de ciclo de vida honrarão o tempo original de criação de objeto, não o momento em que a réplica foi disponibilizada no bucket de destino. 

A configuração de replicação requer que o bucket seja ativado por versionamento. Ao habilitar o versionamento em um bucket, lembre-se de:
+ Se você tiver uma configuração de ciclo de vida de expiração de um objeto, depois de ativar o versionamento, adicione uma política `NonCurrentVersionExpiration` para manter o mesmo comportamento de exclusão permanente de antes de ativar o versionamento.
+ Se você tiver uma configuração de ciclo de vida de transição, depois de ativar o versionamento, considere adicionar uma política `NonCurrentVersionTransition`.

### Configuração do versionamento e configuração de replicação
<a name="replication-and-versioning"></a>

Os buckets de origem e de destino devem ter versionamento habilitado quando você configura replicação em um bucket. Depois que você habilitar o versionamento nos buckets de origem e de destino e configurar a replicação no bucket de origem, vai encontrar os seguintes problemas:
+ Se você tentar desabilitar o versionamento do bucket de origem, o Amazon S3 retornará um erro. É necessário remover a configuração de replicação antes de desabilitar o versionamento o bucket de origem.
+ Se você desabilitar o versionamento o bucket de destino, ocorrerá falha na replicação. O objeto de origem tem o status de replicação `FAILED`.

### Usar a replicação do S3 com o S3 Intelligent-Tiering
<a name="replication-and-intelligent-tiering"></a>

A classe de armazenamento do S3 Intelligent-Tiering foi projetada para otimizar os custos de armazenamento, movendo automaticamente os dados para o nível de acesso mais econômico. Por uma cobrança pequena mensal de automação e monitoramento de objetos, o S3 Intelligent-Tiering monitora os padrões de acesso e move automaticamente os objetos que não foram acessados para níveis de acesso de baixo custo.

Replicação de objetos armazenados no S3 Intelligent-Tiering com replicação em lote do S3 ou invocação de [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) ou [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) constitui acesso. Nesses casos, os objetos de origem das operações de cópia ou replicação são hierarquizados.

Para obter mais informações sobre o S3 Intelligent-Tiering, consulte [Gerenciar custos de armazenamento com o Amazon S3 Intelligent-Tiering](intelligent-tiering.md).

### Configuração de log e de replicação
<a name="replication-and-logging"></a>

Se o Amazon S3 entregar logs em um bucket com a replicação habilitada, ele vai replicar os objetos do log.

Se os [logs de acesso do servidor](ServerLogs.md) ou os [logs do AWS CloudTrail](cloudtrail-logging.md) estiverem habilitados no bucket de origem ou de destino, o Amazon S3 incluirá neles as solicitações relativas a replicação. Por exemplo, o Simple Storage Service (Amazon S3) registra cada objeto que ele replica. 

### CRR e a região de destino
<a name="replication-and-dest-region"></a>

A replicação entre regiões (CRR) do Amazon S3 é usada para copiar objetos entre buckets do S3 em diferentes Regiões da AWS. Você pode escolher a região do seu bucket de destino com base nas suas necessidades comerciais ou nas considerações de custo. Por exemplo, as cobranças de transferência de dados entre regiões variam dependendo das regiões que você escolher. 

Suponha que você escolheu Leste dos EUA (N. da Virgínia) (`us-east-1`) como a região do bucket de origem. Se escolher Oeste dos EUA (Oregon) (`us-west-2`) como a região dos buckets de destino, você pagará mais do que se escolher a região Leste dos EUA (Ohio) (`us-east-2`). Para obter informações sobre preços, consulte a seção "Definição de preço da transferência de dados" em [Definição de preço do Amazon S3](https://aws.amazon.com/s3/pricing/). 

Não há cobranças de transferência de dados associadas à mesma região de replicação (SRR)

### Replicação em Lote do S3
<a name="considerations-batch-replication"></a>

Consulte informações sobre considerações da Replicação em Lote em [Considerações sobre o recurso S3 Batch Replication](s3-batch-replication-batch.md#batch-replication-considerations).

### Controle do tempo de replicação do S3
<a name="considerations-RTC"></a>

Consulte informações sobre as considerações e as práticas recomendadas para o Controle de Tempo de Replicação do S3 (S3 RTC) em [Melhores práticas e diretrizes do S3 RTC](replication-time-control.md#rtc-best-practices).

# Visão geral da configuração da replicação em tempo real
<a name="replication-how-setup"></a>

**nota**  
Objetos que já existiam antes de você configurar a replicação não são replicados automaticamente. Em outras palavras: o Amazon S3 não replica os objetos retroativamente. Para replicar objetos que foram criados antes da configuração de replicação, use S3 Batch Replication. Consulte mais informações sobre como configurar o Replicação em Lote em [Replicar objetos existentes](s3-batch-replication-batch.md).

Adicione uma configuração de replicação ao bucket de origem para habilitar a replicação em tempo real: Replicação na Mesma Região (SRR) ou Replicação Entre Regiões Diferentes (CRR). Essa configuração instrui o Amazon S3 a replicar objetos conforme especificado. Na configuração de replicação, você deve fornecer o seguinte:
+ **Os buckets de destino**: o bucket ou buckets onde você quer que o Simple Storage Service (Amazon S3) replique os objetos.
+ **Os objetos que você deseja replicar**: é possível replicar todos os objetos no bucket de origem ou um subgrupo de objetos. Identifique um subgrupo fornecendo, na configuração, um [prefixo do nome da chave](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#keyprefix), uma ou mais tags de objeto ou ambos.

  Por exemplo, se você configurar uma regra de replicação para replicar somente objetos com o prefixo de nome da chave `Tax/`, o Amazon S3 replicará objetos com chaves como `Tax/doc1` ou `Tax/doc2`. Porém, ele não replica objetos com a chave `Legal/doc3`. Se você especificar um prefixo e uma ou mais etiquetas, o Simple Storage Service (Amazon S3) replicará somente os objetos com o prefixo das chaves e as etiquetas específicas.
+ **Um perfil do AWS Identity and Access Management (IAM)**: o Amazon S3 assume esse perfil do IAM para replicar objetos em seu nome. Consulte mais informações sobre como criar esse perfil do IAM e gerenciar permissões em [Configurar permissões para replicação em tempo real](setting-repl-config-perm-overview.md).

Além desses requisitos mínimos, você pode escolher as seguintes opções: 
+ **Classe de armazenamento de réplicas**: por padrão, o Simple Storage Service (Amazon S3) armazena réplicas de objetos usando a mesma classe de armazenamento do objeto de origem. Você pode especificar uma classe de armazenamento diferente para as réplicas.
+ **Propriedade da réplica**: o Simple Storage Service (Amazon S3) pressupõe que a réplica de um objeto continue pertencendo ao proprietário do objeto de origem. Portanto, quando ele replica objetos, também replica a lista de controle de acesso (ACL) a objetos correspondente ou a configuração de propriedade de objetos do S3. Se os buckets de origem e destino pertencerem a Contas da AWS diferentes, você poderá configurar a replicação para alterar o proprietário de uma réplica para a Conta da AWS que é proprietária do bucket de destino. Para obter mais informações, consulte [Alterar o proprietário da réplica](replication-change-owner.md).

É possível configurar a replicação usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), SDKs da AWS ou a API REST do Amazon S3. Consulte demonstrações detalhadas de como configurar a replicação em [Exemplos para configurar a replicação em tempo real](replication-example-walkthroughs.md).

 O Amazon S3 fornece operações da API REST para permitir a configuração das regras de replicação. Para obter mais informações, consulte os tópicos a seguir na *Referência da API do Amazon Simple Storage Service*:
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html) 

**Topics**
+ [

# Elementos do arquivo de configuração de replicação
](replication-add-config.md)
+ [

# Configurar permissões para replicação em tempo real
](setting-repl-config-perm-overview.md)
+ [

# Exemplos para configurar a replicação em tempo real
](replication-example-walkthroughs.md)

# Elementos do arquivo de configuração de replicação
<a name="replication-add-config"></a>

O Amazon S3 armazena uma configuração de replicação como XML. Se estiver configurando a replicação programaticamente por meio da API REST do Amazon S3, você especificará os vários elementos da configuração de replicação nesse arquivo XML. Se estiver configurando a replicação por meio da AWS Command Line Interface (AWS CLI), especifique a configuração de replicação usando o formato JSON. Com relação a exemplos de JSON, consulte as demonstrações em [Exemplos para configurar a replicação em tempo real](replication-example-walkthroughs.md).

**nota**  
A versão mais recente do formato XML de configuração da replicação é V2. As configurações de replicação XML V2 são aquelas que contêm o elemento `<Filter>` para regras e regras que especificam o Controle do tempo de replicação do S3 (S3 RTC).  
Para ver a versão da configuração de replicação, você pode usar a operação de API `GetBucketReplication`. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html) na *Referência da API do Amazon Simple Storage Service*.   
Para compatibilidade com versões anteriores, o Amazon S3 continua a permitir o formato de configuração de replicação XML V1. Se você usou o formato de configuração de replicação XML V1, consulte [Considerações sobre a compatibilidade com versões anteriores](#replication-backward-compat-considerations) para considerações sobre a compatibilidade com versões anteriores.

No arquivo XML de configuração de replicação, é necessário especificar um perfil do AWS Identity and Access Management (IAM) e uma ou mais regras, conforme mostrado no seguinte exemplo:

```
<ReplicationConfiguration>
    <Role>IAM-role-ARN</Role>
    <Rule>
        ...
    </Rule>
    <Rule>
         ... 
    </Rule>
     ...
</ReplicationConfiguration>
```

O Amazon S3 não pode replicar objetos sem sua permissão. Você concede permissões ao Amazon S3 com o perfil do IAM especificado na configuração de replicação. O Amazon S3 assume esse perfil do IAM para replicar objetos em seu nome. Primeiro você precisa fornecer as permissões necessárias à função do IAM. Para obter mais informações sobre como gerenciar permissões, consulte [Configurar permissões para replicação em tempo real](setting-repl-config-perm-overview.md).

Você adiciona apenas uma regra na configuração da replicação nos seguintes cenários:
+ Você quer replicar todos os objetos.
+ Você quer replicar apenas um subgrupo de objetos. Você identifica o subgrupo do objeto adicionando um filtro à regra. No filtro, você especifica um prefixo de chaves do objeto, tags ou uma combinação de ambos, de maneira a identificar o subgrupo de objetos aos quais a regra se aplica. Os filtros têm como alvo objetos que correspondem aos valores exatos que você especifica.

Se quiser replicar subgrupos de objetos diferentes, adicione várias regras em uma configuração de replicação. Em cada regra, você especifica um filtro que seleciona um subgrupo diferente. Por exemplo, talvez você queira replicar objetos com os prefixos de chaves `tax/` ou `document/`. Para fazer isso, você adiciona duas regras, uma que especifica o filtro de prefixo das chaves `tax/` e outro que especifica o prefixo das chaves `document/`. Consulte mais informações sobre prefixos de chave de objeto em [Organizar objetos usando prefixos](using-prefixes.md).

As seções a seguir fornecem informações adicionais.

**Topics**
+ [

## Configuração da regra básica
](#replication-config-min-rule-config)
+ [

## Opcional: Especificação de um filtro
](#replication-config-optional-filter)
+ [

## Configurações adicionais de destino
](#replication-config-optional-dest-config)
+ [

## Exemplo de configurações de replicação
](#replication-config-example-configs)
+ [

## Considerações sobre a compatibilidade com versões anteriores
](#replication-backward-compat-considerations)

## Configuração da regra básica
<a name="replication-config-min-rule-config"></a>

Cada regra deve incluir o status e a prioridade da regra. A regra também precisa indicar se os marcadores de exclusão devem ser replicados. 
+ O elemento `<Status>` indica se a regra está habilitada ou desabilitada usando os valores `Enabled` ou `Disabled`. Se uma regra estiver desabilitada, o Amazon S3 não executará as ações especificadas nela. 
+ O elemento `<Priority>` indica qual regra tem precedência sempre que duas ou mais regras de replicação entram em conflito. O Simple Storage Service (Amazon S3) tenta replicar objetos de acordo com todas as regras de replicação. Porém, se houver duas ou mais regras com o mesmo bucket de destino, os objetos serão replicados de acordo com a regra com a prioridade mais alta. Quanto maior o número, maior a prioridade.
+ O elemento `<DeleteMarkerReplication>` indica se os marcadores de exclusão devem ser replicados usando os valores `Enabled` ou `Disabled`.

Na configuração o elemento `<Destination>`, é necessário fornecer o nome do bucket ou buckets de destino onde você deseja que o Amazon S3 replique objetos. 

O exemplo a seguir mostra os requisitos mínimos para uma regra da V2. Para compatibilidade com versões anteriores, o Amazon S3 continua a oferecer compatibilidade com o formato XML V1. Para obter mais informações, consulte [Considerações sobre a compatibilidade com versões anteriores](#replication-backward-compat-considerations).

```
...
    <Rule>
        <ID>Rule-1</ID>
        <Status>Enabled-or-Disabled</Status>
        <Filter>
            <Prefix></Prefix>   
        </Filter>
        <Priority>integer</Priority>
        <DeleteMarkerReplication>
           <Status>Enabled-or-Disabled</Status>
        </DeleteMarkerReplication>
        <Destination>        
           <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket> 
        </Destination>    
    </Rule>
    <Rule>
         ...
    </Rule>
     ...
...
```

Você também pode especificar outras opções de configuração. Por exemplo: você pode optar pelo uso de uma classe de armazenamento para réplicas de objetos diferentes da classe do objeto de origem. 

## Opcional: Especificação de um filtro
<a name="replication-config-optional-filter"></a>

Para escolher um subgrupo de objetos aos quais a regra se aplique, adicione um filtro opcional. Você pode filtrar pelo prefixo das chaves do objeto, as etiquetas do objeto ou uma combinação de ambos. Se você filtrar tanto pelo prefixo das chaves quanto pelas etiquetas do objeto, o Amazon S3 combinará os filtros usando o operador lógico `AND`. Em outras palavras, a regra se aplica ao subgrupo de objetos com as etiquetas e o prefixo de chave específicos. 

**Filtro baseado no prefixo da chave de objeto**  
Para especificar uma regra com um filtro baseado no prefixo de chaves de um objeto, use o XML a seguir. É possível especificar apenas um prefixo por regra.

```
<Rule>
    ...
    <Filter>
        <Prefix>key-prefix</Prefix>   
    </Filter>
    ...
</Rule>
...
```

**Filtrar com base em tags de objeto**  
Para especificar uma regra com um filtro baseado nas tags do objeto, use o XML a seguir. Você pode especificar uma ou mais tags de objeto.

```
<Rule>
    ...
    <Filter>
        <And>
            <Tag>
                <Key>key1</Key>
                <Value>value1</Value>
            </Tag>
            <Tag>
                <Key>key2</Key>
                <Value>value2</Value>
            </Tag>
             ...
        </And>
    </Filter>
    ...
</Rule>
...
```

**Filtrar com um prefixo de chave e tags de objeto**  
Para especificar um filtro de regra com uma combinação de um prefixo de chaves e tags de objeto, use o XML a seguir. Você envolve esses filtros em um elemento pai `<And>`. O Amazon S3 executa uma operação lógica `AND` para combinar esses filtros. Em outras palavras, a regra se aplica ao subgrupo de objetos com as etiquetas e o prefixo de chave específicos. 

```
<Rule>
    ...
    <Filter>
        <And>
            <Prefix>key-prefix</Prefix>
            <Tag>
                <Key>key1</Key>
                <Value>value1</Value>
            </Tag>
            <Tag>
                <Key>key2</Key>
                <Value>value2</Value>
            </Tag>
             ...
    </Filter>
    ...
</Rule>
...
```

**nota**  
Se você especificar uma regra com um elemento `<Filter>` vazio, a regra será aplicada a todos os objetos do bucket.
Ao usar regras de replicação baseadas em etiquetas com replicação em tempo real, novos objetos precisam ser marcados com a etiqueta da regra de replicação correspondente na operação `PutObject`. Caso contrário, os objetos não serão replicados. Se os objetos forem marcados após a operação `PutObject`, esses objetos também não serão replicados.   
Para replicar objetos que foram marcados após a operação `PutObject`, use a funcionalidade Replicação em Lote do S3. Para obter mais informações sobre replicação em lote, consulte [Replicar objetos existentes](s3-batch-replication-batch.md).

## Configurações adicionais de destino
<a name="replication-config-optional-dest-config"></a>

Na configuração de destino, especifique o bucket onde você quer que o Amazon S3 replique objetos. Você pode definir configurações para replicar objetos de um bucket de origem para um bucket de destino. 

```
...
<Destination>        
    <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
</Destination>
...
```

Você pode adicionar as seguintes opções no elemento `<Destination>`.

**Topics**
+ [

### Especificar classe de armazenamento
](#storage-class-configuration)
+ [

### Adicionar vários buckets de destino
](#multiple-destination-buckets-configuration)
+ [

### Especificar parâmetros diferentes para cada regra de replicação com vários buckets de destino
](#replication-rule-configuration)
+ [

### Alterar a propriedade da réplica
](#replica-ownership-configuration)
+ [

### Ativar o controle do tempo de replicação do S3
](#rtc-configuration)
+ [

### Replicar objetos criados com criptografia do lado do servidor com o uso do AWS KMS.
](#sse-kms-configuration)

### Especificar classe de armazenamento
<a name="storage-class-configuration"></a>

Você pode especificar a classe de armazenamento para as réplicas do objeto. Por padrão, o Amazon S3 usa a classe de armazenamento do objeto de origem para criar as réplicas do objeto.

```
...
<Destination>
       <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
       <StorageClass>storage-class</StorageClass>
</Destination>
...
```

### Adicionar vários buckets de destino
<a name="multiple-destination-buckets-configuration"></a>

Você pode adicionar vários buckets de destino em uma única configuração de replicação, como segue.

```
...
<Rule>
    <ID>Rule-1</ID>
    <Status>Enabled-or-Disabled</Status>
    <Priority>integer</Priority>
    <DeleteMarkerReplication>
       <Status>Enabled-or-Disabled</Status>
    </DeleteMarkerReplication>
    <Destination>        
       <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket1</Bucket> 
    </Destination>    
</Rule>
<Rule>
    <ID>Rule-2</ID>
    <Status>Enabled-or-Disabled</Status>
    <Priority>integer</Priority>
    <DeleteMarkerReplication>
       <Status>Enabled-or-Disabled</Status>
    </DeleteMarkerReplication>
    <Destination>        
       <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket2</Bucket> 
    </Destination>    
</Rule>
...
```

### Especificar parâmetros diferentes para cada regra de replicação com vários buckets de destino
<a name="replication-rule-configuration"></a>

Ao adicionar vários buckets de destino em uma única configuração de replicação, você pode especificar parâmetros diferentes para cada regra de replicação, da seguinte forma.

```
...
<Rule>
    <ID>Rule-1</ID>
    <Status>Enabled-or-Disabled</Status>
    <Priority>integer</Priority>
    <DeleteMarkerReplication>
       <Status>Disabled</Status>
    </DeleteMarkerReplication>
      <Metrics>
    <Status>Enabled</Status>
    <EventThreshold>
      <Minutes>15</Minutes> 
    </EventThreshold>
  </Metrics>
    <Destination>        
       <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket1</Bucket> 
    </Destination>    
</Rule>
<Rule>
    <ID>Rule-2</ID>
    <Status>Enabled-or-Disabled</Status>
    <Priority>integer</Priority>
    <DeleteMarkerReplication>
       <Status>Enabled</Status>
    </DeleteMarkerReplication>
      <Metrics>
    <Status>Enabled</Status>
    <EventThreshold>
      <Minutes>15</Minutes> 
    </EventThreshold>
  </Metrics>
  <ReplicationTime>
    <Status>Enabled</Status>
    <Time>
      <Minutes>15</Minutes>
    </Time>
  </ReplicationTime>
    <Destination>        
       <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket2</Bucket> 
    </Destination>    
</Rule>
...
```

### Alterar a propriedade da réplica
<a name="replica-ownership-configuration"></a>

Quando os buckets de origem e de destino não pertencem às mesmas contas, você pode alterar a propriedade da réplica para a Conta da AWS que for a proprietária do bucket de destino. Para fazer isso, adicione o elemento `<AccessControlTranslation>`. Esse elemento assume o valor de `Destination`.

```
...
<Destination>
   <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
   <Account>destination-bucket-owner-account-id</Account>
   <AccessControlTranslation>
       <Owner>Destination</Owner>
   </AccessControlTranslation>
</Destination>
...
```

Se você não adicionar o elemento `<AccessControlTranslation>` à configuração de replicação, as réplicas pertencerão à mesma Conta da AWS que for a proprietária do objeto de origem. Para obter mais informações, consulte [Alterar o proprietário da réplica](replication-change-owner.md).

### Ativar o controle do tempo de replicação do S3
<a name="rtc-configuration"></a>

Você pode habilitar o Controle do tempo de replicação do S3 (S3 RTC) na configuração de replicação. O S3 RTC replica a maioria dos objetos em segundos e 99,99 por cento dos objetos em 15 minutos (baseado em um acordo de nível de serviço). 

**nota**  
Somente um valor de `<Minutes>15</Minutes>` é aceito para os elementos `<EventThreshold>` e `<Time>`.

```
...
<Destination>
  <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
  <Metrics>
    <Status>Enabled</Status>
    <EventThreshold>
      <Minutes>15</Minutes> 
    </EventThreshold>
  </Metrics>
  <ReplicationTime>
    <Status>Enabled</Status>
    <Time>
      <Minutes>15</Minutes>
    </Time>
  </ReplicationTime>
</Destination>
...
```

Para obter mais informações, consulte [Atender aos requisitos de conformidade com o Controle do Tempo de Replicação do S3](replication-time-control.md). Consulte exemplos de API em [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html) na *Referência de API do Amazon Simple Storage Service*.

### Replicar objetos criados com criptografia do lado do servidor com o uso do AWS KMS.
<a name="sse-kms-configuration"></a>

Seu bucket de origem pode conter objetos que foram criados com criptografia no servidor usando as chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Por padrão, o Amazon S3 não replica esses objetos. Opcionalmente, você pode direcionar o Amazon S3 para replicar esses objetos. Para fazer isso, primeiro opte explicitamente por esse recurso adicionando o elemento `<SourceSelectionCriteria>`. Depois, forneça a AWS KMS key (para a Região da AWS do bucket de destino) a ser usada para criptografar réplicas de objetos. Os exemplo a seguir mostra como especificar esses elementos.

```
...
<SourceSelectionCriteria>
  <SseKmsEncryptedObjects>
    <Status>Enabled</Status>
  </SseKmsEncryptedObjects>
</SourceSelectionCriteria>
<Destination>
  <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
  <EncryptionConfiguration>
    <ReplicaKmsKeyID>AWS KMS key ID to use for encrypting object replicas</ReplicaKmsKeyID>
  </EncryptionConfiguration>
</Destination>
...
```

Para obter mais informações, consulte [Replicar objetos criptografados (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).

## Exemplo de configurações de replicação
<a name="replication-config-example-configs"></a>

Para começar, você pode adicionar os seguintes exemplos de configuração de replicação ao bucket, conforme adequado.

**Importante**  
Para adicionar uma configuração de replicação a um bucket, é preciso ter a permissão `iam:PassRole`. Com essa permissão, você pode aprovar a função do IAM que concede as permissões de replicação do Amazon S3. Você especifica a função do IAM ao fornecer o nome de recurso da Amazon (ARN) usado no elemento `<Role>` na configuração de replicação XML. Para obter mais informações, consulte [Conceder permissões ao usuário para transmitir uma função a um AWS service (Serviço da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) no *Guia do usuário do IAM*.

**Example 1: Configuração de replicação com uma regra**  
A configuração de replicação básica a seguir especifica uma regra. A regra especifica uma função do IAM que o Amazon S3 pode assumir e um bucket de destino para único para réplicas de objetos. O valor do elemento `<Status>` de `Enabled` indica que a regra está em vigor.  

```
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Role>arn:aws:iam::account-id:role/role-name</Role>
  <Rule>
    <Status>Enabled</Status>

    <Destination>
      <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
    </Destination>
  </Rule>
</ReplicationConfiguration>
```
Para escolher um subgrupo de objetos a serem replicados, adicione um filtro. Na configuração a seguir, o filtro especifica um prefixo de chaves do objeto. Essa regra se aplica aos objetos que têm o prefixo `Tax/` no nome da chave.   

```
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Role>arn:aws:iam::account-id:role/role-name</Role>
  <Rule>
    <Status>Enabled</Status>
    <Priority>1</Priority>
    <DeleteMarkerReplication>
       <Status>string</Status>
    </DeleteMarkerReplication>

    <Filter>
       <Prefix>Tax/</Prefix>
    </Filter>

    <Destination>
       <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
    </Destination>

  </Rule>
</ReplicationConfiguration>
```
Se você especificar o elemento `<Filter>`, inclua também os elementos `<Priority>` e `<DeleteMarkerReplication>`. Neste exemplo, o valor que você define para o elemento `<Priority>` é irrelevante, pois há somente uma regra.  
Na configuração a seguir, o filtro especifica um prefixo e duas tags. A regra se aplica ao subgrupo de objetos com o prefixo de chaves e as tags especificados. Mais especificamente, ela se aplica aos objetos com o prefixo `Tax/` nos nomes de chave e às duas tags de objeto especificadas. Neste exemplo, o valor que você define para o elemento `<Priority>` é irrelevante, pois há somente uma regra.  

```
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Role>arn:aws:iam::account-id:role/role-name</Role>
  <Rule>
    <Status>Enabled</Status>
    <Priority>1</Priority>
    <DeleteMarkerReplication>
       <Status>string</Status>
    </DeleteMarkerReplication>

    <Filter>
        <And>
          <Prefix>Tax/</Prefix>
          <Tag>
             <Tag>
                <Key>tagA</Key>
                <Value>valueA</Value>
             </Tag>
          </Tag>
          <Tag>
             <Tag>
                <Key>tagB</Key>
                <Value>valueB</Value>
             </Tag>
          </Tag>
       </And>

    </Filter>

    <Destination>
        <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
    </Destination>

  </Rule>
</ReplicationConfiguration>
```
Você pode especificar uma classe de armazenamento para as réplicas, da seguinte forma:  

```
<?xml version="1.0" encoding="UTF-8"?>

<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Role>arn:aws:iam::account-id:role/role-name</Role>
  <Rule>
    <Status>Enabled</Status>
    <Destination>
       <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
       <StorageClass>storage-class</StorageClass>
    </Destination>
  </Rule>
</ReplicationConfiguration>
```
Você pode especificar uma classe de armazenamento à qual o Amazon S3 ofereça suporte.

**Example 2: Configuração de replicação com duas regras**  

**Example**  
Na configuração de replicação a seguir, as regras especificam o seguinte:  
+ Cada regra filtra em um prefixo de chave diferente para que cada regra se aplique a um subconjunto distinto de objetos. Nesse exemplo, o Simple Storage Service (Amazon S3) replica objetos com os nomes de chave *`Tax/doc1.pdf`* e *`Project/project1.txt`*, mas não replica objetos com o nome da chave *`PersonalDoc/documentA`*. 
+ Embora ambas as regras especifiquem um valor para o elemento `<Priority>`, a prioridade da regra é irrelevante, pois as regras se aplicam a dois grupos distintos de objetos. O exemplo a seguir mostra o que acontece quando aplicamos uma prioridade de regras. 
+ A segunda regra especifica uma classe de armazenamento S3 Standard – IA para réplicas de objetos. O Amazon S3 usa a classe de armazenamento especificada para essas réplicas de objetos.
   

```
<?xml version="1.0" encoding="UTF-8"?>

<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Role>arn:aws:iam::account-id:role/role-name</Role>
  <Rule>
    <Status>Enabled</Status>
    <Priority>1</Priority>
    <DeleteMarkerReplication>
       <Status>string</Status>
    </DeleteMarkerReplication>
    <Filter>
        <Prefix>Tax</Prefix>
    </Filter>
    <Status>Enabled</Status>
    <Destination>
      <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
    </Destination>
     ...
  </Rule>
 <Rule>
    <Status>Enabled</Status>
    <Priority>2</Priority>
    <DeleteMarkerReplication>
       <Status>string</Status>
    </DeleteMarkerReplication>
    <Filter>
        <Prefix>Project</Prefix>
    </Filter>
    <Status>Enabled</Status>
    <Destination>
      <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
     <StorageClass>STANDARD_IA</StorageClass>
    </Destination>
     ...
  </Rule>


</ReplicationConfiguration>
```

**Example 3: Configuração da replicação com duas regras e prefixos sobrepostos**  <a name="overlap-rule-example"></a>
Nessa configuração, as duas regras especificam filtros com os prefixos das chaves sobrepostos, *`star`* e *`starship`*. As duas regras se aplicam aos objetos com o nome de chave *`starship-x`*. Nesse caso, o Amazon S3 usa a prioridade da regra para determinar qual regra deve ser aplicada. Quanto maior o número, maior a prioridade.  

```
<ReplicationConfiguration>

  <Role>arn:aws:iam::account-id:role/role-name</Role>

  <Rule>
    <Status>Enabled</Status>
    <Priority>1</Priority>
    <DeleteMarkerReplication>
       <Status>string</Status>
    </DeleteMarkerReplication>
    <Filter>
        <Prefix>star</Prefix>
    </Filter>
    <Destination>
      <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
    </Destination>
  </Rule>
  <Rule>
    <Status>Enabled</Status>
    <Priority>2</Priority>
    <DeleteMarkerReplication>
       <Status>string</Status>
    </DeleteMarkerReplication>
    <Filter>
        <Prefix>starship</Prefix>
    </Filter>    
    <Destination>
      <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
    </Destination>
  </Rule>
</ReplicationConfiguration>
```

**Example 4: Demonstrações de exemplo**  
Para obter exemplos de demonstrações, consulte [Exemplos para configurar a replicação em tempo real](replication-example-walkthroughs.md).

Para obter mais informações sobre a estrutura XML da configuração de replicação, consulte [PutBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) na *Referência da API do Amazon Simple Storage Service*. 

## Considerações sobre a compatibilidade com versões anteriores
<a name="replication-backward-compat-considerations"></a>

A versão mais recente do formato XML de configuração da replicação é V2. As configurações de replicação XML V2 são aquelas que contêm o elemento `<Filter>` para regras e regras que especificam o Controle do tempo de replicação do S3 (S3 RTC).

Para ver a versão da configuração de replicação, você pode usar a operação de API `GetBucketReplication`. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html) na *Referência da API do Amazon Simple Storage Service*. 

Para compatibilidade com versões anteriores, o Amazon S3 continua a permitir o formato de configuração de replicação XML V1. Se você usou o formato de configuração da replicação XML V1, leve em consideração as seguintes questões que afetam a compatibilidade com versões anteriores:
+ O formato XML V2 da configuração de replicação inclui o elemento `<Filter>` para regras. Com o elemento `<Filter>`, você pode especificar filtros de objeto com base no prefixo de chaves do objeto, tags ou ambos para colocar dentro do escopo os objetos aos quais a regra se aplica. O formato XML V1 da configuração de replicação permite a filtragem com base apenas no prefixo da chave. Nesse caso, você adiciona o elemento `<Prefix>` diretamente como elemento-filho do elemento `<Rule>`, conforme o seguinte exemplo:

  ```
  <?xml version="1.0" encoding="UTF-8"?>
  <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Role>arn:aws:iam::account-id:role/role-name</Role>
    <Rule>
      <Status>Enabled</Status>
      <Prefix>key-prefix</Prefix>
      <Destination>
         <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
      </Destination>
  
    </Rule>
  </ReplicationConfiguration>
  ```
+ Ao excluir um objeto do bucket de origem sem especificar um ID da versão do objeto, o Amazon S3 adicionar um marcador de exclusão. Se você usar o formato XML V1 da configuração de replicação, o Amazon S3 replicará somente os marcadores de exclusão resultantes das ações do usuário. Em outras palavras: o Amazon S3 só replica o marcador de exclusão se um usuário excluir um objeto. Se um objeto expirado for removido pelo Amazon S3 (como parte de uma ação de ciclo de vida), ele não replicará o marcador de exclusão. 

  No formato XML V2 da configuração de replicação, é possível habilitar a replicação do marcador de exclusão para regras que não se baseiam em tags. Para obter mais informações, consulte [Replicação de marcadores de exclusão entre intervalos](delete-marker-replication.md). 

 

# Configurar permissões para replicação em tempo real
<a name="setting-repl-config-perm-overview"></a>

Ao configurar a replicação em tempo real no Amazon S3, você deve adquirir as permissões necessárias do seguinte modo:
+ É necessário conceder um determinado conjunto de permissões à entidade principal (usuário ou perfil) do AWS Identity and Access Management (IAM) que criará as regras de replicação.
+ O Simple Storage Service (Amazon S3) precisa de permissões para replicar objetos em seu nome. Você concede essas permissões criando uma função do IAM e especificando essa função na configuração da replicação.
+ Quando os buckets de origem e de destino não pertencem à mesma conta, o proprietário do bucket de destino também deve conceder ao proprietário do bucket de origem permissões para armazenar réplicas.

**nota**  
Se você estiver usando o recurso Operações em Lote do S3 para replicar objetos sob demanda em vez de configurar a replicação em tempo real, será necessário definir um perfil e políticas do IAM diferentes para esse recurso. Consulte exemplos de política e perfil do IAM do Replicação em Lote em [Configurar um perfil do IAM para o Replicação em Lote do S3](s3-batch-replication-policies.md).

**Topics**
+ [

## Etapa 1: conceder permissões à entidade principal do IAM que está criando regras de replicação
](#setting-repl-config-role)
+ [

## Etapa 2: criar um perfil do IAM para o Amazon S3 assumir
](#setting-repl-config-same-acctowner)
+ [

## (Opcional) Etapa 3: conceder permissões quando os buckets de origem e de destino pertencerem a Contas da AWS diferentes
](#setting-repl-config-crossacct)
+ [

## (Opcional) Etapa 4: conceder permissões ao para alterar a propriedade da réplica
](#change-replica-ownership)

## Etapa 1: conceder permissões à entidade principal do IAM que está criando regras de replicação
<a name="setting-repl-config-role"></a>

O usuário ou o perfil do IAM que você usará para criar regras de replicação precisa de permissões para isso, seja para replicações unidirecionais ou bidirecionais. Se o usuário ou o perfil não tiver essas permissões, não será possível criar regras de replicação. Consulte mais informações em [Identidades do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) no *Guia do usuário do IAM*.

O usuário ou o perfil precisa das seguintes ações:
+ `iam:AttachRolePolicy`
+ `iam:CreatePolicy`
+ `iam:CreateServiceLinkedRole`
+ `iam:PassRole`
+ `iam:PutRolePolicy`
+ `s3:GetBucketVersioning`
+ `s3:GetObjectVersionAcl`
+ `s3:GetObjectVersionForReplication`
+ `s3:GetReplicationConfiguration`
+ `s3:PutReplicationConfiguration`

Veja a seguir uma amostra de política do IAM que inclui essas ações.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetAccessPoint",
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketPublicAccessBlock",
                "s3:ListAccessPoints",
                "s3:ListAllMyBuckets",
                "s3:PutReplicationConfiguration",
                "s3:GetReplicationConfiguration",
                "s3:GetBucketVersioning",
                "s3:GetObjectVersionForReplication",
                "s3:GetObjectVersionAcl",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:GetObjectVersion",
                "s3:GetBucketOwnershipControls",
                "s3:PutBucketOwnershipControls",
                "s3:GetObjectLegalHold",
                "s3:GetObjectRetention",
                "s3:GetBucketObjectLockConfiguration"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1-*",
                "arn:aws:s3:::amzn-s3-demo-bucket2-*/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:List*AccessPoint*",
                "s3:GetMultiRegion*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:Get*",
                "iam:CreateServiceLinkedRole",
                "iam:CreateRole",
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::*:role/service-role/s3*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:List*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy",
                "iam:CreatePolicy"
              ],
            "Resource": [
                "arn:aws:iam::*:policy/service-role/s3*",
                "arn:aws:iam::*:role/service-role/s3*"
            ]
        }
    ]
}
```

------

## Etapa 2: criar um perfil do IAM para o Amazon S3 assumir
<a name="setting-repl-config-same-acctowner"></a>



Por padrão, todos os recursos do Simple Storage Service (Amazon S3): buckets, objetos e sub-recursos relacionados, são privados, e somente o proprietário do recurso pode acessá-lo. O Amazon S3 precisa de permissões de leitura e replicação de objetos a partir do bucket de origem. Você concede essas permissões criando um perfil do IAM e especificando esse perfil na configuração da replicação. 

Esta seção explica a política de confiança e a política de permissões mínimas necessárias anexadas a esse perfil do IAM. As demonstrações de exemplo fornecem instruções passo a passo para criar uma função do IAM. Para obter mais informações, consulte [Exemplos para configurar a replicação em tempo real](replication-example-walkthroughs.md).

**nota**  
Se você estiver usando o console para criar sua configuração de replicação, recomendamos que ignore esta seção e, em vez disso, deixe que o console crie esse perfil do IAM e as políticas de confiança e permissão necessárias em seu nome.

A *política de confiança* identifica quais identidades de entidade principal podem assumir o perfil do IAM. A *política de permissões* especifica quais ações o perfil do IAM pode realizar, em quais recursos e sob quais condições. 
+ O exemplo a seguir mostra uma *política de confiança* na qual você identifica o Amazon S3 como a entidade principal do AWS service (Serviço da AWS) que pode assumir o perfil:

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

****  

  ```
  {
     "Version":"2012-10-17",		 	 	 
     "Statement":[
        {
           "Effect":"Allow",
           "Principal":{
              "Service":"s3.amazonaws.com"
           },
           "Action":"sts:AssumeRole"
        }
     ]
  }
  ```

------
+ O exemplo a seguir mostra uma *política de confiança* na qual você identifica o Amazon S3 e o Operações em Lote do S3 como entidades principais que podem assumir o perfil. Use essa abordagem se estiver criando um trabalho do recurso Replicação em Lote. Para obter mais informações, consulte [Criar um trabalho de replicação em lote para novas regras ou destinos de replicação](s3-batch-replication-new-config.md).

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

****  

  ```
  {
     "Version":"2012-10-17",		 	 	 
     "Statement":[ 
        {
           "Effect":"Allow",
           "Principal":{
              "Service": [
                "s3.amazonaws.com",
                "batchoperations.s3.amazonaws.com"
             ]
           },
           "Action":"sts:AssumeRole"
        }
     ]
  }
  ```

------

  Para obter mais informações sobre funções do IAM, consulte [Funções do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) no *Manual do usuário do IAM*.
+ O exemplo a seguir mostra a *política de permissões*, na qual você concede ao perfil do IAM permissões para realizar as tarefas de replicação em seu nome. Quando o Amazon S3 assumir a função, ele terá as permissões que você especificar nessa política. Nesta política, `amzn-s3-demo-source-bucket` é o bucket de origem e `amzn-s3-demo-destination-bucket` é o bucket de destino.

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

****  

  ```
  {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
        {
           "Effect": "Allow",
           "Action": [
              "s3:GetReplicationConfiguration",
              "s3:ListBucket"
           ],
           "Resource": [
              "arn:aws:s3:::amzn-s3-demo-source-bucket"
           ]
        },
        {
           "Effect": "Allow",
           "Action": [
              "s3:GetObjectVersionForReplication",
              "s3:GetObjectVersionAcl",
              "s3:GetObjectVersionTagging"
           ],
           "Resource": [
              "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
           ]
        },
        {
           "Effect": "Allow",
           "Action": [
              "s3:ReplicateObject",
              "s3:ReplicateDelete",
              "s3:ReplicateTags"
           ],
           "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
        }
     ]
  }
  ```

------

  Essa política concede permissões para as seguintes ações:
  +  `s3:GetReplicationConfiguration` e `s3:ListBucket`: as permissões para essas ações no bucket `amzn-s3-demo-source-bucket` permitem que o Amazon S3 recupere a configuração de replicação e liste o conteúdo do bucket. (O modelo de permissões atual exige a permissão `s3:ListBucket` para acessar marcadores de exclusão.)
  + `s3:GetObjectVersionForReplication` e `s3:GetObjectVersionAcl`: as permissões para essas ações são concedidas em todos os objetos para permitir que o Simple Storage Service (Amazon S3) obtenha uma versão específica dos objetos e as listas de controle de acesso (ACL) associadas aos objetos. 

    
  + `s3:ReplicateObject` e `s3:ReplicateDelete`: as permissões para essas ações em todos os objetos no bucket `amzn-s3-demo-destination-bucket` permitem que o Simple Storage Service (Amazon S3) replique objetos ou marcadores de exclusão no bucket de destino. Para obter mais informações sobre marcadores de exclusão, consulte [Como a exclusão de operações afeta a replicação](replication-what-is-isnot-replicated.md#replication-delete-op). 
**nota**  
As permissões para a ação `s3:ReplicateObject` no bucket `amzn-s3-demo-destination-bucket` também permitem a replicação de metadados, como tags de objeto e ACLs. Portanto, você não precisa conceder permissão explícita para a ação `s3:ReplicateTags`.
  + `s3:GetObjectVersionTagging`: as permissões para essa ação nos objetos do bucket `amzn-s3-demo-source-bucket` permitem que o Amazon S3 leia as tags dos objetos para replicação. Para obter mais informações sobre etiquetas de objeto, consulte [Categorizar objetos usando tags](object-tagging.md). Se o Amazon S3 não tiver a permissão `s3:GetObjectVersionTagging`, ele replicará os objetos, mas não as tags dos objetos.

  Consulte uma lista de ações do Amazon S3 em [Actions, resources, and condition keys for Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#list_amazons3-actions-as-permissions) na *Referência de autorização do serviço*.

  Para ter mais informações sobre as permissões referentes a operações de API do S3 de acordo com os tipos de recurso do S3, consulte [Permissões obrigatórias para operações de API do Amazon S3](using-with-s3-policy-actions.md).
**Importante**  
Mais especificamente, a Conta da AWS proprietária da função do IAM precisa ter permissões para as ações que ela concede à função do IAM.   
Por exemplo, suponha que o bucket de origem contenha objetos pertencentes a uma outra Conta da AWS. O proprietário dos objetos deverá conceder explicitamente as permissões exigidas à Conta da AWS proprietária do perfil do IAM por meio de listas de controle de acesso (ACLs) dos objetos. Caso contrário, o Amazon S3 não conseguirá acessar os objetos e haverá falha na replicação dos objetos. Para obter informações sobre as permissões da ACL, consulte [Visão geral da lista de controle de acesso (ACL)](acl-overview.md).  
  
As permissões descritas aqui são relativas à configuração mínima da replicação. Se optar por adicionar configurações de replicação opcionais, será necessário conceder permissões adicionais ao Amazon S3:   
Para replicar objetos criptografados, você também precisará conceder as permissões de chave do AWS Key Management Service (AWS KMS) necessárias. Para obter mais informações, consulte [Replicar objetos criptografados (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
Para usar a funcionalidade Bloqueio de Objetos com replicação, é necessário conceder duas permissões adicionais no bucket de origem do S3 no perfil do AWS Identity and Access Management (IAM) usado para configurar a replicação. As duas permissões adicionais são `s3:GetObjectRetention` e `s3:GetObjectLegalHold`. Se o perfil tiver uma instrução de permissão `s3:Get*`, essa instrução satisfará o requisito. Para obter mais informações, consulte [Usar a funcionalidade Bloqueio de Objetos com a funcionalidade Replicação do S3](object-lock-managing.md#object-lock-managing-replication).

## (Opcional) Etapa 3: conceder permissões quando os buckets de origem e de destino pertencerem a Contas da AWS diferentes
<a name="setting-repl-config-crossacct"></a>

Quando os buckets de origem e de destino não pertencem à mesma conta, o proprietário do bucket de destino também deve adicionar uma política de bucket para conceder ao proprietário do bucket de origem permissões para realizar as ações de replicação, como mostrado no exemplo a seguir. Neste exemplo de política, `amzn-s3-demo-destination-bucket` é o bucket de destino.

Também é possível usar o console do Amazon S3 para que essa política de bucket seja gerada automaticamente para você. Consulte mais informações em [Habilitar o recebimento de objetos replicados de um bucket de origem](#receiving-replicated-objects).

**nota**  
O formato do ARN do perfil pode parecer diferente. Se o perfil tiver sido criado usando o console, o formato do ARN será `arn:aws:iam::account-ID:role/service-role/role-name`. Se o perfil tiver sido criado usando a AWS CLI, o formato do ARN será `arn:aws:iam::account-ID:role/role-name`. Para obter mais informações, consulte [Funções do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) no *Guia do usuário do IAM*. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PolicyForDestinationBucket",
    "Statement": [
        {
            "Sid": "Permissions on objects",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/service-role/source-account-IAM-role"
            },
            "Action": [
                "s3:ReplicateDelete",
                "s3:ReplicateObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
        },
        {
            "Sid": "Permissions on bucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/service-role/source-account-IAM-role"
            },
            "Action": [
                "s3:List*",
                "s3:GetBucketVersioning",
                "s3:PutBucketVersioning"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket"
        }
    ]
}
```

------

Para ver um exemplo, consulte [Configuração da replicação de buckets em contas diferentes](replication-walkthrough-2.md).

Se os objetos no bucket de origem estiverem marcados, observe o seguinte:
+ Se o proprietário do bucket de origem conceder ao Amazon S3 permissão para as ações `s3:GetObjectVersionTagging` e `s3:ReplicateTags` para replicação de tags de objeto (pela função do IAM), o Amazon S3 replicará as tags com os objetos. Para obter informações sobre a função do IAM, consulte [Etapa 2: criar um perfil do IAM para o Amazon S3 assumir](#setting-repl-config-same-acctowner).
+ Se o proprietário do bucket de destino não quiser replicar as tags, ele poderá adicionar a seguinte instrução à política do bucket de destino para negar explicitamente a permissão para a ação `s3:ReplicateTags`. Nesta política, `amzn-s3-demo-destination-bucket` é o bucket de destino.

  ```
  ...
     "Statement":[
        {
           "Effect":"Deny",
           "Principal":{
              "AWS":"arn:aws:iam::source-bucket-account-id:role/service-role/source-account-IAM-role"
           },
           "Action":"s3:ReplicateTags",
           "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
        }
     ]
  ...
  ```

**nota**  
Se você quiser replicar objetos criptografados, também precisará conceder as permissões de chave do AWS Key Management Service (AWS KMS) necessárias. Para obter mais informações, consulte [Replicar objetos criptografados (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
Para usar a funcionalidade Bloqueio de Objetos com replicação, é necessário conceder duas permissões adicionais no bucket de origem do S3 no perfil do AWS Identity and Access Management (IAM) usado para configurar a replicação. As duas permissões adicionais são `s3:GetObjectRetention` e `s3:GetObjectLegalHold`. Se o perfil tiver uma instrução de permissão `s3:Get*`, essa instrução satisfará o requisito. Para obter mais informações, consulte [Usar a funcionalidade Bloqueio de Objetos com a funcionalidade Replicação do S3](object-lock-managing.md#object-lock-managing-replication). 

**Habilitar o recebimento de objetos replicados de um bucket de origem**  
Em vez de adicionar manualmente a política anterior ao bucket de destino, é possível gerar rapidamente as políticas necessárias para permitir o recebimento de objetos replicados de um bucket de origem no console do Amazon S3. 

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista **Buckets**, escolha o bucket que você deseja usar como bucket de destino.

1. Escolha **Management** (Gerenciamento) e role para baixo até **Replication rules** (Regras de replicação).

1. Em **Actions** (Ações), escolha **Receive replicated objects** (Receber objetos replicados). 

   Siga as instruções e insira o ID da Conta da AWS do bucket de origem e escolha **Gerar políticas**. O console gera uma política de bucket do Amazon S3 e uma política de chave do KMS.

1. Para adicionar essa política à política de bucket existente, escolha **Apply settings** (Aplicar configurações) ou **Copy** (Copiar) para copiar manualmente as alterações. 

1. (Opcional) Copie a política AWS KMS na política de chave do KMS desejada no console do AWS Key Management Service. 

## (Opcional) Etapa 4: conceder permissões ao para alterar a propriedade da réplica
<a name="change-replica-ownership"></a>

Quando diferentes Contas da AWS são proprietárias dos buckets de origem e de destino, é possível instruir o Amazon S3 para alterar a propriedade da réplica para a Conta da AWS proprietária do bucket de destino. Para substituir a propriedade das réplicas, você deve conceder algumas permissões adicionais ou ajustar as configurações de propriedade de objetos do S3 para o bucket de destino. Para obter mais informações sobre a substituição do proprietário, consulte [Alterar o proprietário da réplica](replication-change-owner.md).

# Exemplos para configurar a replicação em tempo real
<a name="replication-example-walkthroughs"></a>

Os exemplos a seguir fornecem demonstrações passo a passo que mostram como configurar a replicação em tempo real para casos de uso comuns. 

**nota**  
Replicação em tempo real refere-se à Same-Region Replication (SRR – Replicação na Mesma Região) e à Cross-Region Replication (CRR – Replicação entre Regiões). A replicação em tempo real não replica nenhum objeto que já existia no bucket antes de você configurar a replicação. Para replicar objetos que já existiam antes de você configurar a replicação, use a replicação sob demanda. Para sincronizar buckets e replicar os objetos existentes sob demanda, consulte [Replicar objetos existentes](s3-batch-replication-batch.md).

Esses exemplos demonstram como criar uma configuração de replicação usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI) e AWS SDKs (exemplos de AWS SDK para Java e AWS SDK para .NET são mostrados). 

Consulte informações sobre como instalar e configurar a AWS CLI nos seguintes tópicos do *Guia do usuário da AWS Command Line Interface*:
+  [Get started with the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) 
+  [Configurar a AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html): é necessário configurar pelo menos um perfil. Se você estiver explorando cenários entre contas, configure dois perfis.

Consulte informações sobre os SDKs da AWS em [AWS SDK para Java](https://aws.amazon.com/sdk-for-java/) e [AWS SDK para .NET](https://aws.amazon.com/sdk-for-net/).

**dica**  
Consulte um tutorial detalhado que demonstra como usar a replicação em tempo real para replicar dados em [Tutorial: Replicar dados dentro das Regiões da AWS e entre elas usando a replicação do Amazon S3](https://aws.amazon.com/getting-started/hands-on/replicate-data-using-amazon-s3-replication/?ref=docs_gateway/amazons3/replication-example-walkthroughs.html).

**Topics**
+ [Configuração de buckets na mesma conta](replication-walkthrough1.md)
+ [Configuração de buckets em contas diferentes](replication-walkthrough-2.md)
+ [Uso do Controle do tempo de replicação do S3](replication-time-control.md)
+ [Replicar objetos criptografados](replication-config-for-kms-objects.md)
+ [Replicação de alterações de metadados](replication-for-metadata-changes.md)
+ [Replicação de marcadores de exclusão](delete-marker-replication.md)

# Configurar a replicação para buckets na mesma conta
<a name="replication-walkthrough1"></a>

A replicação em tempo real é a cópia assíncrona automática de objetos em buckets de uso geral em Regiões da AWS diferentes ou na mesma região. A replicação em tempo real copia os objetos recém-criados e as atualizações de objeto de um bucket de origem para buckets de destino. Para obter mais informações, consulte [Replicar objetos dentro de uma região e entre regiões](replication.md).

Ao configurar a replicação, você adiciona regras de replicação ao bucket de origem. As regras de replicação definem quais objetos do bucket de origem devem ser replicados e o bucket de destino ou buckets nos quais os objetos replicados são armazenados. Você pode criar uma regra para replicar todos os objetos dentro de um bucket ou um subgrupo de objetos com um prefixo específico de nome de chaves, uma ou mais tags de objetos ou ambos. Um bucket de destino pode estar na mesma Conta da AWS que o bucket de origem ou pode estar em uma conta diferente.

Se você especificar um ID da versão do objeto a ser excluído, o Amazon S3 excluirá essa versão do objeto no bucket de origem. No entanto, ele não replica a exclusão no bucket de destino. Em outras palavras: ele não exclui a mesma versão do objeto do bucket de destino. Isso protege os dados contra exclusões mal-intencionadas.

Quando você adiciona uma regra de replicação a um bucket, ela fica ativada por padrão, portanto, começa a funcionar assim que é salva. 

Neste exemplo, você configura a replicação em tempo real para os buckets de origem e de destino que pertencem à mesma Conta da AWS. São apresentados exemplos de uso do console do Amazon S3, da AWS Command Line Interface (AWS CLI), do AWS SDK para Java e do AWS SDK para .NET.

## Pré-requisitos
<a name="replication-prerequisites"></a>

Antes de usar os procedimentos a seguir, configure as permissões necessárias para replicação, dependendo se os buckets de origem e de destino pertencem à mesma conta ou a contas diferentes. Para obter mais informações, consulte [Configurar permissões para replicação em tempo real](setting-repl-config-perm-overview.md).

**nota**  
Se você quiser replicar objetos criptografados, também precisará conceder as permissões de chave do AWS Key Management Service (AWS KMS) necessárias. Para obter mais informações, consulte [Replicar objetos criptografados (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
Para usar a funcionalidade Bloqueio de Objetos com replicação, é necessário conceder duas permissões adicionais no bucket de origem do S3 no perfil do AWS Identity and Access Management (IAM) usado para configurar a replicação. As duas permissões adicionais são `s3:GetObjectRetention` e `s3:GetObjectLegalHold`. Se o perfil tiver uma instrução de permissão `s3:Get*`, essa instrução satisfará o requisito. Para obter mais informações, consulte [Usar a funcionalidade Bloqueio de Objetos com a funcionalidade Replicação do S3](object-lock-managing.md#object-lock-managing-replication). 

## Usar o console do S3
<a name="enable-replication"></a>

Para configurar uma regra de replicação quando o bucket de destino estiver na mesma Conta da AWS que o bucket de origem, siga estas etapas.

Se o bucket de destino estiver um uma conta diferente do bucket de origem, você deverá adicionar uma política ao bucket de destino. Assim, será possível conceder ao proprietário da conta do bucket de origem permissão para replicar objetos no bucket de destino. Para obter mais informações, consulte [(Opcional) Etapa 3: conceder permissões quando os buckets de origem e de destino pertencerem a Contas da AWS diferentes](setting-repl-config-perm-overview.md#setting-repl-config-crossacct).

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets de uso geral**.

1. Na lista de buckets, escolha o nome do bucket desejado.

1. Selecione a guia **Gerenciamento**, role para baixo até **Regras de replicação** e selecione **Criar regra de replicação**.

    

1. Na seção **Configuração da regra de replicação**, em **Nome da regra de replicação**, insira um nome para sua regra para ajudar a identificá-la posteriormente. O nome é obrigatório e precisa ser exclusivo dentro do bucket.

1. Em **Status**, **Enabled (Habilitado)** é selecionado por padrão. Uma regra ativada começa a funcionar assim que você a salva. Se você quiser ativar a regra posteriormente, selecione **Desabilitado**.

1. Se o bucket tiver regras de replicação existentes, você será instruído a definir uma prioridade para a regra. Defina uma prioridade para a regra, de maneira a evitar conflitos causados pelos objetos incluídos no escopo de mais de uma regra. No caso de sobreposição de regras, o Amazon S3 usa a prioridade da regra para determinar qual regra aplicar. Quanto maior o número, maior a prioridade. Para obter mais informações sobre prioridade de regra, consulte [Elementos do arquivo de configuração de replicação](replication-add-config.md).

1. Em **Bucket de origem**, você tem as seguintes opções para definir a origem da replicação:
   + Para replicar todo o bucket, escolha **Apply to all objects in the bucket** (Aplicar a todos os objetos no bucket). 
   + Para replicar todos os objetos que tenham o mesmo prefixo, escolha **Limit the scope of this rule using one or more filters (Limitar o escopo desta regra usando um ou mais filtros)**. Isso limita a replicação a todos os objetos que tenham nomes que começam com o prefixo especificado (por exemplo, `pictures`). Insira um prefixo na caixa **Prefixo**. 
**nota**  
Se você inserir um prefixo que seja o nome de uma pasta, é preciso usar **/** (barra) como o último caractere (por exemplo, `pictures/`).
   + Para replicar todos os objetos com uma ou mais tags de objeto, selecione **Adicionar tag** e insira o par de chave-valor nas caixas. Repita o procedimento para adicionar outra tag. Você pode combinar um prefixo e tags. Para obter mais informações sobre tags de objeto, consulte [Categorizar objetos usando tags](object-tagging.md).

   O novo esquema XML de configuração de replicação é compatível com os filtros de prefixo e tags e com a priorização das regras. Para obter mais informações sobre o novo esquema, consulte [Considerações sobre a compatibilidade com versões anteriores](replication-add-config.md#replication-backward-compat-considerations). Para obter mais informações sobre o XML usado com a API do Amazon S3 que funciona atrás da interface do usuário, consulte [Elementos do arquivo de configuração de replicação](replication-add-config.md). O novo esquema é descrito como *configuração de replicação XML V2*.

1. Em **Destino**, selecione o bucket no qual você deseja que o Amazon S3 replique objetos.
**nota**  
O número de buckets de destino é limitado ao número de Regiões da AWS em determinada partição. Uma partição é um agrupamento de regiões. Atualmente, a AWS tem três partições: `aws` (regiões padrão), `aws-cn` (regiões da China) e `aws-us-gov` (regiões AWS GovCloud (US)). Para solicitar um aumento da cota do bucket de destino, você pode usar [cotas de serviço](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html).
   + Para replicar para um bucket ou buckets em sua conta, selecione **Escolher um bucket nesta conta** e digite ou procure nomes de buckets de destino. 
   + Para replicar em um ou mais buckets em uma Conta da AWS diferente, selecione **Selecionar um bucket em outra conta** e insira o ID e o nome da conta do bucket de destino. 

     Se o destino estiver um uma conta diferente do bucket de origem, você deverá adicionar uma política de bucket aos buckets de destino para conceder ao proprietário da conta do bucket de origem permissão para replicar objetos. Para obter mais informações, consulte [(Opcional) Etapa 3: conceder permissões quando os buckets de origem e de destino pertencerem a Contas da AWS diferentes](setting-repl-config-perm-overview.md#setting-repl-config-crossacct).

     Opcionalmente, se você quiser padronizar a propriedade de novos objetos no bucket de destino, escolha **Alterar propriedade do objeto para o proprietário do bucket de destino**. Para obter mais informações sobre essa opção, consulte [Controlar a propriedade de objetos e desabilitar ACLs para seu bucket](about-object-ownership.md).
**nota**  
Se o versionamento não estiver ativado no bucket de destino, você receberá uma advertência que contém um botão **Enable versioning** (Habilitar versionamento). Escolha esse botão para habilitar o versionamento no bucket.

1. Configure uma função do AWS Identity and Access Management (IAM) que o Amazon S3 possa assumir para replicar objetos em seu nome.

   Para configurar um perfil do IAM, na seção **Perfil do IAM**, selecione uma das seguintes opções na lista suspensa de **perfis do IAM**:
   + Recomendamos que você escolha **Create new role (Criar nova função)** para que o Amazon S3 crie uma nova função do IAM para você. Quando você salva a regra, uma nova política é gerada para a função do IAM que coincide com os buckets de origem e de destino que você escolher.
   + Você pode usar uma função do IAM existente. Se fizer isso, escolha uma função que conceda ao Amazon S3 as permissões necessárias para a replicação. A replicação falhará se essa função não conceder ao Amazon S3 permissões suficientes para seguir sua regra de replicação.
**Importante**  
Quando você adiciona uma regra de replicação a um bucket, você deve ter a permissão `iam:PassRole` para poder transmitir a função do IAM que concede permissões de replicação do Amazon S3. Para ter mais informações, consulte [Conceder permissões ao usuário para transmitir um perfil a um AWS service (Serviço da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) no *Guia do usuário do IAM*.

1. Para replicar objetos no bucket de origem que estão criptografados com a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS), em **Criptografia**, selecione **Replicar objetos criptografados com o AWS KMS**. Em **chaves do AWS KMS para criptografar objetos de destino** estão as chaves de origem que você permite que a replicação use. Todas as chaves de origem do KMS são incluídas por padrão. Para limitar a seleção de chaves do KMS, você pode selecionar um alias ou um ID de chave. 

   Os objetos criptografados pelas AWS KMS keys que você não seleciona não são replicados. A chave do KMS ou um grupo de chaves do KMS é escolhido para você, mas você pode escolher as chaves do KMS, se desejar. Para obter informações sobre como usar o AWS KMS com replicação, consulte [Replicar objetos criptografados (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
**Importante**  
Ao replicar objetos que estão criptografados com AWS KMS, a taxa de solicitações do AWS KMS dobra na Região de origem e aumenta na Região de destino pelo mesmo valor. Essas taxas de chamada aprimoradas para AWS KMS se devem à forma com que os dados são recriptografados usando a chave do KMS que você define na região de destino de replicação. O AWS KMS tem uma cota de taxas de solicitação por conta de chamada por região. Para ter informações sobre os padrões de limite, consulte [Cotas do AWS KMS: solicitações por segundo: varia](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) no *Guia do desenvolvedor do AWS Key Management Service*.   
Se a taxa de solicitações do objeto `PUT` do Amazon S3 durante a replicação for maior do que a metade do limite da taxa padrão do AWS KMS para sua conta, recomendamos que você solicite um aumento da cota de taxa de solicitação do AWS KMS. Para solicitar um aumento, crie um caso no Suporte Center em [Entre em contato conosco](https://aws.amazon.com/contact-us/). Por exemplo, suponha que a sua taxa de solicitação do objeto `PUT` seja 1.000 solicitações por segundo e você use o AWS KMS para criptografar seus objetos. Nesse caso, recomendamos solicitar que o Suporte aumente o limite da taxa do AWS KMS para 2,5 mil solicitações por segundo nas regiões de origem e de destino (se forem diferentes) para garantir que não haja nenhum controle de utilização por parte do AWS KMS.   
Para ver a taxa de solicitação de objeto `PUT` no bucket de origem, visualize `PutRequests` nas métricas de solicitação do Amazon CloudWatch para o Amazon S3. Consulte informações sobre como visualizar métricas do CloudWatch em [Uso do console do S3](configure-request-metrics-bucket.md#configure-metrics).

   Se você escolheu replicar objetos criptografados com o AWS KMS, faça o seguinte: 

   1. Em **AWS KMS key para criptografar objetos de destino**, especifique sua chave do KMS de uma das seguintes formas:
     + Para escolher em uma lista de chaves do KMS disponíveis, selecione **Escolher entre suas AWS KMS keys** e escolha sua **chave do KMS** na lista de chaves disponíveis.

       As chaves Chave gerenciada pela AWS (`aws/s3`) e as chaves gerenciadas pelo cliente são exibidas nessa lista. Para ter mais informações sobre chaves gerenciadas pelo cliente, consulte [Chaves de clientes e chaves da AWS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) no *Guia do desenvolvedor do AWS Key Management Service*.
     + Para inserir o nome do recurso da Amazon (ARN) da chave do KMS, selecione **Inserir ARN da AWS KMS key** e insira o ARN da chave do KMS no campo exibido. Isso criptografa as réplicas no bucket de destino. Você pode encontrar o ARN da chave do KMS no [console do IAM](https://console.aws.amazon.com/iam/) em **Chaves de criptografia**. 
     + Para criar uma chave gerenciada pelo cliente no console do AWS KMS, selecione **Criar uma chave do KMS**.

       Para ter mais informações sobre como criar uma AWS KMS key, consulte [Criação de chaves](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) no * Guia do desenvolvedor do AWS Key Management Service*.
**Importante**  
Você só pode usar chaves do KMS habilitadas na mesma Região da AWS que o bucket. Quando você seleciona **Escolher de suas chaves do KMS**, o console do S3 lista somente 100 chaves do KMS por região. Se você tiver mais de 100 chaves do KMS na mesma região, será possível ver somente as primeiras 100 chaves do KMS no console do S3. Para usar uma chave do KMS que não esteja listada no console, escolha **Inserir o ARN da AWS KMS key** e insira o ARN de sua chave do KMS.  
Ao usar uma AWS KMS key para criptografia no lado do servidor no Amazon S3, você deve escolher uma chave de criptografia do KMS simétrica. O Amazon S3 só é compatível com chaves do KMS de criptografia simétrica, e não com chaves assimétricas do KMS. Para ter mais informações, consulte [Identificar chaves do KMS simétricas e assimétricas](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html) no *Guia do desenvolvedor do AWS Key Management Service*.

     Para obter mais informações sobre como criar uma AWS KMS key, consulte [Criação de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) no * Guia do desenvolvedor do AWS Key Management Service*. Para obter mais informações sobre como usar o AWS KMS com o Amazon S3, consulte [Usar criptografia do lado do servidor com o AWS KMS (SSE-KMS)](UsingKMSEncryption.md).

1. Em **Classe de armazenamento de destino**, se você quiser replicar seus dados em uma classe de armazenamento específica no destino, escolha **Alterar a classe de armazenamento dos objetos replicados**. Em seguida, escolha a classe de armazenamento que você deseja usar para os objetos replicados no destino. Se você não selecionar essa opção, a classe de armazenamento para objetos replicados será a mesma classe dos objetos originais.

1. Você tem as seguintes opções adicionais ao definir as **Opções de replicação adicionais**:
   + Se você quiser ativar o Controle do Tempo de Replicação do S3 (S3 RTC) na configuração de replicação, selecione **Controle do Tempo de Replicação (RTC)**. Para obter mais informações sobre essa opção, consulte [Atender aos requisitos de conformidade com o Controle do Tempo de Replicação do S3](replication-time-control.md).
   + Se você quiser habilitar métricas de replicação do S3 na configuração de replicação, selecione **Replication metrics and events** (Métricas e eventos de replicação). Para obter mais informações, consulte [Monitorar a replicação com métricas, notificações de eventos e status](replication-metrics.md).
   + Se quiser habilitar a replicação de marcadores de exclusão na configuração de replicação, selecione **Delete marker replication** (Excluir replicação de marcador). Para obter mais informações, consulte [Replicação de marcadores de exclusão entre intervalos](delete-marker-replication.md).
   + Se você quiser habilitar a sincronização de modificação de réplica do Amazon S3 em sua configuração de replicação, selecione **Replica modification sync** (Sincronização de modificação de réplica). Para obter mais informações, consulte [Replicação de alterações de metadados com sincronização de modificação de réplica](replication-for-metadata-changes.md).
**nota**  
Quando você usa métricas de replicação do S3 RTC ou S3, aplicam-se taxas adicionais.

1. Para terminar, escolha **Save** (Salvar).

1. Depois de salvar sua regra, você pode editar, ativar, desativar ou excluir sua regra selecionando sua regra e escolhendo **Edit rule (Editar regra)**. 

## Usar a AWS CLI
<a name="replication-ex1-cli"></a>

Para configurar a AWS CLI para configurar a replicação quando os buckets de origem e de destino pertencem à mesma Conta da AWS, faça o seguinte:
+ Crie os buckets de origem e de destino.
+ Habilite o versionamento nos buckets.
+ Crie um perfil do AWS Identity and Access Management (IAM) que dê ao Amazon S3 permissão para replicar objetos.
+ Adicione uma configuração de replicação ao bucket de origem.

Para verificar sua configuração, teste-a.

**Como configurar a replicação quando os buckets de origem e de destino pertencem à mesma Conta da AWS**

1. Defina um perfil de credenciais para a AWS CLI. Este exemplo usa o nome de perfil `acctA`. Consulte mais informações sobre como configurar perfis de credenciais e como usar perfis nomeados em [Configuration and credential file settings](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) no *Guia do usuário da AWS Command Line Interface*. 
**Importante**  
O perfil que você usar para este exemplo deve ter as permissões necessárias. Por exemplo, na configuração da replicação, especifique a função do IAM que o Amazon S3 pode assumir. Você só poderá fazer isso se o perfil usado tiver a permissão `iam:PassRole`. Consulte mais informações em [Conceda permissões a um usuário para passar um perfil para um AWS service (Serviço da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) no *Guia do usuário do IAM*. Se você usar credenciais de administrador para criar um perfil nomeado, poderá executar todas as tarefas. 

1. Crie um bucket de origem e habilite o versionamento nele usando os comandos da AWS CLI a seguir. Para usar esses comandos, substitua *`user input placeholders`* por suas próprias informações. 

   O comando `create-bucket` a seguir cria um bucket de origem chamado `amzn-s3-demo-source-bucket` na região Leste dos EUA (N. da Virgínia) (`us-east-1`):

   

   ```
   aws s3api create-bucket \
   --bucket amzn-s3-demo-source-bucket \
   --region us-east-1 \
   --profile acctA
   ```

   O comando `put-bucket-versioning` a seguir habilita o Versionamento do S3 no bucket do `amzn-s3-demo-source-bucket`: 

   ```
   aws s3api put-bucket-versioning \
   --bucket amzn-s3-demo-source-bucket \
   --versioning-configuration Status=Enabled \
   --profile acctA
   ```

1. Crie um bucket de destino e habilite o versionamento nele usando os comandos da AWS CLI a seguir. Para usar esses comandos, substitua *`user input placeholders`* por suas próprias informações. 
**nota**  
Para fazer a configuração de uma replicação quando os buckets de origem e de destino estiverem na mesma Conta da AWS, use o mesmo perfil para os buckets de origem e destino. Este exemplo usa `acctA`.   
Para testar a configuração da replicação quando os buckets pertencerem a diferentes contas da Contas da AWS, especifique diferentes perfis para cada conta. Por exemplo, use um perfil `acctB` para o bucket de destino.

   

   O comando `create-bucket` a seguir cria um bucket de destino chamado `amzn-s3-demo-destination-bucket` na região Oeste dos EUA (Oregon) (`us-west-2`):

   ```
   aws s3api create-bucket \
   --bucket amzn-s3-demo-destination-bucket \
   --region us-west-2 \
   --create-bucket-configuration LocationConstraint=us-west-2 \
   --profile acctA
   ```

   O comando `put-bucket-versioning` a seguir habilita o Versionamento do S3 no bucket do `amzn-s3-demo-destination-bucket`: 

   ```
   aws s3api put-bucket-versioning \
   --bucket amzn-s3-demo-destination-bucket \
   --versioning-configuration Status=Enabled \
   --profile acctA
   ```

1. Crie uma função do IAM. Você especifica essa função na configuração da replicação que adiciona ao bucket de origem posteriormente. O Amazon S3 assume essa função para replicar objetos em seu nome. A função do IAM é criada em duas etapas:
   + Crie uma função.
   + Anexar uma política de permissões à função.

   1. Crie a função do IAM.

      1. Copie a política de confiança a seguir e salve-a em um arquivo chamado `s3-role-trust-policy.json` no diretório atual do computador local. Essa política concede à entidade principal do serviço Amazon S3 permissões para assumir o perfil.

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

****  

         ```
         {
            "Version":"2012-10-17",		 	 	 
            "Statement":[
               {
                  "Effect":"Allow",
                  "Principal":{
                     "Service":"s3.amazonaws.com"
                  },
                  "Action":"sts:AssumeRole"
               }
            ]
         }
         ```

------

      1. Execute o comando a seguir para criar uma função.

         ```
         $ aws iam create-role \
         --role-name replicationRole \
         --assume-role-policy-document file://s3-role-trust-policy.json  \
         --profile acctA
         ```

   1. Anexar uma política de permissões à função.

      1. Copie a política de permissões a seguir e salve-a em um arquivo com o nome `s3-role-permissions-policy.json` no diretório atual do computador local. Essa política concede permissões para várias ações de bucket e objetos do Amazon S3. 

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

****  

         ```
         {
            "Version":"2012-10-17",		 	 	 
            "Statement":[
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:GetObjectVersionForReplication",
                     "s3:GetObjectVersionAcl",
                     "s3:GetObjectVersionTagging"
                  ],
                  "Resource":[
                     "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
                  ]
               },
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:ListBucket",
                     "s3:GetReplicationConfiguration"
                  ],
                  "Resource":[
                     "arn:aws:s3:::amzn-s3-demo-source-bucket"
                  ]
               },
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:ReplicateObject",
                     "s3:ReplicateDelete",
                     "s3:ReplicateTags"
                  ],
                  "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
               }
            ]
         }
         ```

------
**nota**  
Se você quiser replicar objetos criptografados, também precisará conceder as permissões de chave do AWS Key Management Service (AWS KMS) necessárias. Para obter mais informações, consulte [Replicar objetos criptografados (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
Para usar a funcionalidade Bloqueio de Objetos com replicação, é necessário conceder duas permissões adicionais no bucket de origem do S3 no perfil do AWS Identity and Access Management (IAM) usado para configurar a replicação. As duas permissões adicionais são `s3:GetObjectRetention` e `s3:GetObjectLegalHold`. Se o perfil tiver uma instrução de permissão `s3:Get*`, essa instrução satisfará o requisito. Para obter mais informações, consulte [Usar a funcionalidade Bloqueio de Objetos com a funcionalidade Replicação do S3](object-lock-managing.md#object-lock-managing-replication). 

      1. Execute o comando a seguir para criar uma política e ligá-la à função. Substitua *`user input placeholders`* por suas próprias informações.

         ```
         $ aws iam put-role-policy \
         --role-name replicationRole \
         --policy-document file://s3-role-permissions-policy.json \
         --policy-name replicationRolePolicy \
         --profile acctA
         ```

1. Adicione uma configuração de replicação ao bucket de origem. 

   1. Embora a API do Amazon S3 exija que você especifique a configuração da replicação como XML, a AWS CLI requer que você especifique a configuração de replicação como JSON. Salve o JSON a seguir em um arquivo chamado `replication.json` no diretório local do seu computador.

      ```
      {
        "Role": "IAM-role-ARN",
        "Rules": [
          {
            "Status": "Enabled",
            "Priority": 1,
            "DeleteMarkerReplication": { "Status": "Disabled" },
            "Filter" : { "Prefix": "Tax"},
            "Destination": {
              "Bucket": "arn:aws:s3:::amzn-s3-demo-destination-bucket"
            }
          }
        ]
      }
      ```

   1. Atualize o JSON substituindo os valores de `amzn-s3-demo-destination-bucket` e `IAM-role-ARN` por suas próprias informações. Salve as alterações.

   1. Execute o comando `put-bucket-replication` a seguir para adicionar a configuração de replicação ao bucket de origem. Dê um nome ao bucket de origem:

      ```
      $ aws s3api put-bucket-replication \
      --replication-configuration file://replication.json \
      --bucket amzn-s3-demo-source-bucket \
      --profile acctA
      ```

   Para recuperar a configuração de replicação, use o comando `get-bucket-replication`:

   ```
   $ aws s3api get-bucket-replication \
   --bucket amzn-s3-demo-source-bucket \
   --profile acctA
   ```

1. Teste a configuração no console do Amazon S3, seguindo estas etapas:

   1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

   1. No painel de navegação à esquerda, escolha **Buckets**. Na lista **Buckets de uso geral**, selecione o bucket de origem.

   1. No bucket de origem, crie uma pasta chamada `Tax`. 

   1. Adicione objetos de amostra à pasta `Tax` no bucket de origem. 
**nota**  
O tempo necessário para o Amazon S3 replicar um objeto depende do tamanho do objeto. Para obter informações sobre como ver o status da replicação, consulte [Obtenção de informações sobre o status da replicação](replication-status.md).

      No bucket de destino, verifique o seguinte:
      + Se o Amazon S3 replicou os objetos.
      + Se os objetos são réplicas. Na guia **Propriedades** dos objetos, role para baixo até a seção **Visão geral do gerenciamento de objetos**. Em **Configurações de gerenciamento**, veja o valor em **Status da replicação**. Esse valor deve ser definido como `REPLICA`.
      + Se as réplicas pertencem à conta do bucket de origem. É possível verificar a propriedade do objeto na guia **Permissões** dos objetos. 

        Se os buckets de origem e de destino pertencerem a contas diferentes, você poderá adicionar uma configuração opcional para instruir o Amazon S3 a alterar a propriedade da réplica à conta de destino. Para ver um exemplo, consulte [Como alterar o proprietário da réplica](replication-change-owner.md#replication-walkthrough-3). 

## Uso da SDKs AWS
<a name="replication-ex1-sdk"></a>

Use os exemplos de código a seguir para adicionar uma configuração de replicação ao bucket com AWS SDK para Java e AWS SDK para .NET, respectivamente.

**nota**  
Se você quiser replicar objetos criptografados, também precisará conceder as permissões de chave do AWS Key Management Service (AWS KMS) necessárias. Para obter mais informações, consulte [Replicar objetos criptografados (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md).
Para usar a funcionalidade Bloqueio de Objetos com replicação, é necessário conceder duas permissões adicionais no bucket de origem do S3 no perfil do AWS Identity and Access Management (IAM) usado para configurar a replicação. As duas permissões adicionais são `s3:GetObjectRetention` e `s3:GetObjectLegalHold`. Se o perfil tiver uma instrução de permissão `s3:Get*`, essa instrução satisfará o requisito. Para obter mais informações, consulte [Usar a funcionalidade Bloqueio de Objetos com a funcionalidade Replicação do S3](object-lock-managing.md#object-lock-managing-replication). 

------
#### [ Java ]

Para adicionar uma configuração de replicação a um bucket e, em seguida, recuperar e verificar a configuração usando o AWS SDK para Java, você pode usar a S3Client para gerenciar as configurações de replicação programaticamente.

Para obter exemplos de como configurar a replicação com o AWS SDK para Java, consulte [Set replication configuration on a bucket](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutBucketReplication_section.html) na *Referência de API do Amazon S3*.

------
#### [ C\$1 ]

O exemplo de código de AWS SDK para .NET a seguir adiciona uma configuração de replicação a um bucket e, depois, a recupera. Para usar esse código, dê nomes aos buckets e o nome de recurso da Amazon (ARN) à função do IAM. Consulte informações sobre como configurar e executar exemplos de código, em [Getting Started with the AWS SDK para .NET](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config.html) no *Guia do desenvolvedor do AWS SDK para .NET*. 

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class CrossRegionReplicationTest
    {
        private const string sourceBucket = "*** source bucket ***";
        // Bucket ARN example - arn:aws:s3:::destinationbucket
        private const string destinationBucketArn = "*** destination bucket ARN ***";
        private const string roleArn = "*** IAM Role ARN ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint sourceBucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 s3Client;
        public static void Main()
        {
            s3Client = new AmazonS3Client(sourceBucketRegion);
            EnableReplicationAsync().Wait();
        }
        static async Task EnableReplicationAsync()
        {
            try
            {
                ReplicationConfiguration replConfig = new ReplicationConfiguration
                {
                    Role = roleArn,
                    Rules =
                        {
                            new ReplicationRule
                            {
                                Prefix = "Tax",
                                Status = ReplicationRuleStatus.Enabled,
                                Destination = new ReplicationDestination
                                {
                                    BucketArn = destinationBucketArn
                                }
                            }
                        }
                };

                PutBucketReplicationRequest putRequest = new PutBucketReplicationRequest
                {
                    BucketName = sourceBucket,
                    Configuration = replConfig
                };

                PutBucketReplicationResponse putResponse = await s3Client.PutBucketReplicationAsync(putRequest);

                // Verify configuration by retrieving it.
                await RetrieveReplicationConfigurationAsync(s3Client);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message);
            }
        }
        private static async Task RetrieveReplicationConfigurationAsync(IAmazonS3 client)
        {
            // Retrieve the configuration.
            GetBucketReplicationRequest getRequest = new GetBucketReplicationRequest
            {
                BucketName = sourceBucket
            };
            GetBucketReplicationResponse getResponse = await client.GetBucketReplicationAsync(getRequest);
            // Print.
            Console.WriteLine("Printing replication configuration information...");
            Console.WriteLine("Role ARN: {0}", getResponse.Configuration.Role);
            foreach (var rule in getResponse.Configuration.Rules)
            {
                Console.WriteLine("ID: {0}", rule.Id);
                Console.WriteLine("Prefix: {0}", rule.Prefix);
                Console.WriteLine("Status: {0}", rule.Status);
            }
        }
    }
}
```

------

# Configuração da replicação de buckets em contas diferentes
<a name="replication-walkthrough-2"></a>

A replicação em tempo real é a cópia assíncrona automática de objetos em buckets na mesma região da AWS ou em Regiões da AWS diferentes. A replicação em tempo real copia os objetos recém-criados e as atualizações de objeto de um bucket de origem para buckets de destino. Para obter mais informações, consulte [Replicar objetos dentro de uma região e entre regiões](replication.md).

Ao configurar a replicação, você adiciona regras de replicação ao bucket de origem. As regras de replicação definem quais objetos do bucket de origem devem ser replicados e o bucket de destino ou buckets nos quais os objetos replicados são armazenados. Você pode criar uma regra para replicar todos os objetos dentro de um bucket ou um subgrupo de objetos com um prefixo específico de nome de chaves, uma ou mais tags de objetos ou ambos. Um bucket de destino pode estar na mesma Conta da AWS que o bucket de origem ou pode estar em uma conta diferente.

Se você especificar um ID da versão do objeto a ser excluído, o Amazon S3 excluirá essa versão do objeto no bucket de origem. No entanto, ele não replica a exclusão no bucket de destino. Em outras palavras: ele não exclui a mesma versão do objeto do bucket de destino. Isso protege os dados contra exclusões mal-intencionadas.

Quando você adiciona uma regra de replicação a um bucket, ela fica ativada por padrão, portanto, começa a funcionar assim que é salva. 

A configuração da replicação em tempo real quando os buckets de origem e de destino pertencem a Contas da AWS diferentes é semelhante à configuração da replicação quando os dois buckets pertencem à mesma conta. No entanto, há várias diferenças quando você configura a replicação em um cenário entre contas diferentes: 
+ O proprietário do bucket de destino deve conceder ao proprietário do bucket de destino permissão para replicar objetos na política do bucket de destino. 
+ Se você estiver replicando objetos criptografados com a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS) em um cenário entre contas diferentes, o proprietário da chave do KMS deverá conceder ao proprietário do bucket de origem permissão para usar a chave do KMS. Para obter mais informações, consulte [Conceder permissões adicionais para cenários entre contas](replication-config-for-kms-objects.md#replication-kms-cross-acct-scenario). 
+ Por padrão, os objetos replicados pertencem ao proprietário do bucket de origem. Em um cenário entre contas diferentes, você pode querer configurar a replicação para alterar a propriedade dos objetos replicados ao proprietário do bucket de destino. Para obter mais informações, consulte [Alterar o proprietário da réplica](replication-change-owner.md).

**Para configurar a replicação quando os buckets de origem e destino pertencem a diferentes Contas da AWS**

1. Neste exemplo, você cria buckets de origem e de destino em duas Contas da AWS diferentes. Você deve ter dois perfis de credencial definidos para a AWS CLI. Este exemplo usa `acctA` e `acctB` para esses nomes de perfil. Consulte mais informações sobre como configurar perfis de credenciais e como usar perfis nomeados em [Configuration and credential file settings](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) no *Guia do usuário da AWS Command Line Interface*. 

1. Siga as instruções passo a passo em [Configurar a replicação para buckets na mesma conta](replication-walkthrough1.md) com as seguintes alterações:
   + Para todos os comandos da AWS CLI relacionados a atividades do bucket de origem (como criar o bucket de origem, habilitar o versionamento e criar o perfil do IAM), use o perfil `acctA`. Use o perfil `acctB` para criar o bucket de destino. 
   + Verifique se a política e permissões para o perfil do IAM especifica os buckets de origem e de destino que você criou para este exemplo.

1. No console, adicione a seguinte política do bucket ao bucket de destino para permitir que o proprietário do bucket de origem replique objetos. Para instruções, consulte [Adicionar uma política de bucket usando o console do Amazon S3](add-bucket-policy.md). Edite a política fornecendo o ID da Conta da AWS do proprietário do bucket de origem, o nome do perfil do IAM e o nome do bucket de destino. 
**nota**  
Para usar o exemplo a seguir, substitua os `user input placeholders` por suas próprias informações. Substitua `amzn-s3-demo-destination-bucket` pelo nome do bucket de destino. Substitua `source-bucket-account-ID:role/service-role/source-account-IAM-role` no nome do recurso da Amazon (ARN) pelo perfil do IAM que você está usando para essa configuração de replicação.  
Se você criou o perfil de serviço do IAM manualmente, defina o caminho do perfil no ARN do IAM como `role/service-role/`, conforme mostrado no exemplo de política a seguir. Para obter mais informações, consulte [ARNs do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) no *Guia do usuário do IAM*. 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Id": "",
       "Statement": [
           {
               "Sid": "Set-permissions-for-objects",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/service-role/source-account-IAM-role"
               },
               "Action": [
                   "s3:ReplicateObject",
                   "s3:ReplicateDelete"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
           },
           {
               "Sid": "Set-permissions-on-bucket",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/service-role/source-account-IAM-role"
               },
               "Action": [
                   "s3:GetBucketVersioning",
                   "s3:PutBucketVersioning"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket"
           }
       ]
   }
   ```

------

1. (Opcional) Se você estiver replicando objetos criptografados com a SSE-KMS, o proprietário da chave do KMS deverá conceder ao proprietário do bucket de origem permissão para usar a chave do KMS. Para obter mais informações, consulte [Conceder permissões adicionais para cenários entre contas](replication-config-for-kms-objects.md#replication-kms-cross-acct-scenario).

1. (Opcional) Na replicação, o proprietário do objeto de origem possui a réplica por padrão. Quando os buckets de origem e de destino pertencerem a Contas da AWS diferentes, é possível adicionar configurações opcionais para alterar a propriedade da réplica para a Conta da AWS que possui os buckets de destino. Isso inclui conceder a permissão `ObjectOwnerOverrideToBucketOwner`. Para obter mais informações, consulte [Alterar o proprietário da réplica](replication-change-owner.md).

# Alterar o proprietário da réplica
<a name="replication-change-owner"></a>

Na replicação, por padrão o proprietário do objeto de origem também é proprietário da réplica. No entanto, quando os buckets de origem e de destino pertencem a Contas da AWS diferentes, você pode querer alterar a propriedade da réplica. Por exemplo, você pode querer alterar a propriedade para restringir o acesso a replicas de objetos. Na configuração de replicação, é possível adicionar configurações opcionais para alterar a propriedade da réplica para a Conta da AWS que possui os buckets de destino. 

Para alterar o proprietário da réplica, faça o seguinte:
+ Adicione a opção de *substituição do proprietário* à configuração da replicação para instruir o Amazon S3 a alterar a propriedade da réplica. 
+ Conceda ao Amazon S3 a permissão `s3:ObjectOwnerOverrideToBucketOwner` para alterar a propriedade da réplica. 
+ Adicione a permissão `s3:ObjectOwnerOverrideToBucketOwner` na política do bucket de destino para permitir a alteração da propriedade da réplica. A permissão `s3:ObjectOwnerOverrideToBucketOwner` autoriza que o proprietário do bucket de destino aceite a propriedade das réplicas de objetos.

Para obter mais informações, consulte [Considerações sobre a opção de substituição da propriedade](#repl-ownership-considerations) e [Adicionar a opção de substituição do proprietário à configuração da replicação](#repl-ownership-owneroverride-option). Para ver um exemplo funcional com instruções detalhadas, consulte [Como alterar o proprietário da réplica](#replication-walkthrough-3).

**Importante**  
Em vez de usar a opção de substituição do proprietário do bucket, é possível usar a configuração aplicada pelo proprietário do bucket em Propriedade de objeto. Quando você usa a replicação e os buckets de origem e de destino pertencem a Contas da AWS diferentes, o proprietário do bucket de destino pode usar a configuração aplicada pelo proprietário do bucket em Propriedade de objetos para alterar a propriedade da réplica para a Conta da AWS que possui o bucket de destino. Essa configuração desabilita listas de controle de acesso (ACLs) de objetos.   
A configuração aplicada pelo proprietário do bucket imita o comportamento de substituição do proprietário existente sem a necessidade da permissão `s3:ObjectOwnerOverrideToBucketOwner`. Todos os objetos que são replicados para o bucket de destino com a configuração aplicada pelo proprietário do bucket pertencem ao proprietário do bucket de destino. Para obter informações sobre o Object Ownership, consulte [Controlar a propriedade de objetos e desabilitar ACLs para seu bucket](about-object-ownership.md).

## Considerações sobre a opção de substituição da propriedade
<a name="repl-ownership-considerations"></a>

Ao configurar a opção de substituição da propriedade, aplicam-se as seguintes considerações:
+ Por padrão, o proprietário do objeto de origem também possui a réplica. O Amazon S3 replica a versão do objeto e a ACL associada a ela.

  Se você adicionar a opção de substituição do proprietário à configuração de replicação, o Amazon S3 replicará somente a versão do objeto, não a ACL. Além disso, o Amazon S3 não replica as alterações subsequentes na ACL do objeto de origem. O Amazon S3 define a ACL na réplica que concede controle total ao proprietário do bucket de destino. 
+  Ao atualizar uma configuração de replicação para habilitar ou desabilitar a substituição do proprietário, ocorrerá o seguinte comportamento:
  + Se você adicionar a opção de substituição do proprietário à configuração da replicação:

    Quando o Amazon S3 replica uma versão do objeto, ele descarta a ACL associada ao objeto de origem. Em vez disso, o Amazon S3 define a ACL na réplica, dando o controle total ao proprietário do bucket de destino. O Amazon S3 não replica as alterações subsequentes na ACL do objeto de origem. No entanto, essa alteração na ACL não se aplica às versões de objeto replicadas antes de você definir a opção de substituição do proprietário. As atualizações da ACL nos objetos de origem replicados antes da substituição do proprietário foram definidas para continuarem a ser replicadas (porque o objeto e suas réplicas continuam a ter o mesmo proprietário).
  + Se você remover a opção de substituição do proprietário da configuração da replicação:

    O Amazon S3 replica novos objetos que aparecem no bucket de origem e as ACLs associadas aos buckets de destino. Para objetos replicados antes de você ter removido a substituição do proprietário, o Amazon S3 não replicará as ACLs, pois a propriedade do objeto muda, de maneira que o Amazon S3 feito permanece em vigor. Em outras palavras: as ACLs colocaram a versão do objeto que foi replicada quando a substituição do proprietário tinha sido substituída para não continuarem a ser replicadas.

## Adicionar a opção de substituição do proprietário à configuração da replicação
<a name="repl-ownership-owneroverride-option"></a>

**Atenção**  
Adicione a opção de substituição do proprietário somente quando os buckets de origem e de destino pertencerem a diferentes Contas da AWS. O Amazon S3 não verifica se os buckets pertencem à mesma conta ou a contas diferentes. Se você adicionar a substituição do proprietário quando os dois buckets pertencerem à mesma Conta da AWS, o Amazon S3 aplicará a substituição do proprietário. Essa opção concede permissões completas ao proprietário do bucket de destino e não replica as atualizações subsequentes às listas de controle de acesso (ACLs) dos objetos de origem. O proprietário da réplica pode alterar diretamente na ACL associada a uma réplica com uma solicitação `PutObjectAcl`, mas não por replicação.

Para especificar a opção de substituição do proprietário, adicione o seguinte ao elemento `Destination`: 
+ O elemento `AccessControlTranslation`, que diz ao Amazon S3 para alterar a propriedade da réplica
+ O elemento `Account`, que especifica a Conta da AWS do proprietário do bucket de destino 

```
<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    ...
    <Destination>
      ...
      <AccessControlTranslation>
           <Owner>Destination</Owner>
       </AccessControlTranslation>
      <Account>destination-bucket-owner-account-id</Account>
    </Destination>
  </Rule>
</ReplicationConfiguration>
```

A configuração da replicação do exemplo a seguir instrui o Amazon S3 a replicar os objetos que têm o prefixo de chaves *`Tax`* ao bucket de destino `amzn-s3-demo-destination-bucket` e alterar a propriedade das réplicas. Para usar esse exemplo, substitua os `user input placeholders` por suas próprias informações.

```
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   <Role>arn:aws:iam::account-id:role/role-name</Role>
   <Rule>
      <ID>Rule-1</ID>
      <Priority>1</Priority>
      <Status>Enabled</Status>
      <DeleteMarkerReplication>
         <Status>Disabled</Status>
      </DeleteMarkerReplication>
      <Filter>
         <Prefix>Tax</Prefix>
      </Filter>
      <Destination>
         <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
         <Account>destination-bucket-owner-account-id</Account>
         <AccessControlTranslation>
            <Owner>Destination</Owner>
         </AccessControlTranslation>
      </Destination>
   </Rule>
</ReplicationConfiguration>
```

## Conceder permissão do Amazon S3 para alterar a propriedade da réplica
<a name="repl-ownership-add-role-permission"></a>

Conceda permissões do Amazon S3 para alterar a propriedade da réplica adicionando permissão para a ação `s3:ObjectOwnerOverrideToBucketOwner` na política de permissões associada ao perfil do AWS Identity and Access Management (IAM). Esse é o perfil do IAM especificado na configuração de replicação que permite que o Amazon S3 assuma e replique objetos em seu nome. Para usar o exemplo a seguir, substitua `amzn-s3-demo-destination-bucket` pelo nome do bucket de destino.

```
...
{
    "Effect":"Allow",
         "Action":[
       "s3:ObjectOwnerOverrideToBucketOwner"
    ],
    "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
}
...
```

## Adicionar a permissão na política do bucket de destino para permitir a alteração da propriedade da réplica
<a name="repl-ownership-accept-ownership-b-policy"></a>

O proprietário do bucket de destino deve conceder ao proprietário da permissão do bucket de origem para alterar a propriedade da réplica. A propriedade do bucket de destino concede ao proprietário do bucket de origem permissão para a ação `s3:ObjectOwnerOverrideToBucketOwner`. Essa permissão autoriza que o proprietário do bucket de destino aceite a propriedade das réplicas de objetos. O exemplo de declaração de política do bucket a seguir mostra como fazer isso. Para usar esse exemplo, substitua os `user input placeholders` por suas próprias informações.

```
...
{
    "Sid":"1",
    "Effect":"Allow",
    "Principal":{"AWS":"source-bucket-account-id"},
    "Action":["s3:ObjectOwnerOverrideToBucketOwner"],
    "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
}
...
```

## Como alterar o proprietário da réplica
<a name="replication-walkthrough-3"></a>

Quando os buckets de origem e de destino em uma configuração de replicação pertencem a Contas da AWS diferentes, você pode instruir o Amazon S3 a alterar a propriedade da réplica para a Conta da AWS que possui o bucket de destino. Os exemplos a seguir mostram como usar o console do Amazon S3, a AWS Command Line Interface (AWS CLI) e os SDKs da AWS para alterar a propriedade da réplica. 

### Usar o console do S3
<a name="replication-ex3-console"></a>

Para obter instruções detalhadas, consulte [Configurar a replicação para buckets na mesma conta](replication-walkthrough1.md). Este tópico fornece instruções para definir a configuração da replicação quando os buckets de origem e de destino pertencerem às mesmas Contas da AWS ou a contas diferentes.

### Como usar o AWS CLI
<a name="replication-ex3-cli"></a>

O procedimento a seguir mostra como alterar a propriedade da réplica usando a AWS CLI. Neste procedimento, você faz o seguinte: 
+ Crie os buckets de origem e de destino.
+ Habilite o versionamento nos buckets.
+ Crie um perfil do AWS Identity and Access Management (IAM) que dê ao Amazon S3 permissão para replicar objetos.
+ Adicione uma configuração de replicação ao bucket de origem.
+ Na configuração da replicação, você instrui o Amazon S3 a alterar a propriedade da réplica.
+ Você testa a configuração de replicação.

**Como alterar o proprietário da réplica quando os buckets de origem e de destino pertencem a Contas da AWS diferentes (AWS CLI)**

Para usar os comandos AWS CLI de exemplo neste procedimento, substitua `user input placeholders` por suas informações. 

1. Neste exemplo, você cria os buckets de origem e de destino em duas Contas da AWS diferentes. Para trabalhar com essas duas contas, configure a AWS CLI com dois perfis nomeados. Este exemplo usa os perfis denominados *`acctA`* e *`acctB`*, respectivamente. Consulte mais informações sobre como configurar perfis de credenciais e como usar perfis nomeados em [Configuration and credential file settings](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) no *Guia do usuário da AWS Command Line Interface*. 
**Importante**  
Os perfis que você usar para este procedimento devem ter as permissões necessárias. Por exemplo, na configuração da replicação, especifique a função do IAM que o Amazon S3 pode assumir. Você só poderá fazer isso se o perfil usado tiver a permissão `iam:PassRole`. Se usar as credenciais do usuário administrador para criar um perfil nomeado, você poderá realizar todas as tarefas nesse procedimento. Para ter mais informações, consulte [Conceder permissões ao usuário para transmitir um perfil a um AWS service (Serviço da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) no *Guia do usuário do IAM*. 

1. Crie o bucket de origem e habilite o versionamento. Esse exemplo cria um bucket de origem chamado `amzn-s3-demo-source-bucket` na região Leste dos EUA (N. da Virgínia) (`us-east-1`). 

   ```
   aws s3api create-bucket \
   --bucket amzn-s3-demo-source-bucket \
   --region us-east-1 \
   --profile acctA
   ```

   ```
   aws s3api put-bucket-versioning \
   --bucket amzn-s3-demo-source-bucket \
   --versioning-configuration Status=Enabled \
   --profile acctA
   ```

1. Crie um bucket de destino e habilite o versionamento. Esse exemplo cria um bucket de destino chamado `amzn-s3-demo-destination-bucket` na região Oeste dos EUA (Oregon) (`us-west-2`). Use um perfil de Conta da AWS diferente do usado para o bucket de origem.

   ```
   aws s3api create-bucket \
   --bucket amzn-s3-demo-destination-bucket \
   --region us-west-2 \
   --create-bucket-configuration LocationConstraint=us-west-2 \
   --profile acctB
   ```

   ```
   aws s3api put-bucket-versioning \
   --bucket amzn-s3-demo-destination-bucket \
   --versioning-configuration Status=Enabled \
   --profile acctB
   ```

1. É necessário adicionar permissões à política de bucket de destino para permitir a alteração da propriedade da réplica.

   1.  Salve a política a seguir em um arquivo chamado `destination-bucket-policy.json`. Substitua *`user input placeholders`* por suas próprias informações.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "destination_bucket_policy_sid",
                  "Principal": {
                      "AWS": "source-bucket-owner-123456789012"
                  },
                  "Action": [
                      "s3:ReplicateObject",
                      "s3:ReplicateDelete",
                      "s3:ObjectOwnerOverrideToBucketOwner",
                      "s3:ReplicateTags",
                      "s3:GetObjectVersionTagging"
                  ],
                  "Effect": "Allow",
                  "Resource": [
                      "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
                  ]
              }
          ]
      }
      ```

------

   1. Adicione a política anterior ao bucket de destino usando o seguinte comando `put-bucket-policy`:

      ```
      aws s3api put-bucket-policy --region $ {destination-region} --bucket $ {amzn-s3-demo-destination-bucket} --policy file://destination_bucket_policy.json
      ```

1. Crie uma função do IAM. Você especifica essa função na configuração da replicação que adiciona ao bucket de origem posteriormente. O Amazon S3 assume essa função para replicar objetos em seu nome. A função do IAM é criada em duas etapas:
   + Crie a função.
   + Anexar uma política de permissões à função.

   1. Crie a função do IAM.

      1. Copie a política de confiança a seguir e salve-a em um arquivo chamado `s3-role-trust-policy.json` no diretório atual do computador local. Essa política concede ao Amazon S3 permissões para assumir a função.

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

****  

         ```
         {
            "Version":"2012-10-17",		 	 	 
            "Statement":[
               {
                  "Effect":"Allow",
                  "Principal":{
                     "Service":"s3.amazonaws.com"
                  },
                  "Action":"sts:AssumeRole"
               }
            ]
         }
         ```

------

      1. Execute o seguinte comando `create-role` da AWS CLI para criar o perfil do IAM:

         ```
         $ aws iam create-role \
         --role-name replicationRole \
         --assume-role-policy-document file://s3-role-trust-policy.json  \
         --profile acctA
         ```

         Anote o nome do recurso da Amazon (ARN) do perfil do IAM que você criou. Você precisará desse AR em uma etapa posterior.

   1. Anexar uma política de permissões à função.

      1. Copie a política de permissões a seguir e salve-a em um arquivo com o nome `s3-role-perm-pol-changeowner.json` no diretório atual do computador local. Essa política concede permissões para várias ações de bucket e objetos do Amazon S3. Nas etapas a seguir, anexe essa política ao perfil do IAM criado anteriormente. 

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

****  

         ```
         {
            "Version":"2012-10-17",		 	 	 
            "Statement":[
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:GetObjectVersionForReplication",
                     "s3:GetObjectVersionAcl"
                  ],
                  "Resource":[
                     "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
                  ]
               },
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:ListBucket",
                     "s3:GetReplicationConfiguration"
                  ],
                  "Resource":[
                     "arn:aws:s3:::amzn-s3-demo-source-bucket"
                  ]
               },
               {
                  "Effect":"Allow",
                  "Action":[
                     "s3:ReplicateObject",
                     "s3:ReplicateDelete",
                     "s3:ObjectOwnerOverrideToBucketOwner",
                     "s3:ReplicateTags",
                     "s3:GetObjectVersionTagging"
                  ],
                  "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
               }
            ]
         }
         ```

------

      1. Para anexar a política de permissões anterior ao perfil, execute o seguinte comando `put-role-policy`:

         ```
         $ aws iam put-role-policy \
         --role-name replicationRole \
         --policy-document file://s3-role-perm-pol-changeowner.json \
         --policy-name replicationRolechangeownerPolicy \
         --profile acctA
         ```

1. Adicione uma configuração de replicação ao bucket de origem.

   1. A AWS CLI requer que você especifique a configuração de replicação como JSON. Salve o JSON a seguir em um arquivo chamado `replication.json` no diretório atual local do computador local. Na configuração, `AccessControlTranslation` especifica a mudança na propriedade da réplica do proprietário do bucket de origem para o proprietário do bucket de destino. 

      ```
      {
         "Role":"IAM-role-ARN",
         "Rules":[
            {
               "Status":"Enabled",
               "Priority":1,
               "DeleteMarkerReplication":{
                  "Status":"Disabled"
               },
               "Filter":{
               },
               "Status":"Enabled",
               "Destination":{
                  "Bucket":"arn:aws:s3:::amzn-s3-demo-destination-bucket",
                  "Account":"destination-bucket-owner-account-id",
                  "AccessControlTranslation":{
                     "Owner":"Destination"
                  }
               }
            }
         ]
      }
      ```

   1. Edite o JSON fornecendo os valores do nome do bucket de destino, o ID da conta do proprietário do bucket de destino e o `IAM-role-ARN`. Substitua *`IAM-role-ARN`* pelo ARN do perfil do IAM que você criou anteriormente. Salve as alterações.

   1. Para adicionar a configuração de replicação ao bucket de origem, execute o seguinte comando:

      ```
      $ aws s3api put-bucket-replication \
      --replication-configuration file://replication.json \
      --bucket amzn-s3-demo-source-bucket \
      --profile acctA
      ```

1. Teste a configuração de replicação verificando a propriedade da réplica no console do Amazon S3.

   1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

   1. Adicione objetos ao bucket de origem. Verifique se o bucket de destino contém as réplicas de objetos e se a propriedade das réplicas mudou para a Conta da AWS que possui o bucket de destino.

### Uso da SDKs AWS
<a name="replication-ex3-sdk"></a>

 Consulte um exemplo de código para adicionar uma configuração de replicação em [Uso da SDKs AWS](replication-walkthrough1.md#replication-ex1-sdk). Você precisa modificar a configuração de replicação adequadamente. Para obter informações conceituais, consulte [Alterar o proprietário da réplica](#replication-change-owner). 

# Atender aos requisitos de conformidade com o Controle do Tempo de Replicação do S3
<a name="replication-time-control"></a>

O Controle do tempo de replicação do S3 (S3 RTC) ajuda a atender aos requisitos empresariais ou de conformidade relacionados à replicação de dados, além de fornecer visibilidade dos tempos de replicação do Amazon S3. O S3 RTC replica a maioria dos objetos carregados no Amazon S3 em questão de segundos e 99,99% desses objetos em 15 minutos. 

Por padrão, o S3 RTC inclui duas maneiras de monitorar o progresso da replicação: 
+ **Métricas de Replicação do S3**: é possível usar as métricas de Replicação do S3 para monitorar o número total de operações de API do S3 com replicação pendente, o tamanho total dos objetos com replicação pendente, o tempo máximo de replicação para a região de destino e o número total de operações cuja replicação apresentou falha. Você pode monitorar cada conjunto de dados replicado separadamente. Também é possível habilitar as métricas de Replicação do S3 independentemente do S3 RTC. Para obter mais informações, consulte [Usar métricas de replicação do S3](repl-metrics.md).

  As regras de replicação com o Controle de Tempo de Replicação do S3 (S3 RTC) habilitado publicam as métricas de Replicação do S3. As métricas de replicação ficam disponíveis 15 minutos após a ativação do S3 RTC. As métricas de replicação estão disponíveis por meio do console do Amazon S3, da API do Amazon S3, dos SDKs da AWS, da AWS Command Line Interface (AWS CLI) e do Amazon CloudWatch. Para ter mais informações sobre métricas do CloudWatch, consulte [Monitoramento de métricas com o Amazon CloudWatch](cloudwatch-monitoring.md). Consulte mais informações sobre como visualizar métricas de replicação por meio do console do Amazon S3 em [Visualizar métricas de replicação](repl-metrics.md#viewing-replication-metrics).

  As métricas de replicação de S3 são cobradas usando a mesma taxa das métricas personalizadas do Amazon CloudWatch. Para obter mais informações, consulte [Definição de preço do Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/). 
+ **Notificações de Eventos do Amazon S3**: o S3 RTC fornece eventos `OperationMissedThreshold` e `OperationReplicatedAfterThreshold` que notificam o proprietário do bucket se a replicação do objeto exceder ou ocorrer após o limite de 15 minutos. Com o S3 RTC, as Notificações de Eventos do Amazon S3 podem notificar você nas raras vezes em que objetos não são replicados em até 15 minutos e quando esses objetos são replicados depois do limite de 15 minutos. 

  Os eventos de replicação estão disponíveis dentro de 15 minutos após a ativação do S3 RTC. As Notificações de Eventos do Amazon S3 estão disponíveis por meio do Amazon SQS, Amazon SNS ou AWS Lambda. Para obter mais informações, consulte [Receber eventos de falha de replicação com Notificações de Eventos do Amazon S3](replication-metrics-events.md).

 

## Melhores práticas e diretrizes do S3 RTC
<a name="rtc-best-practices"></a>

Ao replicar dados no Amazon S3 com o Controle de Tempo de Replicação do S3 (S3 RTC) habilitado, siga estas diretrizes de práticas recomendadas para otimizar o desempenho da replicação para workloads. 

**Topics**
+ [

### Diretrizes de performance da taxa de replicação e de solicitação do Amazon S3
](#rtc-request-rate-performance)
+ [

### Estimar as taxas de solicitação de replicação
](#estimating-replication-request-rates)
+ [

### Exceder as cotas da taxa de transferência de dados do S3 RTC
](#exceed-rtc-data-transfer-limits)
+ [

### AWS KMSTaxas de solicitação de replicação de objetos criptografados do
](#kms-object-replication-request-rates)

### Diretrizes de performance da taxa de replicação e de solicitação do Amazon S3
<a name="rtc-request-rate-performance"></a>

Ao fazer upload e recuperar armazenamento do Amazon S3, as aplicações podem realizar milhares de transações por segundo em performance de solicitação. Por exemplo, uma aplicação pode atingir pelo menos 3.500 solicitações `PUT`/`COPY`/`POST`/`DELETE` ou 5.500 solicitações `GET`/`HEAD` por segundo por prefixo em um bucket do S3, incluindo as solicitações que a Replicação do S3 faz em seu nome. Não há limite para o número de prefixos em um bucket. Você pode aumentar sua performance de leitura ou gravação paralelizando as leituras. Por exemplo, se criar 10 prefixos em um bucket do S3 para paralelizar leituras, você poderá escalar o desempenho de leitura para 55.000 solicitações de leitura por segundo. 

O Amazon S3 escala automaticamente em resposta a taxas de solicitação sustentadas acima dessas diretrizes ou taxas de solicitação sustentadas simultâneas às solicitações `LIST`. Enquanto o Amazon S3 estiver sendo otimizado internamente para a nova taxa de solicitação, você pode receber respostas de solicitação HTTP 503 temporariamente até que a otimização seja concluída. Esse comportamento pode ocorrer com aumentos nas taxas de solicitação por segundo ou quando você habilita o S3 RTC pela primeira vez. Durante esses períodos, sua latência de replicação pode aumentar. O acordo de nível de serviço (SLA) do S3 RTC não se aplica a períodos em que as diretrizes de performance do Amazon S3 em solicitações por segundo são excedidas. 

O SLA do S3 RTC também não se aplica durante períodos em que a taxa de transferência de dados de replicação excede a cota padrão de 1 gigabit por segundo (Gbps). Se você espera que a taxa de transferência de replicação exceda 1 Gbps, entre em contato com o [AWS Support Center](https://console.aws.amazon.com/support/home#/) ou use o [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) para solicitar um aumento na cota da taxa de transferência de replicação. 

### Estimar as taxas de solicitação de replicação
<a name="estimating-replication-request-rates"></a>

A taxa total de solicitações, incluindo as solicitações que a replicação do Amazon S3 faz em seu nome, deve estar dentro das diretrizes de taxa de solicitação do Amazon S3 para os buckets de origem e destino da replicação. Para cada objeto replicado, a replicação do Amazon S3 faz até cinco solicitações `GET`/`HEAD` e uma solicitação `PUT` para o bucket de origem e uma solicitação `PUT` para cada bucket de destino.

Por exemplo, se você espera replicar 100 objetos por segundo, a replicação do Amazon S3 pode executar mais 100 solicitações `PUT` em seu nome para um total de 200 solicitações `PUT` por segundo para o bucket do S3 de origem. A replicação do Amazon S3 também pode executar até 500 solicitações `GET`/`HEAD` (5 solicitações `GET`/`HEAD` para cada objeto replicado). 

**nota**  
Você receberá a cobrança por apenas uma solicitação `PUT` por objeto replicado. Consulte mais informações sobre o preço nas [Perguntas frequentes sobre replicação do Amazon S3](https://aws.amazon.com/s3/faqs/#Replication). 

### Exceder as cotas da taxa de transferência de dados do S3 RTC
<a name="exceed-rtc-data-transfer-limits"></a>

Se você espera que a taxa de transferência de dados do S3 RTC exceda a cota padrão de 1 Gbps, entre em contato com o [AWS Support Center](https://console.aws.amazon.com/support/home#/) ou use o [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) para solicitar um aumento na cota da taxa de transferência de replicação. 

### AWS KMSTaxas de solicitação de replicação de objetos criptografados do
<a name="kms-object-replication-request-rates"></a>

Quando você replica objetos criptografados com a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS), cotas de solicitação por segundo do AWS KMS são aplicadas. O AWS KMS pode rejeitar uma solicitação válida, pois a taxa de solicitação excede a cota do número de solicitações por segundo. Quando uma solicitação é rejeitada, o AWS KMS retorna um erro `ThrottlingException`. A cota da taxa de solicitação do AWS KMS se aplica a solicitações feitas diretamente e a solicitações feitas pela replicação do Amazon S3 em seu nome. 

Por exemplo, se espera replicar 1.000 objetos por segundo, você poderá subtrair 2.000 solicitações da cota de taxa de solicitações do AWS KMS. A taxa de solicitação resultante por segundo está disponível para as workloads do AWS KMS, excluindo a replicação. Você pode usar [métricas de solicitação do AWS KMS no Amazon CloudWatch](https://docs.aws.amazon.com/kms/latest/developerguide/monitoring-cloudwatch.html) para monitorar a taxa total de solicitações do AWS KMS em sua Conta da AWS.

Para solicitar um aumento em sua cota de solicitações por segundo do AWS KMS, entre em contato com o [AWS Support Center](https://console.aws.amazon.com/support/home#/) ou use o [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). 

## Habilitar o Controle do tempo de replicação do S3
<a name="replication-walkthrough-5"></a>

Você pode começar a usar o Controle do tempo de replicação do S3 (S3 RTC) com uma regra de replicação nova ou existente. Você pode optar por aplicar a regra de replicação a um bucket inteiro ou a objetos com um prefixo ou uma tag específica. Quando você habilita o S3 RTC, as métricas de Replicação do S3 também são habilitadas na regra de replicação. 

É possível configurar o S3 RTC usando o console do Amazon S3, a API do Amazon S3, os SDKs da AWS e a AWS Command Line Interface (AWS CLI).

**Topics**

### Usar o console do S3
<a name="replication-ex5-console"></a>

Para obter instruções detalhadas, consulte [Configurar a replicação para buckets na mesma conta](replication-walkthrough1.md). Este tópico traz instruções para ativar as métricas de replicação do S3 em sua configuração da replicação quando os buckets de origem e destino pertencerem às mesmas Contas da AWS ou a outras.

### Usar a AWS CLI
<a name="replication-ex5-cli"></a>

Para usar a AWS CLI para replicar objetos com o S3 RTC habilitado, crie buckets, habilite o versionamento nos buckets, crie uma função do IAM que conceda permissão ao Amazon S3 para replicar objetos e adicione a configuração da replicação ao bucket de origem. A configuração de replicação deve ter o S3 RTC habilitado, conforme mostrado no exemplo a seguir. 

Consulte instruções passo a passo para definir a configuração da replicação usando a AWS CLI em [Configurar a replicação para buckets na mesma conta](replication-walkthrough1.md).

O exemplo de configuração de replicação a seguir habilita e define os valores de `ReplicationTime` e `EventThreshold` para uma regra de replicação. Habilitar e definir esses valores habilita o S3 RTC na regra.

```
{
    "Rules": [
        {
            "Status": "Enabled",
            "Filter": {
                "Prefix": "Tax"
            },
            "DeleteMarkerReplication": {
                "Status": "Disabled"
            },
            "Destination": {
                "Bucket": "arn:aws:s3:::amzn-s3-demo-destination-bucket",
                "Metrics": {
                    "Status": "Enabled",
                    "EventThreshold": {
                        "Minutes": 15
                    }
                },
                "ReplicationTime": {
                    "Status": "Enabled",
                    "Time": {
                        "Minutes": 15
                    }
                }
            },
            "Priority": 1
        }
    ],
    "Role": "IAM-Role-ARN"
}
```

**Importante**  
 `Metrics:EventThreshold:Minutes` e `ReplicationTime:Time:Minutes` só podem ter `15` como um valor válido. 

### Usar o AWS SDK para Java
<a name="replication-ex5-sdk"></a>

 O exemplo de Java a seguir adiciona a configuração da replicação com o Controle de Tempo de Replicação do S3 (S3 RTC) habilitado.

```
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.model.DeleteMarkerReplication;
import software.amazon.awssdk.services.s3.model.Destination;
import software.amazon.awssdk.services.s3.model.Metrics;
import software.amazon.awssdk.services.s3.model.MetricsStatus;
import software.amazon.awssdk.services.s3.model.PutBucketReplicationRequest;
import software.amazon.awssdk.services.s3.model.ReplicationConfiguration;
import software.amazon.awssdk.services.s3.model.ReplicationRule;
import software.amazon.awssdk.services.s3.model.ReplicationRuleFilter;
import software.amazon.awssdk.services.s3.model.ReplicationTime;
import software.amazon.awssdk.services.s3.model.ReplicationTimeStatus;
import software.amazon.awssdk.services.s3.model.ReplicationTimeValue;

public class Main {

  public static void main(String[] args) {
    S3Client s3 = S3Client.builder()
      .region(Region.US_EAST_1)
      .credentialsProvider(() -> AwsBasicCredentials.create(
          "AWS_ACCESS_KEY_ID",
          "AWS_SECRET_ACCESS_KEY")
      )
      .build();

    ReplicationConfiguration replicationConfig = ReplicationConfiguration
      .builder()
      .rules(
          ReplicationRule
            .builder()
            .status("Enabled")
            .priority(1)
            .deleteMarkerReplication(
                DeleteMarkerReplication
                    .builder()
                    .status("Disabled")
                    .build()
            )
            .destination(
                Destination
                    .builder()
                    .bucket("destination_bucket_arn")
                    .replicationTime(
                        ReplicationTime.builder().time(
                            ReplicationTimeValue.builder().minutes(15).build()
                        ).status(
                            ReplicationTimeStatus.ENABLED
                        ).build()
                    )
                    .metrics(
                        Metrics.builder().eventThreshold(
                            ReplicationTimeValue.builder().minutes(15).build()
                        ).status(
                            MetricsStatus.ENABLED
                        ).build()
                    )
                    .build()
            )
            .filter(
                ReplicationRuleFilter
                    .builder()
                    .prefix("testtest")
                    .build()
            )
        .build())
        .role("role_arn")
        .build();

    // Put replication configuration
    PutBucketReplicationRequest putBucketReplicationRequest = PutBucketReplicationRequest
      .builder()
      .bucket("source_bucket")
      .replicationConfiguration(replicationConfig)
      .build();

    s3.putBucketReplication(putBucketReplicationRequest);
  }
}
```

# Replicar objetos criptografados (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)
<a name="replication-config-for-kms-objects"></a>

**Importante**  
O Amazon S3 agora aplica criptografia do lado do servidor com chaves gerenciadas do Amazon S3 (SSE-S3) como nível básico de criptografia para cada bucket no Amazon S3. Desde 5 de janeiro de 2023, todos os novos uploads de objetos para o Amazon S3 são automaticamente criptografados sem custo adicional e sem impacto na performance. O status de criptografia automática para a configuração de criptografia padrão do bucket do S3 e para novos uploads de objetos está disponível em logs do CloudTrail, no Inventário S3, na Lente de Armazenamento do S3, no console do Amazon S3 e como cabeçalho adicional de resposta da API do Amazon S3 na AWS CLI e em SDKs da AWS. Para obter mais informações, consulte [Perguntas frequentes sobre criptografia padrão](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).

Há algumas considerações especiais quando você está replicando objetos que foram criptografados usando criptografia do lado do servidor. O Amazon S3 agora é compatível com seguintes tipos de criptografia do lado do servidor:
+ Criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3)
+ Criptografia no lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS)
+ Criptografia de camada dupla do lado do servidor com chaves do AWS KMS (DSSE-KMS)
+ Criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C)

Para obter mais informações sobre criptografia no lado do servidor, consulte [Proteger os dados usando criptografia do lado do servidor](serv-side-encryption.md).

Este tópico explica as permissões necessárias para direcionar o Amazon S3 a replicar objetos que foram criptografados usando a criptografia do lado do servidor. Este tópico também fornece elementos de configuração adicionais aos quais você pode adicionar e dar exemplos de políticas do AWS Identity and Access Management (IAM) que concedem as permissões necessárias para replicar objetos criptografados. 

Para obter um exemplo com instruções passo a passo, consulte [Habilitar a replicação para objetos criptografados](#replication-walkthrough-4). Para obter informações sobre como criar uma configuração da replicação, consulte [Replicar objetos dentro de uma região e entre regiões](replication.md). 

**nota**  
Você pode usar uma AWS KMS keys de várias regiões no Amazon S3. No entanto, o Amazon S3 trata no momento as chaves de várias regiões como se fossem chaves de região única e não usa os recursos de várias regiões da chave. Consulte mais informações em [Using multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) no *Guia do desenvolvedor do AWS Key Management Service*.

**Topics**
+ [

## Como a criptografia de bucket padrão afeta a replicação
](#replication-default-encryption)
+ [

## Replicar objetos criptografados com SSE-C
](#replicationSSEC)
+ [

## Replicar objetos criptografados com SSE-S3, SSE-KMS ou DSSE-KMS
](#replications)
+ [

## Habilitar a replicação para objetos criptografados
](#replication-walkthrough-4)

## Como a criptografia de bucket padrão afeta a replicação
<a name="replication-default-encryption"></a>

Ao habilitar a criptografia padrão para um bucket de destino de replicação, o seguinte comportamento de criptografia será aplicado:
+ Se os objetos no bucket de origem não estiverem criptografados, os objetos de réplica no bucket de destino serão criptografados usando as configurações de criptografia padrão do bucket de destino. Como resultado, as tags de entidade (ETags) dos objetos de origem diferem dos ETags dos objetos de réplica. Se você tiver aplicações que usam ETags, será necessário atualizar essas aplicações para considerar essa diferença.
+ Se os objetos no bucket de origem forem criptografados usando a criptografia do lado do servidor com chaves gerenciadas do Amazon S3 (SSE-S3), a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS) ou a criptografia de camada dupla do lado do servidor com chaves do AWS KMS (DSSE-KMS), os objetos de réplica no bucket de destino usarão o mesmo tipo de criptografia que os objetos de origem. As configurações de criptografia padrão do bucket de destino não são usadas.

## Replicar objetos criptografados com SSE-C
<a name="replicationSSEC"></a>

Ao usar a criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C), é possível gerenciar suas próprias chaves de criptografia proprietárias. Com o SSE-C, você gerencia as chaves enquanto o Amazon S3 gerencia o processo de criptografia e descriptografia. Você deve fornecer uma chave de criptografia como parte de sua solicitação, mas não precisa escrever nenhum código para realizar a criptografia ou descriptografia de objetos. Quando você faz upload de um objeto, o Amazon S3 criptografa o objeto usando a chave que você forneceu. Depois, o Amazon S3 remove essa chave da memória. Quando você recupera um objeto, deve fornecer a mesma chave de criptografia como parte de sua solicitação. Para obter mais informações, consulte [Como usar criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C)](ServerSideEncryptionCustomerKeys.md).

A Replicação do S3 é compatível com objetos criptografados com SSE-C. É possível configurar a replicação de objetos com SSE-C no console do Amazon S3 ou com os SDKs da AWS, da mesma forma que você configura a replicação para objetos não criptografados. Não há permissões de SSE-C adicionais além das atualmente necessárias para replicação. 

A Replicação do S3 replica automaticamente objetos criptografados com SSE-C recém-carregados, se eles forem elegíveis, de acordo com sua configuração de Replicação do S3. Para replicar objetos existentes nos buckets, use a replicação em lote do S3. Para obter mais informações sobre replicação de objetos, consulte [Visão geral da configuração da replicação em tempo real](replication-how-setup.md) e [Replicar objetos existentes com o Replicação em Lote](s3-batch-replication-batch.md).

Não há cobranças adicionais pela replicação de objetos SSE-C. Consulte detalhes sobre os preços de replicação em [Preço do Amazon S3](https://aws.amazon.com/s3/pricing/). 

## Replicar objetos criptografados com SSE-S3, SSE-KMS ou DSSE-KMS
<a name="replications"></a>

Por padrão, o Amazon S3 não replica objetos criptografados com SSE-KMS ou DSSE-KMS. Esta seção explica outros elementos de configuração que você pode adicionar para orientar o Amazon S3 a replicar esses objetos. 

Para obter um exemplo com instruções passo a passo, consulte [Habilitar a replicação para objetos criptografados](#replication-walkthrough-4). Para obter informações sobre como criar uma configuração da replicação, consulte [Replicar objetos dentro de uma região e entre regiões](replication.md). 

### Especificar informações adicionais na configuração de replicação
<a name="replication-kms-extra-config"></a>

Na configuração de replicação, você faz o seguinte:
+ No elemento `Destination` na configuração de replicação, adicione o ID da chave do AWS KMS simétrica gerenciada pelo cliente que você deseja que o Amazon S3 use para criptografar réplicas de objetos, conforme mostrado no exemplo de configuração de replicação a seguir. 
+ Aceite explicitamente ao habilitar a replicação de objetos criptografados por meio das chaves do KMS (SSE-KMS ou DSSE-KMS). Para ativar, adicione o elemento `SourceSelectionCriteria`, conforme mostrado no exemplo de configuração de replicação a seguir.

 

```
<ReplicationConfiguration>
   <Rule>
      ...
      <SourceSelectionCriteria>
         <SseKmsEncryptedObjects>
           <Status>Enabled</Status>
         </SseKmsEncryptedObjects>
      </SourceSelectionCriteria>

      <Destination>
          ...
          <EncryptionConfiguration>
             <ReplicaKmsKeyID>AWS KMS key ARN or Key Alias ARN that's in the same Região da AWS as the destination bucket.</ReplicaKmsKeyID>
          </EncryptionConfiguration>
       </Destination>
      ...
   </Rule>
</ReplicationConfiguration>
```

**Importante**  
A chave do KMS deve ter sido criada na mesma Região da AWS que o bucket de destino. 
A chave do KMS *deve* ser válida. A operação de API `PutBucketReplication` não verifica a validade de chaves do KMS. Se você usar uma chave do KMS inválida, receberá o código de status HTTP `200 OK` como resposta, mas a replicação falhará.

O exemplo a seguir mostra uma configuração de replicação, que inclui elementos de configuração opcionais. Essa configuração de replicação tem uma regra. Esta regra aplica-se aos objetos com o prefixo de chaves `Tax`. O Amazon S3 usa o ID da AWS KMS key especificado para criptografar essas réplicas de objeto.

```
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration>
   <Role>arn:aws:iam::account-id:role/role-name</Role>
   <Rule>
      <ID>Rule-1</ID>
      <Priority>1</Priority>
      <Status>Enabled</Status>
      <DeleteMarkerReplication>
         <Status>Disabled</Status>
      </DeleteMarkerReplication>
      <Filter>
         <Prefix>Tax</Prefix>
      </Filter>
      <Destination>
         <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
         <EncryptionConfiguration>
            <ReplicaKmsKeyID>AWS KMS key ARN or Key Alias ARN that's in the same Região da AWS as the destination bucket.</ReplicaKmsKeyID>
         </EncryptionConfiguration>
      </Destination>
      <SourceSelectionCriteria>
         <SseKmsEncryptedObjects>
            <Status>Enabled</Status>
         </SseKmsEncryptedObjects>
      </SourceSelectionCriteria>
   </Rule>
</ReplicationConfiguration>
```

### Conceder permissões adicionais para a função do IAM
<a name="replication-kms-permissions"></a>

Para replicar objetos criptografados em repouso usando SSE-S3, SSE-KMS ou DSSE-KMS, conceda as permissões adicionais a seguir ao perfil do AWS Identity and Access Management (IAM) especificado na configuração da replicação. Você concede essas permissões ao atualizar a política de permissões associada ao perfil do IAM. 
+ **Ação `s3:GetObjectVersionForReplication` para objetos de origem**: essa ação permite que o Amazon S3 replique objetos não criptografados e objetos criados com criptografia do lado do servidor usando SSE-S3, SSE-KMS ou DSSE-KMS.
**nota**  
Recomendamos que você use a ação `s3:GetObjectVersionForReplication` em vez da ação `s3:GetObjectVersion`, porque `s3:GetObjectVersionForReplication` fornece ao Amazon S3 somente as permissões mínimas necessárias para a replicação. Além disso, a ação `s3:GetObjectVersion` permite a replicação de objetos não criptografados e objetos criptografados com SSE-S3, mas não objetos criptografados usando chaves do KMS (SSE-KMS ou DSSE-KMS). 
+ **Ações `kms:Decrypt` e `kms:Encrypt` AWS KMS para as chaves do KMS**
  + Você deve conceder permissões `kms:Decrypt` para a AWS KMS key que é usada para descriptografar o objeto de origem.
  + Você deve conceder permissões `kms:Encrypt` para a AWS KMS key que é usada para criptografar a réplica do objeto.
+ **A ação `kms:GenerateDataKey` para replicar objetos de texto sem formatação**: se você estiver replicando objetos de texto sem formatação em um bucket com a criptografia SSE-KMS ou DSSE-KMS habilitada por padrão, é necessário incluir a permissão `kms:GenerateDataKey` para o contexto de criptografia de destino e a chave do KMS na política do IAM.

**Importante**  
Se você usa o recurso Replicação em Lote do S3 para replicar conjuntos de dados entre regiões e já tiver atualizado o tipo de criptografia do lado do servidor de SSE-S3 para SSE-KMS, talvez você precise de permissões adicionais. No bucket da região de origem, é necessário ter a permissão `kms:decrypt`. Em seguida, é necessário ter as permissões `kms:decrypt` e `kms:encrypt` para o bucket na região de destino. 

Recomendamos que você restrinja essas permissões apenas aos buckets e objetos de destino usando chaves de condição do AWS KMS. A Conta da AWS proprietária do perfil do IAM precisa ter permissões para as ações `kms:Encrypt` e `kms:Decrypt` para as chaves do KMS listadas na política. Se as chaves do KMS pertencerem a outra Conta da AWS, o proprietário da chave do KMS precisará conceder essas permissões à Conta da AWS proprietária do perfil do IAM. Consulte mais informações sobre como gerenciar o acesso a essas chaves do KMS em [Using IAM policies with AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html) no *Guia do desenvolvedor do AWS Key Management Service*.

### Chaves de bucket do S3 e replicação
<a name="bk-replication"></a>

Para usar a replicação com uma chave de bucket do S3, a política AWS KMS key para a chave do KMS usada para criptografar a réplica do objeto deve incluir a permissão `kms:Decrypt` para a entidade principal da chamada. A chamada para `kms:Decrypt` verifica a integridade da chave do bucket do S3 antes de usá-la. Para obter mais informações, consulte [Uso de uma chave de bucket do S3 com replicação](bucket-key.md#bucket-key-replication).

Quando uma chave de bucket do S3 estiver habilitada para o bucket de origem ou de destino, o contexto de criptografia será o nome do recurso da Amazon (ARN) do bucket e não o ARN do objeto (por exemplo, `arn:aws:s3:::bucket_ARN`). Você precisa atualizar suas políticas do IAM para usar o ARN do bucket para o contexto de criptografia:

```
"kms:EncryptionContext:aws:s3:arn": [
"arn:aws:s3:::bucket_ARN"
]
```

Para obter mais informações, consulte [Contexto de criptografia (`x-amz-server-side-encryption-context`)](specifying-kms-encryption.md#s3-kms-encryption-context) (na seção “Usar a API REST”) e [Alterações na observação antes de habilitar uma chave de bucket do S3](bucket-key.md#bucket-key-changes).

### Exemplo de políticas: usar SSE-S3 e SSE-KMS com replicação
<a name="kms-replication-examples"></a>

Os exemplos de políticas do IAM a seguir mostram instruções para o uso de SSE-S3 e SSE-KMS com replicação.

**Example – Usar SSE-KMS com buckets de destino separados**  
A política de exemplo a seguir mostra instruções para usar SSE-KMS com buckets de destino separados. 

**Example – Replicar objetos criados com SSE-S3 e SSE-KMS**  
Veja a seguir uma política completa do IAM que concede as permissões necessárias para replicar objetos não criptografados, objetos criados com SSE-3 e objetos criados com SSE-KMS.    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:GetReplicationConfiguration",
            "s3:ListBucket"
         ],
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-source-bucket"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:GetObjectVersionForReplication",
            "s3:GetObjectVersionAcl"
         ],
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-source-bucket/key-prefix1*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:ReplicateObject",
            "s3:ReplicateDelete"
         ],
         "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/key-prefix1*"
      },
      {
         "Action":[
            "kms:Decrypt"
         ],
         "Effect":"Allow",
         "Condition":{
            "StringLike":{
               "kms:ViaService":"s3.us-east-1.amazonaws.com",
               "kms:EncryptionContext:aws:s3:arn":[
                  "arn:aws:s3:::amzn-s3-demo-source-bucket/key-prefix1*"
               ]
            }
         },
         "Resource":[
           "arn:aws:kms:us-east-1:111122223333:key/key-id"
         ]
      },
      {
         "Action":[
            "kms:Encrypt"
         ],
         "Effect":"Allow",
         "Condition":{
            "StringLike":{
               "kms:ViaService":"s3.us-east-1.amazonaws.com",
               "kms:EncryptionContext:aws:s3:arn":[
                  "arn:aws:s3:::amzn-s3-demo-destination-bucket/prefix1*"
               ]
            }
         },
         "Resource":[
            "arn:aws:kms:us-east-1:111122223333:key/key-id"
         ]
      }
   ]
}
```

**Example – Replicar objetos com chaves de bucket do S3**  
Veja a seguir uma política completa do IAM que concede as permissões necessárias para replicar objetos com chaves de bucket do S3.    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:GetReplicationConfiguration",
            "s3:ListBucket"
         ],
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-source-bucket"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:GetObjectVersionForReplication",
            "s3:GetObjectVersionAcl"
         ],
         "Resource":[
            "arn:aws:s3:::amzn-s3-demo-source-bucket/key-prefix1*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:ReplicateObject",
            "s3:ReplicateDelete"
         ],
         "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/key-prefix1*"
      },
      {
         "Action":[
            "kms:Decrypt"
         ],
         "Effect":"Allow",
         "Condition":{
            "StringLike":{
               "kms:ViaService":"s3.us-east-1.amazonaws.com",
               "kms:EncryptionContext:aws:s3:arn":[
                  "arn:aws:s3:::amzn-s3-demo-source-bucket"
               ]
            }
         },
         "Resource":[
           "arn:aws:kms:us-east-1:111122223333:key/key-id"
         ]
      },
      {
         "Action":[
            "kms:Encrypt"
         ],
         "Effect":"Allow",
         "Condition":{
            "StringLike":{
               "kms:ViaService":"s3.us-east-1.amazonaws.com",
               "kms:EncryptionContext:aws:s3:arn":[
                  "arn:aws:s3:::amzn-s3-demo-destination-bucket"
               ]
            }
         },
         "Resource":[
            "arn:aws:kms:us-east-1:111122223333:key/key-id"
         ]
      }
   ]
}
```

### Conceder permissões adicionais para cenários entre contas
<a name="replication-kms-cross-acct-scenario"></a>

Em um cenário entre contas, no qual os buckets de origem e destino pertencem a diferentes Contas da AWS, é possível usar uma chave do KMS para criptografar réplicas de objetos. No entanto, o proprietário da chave do KMS deve conceder ao proprietário do bucket de origem permissão para usar a chave do KMS. 

**nota**  
Se você precisar replicar dados da SSE-KMS entre contas, a regra de replicação deverá especificar uma [chave gerenciada pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) do AWS KMS para a conta de destino. As [Chaves gerenciadas pela AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) não permitem o uso entre contas e, portanto, não podem ser usadas para realizar a replicação entre contas.<a name="cross-acct-kms-key-permission"></a>

**Como conceder ao proprietário do bucket de origem permissão para usar a chave do KMS (console do AWS KMS)**

1. Faça login no Console de gerenciamento da AWS e abra o console do AWS KMS em [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Para alterar a Região da AWS, use o Region selector (Seletor de regiões) no canto superior direito da página.

1. Para exibir as chaves em sua conta que você cria e gerencia, no painel de navegação, escolha **Customer managed keys (Chaves gerenciadas de cliente)**.

1. Selecione a chave do KMS.

1. Na seção **Configuração geral**, selecione a guia **Política de chaves**.

1. Role para baixo até **Outras Contas da AWS**.

1. Selecione **Adicionar outras Contas da AWS**. 

   A caixa de diálogo **Outras Contas da AWS** é exibida. 

1. Na caixa de diálogo, escolha **Adicionar outra Conta da AWS**. Para **arn:aws:iam::**, insira o ID da conta do bucket de origem.

1. Escolha **Salvar alterações**.

**Para conceder ao proprietário do bucket de origem permissão para usar a chave do KMS (). (AWS CLI)**
+ Para obter informações sobre o comando `put-key-policy` da AWS Command Line Interface (AWS CLI), consulte [https://docs.aws.amazon.com/cli/latest/reference/kms/put-key-policy.html](https://docs.aws.amazon.com/cli/latest/reference/kms/put-key-policy.html) na *Referência de comandos da AWS CLI*. Para obter informações sobre a operação de API subjacente `PutKeyPolicy`, consulte [https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html) na [Referência de API do AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/APIReference/).

### Considerações sobre cotas de transação do AWS KMS
<a name="crr-kms-considerations"></a>

Ao adicionar muitos novos objetos com a criptografia do AWS KMS depois de habilitar replicação entre regiões (CRR), pode ocorrer controle de utilização (erros de respostas HTTP `503 Service Unavailable`). O controle de utilização acontece quando o número de transações do AWS KMS por segundo excede a cota atual. Para obter mais informações, consulte [Cotas](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html) no *Guia do desenvolvedor do AWS Key Management Service*.

Para solicitar um aumento de cota, use Service Quotas. Consulte [Solicitar um aumento de cota](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)para ter mais informações. Se não houver compatibilidade de Service Quotas com sua região, [abra um caso do AWS Support](https://console.aws.amazon.com/support/home#/). 

## Habilitar a replicação para objetos criptografados
<a name="replication-walkthrough-4"></a>

Por padrão, o Amazon S3 não replica objetos criptografados por meio da criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS) ou da criptografia de camada dupla do lado do servidor com chaves do AWS KMS (DSSE-KMS). Para replicar objetos criptografados com SSE-KMS ou DSS-KMS, você deve modificar a configuração da replicação do bucket para instruir o Amazon S3 a replicar esses objetos. Este exemplo explica como usar o console do Amazon S3 e a AWS Command Line Interface (AWS CLI) para alterar a configuração de replicação do bucket de maneira que a replicação de objetos criptografados seja habilitada.

**nota**  
Quando uma chave de bucket do S3 estiver habilitada para o bucket de origem ou de destino, o contexto de criptografia será o nome do recurso da Amazon (ARN) do bucket e não o ARN do objeto. Você precisa atualizar suas políticas do IAM a fim de usar o ARN do bucket para o contexto de criptografia. Para obter mais informações, consulte [Chaves de bucket do S3 e replicação](#bk-replication).

**nota**  
Você pode usar uma AWS KMS keys de várias regiões no Amazon S3. No entanto, o Amazon S3 trata no momento as chaves de várias regiões como se fossem chaves de região única e não usa os recursos de várias regiões da chave. Consulte mais informações em [Using multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) no *Guia do desenvolvedor do AWS Key Management Service*.

### Usar o console do S3
<a name="replication-ex4-console"></a>

Para obter instruções detalhadas, consulte [Configurar a replicação para buckets na mesma conta](replication-walkthrough1.md). Este tópico fornece instruções para definir a configuração da replicação quando os buckets de origem e de destino pertencem às mesmas Contas da AWS ou a contas diferentes.

### Como usar o AWS CLI
<a name="replication-ex4-cli"></a>

Para replicar objetos criptografados com a AWS CLI, faça o seguinte: 
+ Crie os buckets de origem e destino e habilite o versionamento neles. 
+ Crie um perfil de serviço do AWS Identity and Access Management (IAM) que dê ao Amazon S3 permissão para replicar objetos. As permissões do perfil do IAM incluem aquelas necessárias para replicar objetos criptografados.
+ Adicione uma configuração de replicação ao bucket de origem. A configuração de replicação fornece informações relacionadas à replicação de objetos que são criptografados por meio das chaves do KMS.
+ Adicione objetos criptografados ao bucket de origem. 
+ Teste a configuração para confirmar se os objetos criptografados estão sendo replicados no bucket de destino.

Os procedimentos a seguir demonstram esse processo. 

**Para replicar objetos criptografados no lado do servidor (AWS CLI)**

Para usar os exemplos neste procedimento, substitua `user input placeholders` por suas informações.

1. Neste exemplo, você cria tanto o bucket de origem (*`amzn-s3-demo-source-bucket`*) como o de destino (*`amzn-s3-demo-destination-bucket`*) na mesma Conta da AWS. Defina também um perfil de credenciais para a AWS CLI. Este exemplo usa o nome de perfil `acctA`. 

   Consulte mais informações sobre como configurar perfis de credenciais e como usar perfis nomeados em [Configuration and credential file settings](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) no *Guia do usuário da AWS Command Line Interface*. 

1. Use os comandos a seguir para criar o bucket `amzn-s3-demo-source-bucket` e habilitar o versionamento nele. Os comandos de exemplo a seguir criam o bucket `amzn-s3-demo-source-bucket` na região Leste dos EUA (Norte da Virgínia) (`us-east-1`).

   ```
   aws s3api create-bucket \
   --bucket amzn-s3-demo-source-bucket \
   --region us-east-1 \
   --profile acctA
   ```

   ```
   aws s3api put-bucket-versioning \
   --bucket amzn-s3-demo-source-bucket \
   --versioning-configuration Status=Enabled \
   --profile acctA
   ```

1. Use os comandos a seguir para criar o bucket `amzn-s3-demo-destination-bucket` e habilitar o versionamento nele. Os comandos de exemplo a seguir criam o bucket `amzn-s3-demo-destination-bucket` na região Oeste dos EUA (Oregon) (`us-west-2`). 
**nota**  
Para configurar a replicação quando os buckets `amzn-s3-demo-source-bucket` e `amzn-s3-demo-destination-bucket` estiverem na mesma Conta da AWS, use o mesmo perfil. Este exemplo usa `acctA`. Para configurar a replicação quando os buckets pertencerem a Contas da AWS distintas, especifique diferentes perfis para cada um. 

   

   ```
   aws s3api create-bucket \
   --bucket amzn-s3-demo-destination-bucket \
   --region us-west-2 \
   --create-bucket-configuration LocationConstraint=us-west-2 \
   --profile acctA
   ```

   ```
   aws s3api put-bucket-versioning \
   --bucket amzn-s3-demo-destination-bucket \
   --versioning-configuration Status=Enabled \
   --profile acctA
   ```

1. Em seguida, crie um perfil de serviço do IAM. Você especifica esse perfil na configuração da replicação que adiciona ao bucket `amzn-s3-demo-source-bucket` posteriormente. O Amazon S3 assume essa função para replicar objetos em seu nome. A função do IAM é criada em duas etapas:
   + Crie uma função de serviço.
   + Anexar uma política de permissões à função.

   1. Para criar um perfil de serviço do IAM, faça o seguinte:

      1. Copie a política de confiança a seguir e salve-a em um arquivo com o nome `s3-role-trust-policy-kmsobj.json` no diretório atual do seu computador local. Essa política concede à entidade principal do serviço Amazon S3 as permissões para assumir o perfil a fim de que o Amazon S3 possa executar tarefas em seu nome.

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

****  

         ```
         {
            "Version":"2012-10-17",		 	 	 
            "Statement":[
               {
                  "Effect":"Allow",
                  "Principal":{
                     "Service":"s3.amazonaws.com"
                  },
                  "Action":"sts:AssumeRole"
               }
            ]
         }
         ```

------

      1. Use o comando a seguir para criar o perfil.

         ```
         $ aws iam create-role \
         --role-name replicationRolekmsobj \
         --assume-role-policy-document file://s3-role-trust-policy-kmsobj.json  \
         --profile acctA
         ```

   1. Em seguida, anexe uma política de permissões ao perfil. Essa política concede permissões para várias ações de bucket e objetos do Amazon S3. 

      1. Copie a política de permissões a seguir e salve-a em um arquivo com o nome `s3-role-permissions-policykmsobj.json` no diretório atual do computador local. Crie um perfil do IAM e, posteriormente, anexe a política a ele. 
**Importante**  
Na política de permissões, especifique os IDs de chave do AWS KMS que serão usados para criptografar os buckets `amzn-s3-demo-source-bucket` e `amzn-s3-demo-destination-bucket`. É necessário criar duas chaves separadas do KMS para os buckets `amzn-s3-demo-source-bucket` e `amzn-s3-demo-destination-bucket`. As AWS KMS keys nunca são compartilhadas fora da Região da AWS em que foram criadas. 

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

****  

         ```
         {
            "Version":"2012-10-17",		 	 	 
            "Statement":[
               {
                  "Action":[
                     "s3:ListBucket",
                     "s3:GetReplicationConfiguration",
                     "s3:GetObjectVersionForReplication",
                     "s3:GetObjectVersionAcl",
                     "s3:GetObjectVersionTagging"
                  ],
                  "Effect":"Allow",
                  "Resource":[
                     "arn:aws:s3:::amzn-s3-demo-source-bucket",
                     "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
                  ]
               },
               {
                  "Action":[
                     "s3:ReplicateObject",
                     "s3:ReplicateDelete",
                     "s3:ReplicateTags"
                  ],
                  "Effect":"Allow",
                  "Condition":{
                     "StringLikeIfExists":{
                        "s3:x-amz-server-side-encryption":[
                           "aws:kms",
                           "AES256",
                           "aws:kms:dsse"
                        ],
                        "s3:x-amz-server-side-encryption-aws-kms-key-id":[
                           "AWS KMS key IDs(in ARN format) to use for encrypting object replicas"  
                        ]
                     }
                  },
                  "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
               },
               {
                  "Action":[
                     "kms:Decrypt"
                  ],
                  "Effect":"Allow",
                  "Condition":{
                     "StringLike":{
                        "kms:ViaService":"s3.us-east-1.amazonaws.com",
                        "kms:EncryptionContext:aws:s3:arn":[
                           "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
                        ]
                     }
                  },
                  "Resource":[
                     "arn:aws:kms:us-east-1:111122223333:key/key-id" 
                  ]
               },
               {
                  "Action":[
                     "kms:Encrypt"
                  ],
                  "Effect":"Allow",
                  "Condition":{
                     "StringLike":{
                        "kms:ViaService":"s3.us-west-2.amazonaws.com",
                        "kms:EncryptionContext:aws:s3:arn":[
                           "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
                        ]
                     }
                  },
                  "Resource":[
                     "arn:aws:kms:us-west-2:111122223333:key/key-id" 
                  ]
               }
            ]
         }
         ```

------

      1. Crie uma política e anexe-a à função.

         ```
         $ aws iam put-role-policy \
         --role-name replicationRolekmsobj \
         --policy-document file://s3-role-permissions-policykmsobj.json \
         --policy-name replicationRolechangeownerPolicy \
         --profile acctA
         ```

1. Depois, adicione a configuração de replicação a seguir ao bucket `amzn-s3-demo-source-bucket`. Isso instrui o Amazon S3 a replicar objetos com o prefixo `Tax/` no bucket `amzn-s3-demo-destination-bucket`. 
**Importante**  
Na configuração da replicação, especifique o perfil do IAM que o Amazon S3 pode assumir. Você só poderá fazer isso se tiver a permissão `iam:PassRole`. O perfil especificado no comando da CLI deve ter essa permissão. Para ter mais informações, consulte [Conceder permissões ao usuário para transmitir um perfil a um AWS service (Serviço da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) no *Guia do usuário do IAM*.

   ```
    <ReplicationConfiguration>
     <Role>IAM-Role-ARN</Role>
     <Rule>
       <Priority>1</Priority>
       <DeleteMarkerReplication>
          <Status>Disabled</Status>
       </DeleteMarkerReplication>
       <Filter>
          <Prefix>Tax</Prefix>
       </Filter>
       <Status>Enabled</Status>
       <SourceSelectionCriteria>
         <SseKmsEncryptedObjects>
           <Status>Enabled</Status>
         </SseKmsEncryptedObjects>
       </SourceSelectionCriteria>
       <Destination>
         <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket</Bucket>
         <EncryptionConfiguration>
           <ReplicaKmsKeyID>AWS KMS key IDs to use for encrypting object replicas</ReplicaKmsKeyID>
         </EncryptionConfiguration>
       </Destination>
     </Rule>
   </ReplicationConfiguration>
   ```

   Para adicionar a configuração de replicação ao bucket `amzn-s3-demo-source-bucket`, faça o seguinte:

   1. A AWS CLI requer que você especifique a configuração de replicação como JSON. Salve o JSON a seguir em um arquivo (`replication.json`) no diretório atual local do seu computador local. 

      ```
      {
         "Role":"IAM-Role-ARN",
         "Rules":[
            {
               "Status":"Enabled",
               "Priority":1,
               "DeleteMarkerReplication":{
                  "Status":"Disabled"
               },
               "Filter":{
                  "Prefix":"Tax"
               },
               "Destination":{
                  "Bucket":"arn:aws:s3:::amzn-s3-demo-destination-bucket",
                  "EncryptionConfiguration":{
                     "ReplicaKmsKeyID":"AWS KMS key IDs (in ARN format) to use for encrypting object replicas"
                  }
               },
               "SourceSelectionCriteria":{
                  "SseKmsEncryptedObjects":{
                     "Status":"Enabled"
                  }
               }
            }
         ]
      }
      ```

   1. Edite o JSON para fornecer valores para o bucket `amzn-s3-demo-destination-bucket`, os `AWS KMS key IDs (in ARN format)` e o `IAM-role-ARN`. Salve as alterações.

   1. Use o comando a seguir para adicionar a configuração de replicação ao bucket `amzn-s3-demo-source-bucket`. Não deixe fornece o nome do bucket de `amzn-s3-demo-source-bucket`.

      ```
      $ aws s3api put-bucket-replication \
      --replication-configuration file://replication.json \
      --bucket amzn-s3-demo-source-bucket \
      --profile acctA
      ```

1. Teste a configuração para verificar se os objetos criptografados estão replicados. No console do Amazon S3, faça o seguinte:

   1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

   1. No bucket de `amzn-s3-demo-source-bucket`, crie uma pasta denominada `Tax`. 

   1. Adicione objetos de amostra à pasta. Não se esqueça de escolher a opção de criptografia e especificar a chave do KMS para criptografar os objetos. 

   1. Verifique se o bucket `amzn-s3-demo-destination-bucket` contém as réplicas dos objetos e se elas são criptografadas usando a chave do KMS especificada na configuração. Para obter mais informações, consulte [Obtenção de informações sobre o status da replicação](replication-status.md).

### Uso da SDKs AWS
<a name="replication-ex4-sdk"></a>

Para obter um exemplo de código que mostra como adicionar uma configuração da replicação, consulte [Uso da SDKs AWS](replication-walkthrough1.md#replication-ex1-sdk). Você precisa modificar a configuração de replicação adequadamente. 

 

# Replicação de alterações de metadados com sincronização de modificação de réplica
<a name="replication-for-metadata-changes"></a>

A sincronização da modificação de réplica do Amazon S3 pode ajudar a manter metadados de objetos, como tags, listas de controle de acesso (ACLs) e configurações do Bloqueio de Objetos replicadas entre réplicas e objetos de origem. Por padrão, o Amazon S3 replica metadados dos objetos de origem somente para as réplicas. Quando a sincronização de modificação de réplica está habilitada, o Amazon S3 replica as alterações de metadados feitas nas cópias da réplica de volta ao objeto de origem, tornando a replicação bidirecional.

## Ativação da sincronização de modificação da réplica
<a name="enabling-replication-for-metadata-changes"></a>

Você pode usar a sincronização de modificação de réplica do Amazon S3 com regras de replicação novas ou existentes. É possível aplicá-la a um bucket inteiro ou a objetos que tenham um prefixo específico.

Para habilitar a sincronização de modificação de réplica usando o console do Amazon S3, consulte [Exemplos para configurar a replicação em tempo real](replication-example-walkthroughs.md). Este tópico fornece instruções para habilitar a sincronização da modificação de réplicas na configuração de replicação quando os buckets de origem e de destino pertencem às mesmas Contas da AWS ou a contas diferentes.

Para habilitar a sincronização da modificação de réplicas usando a AWS Command Line Interface (AWS CLI), você deve adicionar uma configuração de replicação ao bucket que contém as réplicas com `ReplicaModifications` habilitado. Para configurar a replicação bidirecional, crie uma regra de replicação do bucket de origem (`amzn-s3-demo-source-bucket`) para o bucket que contém as réplicas (`amzn-s3-demo-destination-bucket`). Depois, crie uma segunda regra de replicação do bucket que contém as réplicas (`amzn-s3-demo-destination-bucket`) para o bucket de origem (`amzn-s3-demo-source-bucket`). Os buckets de origem e de destino podem estar em Regiões da AWS diferentes ou na mesma região.

**nota**  
Você deve habilitar a sincronização de modificação de réplica em ambos os buckets, de origem e de destino, para replicar alterações de metadados de réplica, como listas de controle de acesso (ACLs) de objetos, tags de objeto ou configurações de Bloqueio de Objetos nos objetos replicados. Como todas as regras de replicação, é possível aplicá-las a todo o bucket ou a um subconjunto de objetos filtrados por prefixo ou tags de objeto.

No exemplo de configuração a seguir, o Amazon S3 replica alterações de metadados sob o prefixo `Tax` para o bucket `amzn-s3-demo-source-bucket`, que conteria os objetos de origem.

```
{
    "Rules": [
        {
            "Status": "Enabled",
            "Filter": {
                "Prefix": "Tax"
            },
            "SourceSelectionCriteria": {
                "ReplicaModifications":{
                    "Status": "Enabled"
                }
            },
            "Destination": {
                "Bucket": "arn:aws:s3:::amzn-s3-demo-source-bucket"
            },
            "Priority": 1
        }
    ],
    "Role": "IAM-Role-ARN"
}
```

Consulte instruções completas sobre como criar regras de replicação usando a AWS CLI em [Configurar a replicação para buckets na mesma conta](replication-walkthrough1.md).

# Replicação de marcadores de exclusão entre intervalos
<a name="delete-marker-replication"></a>

Por padrão, quando a replicação do S3 está habilitada e um objeto é excluído no bucket de origem, o Amazon S3 adiciona um marcador de exclusão somente no bucket de origem. Essa ação ajuda a proteger os dados nos buckets de destino contra exclusões acidentais ou mal-intencionadas. Se você tiver a *replicação de marcadores de exclusão* habilitada, esses marcadores serão copiados para os buckets de destino e o Amazon S3 se comportará como se o objeto tivesse sido excluído nos buckets de origem e de destino. Para obter mais informações sobre como funcionam os marcadores de exclusão, consulte [Trabalhar com marcadores de exclusão](DeleteMarker.md).

**nota**  
A replicação de marcadores de exclusão não é permitida para regras de replicação baseadas em tags. A replicação de marcadores de exclusão também não adere ao acordo de serviço (SLA) de 15 minutos concedido ao usar o Controle de Tempo de Replicação do S3 (S3 RTC).
Se você não estiver usando a versão XML da configuração de replicação mais recente, as operações de exclusão afetarão a replicação de forma diferente. Para obter mais informações, consulte [Como a exclusão de operações afeta a replicação](replication-what-is-isnot-replicated.md#replication-delete-op).
Se você habilitar a replicação do marcador de exclusão e o bucket de origem tiver uma regra de expiração do Ciclo de Vida do S3, os marcadores de exclusão adicionados por essa regra não serão replicados no bucket de destino.

## Habilitando a replicação de marcadores de exclusão
<a name="enabling-delete-marker-replication"></a>

Você pode começar a usar a replicação de marcadores de exclusão com uma regra de replicação nova ou existente. É possível aplicar a replicação do marcador de exclusão a um bucket inteiro ou a objetos que tenham um prefixo específico.

Para habilitar a replicação de marcadores de exclusão usando o console do Amazon S3, consulte [Usar o console do S3](replication-walkthrough1.md#enable-replication). Este tópico fornece instruções para habilitar a replicação de marcadores de exclusão na configuração de replicação quando os buckets de origem e destino pertencem às mesmas Contas da AWS ou a contas diferentes.

Para habilitar a replicação de marcadores de exclusão usando a AWS Command Line Interface (AWS CLI), você deve adicionar uma configuração de replicação ao bucket de origem com `DeleteMarkerReplication` habilitado, conforme mostrado no exemplo de configuração a seguir. 

No exemplo de configuração de replicação a seguir, os marcadores de exclusão são replicados para o bucket de destino `amzn-s3-demo-destination-bucket` para objetos sob o prefixo `Tax`.

```
{
    "Rules": [
        {
            "Status": "Enabled",
            "Filter": {
                "Prefix": "Tax"
            },
            "DeleteMarkerReplication": {
                "Status": "Enabled"
            },
            "Destination": {
                "Bucket": "arn:aws:s3:::amzn-s3-demo-destination-bucket"
            },
            "Priority": 1
        }
    ],
    "Role": "IAM-Role-ARN"
}
```

Consulte instruções completas sobre como criar regras de replicação por meio da AWS CLI em [Configurar a replicação para buckets na mesma conta](replication-walkthrough1.md).

# Gerenciar ou pausar a replicação em tempo real
<a name="disable-replication"></a>

A replicação em tempo real é a cópia assíncrona automática de objetos em buckets na mesma região da AWS ou em Regiões da AWS diferentes. Depois de definir a configuração da replicação, o Amazon S3 replica os objetos recém-criados e as atualizações de objeto de um bucket de origem para um ou mais buckets de destino. 

Você usa o console do Amazon S3 para adicionar regras de replicação ao bucket de origem. As regras de replicação definem os objetos do bucket de origem que devem ser replicados e o bucket de destino ou buckets nos quais os objetos replicados estão armazenados. Para obter mais informações sobre a replicação, consulte [Replicar objetos dentro de uma região e entre regiões](replication.md).

É possível gerenciar as regras de replicação na página **Replicação** do console do Amazon S3. É possível adicionar, visualizar, editar, habilitar, desabilitar ou excluir as regras de replicação. Você também pode alterar a prioridade das regras de replicação. Para obter informações sobre como adicionar regras de replicação a um bucket, consulte [Usar o console do S3](replication-walkthrough1.md#enable-replication).

**Como gerenciar as regras de replicação para um bucket usando o console do Amazon S3**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets**. 

1. Na guia **Buckets de uso geral**, selecione o nome do bucket que você deseja.

1. Escolha **Gerenciamento** e role para baixo até **Regras de replicação**.

1. É possível alterar as regras de replicação das seguintes formas:
   + Para habilitar ou desabilitar uma regra de replicação, selecione o botão de opção à esquerda da regra. No menu **Ações**, selecione **Habilitar regra** ou **Desabilitar regra**. Você também pode desabilitar, habilitar ou excluir todas as regras do bucket no menu **Ações**.
**nota**  
Se você desabilitar uma regra de replicação e, depois, reabilitá-la, qualquer objeto novo ou alterado que não tenha sido replicado enquanto a regra estava desabilitada *não* será replicado automaticamente quando a regra for reabilitada. Para replicar esses objetos, é necessário usar a Replicação em Lote do S3. Para obter mais informações, consulte [Replicar objetos existentes com o Replicação em Lote](s3-batch-replication-batch.md).
   + Para alterar a prioridade de uma regra, selecione o botão de opção à esquerda da regra e escolha **Editar regra**.

     Defina prioridades para a regra, de maneira a evitar conflitos causados pelos objetos incluídos no escopo de mais de uma regra. No caso de sobreposição de regras, o Amazon S3 usa a prioridade da regra para determinar qual regra aplicar. Quanto maior o número, maior a prioridade. Para obter mais informações sobre prioridade de regra, consulte [Elementos do arquivo de configuração de replicação](replication-add-config.md).

## Pausar ou interromper a replicação
<a name="replication-pause"></a>

Para pausar temporariamente a replicação e fazer com que ela seja retomada automaticamente mais tarde, você pode usar a ação `aws:s3:bucket-pause-replication` no AWS Fault Injection Service. Consulte mais informações em [https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#bucket-pause-replication](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#bucket-pause-replication) e em [Pause S3 Replication](https://docs.aws.amazon.com/fis/latest/userguide/cross-region-scenario.html#cross-region-scenario-actions-pause-s3-replication) no *Guia do usuário do AWS Fault Injection Service*.

Para interromper a replicação no Amazon S3, recomendamos desabilitar as regras de replicação. Se você desabilitar uma regra de replicação e, depois, reabilitá-la, qualquer objeto novo ou alterado que não tenha sido replicado enquanto a regra estava desabilitada *não* será replicado automaticamente quando a regra for reabilitada. Para replicar esses objetos, é necessário usar a Replicação em Lote do S3. Para obter mais informações, consulte [Replicar objetos existentes com o Replicação em Lote](s3-batch-replication-batch.md).

A replicação também será interrompida se você remover o perfil do AWS Identity and Access Management (IAM), as permissões do AWS Key Management Service (AWS KMS) ou as permissões da política de bucket que concedem ao Amazon S3 as permissões necessárias. No entanto, não recomendamos essas abordagens porque elas causam falhas na replicação. O Amazon S3 relata o status da replicação para objetos afetados como `FAILED`. Se as permissões forem restauradas posteriormente, os objetos marcados como `FAILED` *não* serão replicados automaticamente. Para replicar esses objetos, é necessário usar a Replicação em Lote do S3.

# Replicar objetos existentes com o Replicação em Lote
<a name="s3-batch-replication-batch"></a>

A funcionalidade Replicação em Lote do S3 é diferente da replicação em tempo real, que replica contínua e automaticamente novos objetos nos buckets do Amazon S3. Em vez disso, o Replicação em Lote do S3 ocorre sob demanda em objetos existentes. É possível usar o Replicação em Lote do S3 para replicar os seguintes tipos de objeto: 
+ Objetos que já existiam antes da implantação de uma configuração de replicação
+ Objetos que já foram replicados anteriormente
+ Objetos que já falharam em uma replicação

Você pode replicar esses objetos sob demanda usando um trabalho da funcionalidade Operações em Lote.

Para começar a usar a funcionalidade Replicação em Lote, você pode:
+ **Iniciar o Replicação em Lote para uma nova regra ou destino de replicação**: é possível criar um trabalho único do Replicação em Lote ao criar a primeira regra em uma nova configuração de replicação ou ao adicionar um novo bucket de destino a uma configuração existente por meio do console do Amazon S3. 
+ **Iniciar o Replicação em Lote para uma configuração de replicação existente**: é possível criar um trabalho de replicação em lote usando o Operações em Lote do S3 por meio do console do Amazon S3, da AWS Command Line Interface (AWS CLI), dos SDKs da AWS ou da API REST do Amazon S3.

Quando o trabalho de replicação em lote termina, você recebe um relatório de conclusão. Consulte mais informações sobre como usar esse relatório para examinar o trabalho em [Monitoramento de relatórios de status e conclusão](batch-ops-job-status.md).

## Considerações sobre o recurso S3 Batch Replication
<a name="batch-replication-considerations"></a>

Antes de usar o Replicação em Lote do S3, examine a seguinte lista de considerações: 
+ O bucket de origem deve ter uma configuração de replicação existente. Para habilitar a replicação, consulte [Visão geral da configuração da replicação em tempo real](replication-how-setup.md) e [Exemplos para configurar a replicação em tempo real](replication-example-walkthroughs.md).
+ Se a funcionalidade Ciclo de Vida do S3 estiver configurada para o bucket, recomendamos desabilitar as regras de ciclo de vida enquanto o trabalho da funcionalidade Replicação em Lote estiver ativo. Isso ajudará a garantir a paridade entre os buckets de origem e de destino. Caso contrário, esses buckets poderão divergir e o bucket de destino não será uma réplica exata do bucket de origem. Por exemplo, considere os seguintes cenários:
  + Seu bucket de origem tem várias versões de um objeto e um marcador de exclusão nesse objeto.
  + Seus buckets de origem e destino têm uma configuração de ciclo de vida para remover marcadores de exclusão expirados.

  Nesse cenário, a funcionalidade Replicação em Lote pode acabar replicando o marcador de exclusão para o bucket de destino antes de replicar as versões do objeto. Esse comportamento pode fazer com que a configuração de ciclo de vida marque o marcador de exclusão como expirado e com que o marcador de exclusão seja removido do bucket de destino antes que as versões do objeto sejam replicadas.
+ O perfil do AWS Identity and Access Management (IAM) que você especifica para executar o trabalho da funcionalidade Operações em Lote precisa ter as permissões necessárias para executar a operação da funcionalidade Replicação em Lote subjacente. Para obter mais informações sobre como criar funções do IAM, consulte [Configurar um perfil do IAM para o Replicação em Lote do S3](s3-batch-replication-policies.md).
+ A funcionalidade Replicação em Lote requer um manifesto que pode ser gerado pelo Amazon S3. O manifesto gerado deve ser armazenado na mesma Região da AWS que o bucket de origem. Se escolher não gerar o manifesto, você poderá fornecer um relatório da funcionalidade Inventário Amazon S3 ou um arquivo CSV que contenha os objetos que deseja replicar. Para obter mais informações, consulte [Especificando um manifesto para um trabalho de replicação em lote](#batch-replication-manifest). 
+ O Replicação em Lote não é compatível com a nova replicação de objetos que foram excluídos especificando o ID de versão do objeto do bucket de destino. Para replicar esses objetos novamente, copie os objetos de origem no local com um trabalho de cópia em lote. Copiar esses objetos no local criará versões dos objetos no bucket de origem e iniciará a replicação automaticamente para o bucket de destino. A exclusão e a recriação do bucket de destino não iniciam a replicação.

  Para obter mais informações sobre a cópia em lote, consulte [Exemplos que usam o Batch Operations para copiar objetos](batch-ops-examples-copy.md).
+ Se você estiver usando uma regra de replicação no bucket de origem, [atualize a configuração de replicação](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-walkthrough-2.html), concedendo ao perfil do IAM anexado à regra de replicação as permissões adequadas para replicar objetos. O perfil do IAM precisa ter permissões necessárias para executar a replicação nos buckets de origem e de destino.
+ Se você enviar vários trabalhos do Replicação em Lote para o mesmo bucket em um curto espaço de tempo, o Amazon S3 executará esses trabalhos simultaneamente.
+ Se você enviar vários trabalhos da funcionalidade Replicação em Lote para dois buckets diferentes, esteja ciente de que o Amazon S3 poderá não executar todos os trabalhos simultaneamente. Se você exceder o número de trabalhos do Replicação em Lote que podem ser executados ao mesmo tempo em sua conta, o Amazon S3 pausará os trabalhos de menor prioridade para trabalhar nos de maior prioridade. Depois que os trabalhos de maior prioridade forem concluídos, todos os trabalhos pausados se tornarão ativos novamente.
+ A funcionalidade Replicação em Lote não é compatível com objetos armazenados nas classes de armazenamento S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive.
+ Para replicar em lote objetos da classe S3 Intelligent-Tiering armazenados nos níveis de armazenamento Archive Access ou Deep Archive Access, primeiro é necessário iniciar uma solicitação de [restauração](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering-managing.html#restore-data-from-int-tier-archive) e aguardar até que os objetos sejam movidos para o nível Frequent Access. 
+ Um único trabalho de cópia de replicação em lote pode comportar um manifesto com até 20 bilhões de objetos.
+ Se você usa o recurso Replicação em Lote do S3 para replicar conjuntos de dados entre regiões e já tiver atualizado o tipo de criptografia do lado do servidor de SSE-S3 para SSE-KMS, talvez você precise de permissões adicionais. No bucket da região de origem, é necessário ter a permissão `kms:decrypt`. Em seguida, é necessário ter as permissões `kms:decrypt` e `kms:encrypt` para o bucket na região de destino. Para obter mais informações, consulte [Replicar objetos criptografados](replication-config-for-kms-objects.md).

## Especificando um manifesto para um trabalho de replicação em lote
<a name="batch-replication-manifest"></a>

Um manifesto é um objeto do Amazon S3 que contém as chaves de objeto em que você deseja que o Amazon S3 atue. Se quiser criar um trabalho da funcionalidade Replicação em Lote, você deverá fornecer um manifesto gerado pelo usuário ou fazer com que o Amazon S3 gere um manifesto com base na configuração de replicação.

Se você fornecer um manifesto gerado pelo usuário, ele deverá estar na forma de um relatório da funcionalidade Inventário Amazon S3 ou um arquivo CSV. Se os objetos no manifesto estiverem em um bucket versionado, você deverá especificar os IDs de versão dos objetos. Somente o objeto com o ID de versão especificado no manifesto será replicado. Para saber mais sobre como especificar um manifesto, consulte [Especificar um manifesto](batch-ops-create-job.md#specify-batchjob-manifest).

Se você preferir que o Amazon S3 gere um arquivo de manifesto em seu nome, os objetos listados usarão o mesmo bucket de origem, prefixo e tags das configurações de replicação no bucket de origem. Com um manifesto gerado, o Amazon S3 replicará todas as versões elegíveis dos objetos.

**nota**  
Se você decidir que o Amazon S3 deve gerar o manifesto, ele deverá ser armazenado na mesma Região da AWS que o bucket de origem.

## Filtros para um trabalho de replicação em lote
<a name="batch-replication-filters"></a>

Ao criar o trabalho da funcionalidade Replicação em Lote, você pode especificar filtros adicionais, como data de criação e status de replicação do objeto, para reduzir o escopo do trabalho.

É possível filtrar os objetos a serem replicados com base no valor de `ObjectReplicationStatuses`, fornecendo um ou mais dos seguintes valores:
+ `"NONE"`: indica que o Simple Storage Service (Amazon S3) nunca tentou replicar o objeto antes.
+ `"FAILED"`: indica que o Amazon S3 tentou replicar o objeto, mas não conseguiu.
+ `"COMPLETED"`: indica que o Simple Storage Service (Amazon S3) já replicou com êxito o objeto anteriormente.
+ `"REPLICA"`: indica que esse objeto é uma réplica que o Amazon S3 replicou de outro bucket de origem.

Para obter mais informações sobre a replicação, consulte [Obtenção de informações sobre o status da replicação](replication-status.md).

Se você não filtrar o trabalho de replicação em lote, o recurso Operações em Lote tentará replicar todos os objetos (independentemente do `ObjectReplicationStatus` deles) no manifesto que correspondam às regras na configuração de replicação, exceto alguns objetos que não são replicados por padrão. Para obter mais informações, consulte . [O que não é replicado com as configurações de replicação?](replication-what-is-isnot-replicated.md#replication-what-is-not-replicated)

Dependendo do objetivo, você pode definir `ObjectReplicationStatuses` com um ou mais dos seguintes valores:
+ Para replicar somente objetos existentes que nunca foram replicados, inclua apenas `"NONE"`.
+ Para repetir a replicação somente dos objetos cuja replicação falhou anteriormente, inclua apenas `"FAILED"`.
+ Para replicar os objetos existentes e tentar replicar novamente os objetos cuja replicação falhou anteriormente, inclua `"NONE"` e `"FAILED"`.
+ Para preencher um bucket de destino com objetos que foram replicados para outro destino, inclua `"COMPLETED"`.
+ Para replicar objetos que já foram replicados anteriormente, inclua `"REPLICA"`.

## Relatório de conclusão da replicação em lote
<a name="batch-replication-completion-report"></a>

Ao criar um trabalho de replicação em lote, solicite um relatório de conclusão CSV. Esse relatório mostra objetos, códigos de sucesso ou falha na replicação, saídas e descrições. Para obter mais informações sobre o monitoramento de trabalhos e relatórios de conclusão, consulte [Relatórios de conclusão](batch-ops-job-status.md#batch-ops-completion-report). 

Para obter uma lista de códigos e descrições de falhas de replicação, consulte [Motivos de falha da replicação do Amazon S3](replication-metrics-events.md#replication-failure-codes).

Consulte mais informações sobre como solucionar problemas de Replicação em Lote em [Erros de replicação em lote](replication-troubleshoot.md#troubleshoot-batch-replication-errors).

## Introdução à replicação em lote
<a name="batch-replication-tutorial"></a>

Para saber mais sobre como usar a replicação em lote, consulte o [Tutorial: replicar objetos existentes nos buckets do Amazon S3 com o S3 Batch Replication](https://aws.amazon.com/getting-started/hands-on/replicate-existing-objects-with-amazon-s3-batch-replication/).

# Configurar um perfil do IAM para o Replicação em Lote do S3
<a name="s3-batch-replication-policies"></a>

Como o Replicação em Lote do Amazon S3 é um tipo de trabalho do operações em lote, você deve criar um perfil do AWS Identity and Access Management (IAM) para conceder permissões ao recurso Operações em Lote para realizar ações em seu nome. Você também deve anexar uma política do IAM de replicação em lote à função do IAM de operações em lote. 

Use os procedimentos a seguir para criar uma política e um perfil do IAM que conceda ao recurso Operações em Lote permissão para iniciar um trabalho de replicação em lote.

**Para criar uma política para replicação em lote**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Em **Access management (Gerenciamento de acesso)**, escolha **Policies (Políticas)**.

1. Escolha **Criar política**.

1. Na página **Especificar permissões**, escolha **JSON**.

1. Insira uma das políticas a seguir, dependendo se o manifesto é gerado pelo Amazon S3 ou se você está fornecendo seu próprio manifesto. Para mais informações sobre manifestos, consulte [Especificando um manifesto para um trabalho de replicação em lote](s3-batch-replication-batch.md#batch-replication-manifest). 

   Antes de usar essas políticas, substitua `user input placeholders` nas políticas a seguir pelos nomes do bucket de origem de replicação, do bucket de manifesto e do bucket de relatório de conclusão. 
**nota**  
O perfil do IAM para Replicação em Lote precisa de permissões diferentes, dependendo se você gerar um manifesto ou fornecer um; portanto, escolha a política apropriada nos exemplos a seguir.

**Política se usar e armazenar um manifesto gerado pelo Amazon S**

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Action": [
               "s3:InitiateReplication"
            ],
            "Effect": "Allow",
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
            ]
         },
         {
            "Action": [
               "s3:GetReplicationConfiguration",
               "s3:PutInventoryConfiguration"
            ],
            "Effect": "Allow",
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-source-bucket"
            ]
         },
         {
            "Action": [
               "s3:GetObject",
               "s3:GetObjectVersion"
            ],
            "Effect": "Allow",
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
         },
         {
            "Effect": "Allow",
            "Action": [
               "s3:PutObject"
            ],
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*",
               "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"    
            ]
         }
      ]
   }
   ```

------

**Política se usar um manifesto fornecido pelo usuário**

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Action": [
               "s3:InitiateReplication"
            ],
            "Effect": "Allow",
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
            ]
         },
         {
            "Action": [
               "s3:GetObject",
               "s3:GetObjectVersion"
            ],
            "Effect": "Allow",
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
         },
         {
            "Effect": "Allow",
            "Action": [
               "s3:PutObject"
            ],
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"    
            ]
         }
      ]
   }
   ```

------

1. Escolha **Próximo**.

1. Especifique um nome para a política e escolha **Criar política**.

**Como criar um perfil do IAM para Replicação em Lote**

1. Faça login no Console de gerenciamento da AWS e abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Em **Access management** (Gerenciamento de acesso), escolha **Roles** (Funções).

1. Selecione **Criar perfil**.

1. Escolha **AWS service (Serviço da AWS)** como o tipo de entidade confiável. Na seção **Caso de uso**, escolha **S3** como serviço e **Operações em Lote do S3** como caso de uso.

1. Escolha **Próximo**. A página **Adicionar permissões** é exibida. Na caixa de pesquisa, pesquise a política que você criou no procedimento anterior. Marque a caixa de seleção ao lado do nome da política e escolha **Próximo**. 

1. Na página **Nomear, revisar e criar**, especifique um nome para o perfil do IAM.

1. Na seção **Etapa 1: identidades confiáveis**, verifique se o perfil do IAM está usando a seguinte política de confiança:

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Principal":{
               "Service":"batchoperations.s3.amazonaws.com"
            },
            "Action":"sts:AssumeRole"
         }
      ]
   }
   ```

------

1. Na seção **Etapa 2: adicionar permissões**, verifique se o perfil do IAM está usando a política que você criou anteriormente. 

1. Selecione **Criar perfil**. 

# Criar um trabalho de replicação em lote para novas regras ou destinos de replicação
<a name="s3-batch-replication-new-config"></a>

No Amazon S3, a replicação em tempo real não replica nenhum objeto que já existia no bucket de origem antes de você criar uma configuração de replicação. A replicação em tempo real replica automaticamente somente objetos novos e atualizados que são gravados no bucket após a criação da configuração de replicação. Para replicar objetos existentes, é possível usar o Replicação em Lote do S3 para replicá-los sob demanda. 

Ao criar a primeira regra em uma nova configuração de replicação em tempo real ou ao adicionar um novo bucket de destino a uma configuração de replicação existente por meio do console do Amazon S3, você tem a opção de criar um trabalho de replicação em lote. É possível usar esse trabalho de replicação em lote para replicar objetos existentes no bucket de origem para o bucket de destino. 

Para usar o Replicação em Lote em uma configuração existente sem adicionar um novo bucket de destino, consulte [Criar um trabalho de replicação em lote para regras de replicação existentes](s3-batch-replication-existing-config.md).

**Pré-requisitos**  
Antes de criar o trabalho de replicação em lote, você deve criar um perfil do AWS Identity and Access Management (IAM) de operações em lote para conceder permissões ao Amazon S3 para realizar ações em seu nome. Para obter mais informações, consulte [Configurar um perfil do IAM para o Replicação em Lote do S3](s3-batch-replication-policies.md).

## Usar o Replicação em Lote para uma nova regra ou destino de replicação pelo console do Amazon S3
<a name="batch-replication-new-config-console"></a>

Ao criar a primeira regra em uma nova configuração de replicação ou ao adicionar um novo bucket de destino a uma configuração existente por meio do console do Amazon S3, você tem a opção de criar um trabalho de replicação em lote para replicar objetos existentes no bucket de origem.

**Como criar um trabalho de replicação em lote ao criar ou atualizar uma configuração de replicação**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets**. 

1. Na lista **Buckets de uso geral**, escolha o nome do bucket que contém os objetos que você deseja replicar.

1. Para criar uma regra de replicação ou editar uma existente, selecione a guia **Gerenciamento** e role para baixo até **Regras de replicação**:
   + Para criar uma regra de replicação, selecione **Create replication rule** (Criar regra de replicação). Consulte exemplos sobre como configurar uma regra de replicação básica em [Exemplos para configurar a replicação em tempo real](replication-example-walkthroughs.md).
   + Para editar uma regra de replicação existente, selecione o botão de opção ao lado do nome da regra e escolha **Editar regra**.

1. Crie sua regra de replicação ou edite o destino da regra de replicação existente e selecione **Save** (Salvar).

   Depois de criar a primeira regra em uma nova configuração de replicação ou editar uma configuração existente para adicionar um novo destino, a caixa de diálogo **Replicate existing objects?** (Replicar objetos existentes?) é exibida, oferecendo a você a opção de criar um trabalho de replicação em lote.

1. Se você quiser criar e executar esse trabalho agora, escolha **Sim, replicar objetos existentes**.

   Se você quiser criar um trabalho de replicação em lote posteriormente, selecione **Não, não replicar objetos existentes**.

1. Se você escolher **Sim, replicar objetos existentes**, a página **Criar trabalho de operações em lote** será exibida. No recurso Replicação em Lote do S3, um trabalho tem as seguintes configurações:   
**Opções de execução do trabalho**  
Se você quiser que o trabalho do Replicação em Lote do S3 seja executado imediatamente, selecione **Executar automaticamente o trabalho quando estiver pronto**. Se quiser executar o trabalho mais tarde, selecione **Aguardar para executar o trabalho quando ele estiver pronto**.  
Se escolher **Executar automaticamente o trabalho quando estiver pronto**, você não poderá criar e salvar um manifesto de operações em lote. Para salvar o manifesto de operações em lote, escolha **Aguardar para executar o trabalho quando ele estiver pronto**.  
**Manifesto de operações em lote**  
Se escolher **Aguardar para executar o trabalho quando ele estiver pronto**, a seção **Manifesto do Batch Operations** será exibida. O manifesto é uma lista de todos os objetos em que você deseja que a ação especificada seja executada. Você pode escolher salvar o manifesto. Como acontece com os arquivos do S3 Inventory, o manifesto será salvo como um arquivo CSV e armazenado em um bucket. Para saber mais sobre os manifestos de operações em lote, consulte [Especificar um manifesto](batch-ops-create-job.md#specify-batchjob-manifest).  
**Relatórios de conclusão**  
O recurso Operações em Lote do S3 executa uma tarefa para cada objeto especificado no manifesto. Os relatórios de conclusão oferecem uma maneira fácil de visualizar os resultados das tarefas em um formato consolidado, sem a necessidade de configurações adicionais. Você pode solicitar um relatório de conclusão para todas as tarefas ou somente para as que apresentarem falha. Para saber mais sobre relatórios de conclusão, consulte [Relatórios de conclusão](batch-ops-job-status.md#batch-ops-completion-report).  
**Permissões**  
Uma das causas mais comuns de falhas de replicação são permissões insuficientes no perfil do AWS Identity and Access Management (IAM) fornecido. Para obter informações sobre como criar essa função, consulte [Configurar um perfil do IAM para o Replicação em Lote do S3](s3-batch-replication-policies.md). Crie ou escolha um perfil do IAM que tenha as permissões necessárias para a replicação em lote. 

1. Escolha **Salvar**.

# Criar um trabalho de replicação em lote para regras de replicação existentes
<a name="s3-batch-replication-existing-config"></a>

No Amazon S3, a replicação em tempo real não replica nenhum objeto que já existia no bucket de origem antes de você criar uma configuração de replicação. A replicação em tempo real replica automaticamente somente objetos novos e atualizados que são gravados no bucket após a criação da configuração de replicação. Para replicar objetos existentes, é possível usar o Replicação em Lote do S3 para replicá-los sob demanda. 

Você pode configurar o S3 Batch Replication para uma configuração de replicação existente usando os AWS SDKs, a AWS Command Line Interface (AWS CLI) ou o console do Simple Storage Service (Amazon S3). Consulte uma visão geral sobre a replicação em lote em [Replicar objetos existentes com o Replicação em Lote](s3-batch-replication-batch.md).

Quando o trabalho de replicação em lote termina, você recebe um relatório de conclusão. Para obter mais informações sobre como usar o relatório para examinar o trabalho, consulte [Monitoramento de relatórios de status e conclusão](batch-ops-job-status.md).

**Pré-requisitos**  
Antes de criar o trabalho de replicação em lote, você deve criar um perfil do AWS Identity and Access Management (IAM) de operações em lote para conceder permissões ao Amazon S3 para realizar ações em seu nome. Para obter mais informações, consulte [Configurar um perfil do IAM para o Replicação em Lote do S3](s3-batch-replication-policies.md).

## Usar o console do S3
<a name="batch-replication-existing-config-console"></a>

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação esquerdo, escolha **Batch Operations** (Operações em lote).

1. Escolha **Criar trabalho**.

1. Verifique se a seção **Região da AWS** mostra a região onde você deseja criar o trabalho. 

1. Na seção **Manifesto**, especifique o formato de manifesto que você deseja usar. O manifesto é uma lista de todos os objetos em que você deseja que a ação especificada seja executada. Para saber mais sobre os manifestos de operações em lote, consulte [Especificar um manifesto](batch-ops-create-job.md#specify-batchjob-manifest).
   + Se você tiver um manifesto preparado, escolha **S3 inventory report** (manifest.json) [Relatório de inventário do S3 (manifest.json)] ou **CSV**. Se o manifesto estiver em um bucket com versionamento, você poderá especificar o ID de versão do manifesto. Se você não especificar um ID de versão, o Operações em Lote usará a versão atual do manifesto. Consulte mais informações sobre como criar um manifesto em [Especificar um manifesto](batch-ops-create-job.md#specify-batchjob-manifest).
**nota**  
Se os objetos no manifesto estiverem em um bucket versionado, você deverá especificar os IDs de versão dos objetos. Para obter mais informações, consulte [Especificar um manifesto](batch-ops-create-job.md#specify-batchjob-manifest).
   + Para criar um manifesto com base na configuração de replicação, escolha **Create manifest using S3 Replication configuration** (Criar manifesto usando a configuração do S3 Replication). Depois, escolha o bucket de origem da configuração de replicação.

1. (Opcional) Se escolher **Criar manifesto usando a configuração de replicação do S3**, você poderá incluir filtros adicionais, como data de criação e status de replicação do objeto. Consulte exemplos de como filtrar por status de replicação em [Especificando um manifesto para um trabalho de replicação em lote](s3-batch-replication-batch.md#batch-replication-manifest). 

1. (Opcional) Se escolher **Criar manifesto usando a configuração de replicação do S3**, você poderá salvar o manifesto gerado. Para salvar esse manifesto, selecione **Salvar manifesto do Batch Operations**. Depois, especifique o bucket de destino para o manifesto e escolha se deseja criptografar o manifesto. 
**nota**  
O manifesto gerado deve ser armazenado na mesma Região da AWS que o bucket de origem.

1. Escolha **Próximo**.

1. Na página **Operações**, escolha **Replicar** e **Próximo**. 

1. (Opcional) Forneça uma **Description** (Descrição). 

1. Ajuste a **Priority** (Prioridade) do trabalho, se necessário. Números mais altos indicam maior prioridade. O Simple Storage Service (Amazon S3) tenta executar trabalhos de prioridade mais alta antes dos trabalhos de prioridade mais baixa. Para obter mais informações sobre prioridade de trabalhos, consulte [Atribuir prioridade aos trabalhos](batch-ops-job-priority.md).

1. (Opcional) Gere um relatório de conclusão. Para gerar esse relatório, selecione **Gerar relatório de conclusão**.

   Se escolher gerar um relatório de conclusão, você deverá escolher se o relatório informará **Failed tasks only** (Apenas as tarefas que falharam) ou **All tasks** (Todas as tarefas) e fornecer um bucket de destino para o relatório.

1. Na seção **Permissões**, escolha um perfil do IAM que tenha as permissões necessárias para a replicação em lote. Uma das causas mais comuns de falhas de replicação são permissões insuficientes no perfil do IAM fornecido. Para obter informações sobre como criar essa função, consulte [Configurar um perfil do IAM para o Replicação em Lote do S3](s3-batch-replication-policies.md). 

1. (Opcional) Adicione etiquetas de trabalho à tarefa de replicação em lote.

1. Escolha **Próximo**.

1. Analise a configuração do trabalho e selecione **Criar trabalho**.

## Usar o AWS CLI com um manifesto do S3
<a name="batch-replication-existing-config-cli"></a>

O exemplo do comando `create-job` a seguir cria um trabalho do Replicação em Lote do S3 usando um manifesto gerado pelo S3 para a Conta da AWS `111122223333`. Esse exemplo replica os objetos existentes e os objetos cuja replicação falhou anteriormente. Consulte informações sobre como filtrar por status de replicação em [Especificando um manifesto para um trabalho de replicação em lote](s3-batch-replication-batch.md#batch-replication-manifest). 

Para usar esse comando, substitua os *`user input placeholders`* por suas informações. Substitua o perfil do IAM `role/batch-Replication-IAM-policy` pelo perfil do IAM que você criou anteriormente. Para obter mais informações, consulte [Configurar um perfil do IAM para o Replicação em Lote do S3](s3-batch-replication-policies.md).

```
aws s3control create-job --account-id 111122223333 \ 
--operation '{"S3ReplicateObject":{}}' \ 
--report '{"Bucket":"arn:aws:s3:::amzn-s3-demo-completion-report-bucket",\ 
"Prefix":"batch-replication-report", \ 
"Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}' \ 
--manifest-generator '{"S3JobManifestGenerator": {"ExpectedBucketOwner": "111122223333", \ 
"SourceBucket": "arn:aws:s3:::amzn-s3-demo-source-bucket", \ 
"EnableManifestOutput": false, "Filter": {"EligibleForReplication": true, \ 
"ObjectReplicationStatuses": ["NONE","FAILED"]}}}' \ 
--priority 1 \ 
--role-arn arn:aws:iam::111122223333:role/batch-Replication-IAM-policy \ 
--no-confirmation-required \ 
--region source-bucket-region
```

**nota**  
É necessário iniciar o trabalho na mesma Região da AWS do bucket de origem da replicação. 

Após iniciar com êxito um trabalho de replicação em lote, você receberá o ID do trabalho como resposta. Você pode monitorar o trabalho usando o comando `describe-job` a seguir. Para usar esse comando, substitua os *`user input placeholders`* por suas informações. 

```
aws s3control describe-job --account-id 111122223333 --job-id job-id --region source-bucket-region
```

## Usar o AWS CLI com um manifesto fornecido pelo usuário
<a name="batch-replication-existing-config-cli-customer-manifest"></a>

O exemplo a seguir cria um trabalho de Replicação em Lote do S3 usando um manifesto definido pelo usuário para a Conta da AWS `111122223333`. Se os objetos no manifesto estiverem em um bucket versionado, você deverá especificar os IDs de versão dos objetos. Somente o objeto com o ID de versão especificado no manifesto será replicado. Consulte mais informações sobre como criar um manifesto em [Especificar um manifesto](batch-ops-create-job.md#specify-batchjob-manifest). 

Para usar esse comando, substitua os *`user input placeholders`* por suas informações. Substitua o perfil do IAM `role/batch-Replication-IAM-policy` pelo perfil do IAM que você criou anteriormente. Para obter mais informações, consulte [Configurar um perfil do IAM para o Replicação em Lote do S3](s3-batch-replication-policies.md).

```
aws s3control create-job --account-id 111122223333 \ 
--operation '{"S3ReplicateObject":{}}' \
--report '{"Bucket":"arn:aws:s3:::amzn-s3-demo-completion-report-bucket",\
"Prefix":"batch-replication-report", \
"Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}' \
--manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820",\
"Fields":["Bucket","Key","VersionId"]},\
"Location":{"ObjectArn":"arn:aws:s3:::amzn-s3-demo-manifest-bucket/manifest.csv",\
"ETag":"Manifest Etag"}}' \
--priority 1 \
--role-arn arn:aws:iam::111122223333:role/batch-Replication-IAM-policy \
--no-confirmation-required \
--region source-bucket-region
```

**nota**  
É necessário iniciar o trabalho na mesma Região da AWS do bucket de origem da replicação. 

Após iniciar com êxito um trabalho de replicação em lote, você receberá o ID do trabalho como resposta. Você pode monitorar o trabalho usando o comando `describe-job` a seguir.

```
aws s3control describe-job --account-id 111122223333 --job-id job-id --region source-bucket-region
```

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

Esta seção lista dicas de solução de problemas para a replicação do Amazon S3 e apresenta informações sobre erros de replicação em lote do S3.

**Topics**
+ [

## Dicas de solução de problemas para a replicação do S3
](#troubleshoot-replication-tips)
+ [

## Erros de replicação em lote
](#troubleshoot-batch-replication-errors)

## Dicas de solução de problemas para a replicação do S3
<a name="troubleshoot-replication-tips"></a>

Se as réplicas dos objetos não aparecerem no bucket de destino depois de configurar a replicação, use as dicas a seguir para identificar e corrigir os problemas.
+ Para a maioria dos objetos, a replicação ocorre em até 15 minutos. O tempo que o Amazon S3 leva para replicar um objeto depende de vários fatores, incluindo o par de regiões de origem e destino e o tamanho do objeto. Para objetos grandes, a replicação pode levar várias horas. Para ter visibilidade dos tempos de replicação, você pode [usar o Controle de Tempo de Replicação do S3 (S3 RTC)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-time-control.html#enabling-replication-time-control).

  Se o objeto que estiver sendo replicado for grande, aguarde um pouco antes de conferir se ele está sendo exibido no destino. Você também pode conferir o status de replicação do objeto de origem. Se o status de replicação do objeto for `PENDING`, isso indicará que o Amazon S3 não concluiu a replicação. Se o status de replicação do objeto for `FAILED`, confira a configuração de replicação definida no bucket de origem. 

  Além disso, para receber informações sobre falhas durante a replicação, você pode configurar a replicação de notificações de eventos do Amazon S3 para receber eventos de falha. Para obter mais informações, consulte [Receber eventos de falha de replicação com Notificações de Eventos do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-metrics.html).
+ Para conferir o status de replicação de um objeto, chame a operação de API `HeadObject`. A operação de API `HeadObject` retorna o status de replicação `PENDING`, `COMPLETED` ou `FAILED` de um objeto. Em resposta a uma chamada de API `HeadObject`, o status da replicação é retornado no cabeçalho `x-amz-replication-status`.
**nota**  
Para executar `HeadObject`, você deve ter acesso de leitura ao objeto que está solicitando. Uma solicitação `HEAD` tem as mesmas opções de uma solicitação `GET`, sem realizar uma operação `GET`. Por exemplo, para executar uma solicitação `HeadObject` usando a AWS Command Line Interface (AWS CLI), você pode executar o comando a seguir. Substitua `user input placeholders` por suas próprias informações.   

  ```
  aws s3api head-object --bucket amzn-s3-demo-source-bucket --key index.html
  ```
+ Se `HeadObject` retornar os objetos com um status de replicação `FAILED`, você poderá usar o Replicação em Lote do S3 para replicar esses objetos com falha. Para obter mais informações, consulte [Replicar objetos existentes com o Replicação em Lote](s3-batch-replication-batch.md). Como alternativa, você pode recarregar os objetos com falha no bucket de origem, o que iniciará a replicação dos novos objetos. 
+ Na configuração de replicação do bucket de origem, verifique o seguinte:
  + O nome de recurso da Amazon (ARN) do bucket de destino está correto.
  + O prefixo do nome de chave está correto. Por exemplo, se você definiu a configuração para replicar objetos com o prefixo `Tax`, apenas objetos com nomes de chaves como `Tax/document1` ou `Tax/document2` serão replicados. Um objeto com o nome de chave `document3` não será replicado.
  + O status da regra de replicação é `Enabled`.
+ Verifique se o versionamento não foi suspenso em nenhum bucket na configuração da replicação. Tanto o bucket de origem quanto o de destino devem ter o versionamento ativado.
+ Se uma regra de replicação for definida como **Alterar a propriedade do objeto para o proprietário do bucket de destino**, a o perfil do AWS Identity and Access Management (IAM) usado para replicação deverá ter a permissão `s3:ObjectOwnerOverrideToBucketOwner`. Essa permissão é concedida ao recurso (nesse caso, o bucket de destino). Por exemplo, a declaração `Resource` a seguir mostra como conceder essa permissão no bucket de destino:

  ```
  {
    "Effect":"Allow",
    "Action":[
      "s3:ObjectOwnerOverrideToBucketOwner"
    ],
    "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
  }
  ```
+ Se o bucket de destino for de propriedade de outra conta, o proprietário do bucket de destino também deve conceder a permissão `s3:ObjectOwnerOverrideToBucketOwner` ao bucket de destino por meio da política de bucket de destino. Para usar o exemplo de política de bucket a seguir, substitua `user input placeholders` por suas próprias informações: 

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Id": "Policy1644945280205",
    "Statement": [
      {
        "Sid": "Stmt1644945277847",
        "Effect": "Allow",
        "Principal": {
          "AWS": "arn:aws:iam::123456789101:role/s3-replication-role"
        },
        "Action": [
          "s3:ReplicateObject",
          "s3:ReplicateTags",
          "s3:ObjectOwnerOverrideToBucketOwner"
        ],
        "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
      }
    ]
  }
  ```

------
**nota**  
Se as configurações de propriedade do objeto de **Imposto pelo proprietário do bucket**, você não precisará atualizar a configuração para **Alterar a propriedade do objeto para o proprietário do bucket de destino** na regra de replicação. A alteração de propriedade do objeto ocorrerá por padrão. Para obter mais informações sobre alterações da propriedade da réplica, consulte [Alterar o proprietário da réplica](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-change-owner.html).
+ Se você estiver definindo a configuração de replicação em um cenário entre contas, no qual os buckets de origem e de destino pertencem a Contas da AWS diferentes, os buckets de destino não poderão ser configurados como um bucket de Pagamento pelo solicitante. Para obter mais informações, consulte [Utilizar buckets de uso geral com pagamento pelo solicitante para transferência e uso de armazenamento](RequesterPaysBuckets.md).
+ Se os objetos de origem de um bucket forem criptografados usando a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS), a regra de replicação deverá ser configurada para incluir objetos criptografados pelo AWS KMS. Certifique-se de selecionar **Replicar objetos criptografados com o AWS KMS** nas configurações de **Criptografia** no console do Amazon S3. Depois, selecione uma chave do AWS KMS para criptografar os objetos de destino.
**nota**  
Se o bucket de destino estiver em uma conta diferente, especifique uma chave gerenciada pelo cliente do AWS KMS que seja de propriedade da conta de destino. Não use a chave gerenciada padrão do Amazon S3 (`aws/s3`). O uso da chave padrão criptografa os objetos com a chave gerenciada do Amazon S3 que pertence à conta de origem, impedindo que o objeto seja compartilhado com outra conta. Como resultado, a conta de destino não conseguirá acessar os objetos no bucket de destino.

  Para usar uma chave do AWS KMS que pertence à conta de destino para criptografar os objetos de destino, a conta de destino deve conceder as permissões `kms:GenerateDataKey` e `kms:Encrypt` ao perfil de replicação na política de chave do KMS. Para usar o exemplo de declaração a seguir na sua política de chave do KMS, substitua `user input placeholders` por suas próprias informações:

  ```
  {    
      "Sid": "AllowS3ReplicationSourceRoleToUseTheKey",
      "Effect": "Allow",
      "Principal": {
          "AWS": "arn:aws:iam::123456789101:role/s3-replication-role"
      },
      "Action": ["kms:GenerateDataKey", "kms:Encrypt"],
      "Resource": "*"
  }
  ```

  Se você usar um asterisco (`*`) para a declaração `Resource` na política de chave do AWS KMS, a política concederá permissão para usar a chave do KMS somente para o perfil de replicação. A política não permite que o perfil de replicação eleve suas permissões. 

  Por padrão, a política de chave do KMS concede ao usuário raiz permissões totais para a chave. Essas permissões podem ser delegadas a outros usuários na mesma conta. A menos que haja declarações `Deny` na política de chave do KMS de origem, usar uma política do IAM para conceder permissões ao perfil de replicação para a chave do KMS de origem é suficiente.
**nota**  
As políticas de chave do KMS que restringem o acesso a intervalos CIDR específicos, endpoints da nuvem privada virtual (VPC) ou pontos de acesso do S3 podem causar falhas na replicação.

  Se as chaves do KMS de origem ou de destino concederem permissões com base no contexto de criptografia, confirme se as chaves de bucket do Amazon S3 estão ativadas para os buckets. Se os buckets tiverem as chaves de bucket do S3 ativadas, o contexto de criptografia deverá ser o recurso no nível de bucket, assim:

  ```
  "kms:EncryptionContext:arn:aws:arn": [
       "arn:aws:s3:::amzn-s3-demo-source-bucket"
       ]
  "kms:EncryptionContext:arn:aws:arn": [
       "arn:aws:s3:::amzn-s3-demo-destination-bucket"
       ]
  ```

  Além das permissões concedidas pela política de chave do KMS, a conta de origem deve adicionar as seguintes permissões mínimas à política do IAM do perfil de replicação:

  ```
  {
      "Effect": "Allow",
      "Action": [
          "kms:Decrypt",
          "kms:GenerateDataKey"
      ],
      "Resource": [
          "Source-KMS-Key-ARN"
      ]
  },
  {
      "Effect": "Allow",
      "Action": [
          "kms:GenerateDataKey",
          "kms:Encrypt"
      ],
      "Resource": [
          "Destination-KMS-Key-ARN"
      ]
  }
  ```
**Importante**  
Se você usa o recurso Replicação em Lote do S3 para replicar conjuntos de dados entre regiões e já tiver atualizado o tipo de criptografia do lado do servidor de SSE-S3 para SSE-KMS, talvez você precise de permissões adicionais. No bucket da região de origem, é necessário ter a permissão `kms:decrypt`. Em seguida, é necessário ter as permissões `kms:decrypt` e `kms:encrypt` para o bucket na região de destino.

  Para obter mais informações sobre como replicar objetos criptografados com o AWS KMS, consulte [Replicar objetos criptografados](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-walkthrough-4.html).
+ Se o bucket de destino pertencer a outra Conta da AWS, verifique se o proprietário do bucket tem uma política de bucket no bucket de destino que permita ao proprietário do bucket de origem replicar objetos. Para ver um exemplo, consulte [Configuração da replicação de buckets em contas diferentes](replication-walkthrough-2.md).
+ Para usar a funcionalidade Bloqueio de Objetos com replicação, é necessário conceder duas permissões adicionais no bucket de origem do S3 no perfil do AWS Identity and Access Management (IAM) usado para configurar a replicação. As duas permissões adicionais são `s3:GetObjectRetention` e `s3:GetObjectLegalHold`. Se o perfil tiver uma instrução de permissão `s3:Get*`, essa instrução satisfará o requisito. Para obter mais informações, consulte [Usar a funcionalidade Bloqueio de Objetos com a funcionalidade Replicação do S3](object-lock-managing.md#object-lock-managing-replication).
+ Se os objetos ainda não estiverem se replicando depois de você validar as permissões, verifique se há declarações `Deny` explícitas nos seguintes locais:
  + Declarações `Deny` nas políticas do bucket de origem ou destino. A replicação falhará se a política de bucket negar o acesso à função de replicação para qualquer uma das seguintes ações:

    Bucket de origem:

    ```
    1.            "s3:GetReplicationConfiguration",
    2.            "s3:ListBucket",
    3.            "s3:GetObjectVersionForReplication",
    4.            "s3:GetObjectVersionAcl",
    5.            "s3:GetObjectVersionTagging"
    ```

    Buckets de destino:

    ```
    1.            "s3:ReplicateObject",
    2.            "s3:ReplicateDelete",
    3.            "s3:ReplicateTags"
    ```
  + Instruções `Deny` ou limites de permissões associados ao perfil do IAM podem fazer com que a replicação falhe.
  + Instruções `Deny` nas políticas de controle de serviços (SCPs) do AWS Organizations anexadas às contas de origem ou de destino podem causar falha na replicação.
  + Instruções `Deny` nas políticas de controle de recursos (RCPs) do AWS Organizations anexadas aos buckets de origem ou de destino podem causar falha na replicação.
+ Se a réplica do objeto não aparecer no bucket de destino, os seguintes problemas podem ter impedido a replicação:
  + O Amazon S3 não replica um objeto em um bucket de origem que seja uma réplica criada por outra configuração de replicação. Por exemplo, se você definir uma configuração de replicação do bucket A para o bucket B e para o bucket C, o Amazon S3 não replicará réplicas de objetos no bucket B para o bucket C.
  + O proprietário do bucket de origem pode conceder a outras Contas da AWS permissão para carregar objetos. Por padrão, o proprietário do bucket de origem não tem nenhuma permissão para os objetos criados por outras contas. A configuração de replicação vai replicar somente os objetos para os quais o proprietário do bucket de origem tem permissões de acesso. Para evitar esse problema, o proprietário do bucket de origem pode conceder a outras Contas da AWS permissões para criar objetos condicionalmente, exigindo permissões explícitas de acesso nesses objetos. Para visualizar um exemplo de política, consulte [Conceder permissões entre contas para fazer upload de objetos garantindo que o proprietário do bucket tenha controle total](example-bucket-policies.md#example-bucket-policies-acl-2).
+ Vamos supor que, na configuração da replicação, você adicione uma regra para replicar um subconjunto de objetos com uma tag específica. Nesse caso, atribua a chave da tag específica e o valor no momento de criar o objeto para o Amazon S3 replicar o objeto. Se você primeiro criar um objeto e depois adicionar a tag ao objeto existente, o Amazon S3 não replicará o objeto. 
+ Use Notificações de Eventos do Amazon S3 para notificar você sobre instâncias quando os objetos não são replicados para a Região da AWS de destino. As Notificações de Eventos do Amazon S3 estão disponíveis no Amazon Simple Queue Service (Amazon SQS), no Amazon Simple Notiﬁcation Service (Amazon SNS) ou no AWS Lambda. Para obter mais informações, consulte [Receber eventos de falha de replicação com Notificações de Eventos do Amazon S3](replication-metrics-events.md).

  Você também pode ver motivos da falha de replicação usando as notificações de eventos do Amazon S3. Para ver a lista de motivos da falha, consulte [Motivos de falha de replicação do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-failure-codes.html).

## Erros de replicação em lote
<a name="troubleshoot-batch-replication-errors"></a>

Para solucionar problemas de objetos que não são replicados no bucket de destino, verifique os diferentes tipos de permissões para os buckets, o perfil de replicação e o perfil do IAM que são usados para criar o trabalho de Replicação em Lote. Além disso, verifique as configurações de Bloqueio de Acesso Público e as configurações de Propriedade de Objetos do S3 dos buckets.

Consulte mais dicas de solução de problemas para trabalhar com operações em lote em [Solução de problemas do recurso Operações em Lote do S3](troubleshooting-batch-operations.md). 

Se você configurou a replicação e os objetos não estão se replicando, consulte [Por que meus objetos do Amazon S3 não estão se replicando quando eu configuro a replicação entre meus buckets?](https://repost.aws/knowledge-center/s3-troubleshoot-replication) no Centro de Conhecimento do AWS re:Post.

Ao usar a replicação em lote, você pode encontrar um destes erros:
+ A geração do manifesto não encontrou chaves que correspondam aos critérios do filtro.

  Esse erro ocorre por um dos seguintes motivos:
  + Quando objetos no bucket de destino são armazenados nas classes de armazenamento S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive.

    Para usar o Replicação em Lote nesses objetos, primeiro restaure-os na classe de armazenamento S3 Standard usando uma operação de **Restaurar** (`S3InitiateRestoreObjectOperation`) em um trabalho do Operações em Lote. Para obter mais informações, consulte [Restaurar um objeto arquivado](restoring-objects.md) e [Restaurar objetos (operações em lote)](batch-ops-initiate-restore-object.md). Depois de restaurar os objetos, você pode replicá-los usando um trabalho de replicação em lote.
  + Quando os critérios de filtro fornecidos não corresponderem a nenhum objeto válido no bucket de origem.

    Verifique e corrija os critérios do filtro. Por exemplo, na regra do Replicação em Lote, o critério do filtro procura todos os objetos no bucket de origem com o prefixo `Tax/`. Se o nome do prefixo foi inserido de forma incorreta, com uma barra no início e no final `/Tax/` em vez de apenas no final, nenhum objeto do S3 foi encontrado. Para resolver o erro, corrija o prefixo, nesse caso, de `/Tax/` para `Tax/` na regra de replicação.
+ O status da operação Batch falhou devido ao motivo: não foi possível gravar o relatório do trabalho em seu bucket de relatórios.

  Esse erro ocorrerá se o perfil do IAM usado para o trabalho de operações em lote não conseguir colocar o relatório de conclusão no local especificado quando você criou o trabalho. Para resolver esse erro, verifique se o perfil do IAM tem a permissão `s3:PutObject` para o bucket em que você deseja salvar o relatório de conclusão do Operações em Lote. Recomendamos entregar o relatório em um bucket diferente do bucket de origem.
+ A operação em lote é concluída com falhas e o total de falhas não é 0.

  Esse erro ocorre se houver problemas de permissões insuficientes de objetos com o trabalho de replicação em lote que está sendo executado. Se você estiver usando uma regra de replicação para o trabalho de Replicação em Lote, verifique se o perfil do IAM usado para replicação tem as permissões adequadas para acessar objetos do bucket de origem ou de destino. Você também pode verificar o [Relatório de conclusão da replicação em lote](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-batch-replication-batch.html#batch-replication-completion-report) para analisar o [Motivo de falha da replicação do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-failure-codes.html) específico.
+ O trabalho em lote foi executado com êxito, mas o número de objetos esperados no bucket de destino não é o mesmo.

  Esse erro ocorre quando há uma incompatibilidade entre os objetos listados no manifesto fornecido no trabalho de replicação em lote e os filtros que você selecionou ao criar o trabalho. Você também pode receber essa mensagem quando os objetos no bucket de origem não corresponderem a nenhuma regra de replicação e não estiverem incluídos no manifesto gerado.

### As falhas de operações em lote ocorrem após a adição de uma nova regra de replicação a uma configuração de replicação existente
<a name="new-replication-rule"></a>

As operações em lote tentam realizar a replicação de objetos existente para cada regra na configuração de replicação do bucket de origem. Se houver problemas com qualquer uma das regras de replicação existentes, poderão ocorrer falhas. 

O relatório de conclusão do trabalho de operações em lote explica os motivos da falha do trabalho. Para obter uma lista de erros comuns, consulte [Motivos de falha da replicação do Amazon S3](replication-metrics-events.md#replication-failure-codes).

# Monitorar a replicação com métricas, notificações de eventos e status
<a name="replication-metrics"></a>

É possível monitorar suas configurações de replicação em tempo real e os trabalhos de Replicação em Lote do S3 por meio dos seguintes mecanismos: 
+ **Métricas de replicação do S3**: quando você habilita as métricas de replicação do S3, o Amazon CloudWatch emite métricas que você pode usar para monitorar bytes pendentes, operações pendentes e latência de replicação em nível de regra de replicação. É possível visualizar métricas de replicação do S3 no console do Amazon S3 ou do Amazon CloudWatch. No console do Amazon S3, é possível visualizar essas métricas na guia **Métricas** do bucket de origem. Para ter mais informações sobre as métricas de replicação do S3, consulte [Usar métricas de replicação do S3](repl-metrics.md). 
+ **Métricas da Lente de Armazenamento do S3**: além das métricas de replicação do S3, é possível usar as métricas de proteção de dados relacionadas à replicação fornecidas pelos painéis da Lente de Armazenamento do S3. Por exemplo, se você usar as métricas gratuitas na Lente de Armazenamento do S3, poderá ver determinadas métricas, como o número total de bytes replicados ou a contagem de objetos replicados do bucket de origem. 

  Para realizar a auditoria do procedimento geral de replicação, habilite as métricas avançadas na Lente de Armazenamento do S3. Com as métricas avançadas na Lente de Armazenamento do S3, é possível ver quantas regras de replicação você tem de diferentes tipos, incluindo a contagem de regras com um destino inválido. 

  Para ter mais informações sobre como trabalhar com métricas de replicação na Lente de Armazenamento do S3, consulte [Visualizar métricas de replicação nos painéis da Lente de Armazenamento do S3](viewing-replication-metrics-storage-lens.md).
+ **Notificações de eventos do S3**: as notificações de eventos do S3 em instâncias podem notificar você em nível de objeto quando os objetos não são replicados para a Região da AWS de destino ou quando não são replicados dentro de determinados limites. As notificações de eventos do S3 fornecem os seguintes tipos de evento de replicação: `s3:Replication:OperationFailedReplication`, `s3:Replication:OperationMissedThreshold`, `s3:Replication:OperationReplicatedAfterThreshold` e `s3:Replication:OperationNotTracked`. 

  Os eventos do Amazon S3 estão disponíveis no Amazon Simple Queue Service (Amazon SQS), no Amazon Simple Notification Service (Amazon SNS) ou no AWS Lambda. Para obter mais informações, consulte [Receber eventos de falha de replicação com Notificações de Eventos do Amazon S3](replication-metrics-events.md).
+ **Valores de status de replicação**: também é possível recuperar o status de replicação dos objetos. O status da replicação pode ajudar você a determinar o estado atual de um objeto que está sendo replicado. O status de replicação de um objeto de origem retornará `PENDING``COMPLETED`, ou `FAILED`. O status de replicação de uma réplica retornará `REPLICA`. 

  Também é possível usar valores de status de replicação ao criar trabalhos de replicação em lote do S3. Por exemplo, é possível usar esses valores de status para replicar objetos que nunca foram replicados ou que apresentaram falha na replicação. 

  Para ter mais informações sobre a recuperação do status de replicação dos objetos, consulte [Obtenção de informações sobre o status da replicação](replication-status.md). Para ter mais informações sobre como usar esses valores com a replicação em lote, consulte [Filtros para um trabalho de replicação em lote](s3-batch-replication-batch.md#batch-replication-filters).

**Topics**
+ [

# Usar métricas de replicação do S3
](repl-metrics.md)
+ [

# Visualizar métricas de replicação nos painéis da Lente de Armazenamento do S3
](viewing-replication-metrics-storage-lens.md)
+ [

# Receber eventos de falha de replicação com Notificações de Eventos do Amazon S3
](replication-metrics-events.md)
+ [

# Obtenção de informações sobre o status da replicação
](replication-status.md)

# Usar métricas de replicação do S3
<a name="repl-metrics"></a>

As métricas da funcionalidade Replicação do S3 são métricas detalhadas para as regras de replicação na configuração de replicação. Com as métricas de replicação, você pode monitorar o andamento minuto a minuto rastreando bytes pendentes, operações pendentes, operações com falha na replicação e latência de replicação.

**nota**  
As métricas de replicação de S3 são cobradas usando a mesma taxa das métricas personalizadas do Amazon CloudWatch. Para saber mais, consulte [Preço do Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).
Se você estiver usando o controle de tempo de replicação do S3, o Amazon CloudWatch começará a relatar métricas de replicação 15 minutos após você ativar o S3 RTC na respectiva regra de replicação. 

As métricas de replicação do S3 são ativadas automaticamente quando você habilita o Controle de Tempo de Replicação do S3 (S3 RTC). Também é possível habilitar as métricas de replicação do S3 independentemente do S3 RTC ao [criar ou editar uma regra](replication-walkthrough1.md). O S3 RTC inclui outros recursos, como um Acordo de Serviço (SLA) e notificações para limites perdidos. Para obter mais informações, consulte [Atender aos requisitos de conformidade com o Controle do Tempo de Replicação do S3](replication-time-control.md).

Quando as métricas de replicação do S3 são habilitadas, o Amazon S3 publica as métricas a seguir no Amazon CloudWatch. As métricas do CloudWatch são entregues com base em melhor esforço.


| Nome da métrica | Descrição da métrica | A quais objetos essa métrica se aplica? | Em qual região essa métrica é publicada? | Essa métrica ainda será publicada se o bucket de destino for excluído? | Essa métrica ainda será publicada se a replicação não ocorrer? | 
| --- | --- | --- | --- | --- | --- | 
| **Bytes com replicação pendente** |  O número total de bytes de objetos com replicação pendente para determinada regra de replicação.  | Essa métrica se aplica somente a novos objetos que são replicados com Replicação do S3 Entre Regiões Diferentes (S3 CRR) ou Replicação do S3 na Mesma Região (S3 SRR). | Essa métrica é publicada na região do bucket de destino. | Não | Sim | 
| **Latência da replicação** |  O número máximo de segundos em que o bucket de destino da replicação fica atrás do bucket de origem de uma regra de replicação específica.  | Essa métrica aplica-se somente a novos objetos replicados com S3 CRR ou S3 SRR. | Essa métrica é publicada na região do bucket de destino. | Não | Sim | 
| **Operações com replicação pendente** |  O número de operações com replicação pendente para uma regra de replicação específica. Essa métrica rastreia operações relacionadas a objetos, marcadores de exclusão, tags, listas de controle de acesso (ACLs) e bloqueio de objetos do S3.  | Essa métrica aplica-se somente a novos objetos replicados com S3 CRR ou S3 SRR. | Essa métrica é publicada na região do bucket de destino. | Não | Sim | 
| **Operações com falha de replicação** |  O número de operações com falha na replicação para determinada regra de replicação. Essa métrica monitora operações relacionadas a objetos, marcadores de exclusão, tags, listas de controle de acesso (ACLs) e Bloqueio de Objetos. **Operações de replicação com falha** rastreia as falhas de replicação do S3 agregadas em um intervalo por minuto. Para identificar os objetos específicos que falharam na replicação e seus motivos, assine o evento `OperationFailedReplication` nas Notificações de eventos do Amazon S3. Para obter mais informações, consulte [Receber eventos de falha de replicação com Notificações de Eventos do Amazon S3](replication-metrics-events.md).  |  Essa métrica aplica-se a novos objetos que são replicados com S3 CRR ou S3 SRR e também aos objetos existentes que são replicados com a Replicação em Lote do S3.  Se um trabalho de Replicação em Lote do S3 não for executado, as métricas não serão enviadas ao Amazon CloudWatch. Por exemplo, seu trabalho não será executado se você não tiver as permissões necessárias para executar um trabalho de replicação em lote do S3 ou se as tags ou o prefixo em sua configuração de replicação não coincidirem.   | Essa métrica é publicada na região do bucket de origem. | Sim | Não | 

Para ter mais informações sobre como trabalhar com essas métricas no CloudWatch, consulte [Métricas de replicação do S3 no CloudWatch](metrics-dimensions.md#s3-cloudwatch-replication-metrics).

## Habilitar métricas de replicação do S3
<a name="enabling-replication-metrics"></a>

Você pode começar a usar métricas de replicação do S3 com uma regra de replicação nova ou existente. Para obter instruções completas sobre como criar regras de replicação, consulte [Configurar a replicação para buckets na mesma conta](replication-walkthrough1.md). Você pode optar por aplicar a regra de replicação a um bucket do S3 inteiro ou a objetos do Amazon S3 com um prefixo ou tag específica.

Este tópico traz instruções para ativar as métricas de replicação do S3 em sua configuração da replicação quando os buckets de origem e destino pertencerem às mesmas Contas da AWS ou a outras.

Para ativar métricas de replicação usando a AWS Command Line Interface (AWS CLI), você deve adicionar uma configuração de replicação ao bucket de origem com `Metrics` ativado. Neste exemplo de configuração, os objetos sob o prefixo `Tax` são replicados para o bucket de destino `amzn-s3-demo-bucket`, e são geradas métricas para esses objetos.

```
{
    "Rules": [
        {
            "Status": "Enabled",
            "Filter": {
                "Prefix": "Tax"
            },
            "Destination": {
                "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket",
                "Metrics": {
                    "Status": "Enabled"
                }
            },
            "Priority": 1
        }
    ],
    "Role": "IAM-Role-ARN"
}
```

## Visualizar métricas de replicação
<a name="viewing-replication-metrics"></a>

É possível visualizar as métricas da funcionalidade Replicação do S3 na guia **Métricas** do bucket de uso geral de origem no console do Amazon S3. Essas métricas do Amazon CloudWatch também estão disponíveis no console do Amazon CloudWatch. Quando você habilita as métricas de replicação do S3, o Amazon CloudWatch emite métricas que você pode usar para monitorar bytes pendentes, operações pendentes e latência de replicação em nível de regra de replicação. 

As métricas de replicação do S3 são ativadas automaticamente quando você habilita a replicação com Controle de Tempo de Replicação do S3 (S3 RTC) usando o console do Amazon S3 ou a API REST do Amazon S3. Também é possível habilitar as métricas de replicação do S3 independentemente do S3 RTC ao [criar ou editar uma regra](replication-walkthrough1.md).

Se você estiver usando o controle de tempo de replicação do S3, o Amazon CloudWatch começará a relatar métricas de replicação 15 minutos após você ativar o S3 RTC na respectiva regra de replicação. Para obter mais informações, consulte [Usar métricas de replicação do S3](#repl-metrics).

As métricas de replicação controlam os IDs de regra da configuração de replicação. Um ID de regra de replicação pode ser específico para um prefixo, uma tag ou uma combinação de ambos.

 Para obter mais informações sobre métricas do CloudWatch para o Amazon S3, consulte [Monitoramento de métricas com o Amazon CloudWatch](cloudwatch-monitoring.md).

**Pré-requisitos**  
Crie uma regra de replicação que tenha métricas de replicação do S3 habilitadas. Para obter mais informações, consulte [Habilitar métricas de replicação do S3](#enabling-replication-metrics).

**Como visualizar as métricas de replicação do S3 por meio da guia **Métricas** do bucket de origem**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets de uso geral**. 

1. Na lista de buckets, selecione o nome do bucket que contém os objetos para os quais você deseja métricas de replicação.

1. Escolha a guia **Métricas**.

1. Em **Métricas de replicação**, selecione as regras de replicação para as quais você deseja ver as métricas.

1. Escolha **Display charts (Exibir gráficos)**.

   O Amazon S3 exibe os gráficos **Latência da replicação**, **Bytes com replicação pendente**, **Operações com replicação pendente** e **Operações com falha de replicação** correspondentes às regras selecionadas.

# Visualizar métricas de replicação nos painéis da Lente de Armazenamento do S3
<a name="viewing-replication-metrics-storage-lens"></a>

Além das [métricas de replicação do S3](repl-metrics.md), é possível usar as métricas de proteção de dados relacionadas à replicação fornecidas pela Lente de Armazenamento do S3. A Lente de Armazenamento do S3 é um recurso de análise de armazenamento em nuvem que você pode usar para obter visibilidade em toda a organização sobre o uso e a atividade do armazenamento de objetos. Para obter mais informações, consulte [Como usar a Lente de Armazenamento do S3 para proteger seus dados](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-data-protection.html#storage-lens-data-protection-replication-rule). 

A Lente de Armazenamento do S3 tem dois níveis de métricas: métricas gratuitas e métricas e recomendações avançadas, que podem ser adquiridas por um custo adicional. Com métricas e recomendações avançadas, você pode acessar métricas e recursos adicionais para obter informações sobre seu armazenamento. Para obter mais informações sobre a definição de preço do S3 Storage Lens, consulte [Definição de preço do Amazon S3](https://aws.amazon.com/s3/pricing). 

Se você usar as métricas gratuitas na Lente de Armazenamento do S3, poderá ver determinadas métricas, como o número total de bytes replicados ou a contagem de objetos replicados do bucket de origem. 

Para realizar a auditoria do procedimento geral de replicação, habilite as métricas avançadas na Lente de Armazenamento do S3. Com as métricas avançadas na Lente de Armazenamento do S3, é possível ver quantas regras de replicação você tem de diferentes tipos, incluindo a contagem de regras com um destino inválido. 

Para ter uma lista completa das métricas da Lente de Armazenamento do S3, incluindo quais métricas de replicação estão em cada camada, consulte o [Glossário de métricas de lente de armazenamento do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html?icmpid=docs_s3_user_guide_replication.html). 

**Pré-requisitos**  
Crie uma [configuração de replicação em tempo real](replication-how-setup.md) ou um [trabalho de Replicação em Lote do S3](s3-batch-replication-batch.md). 

**Como visualizar métricas de replicação na Lente de Armazenamento do S3**

1. Crie um painel da Lente de Armazenamento do S3. Para obter instruções detalhadas, consulte [Usar o console do S3](storage_lens_creating_dashboard.md#storage_lens_console_creating).

1. (Opcional) Durante a configuração do painel, se você quiser ver todas as métricas de replicação da Lente de Armazenamento do S3, selecione **Métricas e recomendações avançadas** e escolha **Métricas avançadas de proteção de dados**. Consulte uma lista completa de métricas em [Glossário de métricas de lente de armazenamento do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html?icmpid=docs_s3_user_guide_replication.html).

   Se você habilitar métricas e recomendações avançadas, poderá ganhar mais insights sobre as configurações de replicação. Por exemplo, é possível usar as métricas de contagem de regras de replicação da Lente de Armazenamento do S3 para ter informações detalhadas sobre os buckets configurados para replicação. Essas informações incluem regras de replicação dentro e entre buckets e regiões. Para obter mais informações, consulte [Contar o número total de regras de replicação para cada bucket](storage-lens-data-protection.md#storage-lens-data-protection-replication-rule).

1. Depois de criar o painel, abra-o e selecione a guia **Buckets**.

1. Role para baixo até a seção **Buckets**. Em **Metrics categories** (Categorias de métricas), escolha **Data protection** (Proteção de dados). Depois, desmarque **Summary** (Resumo).

1. Para filtrar a lista **Buckets** de modo que somente as métricas de replicação sejam exibidas, escolha o ícone de preferências (![\[The preferences icon in the S3 Storage Lens dashboard.\]](http://docs.aws.amazon.com/pt_br/AmazonS3/latest/userguide/images/preferences.png)).

1. Desmarque o botão alternador referente a todas as métricas de proteção de dados, mantendo somente as métricas de replicação selecionadas.

1. (Opcional) Em **Page size** (Tamanho da página), escolha o número de buckets a serem exibidos na lista.

1. Escolha **Continuar**.

# Receber eventos de falha de replicação com Notificações de Eventos do Amazon S3
<a name="replication-metrics-events"></a>

Se você habilitou as métricas de replicação do S3 na configuração de replicação, poderá configurar as notificações de eventos do Amazon S3 para notificar você quando os objetos não forem replicados para a Região da AWS de destino. Se você habilitou o Controle de Tempo de Replicação do S3 (S3 RTC) na configuração de replicação, também poderá receber notificação quando os objetos não forem replicados no limite de 15 minutos do S3 RTC para replicação. 

Ao usar os tipos de evento `Replication` a seguir, é possível acompanhar o andamento minuto a minuto dos eventos de replicação monitorando os bytes pendentes, as operações pendentes e a latência da replicação. Para ter mais informações sobre as métricas de replicação do S3, consulte [Usar métricas de replicação do S3](repl-metrics.md).
+ O tipo de evento `s3:Replication:OperationFailedReplication` notifica você quando um objeto qualificado para replicação falhou ao replicar. 
+ O tipo de evento `s3:Replication:OperationMissedThreshold` notifica você quando um objeto qualificado para replicação e que usa o S3 RTC excede o limite de 15 minutos para replicação.
+ O tipo de evento `s3:Replication:OperationReplicatedAfterThreshold` notifica você quando um objeto qualificado para replicação e que usa o S3 RTC replica após o limite de 15 minutos.
+ O tipo de evento `s3:Replication:OperationNotTracked` notifica você quando um objeto que era elegível para a replicação em tempo real [Replicação na Mesma Região (SRR) ou Replicação Entre Regiões Diferentes (CRR)] não está mais sendo monitorado por métricas de replicação.

Para ter descrições completas de todos os tipos de evento de replicação compatíveis, consulte [Tipos de evento compatíveis com SQS, SNS e Lambda](notification-how-to-event-types-and-destinations.md#supported-notification-event-types).

Para ter uma lista dos códigos de falha capturados pelas notificações de eventos do S3, consulte [Motivos de falha da replicação do Amazon S3](#replication-failure-codes).

Você pode receber Notificações de eventos do S3 por meio do Amazon Simple Queue Service (Amazon SQS), do Amazon Simple Notiﬁcation Service (Amazon SNS) ou do AWS Lambda. Para obter mais informações, consulte [Notificações de eventos do Amazon S3](EventNotifications.md).

Para obter instruções sobre como configurar as notificações de evento do Amazon S3, consulte [Habilitar notificações de eventos](how-to-enable-disable-notification-intro.md).

**nota**  
Além das notificações de eventos, habilite também as métricas de replicação do S3. Para obter mais informações, consulte [Habilitar métricas de replicação do S3](repl-metrics.md#enabling-replication-metrics).

Veja a seguir um exemplo de mensagem que o Amazon S3 envia para publicar um evento `s3:Replication:OperationFailedReplication`. Para obter mais informações, consulte [Estrutura de mensagens de evento](notification-content-structure.md).

```
{
  "Records": [
    {
      "eventVersion": "2.2",
      "eventSource": "aws:s3",
      "awsRegion": "us-east-1",
      "eventTime": "2024-09-05T21:04:32.527Z",
      "eventName": "Replication:OperationFailedReplication",
      "userIdentity": {
        "principalId": "s3.amazonaws.com"
      },
      "requestParameters": {
        "sourceIPAddress": "s3.amazonaws.com"
      },
      "responseElements": {
        "x-amz-request-id": "123bf045-2b4b-4ca8-a211-c34a63c59426",
        "x-amz-id-2": "12VAWNDIHnwJsRhTccqQTeAPoXQmRt22KkewMV8G3XZihAuf9CLDdmkApgZzudaIe2KlLfDqGS0="
      },
      "s3": {
        "s3SchemaVersion": "1.0",
        "configurationId": "ReplicationEventName",
        "bucket": {
          "name": "amzn-s3-demo-bucket1",
          "ownerIdentity": {
            "principalId": "111122223333"
          },
          "arn": "arn:aws:s3:::amzn-s3-demo-bucket1"
        },
        "object": {
          "key": "replication-object-put-test.png",
          "size": 520080,
          "eTag": "e12345ca7e88a38428305d3ff7fcb99f",
          "versionId": "abcdeH0Xp66ep__QDjR76LK7Gc9X4wKO",
          "sequencer": "0066DA1CBF104C0D51"
        }
      },
      "replicationEventData": {
        "replicationRuleId": "notification-test-replication-rule",
        "destinationBucket": "arn:aws:s3:::amzn-s3-demo-bucket2",
        "s3Operation": "OBJECT_PUT",
        "requestTime": "2024-09-05T21:03:59.168Z",
        "failureReason": "AssumeRoleNotPermitted"
      }
    }
  ]
}
```

## Motivos de falha da replicação do Amazon S3
<a name="replication-failure-codes"></a>

A tabela a seguir relaciona os motivos de falha da replicação do Amazon S3. É possível visualizar esses motivos ao receber o evento `s3:Replication:OperationFailedReplication` com as notificações de eventos do Amazon S3 e, depois, examinar o valor `failureReason`. 

Você também pode visualizar esses motivos de falha em um relatório de conclusão da replicação em lote do S3. Para obter mais informações, consulte [Relatório de conclusão da replicação em lote](s3-batch-replication-batch.md#batch-replication-completion-report).


| Motivos de falha da replicação | Descrição | 
| --- | --- | 
| `AssumeRoleNotPermitted` | O Amazon S3 não pode assumir o perfil do AWS Identity and Access Management (IAM) especificado na configuração de replicação ou no trabalho de operações em lote. | 
| `DstBucketInvalidRegion` | O bucket de destino não está na mesma Região da AWS especificada pelo trabalho de operações em lote. Esse erro é específico da replicação em lote. | 
| `DstBucketNotFound` | O Amazon S3 não consegue encontrar o bucket de destino especificado na configuração de replicação. | 
| `DstBucketObjectLockConfigMissing` | Para replicar objetos de um bucket de origem com o bloqueio de objetos habilitado, o destino também deve ter o bloqueio de objetos habilitado. O erro indica que o bloqueio de objetos pode não estar ativado no bucket de destino. Para obter mais informações, consulte [Considerações sobre a funcionalidade Bloqueio de Objetos](object-lock-managing.md). | 
| `DstBucketUnversioned` | O versionamento não está ativado no bucket de destino do S3. Para ativar objetos com replicação do S3, ative o versionamento no bucket de destino. | 
| `DstDelObjNotPermitted` | O Amazon S3 não consegue replicar marcadores de exclusão no bucket de destino. A permissão `s3:ReplicateDelete` pode estar faltando para o bucket de destino. | 
| `DstKmsKeyInvalidState` | A chave do AWS Key Management Service (AWS KMS) para o bucket de destino está em estado inválido. Revise e ative a chave do AWS KMS necessária. Para ter mais informações sobre o gerenciamento de chaves do AWS KMS, consulte [Estados das chaves do AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) no *Guia do desenvolvedor do AWS Key Management Service*. | 
| `DstKmsKeyNotFound` | A chave AWS KMS configurada para o bucket de destino na configuração de replicação não existe. | 
| `DstMultipartCompleteNotPermitted` | O Amazon S3 não consegue concluir o multipart uploads de objetos para o bucket de destino. A permissão `s3:ReplicateObject` pode estar faltando para o bucket de destino. | 
| `DstMultipartInitNotPermitted` | O Amazon S3 não consegue iniciar multipart uploads de objetos para o bucket de destino. A permissão `s3:ReplicateObject` pode estar faltando para o bucket de destino.  | 
| `DstMultipartUploadNotPermitted` | O Amazon S3 não consegue fazer o carregamento fracionado de objetos no bucket de destino. A permissão `s3:ReplicateObject` pode estar faltando para o bucket de destino.  | 
| `DstObjectHardDeleted` | A replicação em lote não é compatível com a nova replicação de objetos excluídos com o ID de versão do objeto do bucket de destino. Esse erro é específico da replicação em lote. | 
| `DstPutAclNotPermitted` | O Amazon S3 não consegue replicar listas de controle de acesso (ACLs) de objetos no bucket de destino. A permissão `s3:ReplicateObject` pode estar faltando para o bucket de destino. | 
| `DstPutLegalHoldNotPermitted` | O Amazon S3 não consegue colocar uma retenção jurídica da funcionalidade Bloqueio de Objetos nos objetos de destino ao replicar objetos imutáveis. A permissão `s3:PutObjectLegalHold` pode estar faltando para o bucket de destino. Para obter mais informações, consulte [Retenções legais](object-lock.md#object-lock-legal-holds). | 
|  `DstPutObjectNotPermitted` | O Amazon S3 não consegue replicar objetos no bucket de destino. Isso pode ocorrer quando faltam as permissões (`s3:ReplicateObject` ou `s3:ObjectOwnerOverrideToBucketOwner`) necessárias para o bucket de destino ou quando a política de chaves do AWS KMS não permite que o perfil de replicação do bucket de origem use a chave do AWS KMS (ações `kms:Decrypt` e `kms:GenerateDataKey*`) no bucket de destino.  | 
|  `DstPutRetentionNotPermitted` | O Amazon S3 não consegue colocar um período de retenção nos objetos de destino ao replicar objetos imutáveis. A permissão `s3:PutObjectRetention` pode estar faltando para o bucket de destino. | 
| `DstPutTaggingNotPermitted` | O Amazon S3 não consegue replicar etiquetas de objetos no bucket de destino. A permissão `s3:ReplicateObject` pode estar faltando para o bucket de destino. | 
| `DstVersionNotFound ` | O Amazon S3 não consegue encontrar a versão necessária do objeto no bucket de destino para o qual os metadados precisam ser replicados.  | 
| `InitiateReplicationNotPermitted` | O Amazon S3 não consegue iniciar a replicação em objetos. A permissão `s3:InitiateReplication` pode estar ausente para o trabalho de operações em lote. Esse erro é específico da replicação em lote. | 
| `SrcBucketInvalidRegion` | O bucket de origem não está na mesma Região da AWS especificada pelo trabalho da funcionalidade Operações em Lote. Esse erro é específico da replicação em lote. | 
| `SrcBucketNotFound` | O Amazon S3 não consegue encontrar o bucket de origem. | 
| `SrcBucketReplicationConfigMissing` | O Amazon S3 não conseguiu encontrar uma configuração de replicação para o bucket de origem. | 
| `SrcGetAclNotPermitted` |  O Amazon S3 não consegue acessar o objeto no bucket de origem para replicação. A permissão `s3:GetObjectVersionAcl` pode estar faltando para o objeto do bucket de origem. Os objetos no bucket de origem devem ser de do proprietário do bucket. Se as ACLs estiverem habilitadas, verifique se a “Propriedade do objeto” está definida como “Proprietário do bucket preferido” ou “Autor do objeto”. Se a “Propriedade do objeto” estiver definida como “Proprietário do bucket preferido”, os objetos do bucket de origem deverão ter a ACL `bucket-owner-full-control` para que o proprietário do bucket se torne o proprietário do objeto. A conta de origem pode se tornar proprietária de todos os objetos no bucket definindo a “Propriedade do objeto” como “Imposto pelo proprietário do bucket” e desabilitando as ACLs.  | 
| `SrcGetLegalHoldNotPermitted` | O Amazon S3 não consegue acessar as informações de retenção legal do Bloqueio de objetos do S3. | 
| `SrcGetObjectNotPermitted` | O Amazon S3 não consegue acessar o objeto no bucket de origem para replicação. A permissão `s3:GetObjectVersionForReplication` pode estar faltando para o bucket de origem.  | 
| `SrcGetRetentionNotPermitted` | O Amazon S3 não consegue acessar as informações do período de retenção do Bloqueio de objetos do S3. | 
| `SrcGetTaggingNotPermitted` | O Amazon S3 não consegue acessar as informações da tag do objeto pelo bucket de origem. A permissão `s3:GetObjectVersionTagging` pode estar faltando para o bucket de origem. | 
| `SrcHeadObjectNotPermitted` | O Amazon S3 não consegue recuperar os metadados do objeto pelo bucket de origem. A permissão `s3:GetObjectVersionForReplication` pode estar faltando para o bucket de origem.  | 
| `SrcKeyNotFound` | O Amazon S3 não consegue encontrar a chave do objeto de origem para replicar. O objeto de origem pode ter sido excluído antes da conclusão da replicação. | 
| `SrcKmsKeyInvalidState` | A chave do AWS KMS para o para o bucket de origem não está em estado válido. Revise e ative a chave do AWS KMS necessária. Para ter mais informações sobre o gerenciamento de chaves do AWS KMS, consulte [Estados das chaves do AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) no *Guia do desenvolvedor do AWS Key Management Service*. | 
| `SrcObjectNotEligible` | Alguns objetos não são elegíveis para replicação. O motivo disso pode ser a falta de correspondência entre a classe de armazenamento do objeto ou as tags do objeto com a configuração da replicação. | 
| `SrcObjectNotFound` | O objeto de origem não existe. | 
| `SrcReplicationNotPending` | O Amazon S3 já replicou esse objeto. Esse objeto não está mais pendente de replicação. | 
| `SrcVersionNotFound` | O Amazon S3 não consegue encontrar a versão do objeto de origem para replicar. A versão do objeto de origem pode ter sido excluída antes da conclusão da replicação. | 

### Tópicos relacionados
<a name="replication-metrics-related-topics"></a>

[Configurar permissões para replicação em tempo real](setting-repl-config-perm-overview.md)

[Solução de problemas de replicação](replication-troubleshoot.md)

# Obtenção de informações sobre o status da replicação
<a name="replication-status"></a>

O status da replicação pode ajudá-lo a determinar o estado atual de um objeto que está sendo replicado. O status de replicação de um objeto de origem retornará `PENDING``COMPLETED`, ou `FAILED`. O status de replicação de uma réplica retornará `REPLICA`.

Também é possível usar valores de status de replicação ao criar trabalhos de replicação em lote do S3. Por exemplo, é possível usar esses valores de status para replicar objetos que nunca foram replicados ou que apresentaram falha na replicação. Para ter mais informações sobre como usar esses valores com a replicação em lote, consulte [Usar informações de status de replicação com trabalhos de replicação em lote](#replication-status-batch-replication).

**Topics**
+ [

## Visão geral do status da replicação
](#replication-status-overview)
+ [

## Status da replicação, se replicar para vários intervalos de destino
](#replication-status-multiple-destinations)
+ [

## Status da replicação se a sincronização de modificação de réplica do Amazon S3 estiver ativada
](#replication-status-replica-mod-syn)
+ [

## Usar informações de status de replicação com trabalhos de replicação em lote
](#replication-status-batch-replication)
+ [

## Localização do status de replicação
](#replication-status-usage)

## Visão geral do status da replicação
<a name="replication-status-overview"></a>

Na replicação, você tem um bucket de origem em que configura a replicação e um ou mais buckets de destino nos quais o Amazon S3 replica objetos. Ao solicitar um objeto (usando `GetObject`) ou metadados de objeto (usando `HeadObject`) nesses buckets, o Amazon S3 exibirá o cabeçalho `x-amz-replication-status` na resposta: 
+ Ao solicitar um objeto no bucket de origem, o Amazon S3 retornará o cabeçalho `x-amz-replication-status` se o objeto em sua solicitação for qualificado para replicação. 

  Por exemplo, suponha que, em sua configuração de replicação, você especifique o prefixo de objeto `TaxDocs` para dizer ao Amazon S3 para replicar somente objetos com o prefixo de nome de chave `TaxDocs`. Todos os objetos dos quais você fizer upload e tiverem esse prefixo de nome de chave, por exemplo, `TaxDocs/document1.pdf`, serão replicados. Para qualquer solicitação de objeto com esse prefixo de nome de chave, o Amazon S3 retorna o cabeçalho `x-amz-replication-status` com um dos seguintes valores para o status de replicação de objeto: `PENDING`, `COMPLETED` ou `FAILED`.
**nota**  
Se a replicação do objeto falhar depois de você fazer upload de um objeto, não será possível tentar novamente a replicação. É necessário fazer upload do objeto novamente ou usar a Replicação em Lote do S3 para replicar qualquer objeto com falha. Para ter mais informações sobre o uso da replicação em lote, consulte [Replicar objetos existentes com o Replicação em Lote](s3-batch-replication-batch.md).   
Os objetos mudam para um estado `FAILED` em caso de problemas, como a ausência das permissões do perfil de replicação, do AWS Key Management Service (AWS KMS) ou do bucket. Em caso de falhas temporárias, por exemplo, se um bucket ou uma região não estiver disponível, o status da replicação não fará a transição para `FAILED`, mas permanecerá `PENDING`. Depois que o recurso estiver on-line novamente, o Amazon S3 retomará a replicação desses objetos.
+ Ao solicitar um objeto no bucket de destino, se o objeto da sua solicitação for uma réplica criada pelo Amazon S3, o Amazon S3 retornará o cabeçalho `x-amz-replication-status` com valor `REPLICA`.

**nota**  
Antes de excluir um objeto de um bucket de origem com a replicação habilitada, confira o status de replicação para confirmar se o objeto foi replicado.   
Se a configuração de ciclo de vida do S3 estiver habilitada no bucket de origem, o Amazon S3 suspenderá as ações de ciclo de vida até que o status dos objetos seja `COMPLETED` ou `FAILED`.

## Status da replicação, se replicar para vários intervalos de destino
<a name="replication-status-multiple-destinations"></a>

Quando você replica objetos para vários intervalos de destino, o cabeçalho`x-amz-replication-status` age de forma diferente. O cabeçalho do objeto de origem exibe um valor de `COMPLETED` somente quando a replicação é bem-sucedida para todos os destinos. O cabeçalho permanece no valor `PENDING` até que a replicação tenha sido concluída para todos os destinos. Se um ou mais destinos falharem na replicação, o cabeçalho retornará `FAILED`.

## Status da replicação se a sincronização de modificação de réplica do Amazon S3 estiver ativada
<a name="replication-status-replica-mod-syn"></a>

Quando suas regras de replicação habilitam a sincronização de modificação de réplica do Simple Storage Service (Amazon S3), as réplicas podem informar um status diferente de `REPLICA`. Se alterações de metadados estiverem no processo de replicação, o cabeçalho do `x-amz-replication-status` retorna `PENDING`. Se a sincronização de modificação de réplica falhar ao replicar metadados, o cabeçalho retornará `FAILED`. Se os metadados forem replicados corretamente, as réplicas retornarão o cabeçalho `REPLICA`.

## Usar informações de status de replicação com trabalhos de replicação em lote
<a name="replication-status-batch-replication"></a>

Ao criar um trabalho de replicação em lote, é possível especificar filtros adicionais, como data de criação e status de replicação do objeto, para reduzir o escopo do trabalho.

É possível filtrar os objetos a serem replicados com base no valor de `ObjectReplicationStatuses`, fornecendo um ou mais dos seguintes valores:
+ `"NONE"`: indica que o Simple Storage Service (Amazon S3) nunca tentou replicar o objeto antes.
+ `"FAILED"`: indica que o Amazon S3 tentou replicar o objeto, mas não conseguiu.
+ `"COMPLETED"`: indica que o Simple Storage Service (Amazon S3) já replicou com êxito o objeto anteriormente.
+ `"REPLICA"`: indica que essa é uma réplica de um objeto que foi replicado pelo Amazon S3 de outra origem.

Para ter mais informações sobre como usar esses valores de status de replicação com replicação em lote, consulte [Filtros para um trabalho de replicação em lote](s3-batch-replication-batch.md#batch-replication-filters).

## Localização do status de replicação
<a name="replication-status-usage"></a>

Para obter o status de replicação dos objetos em um bucket, você pode usar a ferramenta Amazon S3 Inventory. O Amazon S3 envia um arquivo CSV para o bucket de destino especificado na configuração de inventário. Você também pode usar o Amazon Athena para consultar o status da replicação no relatório de inventário. Para obter mais informações sobre o Amazon S3 Inventory, consulte [Catalogar e analisar seus dados com o Inventário S3](storage-inventory.md).

Também é possível encontrar o status de replicação do objeto usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI) ou o SDK da AWS. 

### Usar o console do S3
<a name="replication-status-console"></a>

No console do S3, é possível visualizar o status da replicação de um objeto na página de detalhes do objeto.

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets**.

1. Na lista **Buckets de uso geral**, selecione o nome do bucket de origem da replicação.

1. Na lista **Objects** (Objetos), escolha o nome do objeto. A página de detalhes do objeto é exibida. 

1. Na guia **Propriedades**, role para baixo até a seção **Visão geral do gerenciamento de objetos**. Em **Configurações de gerenciamento**, veja o valor em **Status da replicação**.

### Como usar o AWS CLI
<a name="replication-status-cli"></a>

Use o comando AWS CLI (`head-object`) da AWS Command Line Interface para recuperar metadados, como mostrado no exemplo a seguir. Substitua `amzn-s3-demo-source-bucket1` pelo nome do bucket de origem da replicação e substitua os outros `user input placeholders` por suas próprias informações.

```
aws s3api head-object --bucket amzn-s3-demo-source-bucket1 --key object-key --version-id object-version-id           
```

O comando retorna os metadados do objeto, inclusive `ReplicationStatus`, conforme exibido no exemplo de resposta a seguir.

```
{
   "AcceptRanges":"bytes",
   "ContentType":"image/jpeg",
   "LastModified":"Mon, 23 Mar 2015 21:02:29 GMT",
   "ContentLength":3191,
   "ReplicationStatus":"COMPLETED",
   "VersionId":"jfnW.HIMOfYiD_9rGbSkmroXsFj3fqZ.",
   "ETag":"\"6805f2cfc46c0f04559748bb039d69ae\"",
   "Metadata":{

   }
}
```

### Uso da SDKs AWS
<a name="replication-status-sdk"></a>

Os fragmentos de código a seguir recebem o status de replicação utilizando o AWS SDK para Java e o AWS SDK para .NET, respectivamente. 

------
#### [ Java ]

```
GetObjectMetadataRequest metadataRequest = new GetObjectMetadataRequest(bucketName, key);
ObjectMetadata metadata = s3Client.getObjectMetadata(metadataRequest);

System.out.println("Replication Status : " + metadata.getRawMetadataValue(Headers.OBJECT_REPLICATION_STATUS));
```

------
#### [ .NET ]

```
GetObjectMetadataRequest getmetadataRequest = new GetObjectMetadataRequest
    {
         BucketName = sourceBucket,
         Key        = objectKey
    };

GetObjectMetadataResponse getmetadataResponse = client.GetObjectMetadata(getmetadataRequest);
Console.WriteLine("Object replication status: {0}", getmetadataResponse.ReplicationStatus);
```

------