As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Tutorial: Transferir dados do Amazon S3 para o Amazon S3 em um perfil diferenteConta da AWS
ComAWS DataSync, você pode mover dados entre buckets do Amazon S3 que pertencem a diferentesContas da AWS.
Importante
A cópia de dadosContas da AWS usando os métodos deste tutorial funciona somente com o Amazon S3.
Visão geral
Neste tutorial, você aprenderá como oAWS Identity and Access Management (IAM) e oAWS Command Line Interface (AWS CLI) podem ajudá-lo a criarDataSync tarefas que transferem dados do Amazon S3 para outro bucket do S3 em um bucket diferenteConta da AWS.
dica
Siga este tutorial se seus buckets do S3 também estiverem diferentesRegiões da AWS. O processo é basicamente o mesmo, exceto por algumas etapas extras. No entanto, lembre-se de que issoDataSync não oferece suporte a esses tipos de transferências para regiões desativadas por padrão.
Veja como esse tipo de cenário pode ser:
-
Conta A:Conta da AWS aquela que você utiliza para gerenciar o bucket do bucket do qual você deseja copiar dados.
-
Conta B:Conta da AWS aquela que você utiliza para gerenciar o bucket do bucket do S3 para o qual você deseja copiar dados.
Pré-requisitos
Antes de começar o trabalho do IAM para facilitar a transferência entre contas, faça o seguinte caso ainda não tenha feito isso:
-
Determine quantos objetos você está copiando. Use o Amazon S3 Storage Lens para descobrir quantos objetos estão em seu bucket.
dica
Ao transferir entre buckets do S3, não éDataSync possível copiar mais de 25 milhões de objetos por tarefa. Se seu bucket tiver mais de 25 milhões de objetos, recomendamos algumas opções:
-
Organize seus objetos usando prefixos que não incluem mais de 25 milhões de objetos. Em seguida, você pode criarDataSync tarefas separadas para cada prefixo.
-
Filtrando os dados transferidos porDataSync.
-
-
Crie um localDataSync de origem com a Conta A para o bucket S3 do qual você está copiando dados.
-
Configure oAWS CLI com a Conta A. Você precisará doAWS CLI para criar o local deDataSync destino para o bucket S3 na Conta B.
Etapa 1: Criar um perfil do IAM paraDataSync a conta A
Você precisa de uma função do IAM que dêDataSync permissão para gravação no bucket do bucket do S3 na conta B.
Quando você cria um local para um bucket,DataSync pode criar e assumir automaticamente uma função com as permissões certas para acessar esse bucket. Como você está transferindo entre contas, é necessário criar a função manualmente.
Para obter mais informações, consulte Criação de uma função para umAWS service (Serviço da AWS) (console) no Guia do usuário do IAM.
Criar o perfil do IAM
Crie uma função comDataSync a entidade confiável.
Para criar a função do IAM
Faça login na contaAWS Management Console com A.
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação esquerdo, em Gerenciamento de acesso, escolha Funções e, em seguida, escolha Criar função.
-
Na página Selecionar entidade confiável, em Tipo de entidade confiável, escolha AWS service (Serviço da AWS).
-
Em Caso de uso, escolha DataSyncna lista suspensa e selecione DataSync. Escolha Próximo.
-
Na página Add permissions (Adicionar permissões), escolha Next (Próximo).
-
Dê um nome à sua função e escolha Criar função.
Anexe uma política personalizada à função do IAM
A função do IAM precisa de uma política que permitaDataSync gravar em seu bucket do S3 na Conta B.
Para anexar uma política personalizada à função do IAM
Na página Funções do console do IAM, pesquise a função que você acabou de criar e escolha seu nome.
Na página de detalhes da função, escolha a guia Permissões. Escolha Adicionar permissões e depois Criar política embutida.
-
Escolha a guia JSON e faça o seguinte:
Cole o seguinte JSON no editor de política:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "arn:aws:s3:::
account-b-bucket
" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::account-b-bucket
/*" } ] }
Substitua pelo nome do bucket do bucket do S3 na conta B.account-b-bucket
-
Escolha Review policy (Revisar política).
-
Dê um nome à sua política e escolha Criar política.
Etapa 2: desabilite as ACLs para seu bucket do S3 na Conta B
É importante que todos os dados que você copie para o bucket do S3 pertençam à Conta B. Para garantir que a Conta B seja a proprietária dos dados, desative as listas de controle de acesso (ACLs) do bucket. Para obter mais informações, consulte Controlar a propriedade de objetos e desabilitar ACLs para seu bucket, no Guia do Usuário do Amazon S3.
Para desabilitar as ACLs para um bucket do S3
-
NoAWS Management Console, mude para a Conta B.
Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
. -
No painel de navegação à esquerda, escolha Buckets.
-
Na lista Buckets, escolha o bucket S3 para o qual você está transferindo dados.
-
Na página de detalhes do bucket, escolha a guia Permissões.
-
Em Object Ownership, escolha Edit (Editar).
-
Se ainda não estiver selecionado, escolha a opção ACLs desativadas (recomendado).
-
Escolha Salvar alterações.
Etapa 3: Atualizar a política de bucket do S3 na conta B
Na conta B, modifique a política de bucket do S3 para permitir o acesso ao perfil do IAM que você criou paraDataSync a conta A.
A política atualizada (fornecida a você nas instruções a seguir) inclui dois princípios:
-
O primeiro diretor especifica a função do IAM na Conta A que você criou na Etapa 1. Essa função permiteDataSync gravar no bucket do S3 na conta B.
-
O segundo principal especifica a função do IAM na Conta A que você usa para acessar o console ouAWS CLI. Na Etapa 4, você usará essa função ao criar o local de destino para o bucket do S3.
Para atualizar a política de bucket do bucket do S3
-
Enquanto ainda estiver no console do S3 e usando a Conta B, escolha o bucket do S3 para o qual você está copiando os dados.
-
Na página de detalhes do bucket, escolha a guia Permissões.
-
Em Política de bucket, escolha Editar e faça o seguinte para modificar sua política de bucket do S3:
-
Atualize o que está no editor para incluir as seguintes declarações de política:
{ "Version": "2008-10-17", "Statement": [ { "Sid": "DataSyncCreateS3LocationAndTaskAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account-a-id
:role/name-of-datasync-role
" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::account-b-bucket
", "arn:aws:s3:::account-b-bucket
/*" ] }, { "Sid": "DataSyncCreateS3Location", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-a-id
:role/name-of-your-role
" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::account-b-bucket
" } ] } -
Substitua peloConta da AWS número da Conta A.account-a-id
-
Substitua pela função do IAM para a qual você criouDataSync na Conta A (na Etapa 1).name-of-datasync-role
-
Substitua pelo nome do bucket do bucket do S3 na conta B.account-b-bucket
-
Substitua pela função do IAM que você usa para acessar o console ouAWS CLI pela Conta A.name-of-your-role
-
Escolha Salvar alterações.
Etapa 4: criar um local deDataSync destino para o bucket S3
Depois de criar um local para o bucket do S3, você pode executar suaDataSync tarefa. ODataSync console, no entanto, não oferece suporte à criação de locais em contas diferentes. Você deve criar o local com oAWS CLI antes de poder executar a tarefa.
Para criar umDataSync local com a CLI
-
Abra um terminal do .
-
Certifique-se de que seu perfil CLI esteja configurado para usar a Conta A.
-
Copie o seguinte comando:
aws datasync create-location-s3 \ --s3-bucket-arn arn:aws:s3:::
account-b-bucket
\ --s3-config '{"BucketAccessRoleArn":"arn:aws:iam::account-a-id
:role/name-of-datasync-role
"}' -
Substitua pelo nome do bucket do bucket do S3 na conta B.account-b-bucket
-
Substitua peloConta da AWS número da Conta A.account-a-id
-
Substitua pela função do IAM para a qual você criouDataSync na Conta A (na Etapa 1).name-of-datasync-role
-
Se o bucket na Conta B estiver em uma região diferente do bucket na Conta A, adicione a
--region
opção no final do comando para especificar a região em que o bucket da Conta B reside. Por exemplo,--region
.us-west-1
-
Execute o comando .
Se o comando retornar um ARN deDataSync localização semelhante a este, você criou o local com êxito:
{ "LocationArn": "arn:aws:datasync:us-east-2:123456789012:location/loc-abcdef01234567890" }
-
Volte para a Conta A noAWS Management Console.
-
Abra oDataSync console em https://console.aws.amazon.com/datasync/
. -
No painel de navegação à esquerda, selecione Locais.
Você pode ver a localização do bucket do S3 na Conta B que você acabou de criar com a CLI.
Etapa 5: Criar e iniciar umaDataSync tarefa
Antes de mover seus dados, vamos recapitular o que você fez até agora:
-
Criou uma função do IAM na Conta A paraDataSync poder gravar dados no bucket S3 na Conta B.
-
Configure seu bucket S3 na Conta B para garantir que suaDataSync tarefa funcione.
-
Criou seus locaisDataSync de origem e destino na Conta A.
Para criar e iniciar aDataSync tarefa
Enquanto ainda estiver usando oDataSync console na Conta A, expanda Transferência de dados no painel de navegação esquerdo e escolha Tarefas e Criar tarefa.
nota
Você deve estar conectado ao console com a mesma função do IAM para a Conta A que você especificou na política de bucket do S3 na Etapa 3.
-
Se o bucket na Conta B estiver em uma região diferente do bucket na Conta A, escolha a Região do bucket da Conta B no painel de navegação.
Você deve iniciar aDataSync tarefa na região do local de destino (nesse caso, o bucket da Conta B) para evitar um erro de conexão.
-
Na página Configurar localização de origem, escolha Escolher um local existente.
-
Para transferências entre regiões, escolha a região em que o bucket da Conta A reside.
-
Escolha o local de origem do qual você está copiando os dados (o bucket S3 na Conta A) e depois Avançar.
-
Na página Configurar local de destino, escolha Escolher um local existente. Escolha o local de destino para o qual você está copiando os dados (o bucket S3 na Conta B) e depois Avançar.
-
Na página Definir configurações, dê um nome à tarefa. Conforme necessário, defina configurações adicionais, como especificar um grupo deCloudWatch registros da Amazon. Escolha Próximo.
-
Na página Revisão, revise suas configurações e escolha Criar tarefa.
-
Na página de detalhes da tarefa, escolha Iniciar e escolha uma das seguintes opções:
-
Para executar a tarefa sem modificação, escolha Iniciar com padrões.
-
Para modificar a tarefa antes de executá-la, escolha Iniciar com opções de substituição.
-
Quando sua tarefa terminar, verifique o bucket S3 na Conta B. Você deverá ver os dados do seu bucket da Conta A.
Recursos relacionados
Para obter mais informações sobre o que você fez neste tutorial, consulte os seguintes tópicos: