Importa immagini da AWS

Se hai Amazon Machine Images (AMI) o un'immagine del disco virtuale (VMDK o VHD) archiviate in un bucket S3 su Amazon Web Services (AWS), puoi utilizzare Google Cloud CLI per importarle in Trusted Cloud by S3NS.

In alternativa, puoi importare un'immagine seguendo le istruzioni per l'importazione manuale dei dischi di avvio.

Per un elenco completo delle opzioni di importazione, consulta Scegli un percorso di migrazione.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo di verifica dell'identità per poter accedere a Trusted Cloud by S3NS servizi e API. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
    1. Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:

      gcloud init
    2. Set a default region and zone.

Panoramica di importazione di immagini da AWS

La procedura per importare un'immagine da AWS a Compute Engine è la seguente:

  1. Nel tuo account AWS, crea un utente IAM con le autorizzazioni necessarie per eseguire l'esportazione.

  2. Nel tuo account AWS, imposta e visualizza le impostazioni di configurazione.

  3. Nel tuo account AWS, utilizzando l'utente IAM creato nel passaggio precedente, genera le credenziali temporanee che possono essere utilizzate da Google Cloud CLI.

  4. In Trusted Cloud by S3NS, importa l'immagine utilizzando Google Cloud CLI. Google Cloud CLI completa i seguenti passaggi:

    • Importa l'immagine da AWS a Compute Engine.
    • Aggiunge l'immagine all'elenco delle immagini disponibili nel progetto specificato su Compute Engine.

Limitazioni e restrizioni

Crea un utente IAM AWS

Poiché potrebbe non essere una best practice generare le credenziali utilizzando il tuo account utente root AWS, Google per motivi di sicurezza consiglia di creare uno o più utenti IAM e di fornire loro le autorizzazioni minime necessarie per esportare un'AMI o un disco virtuale da AWS.

Le autorizzazioni minime richieste per l'utente IAM dipendono dal tipo di immagine (AMI o immagine del disco virtuale) che vuoi esportare da AWS.

Crea un utente IAM AWS per l'esportazione di un'immagine AMI

Per creare questo utente, consulta crea un utente IAM nel tuo account AWS.

Questo utente deve disporre delle seguenti autorizzazioni e del seguente ruolo di servizio richiesti:

Crea un utente IAM AWS per l'esportazione di un'immagine del disco virtuale

Per creare questo utente, consulta crea un utente IAM nel tuo account AWS.

Le autorizzazioni minime richieste da questo utente sono descritte nella seguente policy IAM JSON. Sostituisci IMAGE_FILE_PATH con il percorso del file immagine che vuoi importare.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": ["arn:aws:s3:::IMAGE_FILE_PATH"]
    },
  ]
}

Configura e visualizza le impostazioni di configurazione

Dopo aver creato l'utente IAM, devi impostare e configurare il tuo ambiente.

Per impostare e visualizzare le impostazioni di configurazione, esegui il comando seguente:

aws configure

Per ulteriori informazioni su questo comando, consulta Imposta e visualizza le impostazioni di configurazione.

Genera credenziali temporanee

Dopo aver creato e configurato l'utente IAM, devi creare credenziali temporanee che possano essere utilizzate dal comando gcloud compute images import.

Queste credenziali utente sono costituite da quanto segue:

  • Un ID chiave di accesso: aws-access-key-id
  • Una chiave di accesso segreta: aws-secret-access-key
  • Un token di sessione: aws-session-token

Queste credenziali utente IAM AWS temporanee devono essere generate da un utente IAM. L'utente IAM selezionato deve disporre di tutte le autorizzazioni richieste.

Per generare le credenziali temporanee, devi utilizzare lo strumento a riga di comando AWS o puoi generare le credenziali in modo programmatico. Per installare lo strumento a riga di comando AWS, consulta Installazione della versione 2 dell'interfaccia a riga di comando AWS.

Ad esempio, il seguente comando genera credenziali che scadono dopo 3600 secondi. Assicurati di specificare un tempo sufficiente per importare l'immagine in Trusted Cloud by S3NS.

aws sts get-session-token --duration-seconds 3600

Per ulteriori informazioni sulla generazione di credenziali temporanee, consulta Utilizzo delle credenziali temporanee con le risorse AWS.

Importa le immagini in Compute Engine

Dopo aver creato un utente IAM AWS e aver generato le credenziali utente temporanee, ora puoi importare l'immagine in Compute Engine.

Importa un'immagine AMI da AWS

  1. Configura un bucket AWS S3. Questo bucket viene utilizzato come posizione di archiviazione temporanea da cui Google Cloud CLI può esportare l'AMI. Google Cloud CLI elimina l'AMI da questo bucket non appena l'importazione in Compute Engine viene completata correttamente.

    Questo bucket deve trovarsi nella stessa regione dell'AMI.

  2. Importa l'AMI. Per importare un'AMI da AWS, utilizza il comando gcloud compute images import:

    gcloud compute images import IMAGE_NAME \
        --aws-region=AWS_REGION \
        --aws-access-key-id=AWS_ACCESS_KEY_ID \
        --aws-secret-access-key=AWS_SECRET_ACCESS_KEY \
        --aws-session-token=AWS_SESSION_TOKEN \
        --aws-ami-id=AWS_AMI_ID \
        --aws-ami-export-location=AWS_AMI_EXPORT_LOCATION \
        --os=OS
    

    Sostituisci quanto segue:

    • IMAGE_NAME: il nome dell'immagine AMI da creare.
    • AWS_REGION: la regione AWS dell'immagine che vuoi importare.
    • AWS_ACCESS_KEY_ID: l'ID chiave di accesso per le credenziali temporanee AWS. Questo ID deve essere generato utilizzando il servizio token di sicurezza AWS.
    • AWS_SECRET_ACCESS_KEY: la chiave di accesso segreta per le credenziali temporanee AWS. Questa chiave deve essere generata utilizzando il servizio token di sicurezza AWS.
    • AWS_SESSION_TOKEN: il token di sessione per le credenziali temporanee AWS. Questo token di sessione deve essere generato utilizzando il servizio token di sicurezza AWS.
    • AWS_AMI_ID: l'ID AMI AWS dell'immagine da importare.
    • AWS_AMI_EXPORT_LOCATION: la posizione del bucket AWS S3 da cui vuoi esportare l'immagine. Questo bucket deve trovarsi nella stessa regione dell'AMI.
    • OS: il sistema operativo dell'immagine disco da importare.

    Esempio

    Ad esempio, per importare un'immagine AMI con l'ID ami-04d75016789164863 dal tuo bucket S3 ami-test-bucket e assegnarle il nome my-ami-test-image, il comando potrebbe essere simile al seguente:

    gcloud compute images import my-ami-test-image \
        --aws-region=us-east-2 \
        --aws-access-key-id=ASIAXS3ZFH4O3WWGMMH5 \
        --aws-secret-access-key=aW/uxvQD68A+hv3m5oQ4zFfaKiS+za+X/kRlBvx0 - \
        --aws-session-token=IQoJb3JpZ2luX2VjEEQaCWPIEwL7Qi76PyEIfFyj88...== \
        --aws-ami-id=ami-04d75016789164863 \
        --aws-ami-export-location=s3://ami-test-bucket \
        --os=ubuntu-1804
    

Importa un'immagine del disco virtuale da AWS

Per importare un'immagine del disco virtuale da AWS, utilizza il comando gcloud compute images import:

gcloud compute images import IMAGE_NAME \
    --aws-region=AWS_REGION \
    --aws-access-key-id=AWS_ACCESS_KEY_ID \
    --aws-secret-access-key=AWS_SECRET_ACCESS_KEY \
    --aws-session-token=AWS_SESSION_TOKEN \
    --aws-source-ami-file-path=DISK_IMAGE_FILE_PATH \
    --os=OS

Sostituisci quanto segue:

  • IMAGE_NAME: il nome dell'immagine disco da creare.
  • AWS_REGION: la regione AWS dell'immagine che vuoi importare.
  • AWS_ACCESS_KEY_ID: l'ID chiave di accesso per le credenziali temporanee AWS. Questo ID deve essere generato utilizzando il servizio token di sicurezza AWS.
  • AWS_SECRET_ACCESS_KEY: la chiave di accesso segreta per le credenziali temporanee AWS. Questa chiave deve essere generata utilizzando il servizio token di sicurezza AWS.
  • AWS_SESSION_TOKEN: il token di sessione per le credenziali temporanee AWS. Questo token di sessione deve essere generato utilizzando il servizio token di sicurezza AWS.
  • DISK_IMAGE_FILE_PATH: il percorso della risorsa S3 del file immagine del disco virtuale che vuoi importare.`
  • OS: il sistema operativo dell'immagine disco da importare.

Esempio

Ad esempio, per importare un disco virtuale ubuntu1804.vmdk dal tuo bucket S3 image-test-bucket e assegnargli il nome my-test-image, il comando potrebbe essere simile al seguente:

gcloud compute images import my-test-image \
    --aws-region=us-east-2 \
    --aws-access-key-id=ASIAXS3ZFH4O3WWGMMH5 \
    --aws-secret-access-key=aW/uxvQD68A+hv3m5oQ4zFfaKiS+za+X/kRlBvx0 - \
    --aws-session-token=IQoJb3JpZ2luX2VjEEQaCWPIEwL7Qi76PyEIfFyj88...== \
    --aws-source-ami-file-path=s3://image-test-bucket/ubuntu1804.vmdk \
    --os=ubuntu-1804

Passaggi successivi