Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
As transferências do Amazon S3 podem usar uma
distribuição do Amazon CloudFront como um
caminho de saída.
As transferências de dados pelo CloudFront podem se beneficiar de custos de saída da AWS mais baixos
em comparação com a transferência direta do S3. Consulte os detalhes em Preços do CloudFront e Custos de saída do S3.
Criar uma distribuição do CloudFront para seu bucket do S3
Na sua conta da AWS, acesse o CloudFront.
Clique em Create a CloudFront distribution.
Em Origin domain, selecione o bucket do S3.
O campo Origin path precisa ser deixado em branco.
Aceite o Origin name preenchido automaticamente ou especifique seu próprio valor.
Na seção Origin access, selecione Public. Isso não torna seu bucket público. Em vez disso, ele indica ao CloudFront que nenhum mecanismo de acesso
deve ser configurado.
Na seção Cache key and origin requests:
Em Cache policy, selecione CacheDisabled. Isso impede que o CloudFront
armazene as solicitações em cache e as exiba para visualizadores não autenticados.
Em Origin request policy, selecione AllViewerExceptHostHeader. Com isso, o CloudFront pode encaminhar cabeçalhos de autenticação ao S3 para que o Serviço de transferência do Cloud Storage possa acessar seu bucket com suas credenciais seguras.
Na seção Web Application Firewall (WAF), selecione Não ativar.
Se quiser, escolha uma Classe de preço. O Serviço de transferência do Cloud Storage seleciona pools de workers
com base na região do bucket de origem. Dessa forma, os preços do CloudFront são cobrados
nessa região. Para conseguir o menor preço, verifique se o bucket de origem
está nos EUA ou na Europa ou selecione Use only North America and Europe
como a Price class no CloudFront.
Clique em Create CloudFront distribution.
Após a criação da página de detalhes de distribuição do CloudFront, ela será exibida.
Anote o Nome de domínio de distribuição. Por exemplo, https://dy1h2n3l4ob56.cloudfront.net. Se a página de detalhes não incluir
o protocolo https:// na frente do nome de domínio de distribuição, será necessário
adicioná-lo por conta própria ao criar o job de transferência.
Criar um job de transferência
A transferência usando uma distribuição do CloudFront é compatível com o console do Google Cloud
e a API REST.
Não inclua informações sensíveis, como informações de identificação pessoal
(PII, na sigla em inglês) ou dados de segurança no nome do job de transferência. Os nomes dos recursos podem ser
propagados para os nomes de outros recursos Google Cloud e podem ser expostos
aos sistemas internos do Google fora do seu projeto.
Console do Google Cloud
Para criar uma transferência usando o console do Google Cloud , siga as
instruções para
criar uma transferência.
Quando você receber uma solicitação para inserir o domínio do CloudFront, digite o nome do domínio de distribuição que você anotou na seção anterior. Você também pode encontrar esse valor
listado na seção CloudFront do console do Amazon Web Services. O formato é o seguinte:
https://dy1h2n3l4ob56.cloudfront.net.
API REST
Para criar uma transferência usando a API REST, siga o exemplo na página Criar transferências.
Especifique o nome de domínio de distribuição como o valor do campo transferSpec.awsS3DataSource.cloudfrontDomain:
O uso do CloudFront expõe meus objetos ao público?
Não. Se você seguiu as etapas de configuração desta página, seus objetos não
estão expostos ao público.
O CloudFront não tem acesso direto aos seus objetos do S3.
Os usuários receberão um erro permission denied se tentarem acessar seus objetos
diretamente ou pelo CloudFront (se o bucket for privado).
O Serviço de transferência do Cloud Storage assina solicitações para o CloudFront usando as credenciais que você
forneceu no job de transferência. Isso nos permite fazer o download dos seus objetos
com segurança, como se estivéssemos fazendo o download diretamente do S3. Isso funciona devido à
configuração de encaminhamento de cabeçalho AllViewerExceptHostHeader.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-18 UTC."],[],[],null,["# Transfer from S3 via CloudFront\n\nTransfers from Amazon S3 can use an\n[Amazon CloudFront](https://aws.amazon.com/cloudfront/) distribution as an\negress path.\n\nData transfers through CloudFront may benefit from lower AWS egress costs\ncompared to transferring directly from S3. See\n[CloudFront pricing](https://aws.amazon.com/cloudfront/pricing/) and\n[S3 egress charges](https://aws.amazon.com/s3/pricing/) for details.\n\nUsing CloudFront as the egress path does not expose your S3 objects to the\npublic. See\n[Does using CloudFront expose my objects to the public?](#does_cloudfront_expose_objects)\n\nOverview\n--------\n\nIn order to transfer S3 data through CloudFront, you must follow these steps:\n\n- [Configure IAM permissions](#iam)\n- [Configure access to your S3 bucket](#s3-access)\n- [Create a CloudFront distribution for your S3 bucket](#create-cf)\n- [Create a transfer job](#create-job)\n\nConfigure IAM permissions\n-------------------------\n\nFollow the instructions in\n[Agentless transfer permissions](/storage-transfer/docs/iam-cloud) to grant the\nrequired Google Cloud permissions.\n\nConfigure access to your S3 bucket\n----------------------------------\n\nFollow the instructions in\n[Configure access to a source: Amazon S3](/storage-transfer/docs/source-amazon-s3)\nto configure access to your data in Amazon S3.\n\nCreate a CloudFront distribution for your S3 bucket\n---------------------------------------------------\n\n1. In your AWS account, go to **CloudFront**.\n2. Click **Create a CloudFront distribution**.\n3. Under **Origin domain** select your S3 bucket.\n4. **Origin path** must be left empty.\n5. Accept the auto-filled **Origin name** or specify your own value.\n6. In the **Origin access** section, select *Public*. This does not make your bucket public; instead it indicates to CloudFront that no access mechanism should be configured.\n7. In the **Cache key and origin requests** section:\n 1. For **Cache policy** select *CachingDisabled*. This prevents CloudFront from caching requests and serving them to unauthenticated viewers.\n 2. For **Origin request policy** select *AllViewerExceptHostHeader*. This allows CloudFront to forward authentication headers to S3, so that Storage Transfer Service can access your bucket with your secure credentials.\n8. In the **Web Application Firewall (WAF)** section, select *Do not enable*.\n9. Optionally, choose a **Price class** . Storage Transfer Service selects worker pools based on the source bucket's region, so CloudFront pricing is incurred in that region. To obtain the lowest pricing, either ensure that your source bucket is in the US or Europe, or select *Use only North America and Europe* as the **Price class** in CloudFront.\n10. Click **Create CloudFront distribution**.\n\n Once successfully created, the CloudFront distribution details page is\n displayed.\n11. Note the **Distribution domain name** . For example:\n `https://dy1h2n3l4ob56.cloudfront.net`. If the details page doesn't include\n the `https://` protocol in front of the distribution domain name, you'll need\n to add it yourself when creating the transfer job.\n\nCreate a transfer job\n---------------------\n\nTransferring via a CloudFront distribution is supported in the Google Cloud console\nand the REST API.\nDon't include sensitive information such as personally identifiable information (PII) or security data in your transfer job name. Resource names may be propagated to the names of other Google Cloud resources and may be exposed to Google-internal systems outside of your project.\n\n\u003cbr /\u003e\n\n### Google Cloud console\n\nTo create a transfer using a the Google Cloud console, follow the\ninstructions to\n[create a transfer](/storage-transfer/docs/create-transfers?tab=google-cloud-console#create_a_transfer).\n\nWhen prompted to enter the **CloudFront domain** , enter the distribution\ndomain name you noted in the previous section. You can also find this value\nlisted in the CloudFront section of the Amazon Web Services console. It has\nthe format `https://dy1h2n3l4ob56.cloudfront.net`.\n\n### REST API\n\nTo create a transfer using the REST API, follow the example on the\n[Create transfers](/storage-transfer/docs/create-transfers?tab=rest#s3-to-cloud)\npage.\n\nSpecify the distribution domain name as the value of the\n`transferSpec.awsS3DataSource.cloudfrontDomain` field: \n\n \"transferSpec\": {\n \"awsS3DataSource\": {\n \"bucketName\": \"AWS_SOURCE_NAME\",\n \"cloudfrontDomain\": \"https://dy1h2n3l4ob56.cloudfront.net\",\n \"awsAccessKey\": {\n \"accessKeyId\": \"AWS_ACCESS_KEY_ID\",\n \"secretAccessKey\": \"AWS_SECRET_ACCESS_KEY\"\n }\n },\n ...\n }\n\nFrequently asked questions\n--------------------------\n\n### Does using CloudFront expose my objects to the public?\n\nNo. If you've followed the configuration steps on this page, your objects are\nnot exposed to the public.\n\n- Cloudfront does not have direct access to your S3 objects.\n- Users receive a `permission denied` error if they try to access your objects either directly or through CloudFront (if your bucket is private).\n- Storage Transfer Service signs requests to CloudFront using the credentials you provided in the transfer job, which allows us to download your objects securely as if we were downloading directly from S3. This works due to the header forwarding setting `AllViewerExceptHostHeader`."]]