Trasferimento da S3 tramite CloudFront

Per i trasferimenti da Amazon S3 è possibile utilizzare un la distribuzione Amazon CloudFront come in uscita.

I trasferimenti di dati tramite CloudFront possono trarre vantaggio da costi di uscita AWS inferiori rispetto al trasferimento diretto da S3. Consulta: Prezzi di CloudFront e Addebiti per il traffico in uscita S3 per i dettagli.

L'utilizzo di CloudFront come percorso di uscita non espone gli oggetti S3 al pubblico. Consulta: L'utilizzo di CloudFront espone i miei oggetti al pubblico?

Panoramica

Per trasferire i dati di S3 tramite CloudFront, devi seguire questi passaggi:

Configura le autorizzazioni IAM

Segui le istruzioni riportate in Autorizzazioni per il trasferimento senza agente per concedere le autorizzazioni Google Cloud richieste.

Configura l'accesso al tuo 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 tuo bucket S3

  1. Nel tuo account AWS, vai a CloudFront.
  2. Fai clic su Crea una distribuzione CloudFront.
  3. In Dominio di origine, seleziona il tuo bucket S3.
  4. Il percorso dell'origine deve essere lasciato vuoto.
  5. Accetta il Nome origine compilato automaticamente o specifica un valore personale.
  6. Nella sezione Accesso all'origine, seleziona Pubblico. Ciò non rende bucket pubblico; indica a CloudFront che nessun meccanismo di accesso deve essere configurato.
  7. Nella sezione Chiavi di cache e richieste di origine:
    1. In Criterio della cache seleziona CachingDisabled. Questo impedisce a CloudFront dalla memorizzazione nella cache delle richieste e dalla loro pubblicazione a visualizzatori non autenticati.
    2. Per Criterio di richiesta di origine, seleziona Tutti gli spettatori tranne l'intestazione Host. 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.
  8. Nella sezione Web Application Firewall (WAF), seleziona Non abilitare.
  9. (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 il prezzo più basso, assicurati che l'origine il bucket si trova negli Stati Uniti o in Europa oppure seleziona Utilizza solo Nord America ed Europa come classe di prezzo in CloudFront.
  10. Fai clic su Crea distribuzione CloudFront.

    Una volta creata, viene visualizzata la pagina dei dettagli della distribuzione CloudFront.

  11. Prendi nota del Nome di dominio della distribuzione. Ad esempio: https://dy1h2n3l4ob56.cloudfront.net. Se la pagina dei dettagli non include il protocollo https:// davanti al nome di dominio di distribuzione, dovrai aggiungerlo autonomamente durante la creazione del job di trasferimento.

Creare un job di trasferimento

Il trasferimento tramite una distribuzione CloudFront è supportato nella console Google Cloud e l'API REST.

Non includere informazioni sensibili come informazioni che consentono l'identificazione personale (PII) o dati di sicurezza nel nome del job di trasferimento. I nomi delle risorse possono essere propagati ai nomi di altre risorse Google Cloud e potrebbero essere esposti a sistemi interni di Google al di fuori del tuo progetto.

Console Google Cloud

Per creare un trasferimento utilizzando una console Google Cloud, segui le istruzioni per crea un trasferimento.

Quando ti viene richiesto di inserire il dominio CloudFront, inserisci la distribuzione che hai annotato nella sezione precedente. Puoi trovare questo valore anche elencato nella sezione CloudFront della console di 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 parametro 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, gli oggetti vengono non esposti al pubblico.

  • CloudFront non ha accesso diretto agli oggetti S3.
  • Gli utenti ricevono un errore permission denied se 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 fornito nel job di trasferimento, che ci consente di scaricare gli oggetti in modo sicuro, come se stessi scaricando direttamente da S3. Questo funziona grazie all'impostazione di inoltro dell'intestazione AllViewerExceptHostHeader.