Criar regras de replicação no Outposts - Amazon Simple Storage Service

Criar regras de replicação no Outposts

A replicação do S3 no Outposts é a replicação assíncrona e automática de objetos em buckets no mesmo AWS Outposts ou em outro. A replicação copia os objetos recém-criados e as atualizações de objeto de um bucket do Outposts de origem para um bucket do Outposts de destino. Para obter mais informações, consulte Replicar objetos para o S3 no Outposts.

nota

Objetos que já existiam no bucket do Outposts de origem antes de você definir regras de replicação não são replicados. Em outras palavras, o S3 no Outposts não replica os objetos retroativamente. Para replicar objetos que foram criados antes da configuração de replicação, você pode usar a operação da API CopyObject para copiá-los no mesmo bucket. Depois que os objetos são copiados, eles aparecem como objetos “novos” no bucket e a configuração de replicação será aplicada a eles. Para ter mais informações sobre como copiar um objeto, consulte Copiar um objeto em um bucket do Amazon S3 no Outposts usando o AWS SDK for Java e CopyObject na Referência da API do Amazon Simple Storage Service.

Ao configurar a replicação, você adiciona regras de replicação ao bucket do Outposts de origem. As regras de replicação definem quais objetos do bucket do Outposts de origem devem ser replicados e o bucket do Outposts 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 do Outposts de destino pode estar no mesmo Outpost que o bucket do Outposts de origem ou pode estar em outro Outpost.

Para as regras de replicação do S3 no Outposts, você deve fornecer o nome do recurso da Amazon (ARN) do ponto de acesso do bucket do Outposts de origem e o ARN do ponto de acesso do bucket do Outposts de destino em vez dos nomes dos buckets do Outposts de origem e destino.

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

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

Neste exemplo, você configura a replicação para os buckets de origem e destino que estão em Outposts diferentes e 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 for Java e do AWS SDK for .NET. Para ter informações sobre permissões de replicação do S3 no Outposts entre contas, consulte Conceder permissões quando os buckets do Outposts de origem e destino pertencerem a Contas da AWS diferentes.

Para saber os pré-requisitos para as regras de replicação do S3 no Outposts, consulte Pré-requisitos para criar regras de replicação.

Siga estas etapas para configurar uma regra de replicação quando o bucket do Amazon S3 no Outposts de destino estiver em um Outpost diferente do bucket do Outposts de origem.

Se o bucket do Outposts de destino estiver um uma conta diferente do bucket do Outposts de origem, você deverá adicionar uma política ao bucket do Outposts de destino. Assim, será possível conceder ao proprietário da conta do bucket do Outposts de origem permissão para replicar objetos no bucket do Outposts de destino. Para obter mais informações, consulte Conceder permissões quando os buckets de origem e de destino pertencerem a Contas da AWS diferentes.

Como criar uma regra de replicação
  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Na lista Buckets do Outposts, selecione o nome do bucket a ser utilizado como o bucket de origem.

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

  4. Em Nome da regra de replicação, insira um nome para a regra, ajudando a identificá-la posteriormente. O nome é obrigatório e precisa ser exclusivo dentro do bucket.

  5. Em Status, 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.

  6. Em Prioridade, o valor da prioridade da regra determina qual regra aplicar se houver regras sobrepostas. Quando objetos são incluídos no escopo de mais de uma regra de replicação, o S3 no Outposts utiliza esses valores de prioridade para evitar conflitos. Por padrão, novas regras são adicionadas à configuração de replicação com a prioridade mais alta. Quanto maior o número, maior a prioridade.

    Para alterar a prioridade da regra, depois de salvá-la, selecione o nome da regra na lista de regras de replicação, selecione Ações e, depois, Editar prioridade.

  7. Em Bucket de origem, você tem as seguintes opções para definir a origem da replicação:

    • Para replicar todo o bucket, selecione Aplicar a todos os objetos no bucket.

    • Para aplicar a filtragem de prefixo ou tag à fonte de replicação, selecione Limitar o escopo dessa regra utilizando um ou mais filtros. Você pode combinar um prefixo e tags.

      • Para replicar todos os objetos com o mesmo prefixo, em Prefixo, insira um prefixo na caixa. O uso do filtro Prefixo limita a replicação para todos os objetos que têm nomes que começam com a mesma string (por exemplo, pictures).

        Se você inserir um prefixo que seja o nome de uma pasta, use uma / (barra) como o último caractere (por exemplo, pictures/).

      • Para replicar todos os objetos que têm uma ou mais tags de objeto, selecione Adicionar tag) e insira o par de chave-valor nas caixas. Para adicionar outra etiqueta, repita o procedimento. Para obter mais informações sobre etiquetas de objeto, consulte Adicionar etiquetas aos buckets do S3 on Outposts.

  8. Para acessar seu bucket de origem do S3 no Outposts para replicação, em Nome do ponto de acesso de origem, selecione um ponto de acesso que esteja conectado ao bucket de origem.

  9. Em Destino, selecione o ARN do ponto de acesso do bucket do Outposts de destino em que você deseja que o S3 no Outposts replique objetos. O bucket do Outposts de destino pode estar na mesma Conta da AWS que o bucket do Outposts de origem ou em outra.

    Se o bucket de destino estiver um uma conta diferente do bucket do Outposts de origem, você deverá adicionar uma política ao bucket do Outposts de destino. Assim, será possível conceder ao proprietário da conta do bucket do Outposts de origem permissão para replicar objetos no bucket do Outposts de destino. Para obter mais informações, consulte Conceder permissões quando os buckets do Outposts de origem e destino pertencerem a Contas da AWS diferentes.

    nota

    Se o versionamento não estiver ativado no bucket do Outposts de destino, você receberá um aviso que contém um botão Habilitar versionamento. Escolha esse botão para habilitar o versionamento no bucket.

  10. Configure um perfil de serviço do AWS Identity and Access Management (IAM) que o S3 no Outposts possa assumir para replicar objetos em seu nome.

    Para configurar um perfil do IAM, em Perfil do IAM, faça o seguinte:

    • Para que o S3 no Outposts crie um perfil do IAM para sua configuração de replicação, selecione Escolher entre os perfis do IAM existentes e, depois, Criar perfil. Quando você salva a regra, uma nova política é gerada para o perfil do IAM que coincide com os buckets do Outposts de origem e destino que você escolher. Recomendamos que você selecione Criar perfil.

    • Você também pode optar por utilizar um perfil do IAM existente. Se fizer isso, escolha um perfil que conceda ao S3 no Outposts as permissões necessárias para a replicação. Se esse perfil não conceder ao S3 no Outposts permissões suficientes para seguir sua regra de replicação, ocorrerá uma falha na replicação.

      Para selecionar um perfil existente, selecione Escolher entre perfis do IAM existentes e, depois, o perfil no menu suspenso. Você também pode escolher Inserir um ARN de perfil do IAM e, depois, inserir o nome do recurso da Amazon (ARN) do perfil do IAM.

    Importante

    Quando você adiciona uma regra de replicação a um bucket do S3 no Outposts, é preciso ter as permissões iam:CreateRole e iam:PassRole para poder criar e transmitir o perfil do IAM que concede permissões de replicação do S3 no Outposts. Para ter mais informações, consulte Conceder permissões ao usuário para transmitir um perfil a um AWS service (Serviço da AWS) no Guia do usuário do IAM.

  11. Todos os objetos nos buckets do Outposts são criptografados por padrão. Para ter mais informações sobre o S3 no Outposts, consulte Criptografia de dados no S3 on Outposts. Somente objetos que são criptografados com a criptografia no lado do servidor com chaves gerenciadas do Amazon S3 (SSE-S3) podem ser replicados. A replicação de objetos que são criptografados com a criptografia no lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS) ou a criptografia do lado do servidor com chaves de criptografia fornecidas pelo cliente (SSE-C) não é compatível.

  12. Conforme necessário, ative as seguintes opções adicionais ao definir a configuração da regra de replicação:

  13. Para finalizar, selecione Criar regra.

Depois de salvar sua regra, você pode editar, habilitar, desabilitar ou excluir sua regra. Para fazer isso, acesse a guia Gerenciamento do bucket do Outposts de origem, role para baixo até a seção Regras de replicação, selecione sua regra e Editar regra.

Para usar a AWS CLI para configurar a replicação quando os buckets do Outposts de origem e destino pertencem à mesma Conta da AWS, faça o seguinte:

  • Crie os buckets do Outposts de origem e destino.

  • Habilite o versionamento nos dois buckets.

  • Crie um perfil do IAM que conceda ao S3 permissão para replicar objetos

  • Adicione a configuração de replicação ao bucket do Outposts de origem.

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

Como configurar a replicação quando os buckets do Outposts de origem e destino pertencem à mesma Conta da AWS
  1. Defina um perfil de credenciais para a AWS CLI. Neste exemplo, usamos o nome de perfil acctA. Para ter mais informações sobre a definição de perfis de credencial, consulte Perfis nomeados no Guia do usuário do AWS Command Line Interface.

    Importante

    O perfil que você usar para este exercício deve ter as permissões necessárias. Por exemplo, na configuração da replicação, especifique o perfil de serviço do IAM que o S3 no Outposts pode assumir. Você só poderá fazer isso se o perfil utilizado tiver as permissões iam:CreateRole e iam:PassRole. Para ter mais informações, consulte Conceder permissões ao usuário para transmitir um perfil a um AWS service (Serviço da AWS) no Guia do usuário do IAM. Se você usar credenciais de administrador para criar um perfil nomeado, este terá a permissão necessária para realizar todas as tarefas.

  2. Crie um bucket de origem e habilite o versionamento nele. O comando create-bucket a seguir cria um bucket do SOURCE-OUTPOSTS-BUCKET na região Leste dos EUA (Norte da Virgínia) (us-east-1). Para usar esse comando, substitua user input placeholders por suas informações.

    aws s3control create-bucket --bucket SOURCE-OUTPOSTS-BUCKET --outpost-id SOURCE-OUTPOST-ID --profile acctA --region us-east-1

    O comando put-bucket-versioning a seguir habilita o versionamento no bucket do SOURCE-OUTPOSTS-BUCKET. Para usar esse comando, substitua user input placeholders por suas informações.

    aws s3control put-bucket-versioning --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET --versioning-configuration Status=Enabled --profile acctA
  3. Crie um bucket de destino e habilite o versionamento nele. O comando create-bucket a seguir cria um bucket do DESTINATION-OUTPOSTS-BUCKET na região Oeste dos EUA (Oregon) (us-west-2). Para usar esse comando, substitua user input placeholders por suas informações.

    nota

    Para definir uma configuração da replicação quando os buckets do Outposts de origem e destino estiverem na mesma Conta da AWS, use o mesmo perfil nomeado. Este exemplo usa acctA. Para testar a configuração da replicação quando os buckets pertencerem a Contas da AWS distintas, especifique diferentes perfis para cada um.

    aws s3control create-bucket --bucket DESTINATION-OUTPOSTS-BUCKET --create-bucket-configuration LocationConstraint=us-west-2 --outpost-id DESTINATION-OUTPOST-ID --profile acctA --region us-west-2

    O comando put-bucket-versioning a seguir habilita o versionamento no bucket do DESTINATION-OUTPOSTS-BUCKET. Para usar esse comando, substitua user input placeholders por suas informações.

    aws s3control put-bucket-versioning --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/DESTINATION-OUTPOST-ID/bucket/DESTINATION-OUTPOSTS-BUCKET --versioning-configuration Status=Enabled --profile acctA
  4. Crie um perfil de serviço do IAM. Posteriormente na configuração da replicação, você vai adicionar esse perfil de serviço ao bucket do SOURCE-OUTPOSTS-BUCKET. O S3 no Outposts assume esse perfil para replicar objetos em seu nome. A função do IAM é criada em duas etapas:

    1. Crie um perfil do IAM.

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

        { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3-outposts.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
      2. Execute o comando da a seguir para criar a função. Substitua os user input placeholders por suas próprias informações.

        aws iam create-role --role-name replicationRole --assume-role-policy-document file://s3-on-outposts-role-trust-policy.json --profile acctA
    2. Anexe uma política de permissões ao perfil de serviço.

      1. Copie a política de permissões a seguir e salve-a em um arquivo com o nome s3-on-outposts-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 S3 no Outposts. Para utilizar essa política, substitua os user input placeholders por suas próprias informações.

        { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3-outposts:GetObjectVersionForReplication", "s3-outposts:GetObjectVersionTagging" ], "Resource":[ "arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET/object/*", "arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/accesspoint/SOURCE-OUTPOSTS-BUCKET-ACCESS-POINT/object/*" ] }, { "Effect":"Allow", "Action":[ "s3-outposts:ReplicateObject", "s3-outposts:ReplicateDelete" ], "Resource":[ "arn:aws:s3-outposts:region:123456789012:outpost/DESTINATION-OUTPOST-ID/bucket/DESTINATION-OUTPOSTS-BUCKET/object/*", "arn:aws:s3-outposts:region:123456789012:outpost/DESTINATION-OUTPOST-ID/accesspoint/DESTINATION-OUTPOSTS-BUCKET-ACCESS-POINT/object/*" ] } ] }
      2. Execute o comando a seguir para criar uma política e ligá-la à função. Substitua os user input placeholders por suas próprias informações.

        aws iam put-role-policy --role-name replicationRole --policy-document file://s3-on-outposts-role-permissions-policy.json --policy-name replicationRolePolicy --profile acctA
  5. Adicione uma configuração de replicação ao bucket SOURCE-OUTPOSTS-BUCKET.

    1. Embora a API do S3 no Outposts exija uma configuração de replicação no formato XML, a AWS CLI requer que você especifique a configuração da replicação no formato JSON. Salve o JSON a seguir em um arquivo chamado replication.json no diretório local do seu computador. Para usar essa configuração, substitua os user input placeholders por suas próprias informações.

      { "Role": "IAM-role-ARN", "Rules": [ { "Status": "Enabled", "Priority": 1, "DeleteMarkerReplication": { "Status": "Disabled" }, "Filter" : { "Prefix": "Tax"}, "Destination": { "Bucket": "arn:aws:s3-outposts:region:123456789012:outpost/DESTINATION-OUTPOST-ID/accesspoint/DESTINATION-OUTPOSTS-BUCKET-ACCESS-POINT" } } ] }
    2. Execute o comando put-bucket-replication a seguir para adicionar a configuração de replicação ao seu bucket do Outposts de origem. Para usar esse comando, substitua user input placeholders por suas informações.

      aws s3control put-bucket-replication --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET --replication-configuration file://replication.json --profile acctA
    3. Para recuperar a configuração de replicação, use o comando get-bucket-replication. Para usar esse comando, substitua user input placeholders por suas informações.

      aws s3control get-bucket-replication --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET --profile acctA
  6. Teste a configuração no console do Amazon S3:

    1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

    2. No bucket de SOURCE-OUTPOSTS-BUCKET, crie uma pasta denominada Tax.

    3. Adicione exemplos de objetos à pasta Tax no bucket de SOURCE-OUTPOSTS-BUCKET.

    4. No bucket de DESTINATION-OUTPOSTS-BUCKET, verifique o seguinte:

      • O S3 no Outposts replicou os objetos.

        nota

        O tempo que o S3 no Outposts leva para 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.

      • Na guia Propriedades, o Status de replicação está definido como Réplica (identificando-a como um objeto de réplica).