Configurar AWS DataSync transferências com o Amazon S3 - AWS DataSync

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á.

Configurar AWS DataSync transferências com o Amazon S3

Para transferir dados de ou para seu bucket do S3, você deve criar um local AWS DataSync de transferência. DataSyncpode usar esse local como origem ou destino para transferir dados.

Acessando buckets do S3

DataSyncrequer acesso ao bucket do Amazon S3. Para fazer isso, DataSync assume uma função AWS Identity and Access Management (IAM) com uma política de IAM e uma relação de confiança AWS Security Token Service (AWS STS). A política determina quais ações a função pode realizar.

DataSyncpode criar essa função para você, mas há situações em que talvez seja necessário criar uma função manualmente. Para obter mais informações, consulte Usando políticas do IAM para acessar seu bucket do S3.

Considerações sobre a classe de armazenamento com transferências do Amazon S3

DataSyncpode transferir objetos diretamente para a classe de armazenamento do Amazon S3 que você especifica ao criar sua localização no Amazon S3. Algumas classes de armazenamento têm comportamentos que podem afetar os custos de armazenamento do Amazon S3. Para obter mais informações, consulte Definição de preço do Amazon S3.

Importante

Novos objetos copiados para um bucket do S3 são armazenados usando a classe de armazenamento que você especifica ao criar sua localização no Amazon S3. DataSyncnão alterará a classe de armazenamento dos objetos existentes no bucket (mesmo que esse objeto tenha sido modificado no local de origem).

Classe de armazenamento do Amazon S3 Considerações
S3 Standard Escolha o S3 Standard para armazenar seus arquivos acessados com frequência de forma redundante em várias zonas de disponibilidade separadas geograficamente. Esse será o padrão se você não especificar uma classe de armazenamento.
S3 Intelligent-Tiering

Escolha S3 Intelligent-Tiering para otimizar os custos de armazenamento movendo automaticamente os dados para o nível de acesso de armazenamento mais econômico.

Você paga uma taxa mensal por objeto armazenado na classe de armazenamento S3 Intelligent-Tiering. Essa cobrança do Amazon S3 inclui o monitoramento de padrões de acesso a dados e a movimentação de objetos entre níveis.

S3 Standard – IA

Escolha o S3 Standard-IA para armazenar seus objetos acessados com pouca frequência de forma redundante em várias zonas de disponibilidade separadas geograficamente.

Objetos armazenados na classe de armazenamento S3 Standard — IA podem gerar custos adicionais para sobrescrever, excluir ou recuperar. Considere a frequência com que esses objetos mudam, por quanto tempo você planeja manter esses objetos e com que frequência você precisa acessá-los. Alterações nos dados ou metadados do objeto equivalem à exclusão de um objeto e à criação de um novo para substituí-lo. Isso resulta em cobranças adicionais para objetos armazenados na classe de armazenamento S3 Standard — IA.

Objetos com menos de 128 KB são menores do que a carga de capacidade mínima por objeto na classe de armazenamento S3 Standard — IA. Esses objetos são armazenados na classe de armazenamento S3 Standard.

S3 One Zone – IA

Escolha o S3 One Zone — IA para armazenar objetos acessados com pouca frequência em uma única zona de disponibilidade.

Objetos armazenados na classe de armazenamento S3 One Zone — IA podem gerar custos adicionais para sobrescrever, excluir ou recuperar. Considere a frequência com que esses objetos mudam, por quanto tempo você planeja manter esses objetos e com que frequência você precisa acessá-los. Alterações nos dados ou metadados do objeto equivalem à exclusão de um objeto e à criação de um novo para substituí-lo. Isso resulta em cobranças adicionais para objetos armazenados na classe de armazenamento S3 One Zone — IA.

Objetos com menos de 128 KB são menores do que a carga de capacidade mínima por objeto na classe de armazenamento S3 One Zone — IA. Esses objetos são armazenados na classe de armazenamento S3 Standard.

S3 Glacier Instant Retrieval

Escolha o S3 Glacier Instant Retrieval para arquivar objetos que raramente são acessados, mas precisam ser recuperados em milissegundos.

Os dados armazenados na classe de armazenamento S3 Glacier Instant Retrieval oferecem economia de custos em comparação à classe de armazenamento S3 Standard-IA com a mesma latência e desempenho de taxa de transferência. No entanto, o S3 Glacier Instant Retrieval tem custos de acesso a dados mais altos do que o S3 Standard — IA.

Objetos armazenados no S3 Glacier Instant Retrieval podem incorrer em custos adicionais para sobrescrever, excluir ou recuperar. Considere a frequência com que esses objetos mudam, por quanto tempo você planeja manter esses objetos e com que frequência você precisa acessá-los. Alterações nos dados ou metadados do objeto equivalem à exclusão de um objeto e à criação de um novo para substituí-lo. Isso resulta em cobranças adicionais para objetos armazenados na classe de armazenamento S3 Glacier Instant Retrieval.

Objetos com menos de 128 KB são menores do que a carga de capacidade mínima por objeto na classe de armazenamento Instant Retrieval do S3 Glacier. Esses objetos são armazenados na classe de armazenamento S3 Standard.

S3 Glacier Flexible Retrieval

Escolha S3 Glacier Flexible Retrieval para obter arquivos mais ativos.

Objetos armazenados no S3 Glacier Flexible Retrieval podem gerar custos adicionais para sobrescrever, excluir ou recuperar. Considere a frequência com que esses objetos mudam, por quanto tempo você planeja manter esses objetos e com que frequência você precisa acessá-los. Alterações nos dados ou metadados do objeto equivalem à exclusão de um objeto e à criação de um novo para substituí-lo. Isso resulta em cobranças adicionais para objetos armazenados na classe de armazenamento S3 Glacier Flexible Retrieval.

Objetos com menos de 40 KB são menores do que a carga de capacidade mínima por objeto na classe de armazenamento S3 Glacier Flexible Retrieval. Esses objetos são armazenados na classe de armazenamento S3 Standard.

Você deve restaurar objetos arquivados nessa classe de armazenamento antes de DataSync poder lê-los. Para obter informações, consulte Como trabalhar com objetos arquivados no Guia do usuário do Amazon S3.

Ao usar o S3 Glacier Flexible Retrieval, escolha a opção Verificar somente os dados transferidos da tarefa para comparar as somas de verificação de dados e metadados no final da transferência. Você não pode usar a opção Verificar todos os dados no destino para essa classe de armazenamento porque ela exige a recuperação de todos os objetos existentes do destino.

S3 Glacier Deep Archive

Escolha o S3 Glacier Deep Archive para arquivar seus objetos para retenção de dados a longo prazo e preservação digital, onde os dados são acessados uma ou duas vezes por ano.

Objetos armazenados no S3 Glacier Deep Archive podem ser cobrados adicionais para sobrescrever, excluir ou recuperar. Considere a frequência com que esses objetos mudam, por quanto tempo você planeja manter esses objetos e com que frequência você precisa acessá-los. Alterações nos dados ou metadados do objeto equivalem à exclusão de um objeto e à criação de um novo para substituí-lo. Isso resulta em cobranças adicionais para objetos armazenados na classe de armazenamento S3 Glacier Deep Archive.

Objetos com menos de 40 KB são menores do que a carga de capacidade mínima por objeto na classe de armazenamento S3 Glacier Deep Archive. Esses objetos são armazenados na classe de armazenamento S3 Standard.

Você deve restaurar objetos arquivados nessa classe de armazenamento antes de DataSync poder lê-los. Para obter informações, consulte Como trabalhar com objetos arquivados no Guia do usuário do Amazon S3.

Ao usar o S3 Glacier Deep Archive, escolha a opção Verificar somente os dados transferidos da tarefa para comparar as somas de verificação de dados e metadados no final da transferência. Você não pode usar a opção Verificar todos os dados no destino para essa classe de armazenamento porque ela exige a recuperação de todos os objetos existentes do destino.

Outposts do S3

A classe de armazenamento do Amazon S3 no Outposts.

Avaliando os custos de solicitação do S3 ao usar DataSync

Com os locais do Amazon S3, você incorre em custos relacionados às solicitações de API do S3 feitas por. DataSync Esta seção pode ajudar você a entender como DataSync usa essas solicitações e como elas podem afetar seus custos do Amazon S3.

Solicitações do S3 feitas por DataSync

A tabela a seguir descreve as solicitações do S3 que DataSync podem ser feitas quando você está copiando dados de ou para um local do Amazon S3.

Solicitação do S3 Como DataSync o usa

ListObjectV2

DataSyncfaz pelo menos uma LIST solicitação para cada objeto que termina em uma barra (/) para listar os objetos que começam com esse prefixo. Essa solicitação é chamada durante a fase de preparação de uma tarefa.

HeadObject

DataSyncfaz HEAD solicitações para recuperar metadados do objeto durante as fases de preparação e verificação de uma tarefa. Pode haver várias HEAD solicitações por objeto, dependendo de como você DataSync deseja verificar a integridade dos dados transferidos.

GetObject

DataSyncfaz GET solicitações para ler dados de um objeto durante a fase de transferência de uma tarefa. Pode haver várias GET solicitações para objetos grandes.

PutObject

DataSyncfaz PUT solicitações para criar objetos em um bucket de destino do S3 durante a fase de transferência de uma tarefa. Como DataSync usa o recurso de upload de várias partes do Amazon S3, pode haver várias PUT solicitações para objetos grandes.

CopyObject

DataSyncfaz uma COPY solicitação para criar uma cópia de um objeto somente se os metadados desse objeto forem alterados. Isso pode acontecer se você copiou originalmente os dados para o bucket do S3 usando outro serviço ou ferramenta que não transferiu seus metadados.

Considerações sobre custos

DataSyncfaz solicitações do S3 nos buckets do S3 toda vez que você executa sua tarefa. Isso pode fazer com que as cobranças se acumulem em determinadas situações. Por exemplo:

  • Você transfere frequentemente objetos de ou para um bucket do S3.

  • Talvez você não esteja transferindo muitos dados, mas seu bucket do S3 contém muitos objetos. Você ainda pode ver altas cobranças nesse cenário porque DataSync faz solicitações do S3 em cada um dos objetos do bucket.

  • Você está transferindo entre buckets do S3, assim DataSync como fazendo solicitações do S3 na origem e no destino.

Para ajudar a minimizar os custos de solicitação do S3 relacionados aDataSync, considere o seguinte:

Quais classes de armazenamento do S3 eu estou usando?

As cobranças de solicitação do S3 podem variar de acordo com a classe de armazenamento do Amazon S3 que seus objetos são usados, especialmente para S3 Glacier Instant Retrieval, S3 Glacier Deep Archive).

Aqui estão alguns cenários em que as classes de armazenamento podem afetar suas cobranças de solicitação do S3 durante o usoDataSync:

  • Sempre que você executa uma tarefa, DataSync faz HEAD solicitações para recuperar os metadados do objeto. Essas solicitações resultam em cobranças mesmo se você não estiver movendo nenhum objeto. O quanto essas solicitações afetam sua fatura depende da classe de armazenamento que seus objetos estão usando e do número de objetos que DataSync digitalizam.

  • Se você moveu objetos para a classe de armazenamento S3 Glacier Instant Retrieval (diretamente ou por meio de uma configuração de ciclo de vida do bucket), as solicitações de objetos dessa classe serão mais caras do que objetos em outras classes de armazenamento.

  • Se você configurar sua DataSync tarefa para verificar se os locais de origem e destino estão totalmente sincronizados, haverá GET solicitações para cada objeto em todas as classes de armazenamento (exceto S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive).

  • Além das GET solicitações, você incorre em custos de recuperação de dados para objetos na classe de armazenamento S3 Standard — IA, S3 Glacier ou S3 Glacier Instant Retrieval.

Para obter mais informações, consulte Definição de preço do Amazon S3.

Com que frequência preciso transferir meus dados?

Se você precisar mover dados de forma recorrente, pense em um cronograma que não execute mais tarefas do que você precisa.

Você também pode considerar limitar o escopo de suas transferências. Por exemplo, você pode configurar DataSync para focar em objetos em determinados prefixos ou filtrar quais dados são transferidos. Essas opções podem ajudar a reduzir o número de solicitações do S3 feitas toda vez que você executa sua DataSync tarefa.

Outras considerações com transferências do Amazon S3

Ao usar o Amazon S3 comDataSync, lembre-se do seguinte:

  • Alterações nos dados ou metadados do objeto são equivalentes à exclusão e substituição de um objeto. Essas alterações resultam em cobranças adicionais nos seguintes cenários:

    • Ao usar o controle de versão de objetos — Alterações nos dados ou metadados do objeto criam uma nova versão do objeto.

    • Ao usar classes de armazenamento que podem gerar custos adicionais para sobrescrever, excluir ou recuperar objetos, as alterações nos dados ou nos metadados do objeto resultam em tais cobranças. Para obter mais informações, consulte Considerações sobre a classe de armazenamento com transferências do Amazon S3.

  • Ao usar o controle de versão de objetos no Amazon S3, executar uma DataSync tarefa uma vez pode criar mais de uma versão de um objeto do Amazon S3.

  • DataSyncpode não transferir um objeto se ele tiver caracteres não padrão em seu nome. Para obter mais informações, consulte as diretrizes de nomenclatura de chaves de objeto no Guia do usuário do Amazon S3.

  • Para ajudar a minimizar os custos de armazenamento do Amazon S3, recomendamos o uso de uma configuração de ciclo de vida para interromper os carregamentos incompletos de várias partes. Para obter mais informações, consulte o Guia do usuário do Amazon S3.

  • Depois de transferir inicialmente os dados de um bucket do S3 para um sistema de arquivos (por exemplo, NFS ou Amazon FSx), as execuções subsequentes da mesma DataSync tarefa não incluirão objetos que foram modificados, mas têm o mesmo tamanho da primeira transferência.

Criando seu local de transferência do Amazon S3

Para criar o local, você precisa de um bucket do S3 existente. Se você não tiver um, consulte Como começar a usar o Amazon S3 no Guia do usuário do Amazon S3.

dica

Se seu bucket do S3 tiver objetos com diferentes classes de armazenamento, saiba como DataSyncfunciona com essas classes de armazenamento e como isso pode afetar sua AWS fatura.

Como criar um local do Amazon S3
  1. Abra o AWS DataSync console em https://console.aws.amazon.com/datasync/.

  2. No painel de navegação esquerdo, expanda Transferência de dados e escolha Locais e Criar localização.

  3. Em Tipo de localização, escolha Amazon S3.

  4. Para bucket do S3, escolha o bucket que você deseja usar como local. (Ao criar sua DataSync tarefa posteriormente, você especifica se esse local é um local de origem ou destino.)

    Se o bucket do S3 estiver localizado em um AWS Outposts recurso, você deverá especificar um ponto de acesso do Amazon S3. Para obter mais informações, consulte Gerenciar o acesso a dados com pontos de acesso do Amazon S3 no Guia do usuário do Amazon S3.

  5. Para a classe de armazenamento S3, escolha uma classe de armazenamento que você deseja que seus objetos usem.

    Para obter mais informações, consulte Considerações sobre a classe de armazenamento com transferências do Amazon S3. DataSyncpor padrão, usa a classe de armazenamento S3 Outposts para Amazon S3 no Outposts.

  6. (Somente Amazon S3 em Outposts) Para agentes, especifique o nome de recurso da Amazon (ARN) do DataSync agente em seu Outpost.

    Para obter mais informações, consulte Implante seu agente em AWS Outposts.

  7. Para Folder, insira um prefixo no bucket do S3 que DataSync lê ou grava (dependendo de o bucket ser um local de origem ou de destino).

    nota

    O prefixo não pode começar com uma barra (por exemplo/photos) nem incluir barras consecutivas, como. photos//2006/January

  8. Em IAM role (Função do IAM), siga um destes procedimentos:

    • Escolha Autogenerate for DataSync para criar automaticamente uma função do IAM com as permissões necessárias para acessar o bucket do S3.

      Se uma função do IAM foi criada DataSync anteriormente para esse bucket do S3, essa função é escolhida por padrão.

    • Escolha um perfil do IAM personalizado que você criou. Para obter mais informações, consulte Criar manualmente uma função do IAM para acessar o bucket do Amazon S3.

  9. (Opcional) Escolha Adicionar tag para marcar sua localização do Amazon S3.

    Uma tag é um par de chave-valor que ajuda você a gerenciar, filtrar e pesquisar seus locais.

  10. Escolha Criar localização.

Usando políticas do IAM para acessar seu bucket do S3

Dependendo das configurações de segurança do seu bucket do S3, talvez seja necessário criar uma política de IAM personalizada que permita DataSync acessar o bucket.

Criar manualmente uma função do IAM para acessar o bucket do Amazon S3

Embora DataSync possa criar uma função do IAM para você com as permissões necessárias do bucket do S3, você também pode configurar uma função sozinho.

Como criar manualmente uma função do IAM para acessar o bucket do Amazon S3
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação esquerdo, em Gerenciamento de acesso, escolha Funções e, em seguida, escolha Criar função.

  3. Na página Selecionar entidade confiável, em Tipo de entidade confiável, escolha AWS service (Serviço da AWS).

  4. Em Caso de uso, escolha DataSyncna lista suspensa e selecione DataSync- Localização do S3. Escolha Próximo.

  5. Na página Adicionar permissões, escolha AmazonS3 FullAccess para buckets do S3 em. Regiões da AWS Escolha Próximo.

    Você pode criar manualmente uma política mais restritiva do que o FullAccessAmazonS3. Veja um exemplo abaixo:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "YourS3BucketArn" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:GetObjectTagging", "s3:PutObjectTagging", "s3:PutObject" ], "Effect": "Allow", "Resource": "YourS3BucketArn/*" } ] }

    Para o Amazon S3 no Outposts, use a seguinte política:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3-outposts:ListBucket", "s3-outposts:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": [ "s3OutpostsBucketArn", "s3OutpostsAccessPointArn" ], "Condition": { "StringLike": { "s3-outposts:DataAccessPointArn": "s3OutpostsAccessPointArn" } } }, { "Action": [ "s3-outposts:AbortMultipartUpload", "s3-outposts:DeleteObject", "s3-outposts:GetObject", "s3-outposts:ListMultipartUploadParts", "s3-outposts:GetObjectTagging", "s3-outposts:PutObjectTagging" ], "Effect": "Allow", "Resource": [ "s3OutpostsBucketArn/*", "s3OutpostsAccessPointArn" ], "Condition": { "StringLike": { "s3-outposts:DataAccessPointArn": "s3OutpostsAccessPointArn" } } }, { "Effect": "Allow", "Action": [ "s3-outposts:GetAccessPoint" ], "Resource": "s3OutpostsAccessPointArn" } ] }
  6. Dê um nome à sua função e escolha Criar função.

  7. Abra o AWS DataSync console em https://console.aws.amazon.com/datasync/.

  8. Selecione o botão de atualização ao lado da configuração da função do IAM e, em seguida, escolha o papel que você acabou de criar.

Prevenção do problema do substituto confuso entre serviços

Para evitar o problema de confusões entre serviços, recomendamos o uso das chaves de contexto de condição aws:SourceAccount global aws:SourceArn e da condição na política de confiança de sua função do IAM.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "datasync.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "StringLike": { "aws:SourceArn": "arn:aws:datasync:us-east-2:123456789012:*" } } } ] }

Acessar buckets do S3 usando criptografia do lado do servidor

DataSyncpode copiar dados de ou para buckets do S3 que usam criptografia do lado do servidor. O tipo de chave de criptografia que um bucket usa pode determinar se você precisa de uma política personalizada que DataSync permita acessar o bucket.

Ao usar DataSync com buckets do S3 que usam criptografia do lado do servidor, lembre-se do seguinte:

  • Se seu bucket do S3 estiver criptografado com uma chave AWS gerenciada, DataSync poderá acessar os objetos do bucket por padrão se todos os seus recursos estiverem nos mesmosConta da AWS.

  • Se seu bucket do S3 estiver criptografado com uma chave gerenciada pelo cliente AWS Key Management Service (AWS KMS) (SSE-KMS), a política da chave deve incluir a função do IAM usada para acessar o bucket. DataSync

  • Se seu bucket do S3 estiver criptografado com uma chave SSE-KMS gerenciada pelo cliente e em outraConta da AWS, DataSync precisará de permissão para acessar o bucket no outro. Conta da AWS Você pode configurar isso fazendo o seguinte:

  • Se o bucket do S3 for criptografado com uma chave de criptografia fornecida pelo cliente (SSE-C), não será DataSync possível acessar esse bucket.

O exemplo a seguir é uma política de chave para uma chave SSE-KMS gerenciada pelo cliente. A política está associada a um bucket do S3 que usa criptografia no lado do servidor. Os valores a seguir são específicos para sua configuração:

  • sua conta — Sua. Conta da AWS

  • your-admin-role— A função do IAM que pode administrar a chave.

  • your-datasync-role— A função do IAM que DataSync permite usar a chave ao acessar o bucket.

{ "Id": "key-consolepolicy-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your-account:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your-account:role/your-admin-role" }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your-account:role/your-datasync-role" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your-account:role/your-datasync-role" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }

Transferindo de ou para buckets do S3 em diferentes Contas da AWS

ComDataSync, você pode mover dados de ou para buckets do S3 de forma diferente. Contas da AWS Para obter mais informações, consulte os seguintes tutoriais: