I trasferimenti da Amazon S3 possono utilizzare una distribuzione Amazon CloudFront come percorso di uscita.
I trasferimenti di dati tramite CloudFront potrebbero beneficiare di costi di uscita AWS inferiori rispetto al trasferimento diretto da S3. Per i dettagli, consulta Prezzi di CloudFront e Tariffe di uscita di S3.
L'utilizzo di CloudFront come percorso di uscita non espone i tuoi oggetti S3 al pubblico. Consulta L'utilizzo di CloudFront espone i miei oggetti al pubblico?
Panoramica
Per trasferire i dati S3 tramite CloudFront, devi seguire questi passaggi:
- Configurare le autorizzazioni IAM
- Configurare l'accesso al bucket S3
- Crea una distribuzione CloudFront per il bucket S3
- Creare un job di trasferimento
Configura le autorizzazioni IAM
Segui le istruzioni riportate in Autorizzazioni di trasferimento senza agenti per concedere le autorizzazioni Google Cloud richieste.
Configura l'accesso al bucket S3
Segui le istruzioni riportate in Configurare l'accesso a un'origine: Amazon S3 per configurare l'accesso ai tuoi dati in Amazon S3.
Crea una distribuzione CloudFront per il bucket S3
- Nel tuo account AWS, vai a CloudFront.
- Fai clic su Crea una distribuzione CloudFront.
- In Dominio di origine, seleziona il bucket S3.
- Il campo Percorso di origine deve essere lasciato vuoto.
- Accetta il Nome origine compilato automaticamente o specifica un valore personalizzato.
- Nella sezione Accesso all'origine, seleziona Pubblico. In questo modo il bucket non viene reso pubblico, ma viene indicato a CloudFront che non deve essere configurato alcun meccanismo di accesso.
- Nella sezione Chiave della cache e richieste di origine:
- Per Policy di memorizzazione nella cache, seleziona CachingDisabled. In questo modo CloudFront non memorizza nella cache le richieste e non le pubblica per gli spettatori non autenticati.
- Per Norma di richiesta di origine, seleziona AllViewerExceptHostHeader. In questo modo, CloudFront può inoltrare le intestazioni di autenticazione a S3, in modo che Storage Transfer Service possa accedere al tuo bucket con le tue credenziali sicure.
- Nella sezione Web Application Firewall (WAF), seleziona Non attivare.
- (Facoltativo) Scegli una classe di prezzo. Storage Transfer Service seleziona i pool di worker in base alla regione del bucket di origine, pertanto i prezzi di CloudFront vengono addebitati in quella regione. Per ottenere i prezzi più bassi, assicurati che il bucket di origine si trovi negli Stati Uniti o in Europa oppure seleziona Usa solo Nord America ed Europa come classe di prezzo in CloudFront.
Fai clic su Crea distribuzione CloudFront.
Una volta creata correttamente, viene visualizzata la pagina dei dettagli della distribuzione CloudFront.
Prendi nota del nome di dominio di distribuzione. Ad esempio:
https://dy1h2n3l4ob56.cloudfront.net. Se la pagina dei dettagli non include il protocollohttps://davanti al nome del dominio di distribuzione, dovrai aggiungerlo manualmente quando crei il job di trasferimento.
Creare un job di trasferimento
Il trasferimento tramite una distribuzione CloudFront è supportato nella console Google Cloud e nell'API REST.
Non includere informazioni sensibili come quelle che consentono l'identificazione personale (PII) o dati di sicurezza nel nome del job di trasferimento. I nomi delle risorse potrebbero essere propagato ai nomi di altre risorse Google Cloud e potrebbe essere esposto ai sistemi interni di Google al di fuori del tuo progetto.Console Google Cloud
Per creare un trasferimento utilizzando la console Google Cloud , segui le istruzioni per creare un trasferimento.
Quando ti viene richiesto di inserire il dominio CloudFront, inserisci il nome di dominio della distribuzione che hai annotato nella sezione precedente. Puoi trovare questo valore
elencato anche nella sezione CloudFront della console Amazon Web Services. Ha
il formato https://dy1h2n3l4ob56.cloudfront.net.
API REST
Per creare un trasferimento utilizzando l'API REST, segui l'esempio nella pagina Crea trasferimenti.
Specifica il nome di dominio di distribuzione come valore del campo
transferSpec.awsS3DataSource.cloudfrontDomain:
"transferSpec": {
"awsS3DataSource": {
"bucketName": "AWS_SOURCE_NAME",
"cloudfrontDomain": "https://dy1h2n3l4ob56.cloudfront.net",
"awsAccessKey": {
"accessKeyId": "AWS_ACCESS_KEY_ID",
"secretAccessKey": "AWS_SECRET_ACCESS_KEY"
}
},
...
}
Domande frequenti
L'utilizzo di CloudFront espone i miei oggetti al pubblico?
No. Se hai seguito i passaggi di configurazione in questa pagina, i tuoi oggetti non sono esposti al pubblico.
- CloudFront non ha accesso diretto agli oggetti S3.
- Gli utenti ricevono un errore
permission deniedse tentano di accedere ai tuoi oggetti direttamente o tramite CloudFront (se il bucket è privato). - Storage Transfer Service firma le richieste a CloudFront utilizzando le credenziali che hai fornito nel job di trasferimento, il che ci consente di scaricare i tuoi oggetti in modo sicuro come se li scaricassimo direttamente da S3. Ciò è possibile grazie all'impostazione di inoltro dell'intestazione
AllViewerExceptHostHeader.