Transferência por uma rede privada gerenciada pelo Google

Ao transferir dados do Amazon S3 para o Cloud Storage, os dados geralmente passam por links de peering da Internet pública, em que a AWS cobra taxas padrão de saída de dados da Internet. O Serviço de transferência do Cloud Storage oferece uma opção de rede particular gerenciada pelo Google para transferências do Amazon S3, permitindo que os dados fluam pelo roteamento particular seguro provisionado automaticamente pelo Google.

O uso de uma rede particular gerenciada pelo Google reduz os custos de saída da Internet da AWS e simplifica a segurança da rede, eliminando a necessidade de configurar e manter interconexões físicas gerenciadas pelo cliente.

Principais benefícios

A opção de rede particular gerenciada pelo Google oferece os seguintes benefícios operacionais e financeiros para transferências do Amazon S3:

  • Reduzir os custos de saída da Internet: a transferência do Amazon S3 pela rede particular gerenciada pelo Google ignora as taxas padrão de saída da Internet da AWS. Você não paga taxas de saída da Internet do AWS S3. Em vez disso, você paga uma taxa de processamento de dados por GiB previsível para o Google Cloud. Consulte Preços para mais detalhes. As taxas padrão de solicitação de API da AWS (como as operações LIST, GET e HEAD do Amazon S3) ainda são aplicadas de acordo com a tabela de preços da AWS.

  • Eliminar a exposição da Internet pública: os dados viajam diretamente pela conexão de interconexão particular gerenciada pelo Google entre a AWS e o Google Cloud. Como os pacotes nunca passam por tabelas de roteamento da Internet pública, você elimina o risco de interceptação pública, simplificando o firewall e a conformidade de confiança zero.

  • Manutenção de infraestrutura zero: ao contrário de uma rede particular gerenciada pelo cliente, não é necessário provisionar, configurar ou pagar taxas de porta recorrentes para interconexões físicas (como o Cloud Interconnect ou o AWS Direct Connect), gateways de VPN ou roteamento DNS personalizado. O Google gerencia totalmente a pilha de rede particular de ponta a ponta.

  • Implantação instantânea sem prazo de entrega: a configuração de circuitos de interconexão dedicados pode levar semanas. Com uma rede particular gerenciada pelo Google, você pode começar a transferir pelo roteamento particular imediatamente, sem instalar ou gerenciar agentes de transferência.

Considerações sobre largura de banda e desempenho

Todos os jobs do Serviço de transferência do Cloud Storage em todos os projetos que utilizam a rede particular gerenciada pelo Google compartilham uma capacidade de rede agrupada comum. Durante períodos de pico de utilização global, as velocidades de transferência podem sofrer limitação ou aumento da latência.

As cargas de trabalho que consistem principalmente em objetos grandes são mais afetadas pela alta utilização do pool do que as cargas de trabalho que consistem principalmente em objetos menores. Se a carga de trabalho exigir largura de banda dedicada sem disputa de pool compartilhado, considere configurar uma rede particular gerenciada pelo cliente.

Regiões compatíveis da AWS

A opção de rede particular gerenciada pelo Google está disponível para transferências sem agente das seguintes regiões do Amazon S3:

ap-east-1
ap-northeast-1
ap-northeast-2
ap-northeast-3
ap-south-1
ap-south-2
ap-southeast-1
ca-central-1
ca-west-1
eu-central-1
eu-central-2
eu-north-1
eu-south-1
eu-south-2
eu-west-1
eu-west-2
eu-west-3
us-east-1
us-east-2
us-west-1
us-west-2
 

Antes de começar

Antes de criar a transferência, configure as permissões do IAM e da origem.

configure as permissões do IAM

Siga as instruções em Permissões de transferência sem agente para conceder as permissões necessárias do Google Cloud.

Configurar o acesso ao bucket do S3

Siga as instruções em Configurar o acesso a uma fonte: Amazon S3 para configurar o acesso aos dados no Amazon S3.

Criar uma transferência de rede particular gerenciada pelo Google

É possível ativar a opção de rede particular gerenciada pelo Google ao criar um novo job de transferência ou ao atualizar uma especificação de transferência do Amazon S3 usando o Google Cloud console ou a API REST.

Console

A opção de rede particular gerenciada pelo Google é ativada com uma caixa de seleção na etapa Escolher configurações da criação de um job de transferência.

Para criar um novo job usando a rede particular gerenciada pelo Google:

  1. Acesse a página Serviço de transferência do Cloud Storage no Google Cloud console.

    Acessar o Serviço de transferência do Cloud Storage

  2. Clique em Criar job de transferência. A página Criar um job de transferência job é exibida.

  3. Em Tipo de origem, selecione Amazon S3.

  4. Como Tipo de destino , selecione Google Cloud Storage.

  5. Selecione o Modo de programação. As transferências em lote são executadas uma única vez ou de maneira programada. As transferências orientadas por eventos monitoram continuamente a origem e transferem os dados quando eles são adicionados ou modificados.

    Para configurar uma transferência orientada por eventos, siga as instruções em Transferências orientadas por eventos.

  6. Clique em Próxima etapa.

  7. No campo Bucket or folder name, insira o nome do bucket de origem.

    O nome do bucket é o nome exibido no AWS Management Console.

  8. Selecione o método de autenticação da Amazon Web Services (AWS). Consulte Configurar o acesso a uma origem: Amazon S3 para mais detalhes.

    • Recurso secreto: selecione essa opção para usar uma credencial da Amazon salva no Secret Manager. Selecione um secret na lista ou insira um manualmente no formato projects/PROJECT_NUMBER/secrets/SECRET_NAME.

    • Token de acesso: digite sua chave de acesso no campo ID da chave de acesso e o secret associado à sua chave de acesso no campo Chave de acesso do secret.

    • Papel do IAM da AWS para federação de identidade: insira seu ARN no campo ARN do papel do IAM da AWS com a seguinte sintaxe:

      • Regiões padrão da AWS:

        arn:aws:iam::AWS_ACCOUNT:role/AWS_ROLE_NAME
      • Regiões da AWS GovCloud:

        arn:aws-us-gov:iam::AWS_ACCOUNT:role/AWS_ROLE_NAME

      Substitua:

      • AWS_ACCOUNT: o ID da conta da AWS sem hifens.
      • AWS_ROLE_NAME: o nome do papel da AWS. Se a organização usar caminhos para organizar papéis, inclua o caminho com o nome do papel. Por exemplo, developers/transfer_user.

      Para mais informações sobre ARNs, consulte ARNs do IAM.

  9. Se for uma transferência orientada por eventos, insira o ARN da fila do Amazon SQS, que tem o seguinte formato:

    • Regiões padrão da AWS:

      arn:aws:sqs:us-east-1:1234567890:event-queue
    • Regiões da AWS GovCloud:

      arn:aws-us-gov:sqs:us-gov-east-1:1234567890:event-queue
  10. Opcionalmente, escolha filtrar objetos por prefixo ou pela data da última modificação. Se você especificou uma pasta como local de origem, os filtros de prefixo são relativos a essa pasta. Por exemplo, se a origem for my-test-bucket/path/, um filtro de inclusão de file incluirá todos os arquivos que começam com my-test-bucket/path/file.

  11. Clique em Próxima etapa.

  12. No campo Bucket or folder, insira o bucket de destino e o nome da pasta (opcional) ou clique em Browse para selecionar um bucket em uma lista de buckets atuais no projeto. Para criar um bucket, clique em Ícone do bucket Criar bucket.

  13. Clique em Próxima etapa.

  14. Escolha as opções de programação:

    Observação: o Serviço de transferência do Cloud Storage mostra as programações de jobs de transferência no fuso horário local, mas armazena esses horários no Horário Universal Coordenado (UTC). Se você for afetado pelo horário de verão, poderá ocorrer uma mudança na programação do job de transferência quando o horário de verão começar ou terminar.

    1. Na lista suspensa Executar uma vez, selecione uma das seguintes opções:

      • Executar uma vez: executa uma única transferência, começando em um horário selecionado.
      • Executar todos os dias: executa uma transferência diariamente, começando em um horário selecionado.

        Você pode inserir uma Data de término opcional ou deixar Data de término em branco para executar a transferência continuamente.

      • Executar todas as semanas: executa uma transferência semanalmente, começando em um horário selecionado.
      • Executar com frequência personalizada: executa uma transferência com a frequência selecionada. É possível repetir a transferência em um intervalo regular de Horas, Dias ou Semanas.

        Você pode inserir uma Data de término opcional ou deixar Data de término em branco para executar a transferência continuamente.

      • Executar sob demanda: não aciona uma execução quando esse job de transferência é criado. Você precisa iniciar o job manualmente.
    2. Na lista suspensa Começando agora, selecione uma das seguintes opções:

      • Começando agora: inicia a transferência depois que você clica em Criar.
      • Começando em: inicia a transferência na data e hora selecionadas. Clique em Calendário para exibir um calendário e selecionar a data de início.
  15. Clique em Próxima etapa.

  16. Escolha as configurações do job de transferência.

    1. No campo Descrição, insira uma descrição da transferência. Como prática recomendada, insira uma descrição significativa e exclusiva para poder distinguir os jobs.

    2. Opcionalmente, forneça um manifesto para especificar os objetos exatos a serem transferidos.

    3. Em Opções de metadados, selecione a classe de armazenamento e o comportamento de tempo criado desejados. Consulte Preservação de metadados para mais detalhes.

    4. Em Quando substituir, selecione uma das seguintes opções:

      • Nunca: não substitui um arquivo de destino se o arquivo de origem tiver o mesmo nome. O arquivo de origem é ignorado.
      • Se for diferente: substitui arquivos de destino se o arquivo de origem com o mesmo nome tiver valores de Etag ou checksum diferentes.
      • Sempre: sempre substitui arquivos de destino quando o arquivo de origem tem o mesmo nome, mesmo que sejam idênticos.
    5. Em Quando excluir, selecione uma das seguintes opções:

      • Nunca: nunca exclui arquivos da origem ou do destino.
      • Excluir arquivos da origem após a transferência: exclui arquivos da origem depois que eles são transferidos para o destino. Se um arquivo de origem não for transferido, por exemplo, porque ele já existe no destino, o arquivo de origem não será excluído.

        Importante: se você não tiver backup local, essa opção será uma ação não reversível.

      • Excluir arquivos do destino se eles também não estiverem na origem: se os arquivos no bucket de destino do Cloud Storage também não estiverem na origem, exclua os arquivos do bucket do Cloud Storage.

        Essa opção garante que o bucket de destino do Cloud Storage corresponda exatamente à sua origem.

    6. Escolha as opções de roteamento de rede:

      • Selecione Usar rede particular gerenciada.
    7. Em Opções de geração de registros, selecione Ativar a geração de registros no Cloud Logging se quiser gerar um registro granular das ações realizadas em cada arquivo transferido. Os custos do Cloud Logging se aplicam. Consulte Ações de transferência de registros para mais detalhes.

    8. Opcionalmente, selecione Receber atualizações de status da operação de transferência por notificações do Cloud Pub/Sub notificações), selecione o tópico do Pub/Sub e escolha quais eventos acionam notificações. Consulte Notificações do Pub/Sub para mais detalhes.

    9. Em Escolher o tipo de conta de serviço, selecione a identidade a ser usada:

      • Agente de serviço do Serviço de transferência do Cloud Storage: o agente de serviço padrão gerenciado pelo Google recebe acesso automático aos buckets de origem e destino.
      • Agente de serviço gerenciado pelo usuário: use uma conta de serviço personalizada que você criou. Antes de selecionar essa opção, verifique se a conta de serviço recebeu acesso ao bucket de origem, ao bucket de destino e ao Pub/Sub. Consulte Usar um agente de serviço gerenciado pelo usuário.
  17. Clique em Criar para criar o job de transferência.

CLI gcloud

A CLI gcloud não oferece suporte à configuração de transferências em uma rede particular gerenciada pelo Google. Use o Google Cloud console ou a API REST para ativar essa opção.

Bibliotecas de cliente

As bibliotecas de cliente do Serviço de transferência do Cloud Storage não oferecem suporte à configuração de transferências em uma rede particular gerenciada pelo Google. Use o Google Cloud console ou a API REST para ativar essa opção.

API REST

Para configurar uma transferência usando a API REST, defina o campo booleano transferSpec.awsS3DataSource.managedPrivateNetwork como true no seu payload da solicitação JSON ao chamar transferJobs.create ou transferJobs.patch.

Solicitação HTTP

POST https://storagetransfer.googleapis.com/v1/transferJobs

Corpo da solicitação

{
  "description": "S3 to Cloud Storage over Google-managed private network",
  "status": "ENABLED",
  "projectId": "PROJECT_ID",
  "transferSpec": {
    "awsS3DataSource": {
      "bucketName": "AWS_SOURCE_NAME",
      "managedPrivateNetwork": true,
      "awsAccessKey": {
        "accessKeyId": "AWS_ACCESS_KEY_ID",
        "secretAccessKey": "AWS_SECRET_ACCESS_KEY"
      }
    },
    "gcsDataSink": {
      "bucketName": "GCS_SINK_NAME"
    },
    "transferOptions": {
      "overwriteWhen": "DIFFERENT",
      "deleteObjectsFromSourceAfterTransfer": false
    }
  }
}

Este exemplo usa credenciais de acesso da AWS para autenticação. Consulte Configurar o acesso ao Amazon S3 para mais detalhes sobre como usar a identidade federada ou as credenciais no Secret Manager.

Monitoramento e verificação do roteamento de rede particular

Depois de iniciar o job de transferência, verifique se os dados estão saindo pela rede particular gerenciada pelo Google:

  1. Cloud Logging: quando os transfer-logs estão ativados (--log-actions=COPY,DELETE,FAILED), inspecione os registros estruturados da sua operação de transferência. Os metadados de conexão no registro de ações COPY confirmam a replicação bem-sucedida no caminho da rede particular.

  2. Verificação de faturamento: verifique os painéis de faturamento da AWS e do Google Cloud. Na fatura da AWS, você verá cobranças de transferência de dados da Internet pública (DataTransfer-Out-Bytes) para os objetos transferidos. Em vez disso, a taxa de processamento de dados por GiB aparece na fatura do Google Cloud no Serviço de transferência do Cloud Storage.

Opções alternativas de roteamento de rede

Se a rede particular gerenciada pelo Google não atender aos requisitos da carga de trabalho, o Serviço de transferência do Cloud Storage oferecerá suporte a várias outras opções de roteamento de rede para o Amazon S3:

  • Roteamento da Internet pública: transferências de dados em links de peering da Internet pública padrão entre o Amazon S3 e o Google Cloud. Todos os comandos de API, cabeçalhos de autenticação e fluxos de dados de objetos são criptografados de ponta a ponta em trânsito usando HTTPS com Transport Layer Security (TLS 1.3). As taxas padrão de saída de dados da Internet da AWS são aplicadas. Para mais detalhes, consulte Transferir do Amazon S3.

  • Rede particular gerenciada pelo cliente: os dados passam pela sua própria infraestrutura de conectividade híbrida pré-configurada (como o Cloud Interconnect, o Cloud VPN ou o AWS Direct Connect) em endereços IP particulares. Essa opção oferece controle arquitetônico total e largura de banda de rede dedicada e previsível. Para mais detalhes, consulte Transferências em uma rede particular gerenciada pelo cliente.

  • Roteamento de CDN do Amazon CloudFront: os dados são recuperados por uma distribuição do Amazon CloudFront na frente do bucket do S3. Dependendo do nível de preços e do volume de dados do AWS CloudFront, isso pode reduzir as taxas de saída da Internet em comparação com downloads públicos diretos do S3. Para mais detalhes, consulte Transferir do S3 pelo CloudFront.