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á.
Copie dados de um bucket do S3 para outra conta e região usando o AWS CLI
Criado por Appasaheb Bagali (AWS) e Purushotham G K () AWS
Ambiente: produção | Tecnologias: Armazenamento e backup | AWSserviços: AWSCLI; AWS Identity and Access Management; Amazon S3 |
Resumo
Esse padrão descreve como migrar dados de um bucket do Amazon Simple Storage Service (Amazon S3) em uma conta de AWS origem para um bucket S3 de destino em outra AWS conta, na mesma AWS região ou em uma região diferente.
O bucket S3 de origem permite o acesso ao AWS Identity and Access Management (IAM) usando uma política de recursos anexada. Um usuário na conta de destino precisa assumir uma função que tenha permissões PutObject
e GetObject
para o bucket de origem. Por fim, você executa os comandos copy
e sync
para transferir dados do bucket do S3 de origem para o bucket do S3 de destino.
As contas são proprietárias dos objetos que carregam nos buckets do S3. Se você copiar objetos entre contas e regiões, concederá à conta de destino a propriedade dos objetos copiados. Você pode alterar a propriedade de um objeto alterando sua lista de controle de acesso (ACL) parabucket-owner-full-control
. No entanto, recomendamos que você conceda permissões programáticas entre contas à conta de destino, pois ACLs pode ser difícil gerenciar vários objetos.
Aviso: esse cenário exige que IAM os usuários tenham acesso programático e credenciais de longo prazo, o que representa um risco de segurança. Para ajudar a reduzir esse risco, recomendamos que você forneça a esses usuários somente as permissões necessárias para realizar a tarefa e que você os remova quando não forem mais necessários. As chaves de acesso podem ser atualizadas, se necessário. Para obter mais informações, consulte Atualização das chaves de acesso no Guia IAM do usuário. |
Esse padrão abrange a migração única. Para cenários que exigem migração contínua e automática de novos objetos de um bucket de origem para um bucket de destino, você pode usar o S3 Batch Replication em vez disso, conforme descrito no padrão Copiar dados de um bucket do S3 para outra conta e região usando o S3 Batch Replication.
Pré-requisitos e limitações
Duas AWS contas ativas na mesma região ou em AWS regiões diferentes.
Um bucket do S3 existente na conta de origem.
Se seu bucket Amazon S3 de origem ou destino tiver a criptografia padrão habilitada, você deverá modificar as permissões de AWS chave do Key Management Service (AWSKMS). Para obter mais informações, consulte o artigo do AWS re:POST
sobre esse tópico. Familiaridade com permissões entre contas.
Arquitetura
![Copiar dados do Amazon S3 para outra conta ou região](images/pattern-img/a574c26b-fdd9-4472-842b-b34c3eb2bfe9/images/80d47b54-0309-4472-ae00-041ec27bc25b.png)
Ferramentas
O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
AWSA interface de linha de comando (AWSCLI) é uma ferramenta de código aberto que ajuda você a interagir com AWS serviços por meio de comandos em seu shell de linha de comando.
AWSO Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
Práticas recomendadas
Melhores práticas de segurança em IAM (IAMdocumentação)
Aplicação de permissões com privilégios mínimos (documentação) IAM
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie um IAM usuário e obtenha a chave de acesso. |
| AWS DevOps |
Crie uma política IAM baseada em identidade. | Crie uma política IAM baseada em identidade nomeada
Observação: modifique os nomes dos buckets de origem e destino de acordo com seu caso de uso. Essa política baseada em identidade permite que o usuário que está assumindo essa função acesse o bucket de origem e o bucket de destino. | AWS DevOps |
Crie uma IAM função. | Crie uma IAM função nomeada
Nota: Modifique o Amazon Resource Name (ARN) da IAM função de destino ou nome de usuário na política de confiança de acordo com seu caso de uso. Essa política de confiança permite que o IAM usuário recém-criado assuma | AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar e anexar uma política de bucket do S3. | Faça login no AWS Management Console da sua conta de origem e abra o console do Amazon S3. Escolha sua origem do bucket do S3 e selecione Permissões. Em Política de bucket, selecione Editar e cole a seguinte política de bucket. Escolha Salvar.
Observação: certifique-se de incluir o ID da AWS conta de destino e configurar o modelo de política de bucket de acordo com seus requisitos. Essa política baseada em recursos permite que a função | Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar um bucket do S3 de destino. | Faça login no AWS Management Console da sua conta de destino, abra o console do Amazon S3 e escolha Create bucket. Criar um bucket do S3 de acordo com suas necessidades. Para obter mais informações, consulte Criar um bucket na documentação do Amazon S3. | Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Configure AWS CLI com as credenciais de usuário recém-criadas. |
| AWS DevOps |
Assumir a função de migração do S3. |
Para obter mais informações, consulte o Centro de AWS Conhecimento | AWSadministrador |
Copiar e sincronizar dados do bucket do S3 de origem para o bucket do S3 de destino. | Depois de assumir a função Copie (consulte a Referência de AWS CLI Comandos para obter detalhes):
Sincronize (consulte a Referência de AWS CLI Comandos para obter detalhes):
| Administrador de nuvem |
Solução de problemas
Problema | Solução |
---|---|
Ocorreu um erro ( |
|
Recursos relacionados
Criar um bucket do S3 (documentação do Amazon S3)
Políticas e políticas de usuário do bucket do S3 (documentação do Amazon S3)
IAMidentidades (usuários, grupos e funções) (IAMdocumentação)
comando cp (AWSCLIdocumentação)
comando sync (AWSCLIdocumentação)