Exemplos para configurar a replicação em tempo real
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.
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:
-
Configurar a AWS CLI: é 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
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
Tópicos
Replicação de anotações
Quando você configura a replicação em um bucket, o Amazon S3 replica as anotações automaticamente como parte da replicação ativa. Cada anotação é replicada de forma independente à medida que as alterações ocorrem. Para replicar anotações, o perfil do IAM de replicação deve incluir a permissão s3:GetObjectVersionAnnotationForReplication no bucket de origem.
O exemplo a seguir mostra a instrução do bucket de origem na política de permissões de perfil do IAM com a permissão de replicação de anotações incluída:
{ "Effect": "Allow", "Action": [ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging", "s3:GetObjectVersionAnnotationForReplication" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }
Nenhuma permissão adicional do bucket de destino é necessária para a replicação de anotações. A permissão s3:ReplicateObject no bucket de destino abrange a replicação de anotações.
Observe os seguintes comportamentos para replicação de anotações:
-
As adições e atualizações de anotação na origem são replicadas para o destino. Cada anotação é replicada de forma independente à medida que as alterações ocorrem.
-
As exclusões de anotação na origem não são replicadas para o destino. Se você excluir uma anotação na origem, a anotação persistirá no destino.
-
Se você excluir e recriar repetidamente anotações na origem com nomes diferentes, as anotações se acumularão no destino ao longo do tempo porque as exclusões não são replicadas.
Se você não quiser que as anotações sejam replicadas em um bucket de destino, o proprietário do bucket de destino poderá adicionar uma instrução Deny para a ação s3:ReplicateObjectAnnotation à política de bucket de destino. A replicação de objetos continua sendo bem-sucedida; somente a replicação de anotações é bloqueada. O exemplo a seguir mostra a instrução Deny:
... "Statement":[ { "Effect":"Deny", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-id:role/service-role/source-account-IAM-role" }, "Action":"s3:ReplicateObjectAnnotation", "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" } ] ...
Para obter mais informações sobre o comportamento de replicação de anotações, consulte O que o Amazon S3 replica?. Para obter instruções de configuração de permissão, consulte Configurar permissões para replicação em tempo real.