Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Importazione dell'immagine di una macchina virtuale su un dispositivo Snow Family
Puoi utilizzare il servizio AWS CLI e il servizio VM Import/Export per importare un'immagine di macchina virtuale (VM) sul dispositivo Snow Family come Amazon Machine Image (). AMI Dopo aver importato un'immagine VM, registra l'immagine come istanza compatibile con Amazon AMI e avviala come istanza compatibile EC2 con Amazon.
Puoi aggiungere AMIs da Amazon EC2 al dispositivo quando crei un lavoro per ordinare un dispositivo Snow Family. Usa questa procedura dopo aver ricevuto il dispositivo Snow Family. Per ulteriori informazioni, consulta Scelta delle opzioni di elaborazione e archiviazione.
Puoi anche usarlo AWS OpsHub per caricare il file di immagine della macchina virtuale. Per ulteriori informazioni, consulta Importazione di un'immagine nel tuo dispositivo come EC2 compatibile con Amazon AMI in questa guida.
Argomenti
- Passaggio 1: preparare l'immagine della macchina virtuale e caricarla sul dispositivo Snow Family
- Passaggio 2: imposta le autorizzazioni richieste sul dispositivo Snow Family
- Passaggio 3: Importa l'immagine della macchina virtuale come istantanea sul dispositivo Snow Family
- Fase 4: Registrare l'istantanea come file AMI sul dispositivo Snow Family
- Fase 5: Avvia un'istanza dal AMI dispositivo Snow Family
- AMIAzioni aggiuntive per un dispositivo Snow Family
Passaggio 1: preparare l'immagine della macchina virtuale e caricarla sul dispositivo Snow Family
Prepara l'immagine della macchina virtuale esportando un'immagine della macchina virtuale da Amazon EC2 AMI o da un'istanza Cloud AWS utilizzando VM Import/Export o generando l'immagine della macchina virtuale localmente utilizzando la piattaforma di virtualizzazione che preferisci.
Per esportare un'EC2istanza Amazon come immagine di macchina virtuale utilizzando VM Import/Export, consulta Esportazione di un'istanza come macchina virtuale utilizzando VM Import/Export nella VM Import/Export User Guide. Per esportare un Amazon EC2 AMI come immagine di macchina virtuale utilizzando VM Import/Export, consulta Esportazione di una macchina virtuale direttamente da un'immagine di macchina virtuale di Amazon AMI () nella VM Import/Export User Guide.
Se generi un'immagine VM dal tuo ambiente locale, assicurati che l'immagine sia configurata per l'uso come dispositivo della famiglia Snow. AMI Potrebbe essere necessario configurare i seguenti elementi, a seconda dell'ambiente.
Configurare e aggiornare il sistema operativo.
Imposta un nome host.
Assicurati che il network time protocol (NTP) sia configurato.
Includi le chiavi SSH pubbliche, se necessario. Crea copie locali delle coppie di chiavi. Per ulteriori informazioni, consulta Utilizzo SSH per connettersi alle istanze di calcolo su Snowball Edge.
Installa e configura qualsiasi software che utilizzerai sul dispositivo Snow Family.
Nota
Tieni presente le seguenti limitazioni quando prepari un'istantanea del disco per un dispositivo Snow Family.
-
I dispositivi Snow Family attualmente supportano solo l'importazione di istantanee in formato immagine. RAW
-
I dispositivi Snow Family attualmente supportano solo l'importazione di istantanee con dimensioni da 1 GB a 1 TB.
Caricamento di un'immagine VM su un bucket Amazon S3 sul dispositivo Snow Family
Dopo aver preparato un'immagine VM, caricala in un bucket S3 sul dispositivo o sul cluster Snow Family. Puoi utilizzare l'adattatore S3 o lo storage compatibile con Amazon S3 sui dispositivi Snow Family per caricare lo snapshot.
Per caricare l'immagine della macchina virtuale utilizzando l'adattatore S3
Usa il
cp
comando per copiare il file di immagine della macchina virtuale in un bucket sul dispositivo.aws s3 cp
image-path
s3://S3-bucket-name
--endpoint http://S3-object-API-endpoint:443
--profileprofile-name
Per ulteriori informazioni, consulta AWS CLI Comandi supportati in questa guida.
Per caricare l'immagine della macchina virtuale utilizzando lo storage compatibile con Amazon S3 sui dispositivi Snow Family
Usa il
put-object
comando per copiare il file snapshot in un bucket sul dispositivo.aws s3api put-object --bucket
bucket-name
--keypath-to-snapshot-file
--bodysnapshot-file
--profileyour-profile
--endpoint-urls3api-endpoint-ip
Per ulteriori informazioni, consulta Lavorare con oggetti S3 su un dispositivo Snowball Edge.
Passaggio 2: imposta le autorizzazioni richieste sul dispositivo Snow Family
Affinché l'importazione abbia esito positivo, è necessario impostare le autorizzazioni per VM Import/Export sul dispositivo Snow FamilyEC2, Amazon e sull'utente.
Nota
I ruoli e le politiche di servizio che forniscono queste autorizzazioni si trovano sul dispositivo Snow Family.
Autorizzazioni richieste per l'importazione/esportazione di VM su un dispositivo Snow Family
Prima di iniziare il processo di importazione, è necessario creare un IAM ruolo con una policy di fiducia che consenta a VM Import/Export sul dispositivo Snow Family di assumere il ruolo. Al ruolo vengono concesse autorizzazioni aggiuntive per consentire a VM Import/Export sul dispositivo di accedere all'immagine archiviata nel bucket S3 sul dispositivo.
Crea un file json di policy di fiducia
Di seguito è riportato un esempio di policy di fiducia da allegare al ruolo in modo che VM Import/Export possa accedere allo snapshot che deve essere importato dal bucket S3.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"vmie.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
Crea un ruolo con il file json della policy di fiducia
Il nome del ruolo può essere vmimport. Puoi cambiarlo usando l'opzione --role-name nel comando:
aws iam create-role --role-name
role-name
--assume-role-policy-document file:///trust-policy-json-path
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
Di seguito è riportato un esempio di output del comando. create-role
{ "Role":{ "AssumeRolePolicyDocument":{ "Version":"2012-10-17", "Statement":[ { "Action":"sts:AssumeRole", "Effect":"Allow", "Principal":{ "Service":"vmie.amazonaws.com" } } ] }, "MaxSessionDuration":3600, "RoleId":"AROACEMGEZDGNBVGY3TQOJQGEZAAAABQBB6NSGNAAAABPSVLTREPY3FPAFOLKJ3", "CreateDate":"2022-04-19T22:17:19.823Z", "RoleName":"vmimport", "Path":"/", "Arn":"arn:aws:iam::123456789012:role/vmimport" } }
Creare una politica per il ruolo
La seguente policy di esempio ha le autorizzazioni minime richieste per accedere ad Amazon S3. Cambia il nome del bucket Amazon S3 con quello che contiene le tue immagini. Per un dispositivo Snowball Edge autonomo, modifica snow-id
al tuo ID di lavoro. Per un cluster di dispositivi, modifica snow-id
all'ID del cluster. È inoltre possibile utilizzare i prefissi per restringere ulteriormente la posizione da cui VM Import/Export può importare le istantanee. Crea un file json di policy come questo.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:GetMetadata" ], "Resource":[ "arn:aws:s3:snow:
account-id
:snow/snow-id
/bucket/import-snapshot-bucket-name
", "arn:aws:s3:snow:account-id
:snow/snow-id
/bucket/import-snapshot-bucket-name
/*" ] } ] }
Crea una politica con il file di policy:
aws iam create-policy --policy-name
policy-name
--policy-document file:///policy-json-file-path
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
Di seguito è riportato un esempio di output del comando create-policy.
{ "Policy":{ "PolicyName":"vmimport-resource-policy", "PolicyId":"ANPACEMGEZDGNBVGY3TQOJQGEZAAAABOOEE3IIHAAAABWZJPI2VW4UUTFEDBC2R", "Arn":"arn:aws:iam::123456789012:policy/vmimport-resource-policy", "Path":"/", "DefaultVersionId":"v1", "AttachmentCount":0, "IsAttachable":true, "CreateDate":"2020-07-25T23:27:35.690000+00:00", "UpdateDate":"2020-07-25T23:27:35.690000+00:00" } }
Allega la policy al ruolo
Allega una policy al ruolo precedente e concedi le autorizzazioni per accedere alle risorse richieste. Ciò consente al servizio VM Import/Export locale di scaricare lo snapshot da Amazon S3 sul dispositivo.
aws iam attach-role-policy --role-name
role-name
--policy-arn arn:aws:iam::123456789012:policy/policy-name
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
Autorizzazioni richieste dal chiamante su un dispositivo Snow Family
Oltre al ruolo da assumere per Snowball Edge VM Import/Export, devi anche assicurarti che l'utente disponga delle autorizzazioni che gli consentano di passare il ruolo. VMIE Se si utilizza l'utente root predefinito per eseguire l'importazione, l'utente root dispone già di tutte le autorizzazioni necessarie, quindi è possibile saltare questo passaggio e andare al passaggio 3.
Assegna le due IAM autorizzazioni seguenti all'utente che esegue l'importazione.
-
pass-role
-
get-role
Crea una politica per il ruolo
Di seguito è riportato un esempio di policy che consente a un utente di eseguire le pass-role
azioni get-role
e relative al IAM ruolo.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action": "iam:GetRole", "Resource":"*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "importexport.amazonaws.com" } } } ] }
Crea una politica con il file di policy:
aws iam create-policy --policy-name
policy-name
--policy-document file:///policy-json-file-path
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
Di seguito è riportato un esempio di output del comando create-policy.
{ "Policy":{ "PolicyName":"caller-policy", "PolicyId":"ANPACEMGEZDGNBVGY3TQOJQGEZAAAABOOOTUOE3AAAAAAPPBEUM7Q7ARPUE53C6R", "Arn":"arn:aws:iam::123456789012:policy/caller-policy", "Path":"/", "DefaultVersionId":"v1", "AttachmentCount":0, "IsAttachable":true, "CreateDate":"2020-07-30T00:58:25.309000+00:00", "UpdateDate":"2020-07-30T00:58:25.309000+00:00" } }
Dopo che la policy è stata generata, allegala agli IAM utenti che chiameranno Amazon EC2 API o l'CLIoperazione per importare lo snapshot.
aws iam attach-user-policy --user-name
your-user-name
--policy-arn arn:aws:iam::123456789012:policy/policy-name
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
Autorizzazioni necessarie per chiamare Amazon EC2 APIs su un dispositivo Snow Family
Per importare un'istantanea, l'IAMutente deve disporre delle ec2:ImportSnapshot
autorizzazioni. Se non è necessario limitare l'accesso all'utente, puoi utilizzare le ec2:*
autorizzazioni per concedere l'accesso completo ad AmazonEC2. Di seguito sono elencate le autorizzazioni che possono essere concesse o limitate per Amazon EC2 sul tuo dispositivo. Crea un file di policy con il contenuto mostrato:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ec2:ImportSnapshot", "ec2:DescribeImportSnapshotTasks", "ec2:CancelImportTask", "ec2:DescribeSnapshots", "ec2:DeleteSnapshot", "ec2:RegisterImage", "ec2:DescribeImages", "ec2:DeregisterImage" ], "Resource":"*" } ] }
Crea un criterio con il file di policy:
aws iam create-policy --policy-name
policy-name
--policy-document file:///policy-json-file-path
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
Di seguito è riportato un esempio di output del comando create-policy.
{ "Policy": { "PolicyName": "ec2-import.json", "PolicyId": "ANPACEMGEZDGNBVGY3TQOJQGEZAAAABQBGPDQC5AAAAATYN62UNBFYTF5WVCSCZS", "Arn": "arn:aws:iam::123456789012:policy/ec2-import.json", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 0, "IsAttachable": true, "CreateDate": "2022-04-21T16:25:53.504000+00:00", "UpdateDate": "2022-04-21T16:25:53.504000+00:00" } }
Dopo che la policy è stata generata, allegala agli IAM utenti che chiameranno Amazon EC2 API o l'CLIoperazione per importare lo snapshot.
aws iam attach-user-policy --user-name
your-user-name
--policy-arn arn:aws:iam::123456789012:policy/policy-name
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
Passaggio 3: Importa l'immagine della macchina virtuale come istantanea sul dispositivo Snow Family
Il passaggio successivo consiste nell'importare l'immagine della macchina virtuale come istantanea sul dispositivo. Il valore del S3Bucket
parametro è il nome del bucket che contiene l'immagine della macchina virtuale. Il valore del S3Key
parametro è il percorso del file di immagine della macchina virtuale in questo bucket.
aws ec2 import-snapshot --disk-container "Format=RAW,UserBucket={S3Bucket=
bucket-name
,S3Key=image-file
}" --profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Per ulteriori informazioni, vedere import-snapshot
Questo comando non supporta le seguenti opzioni.
[--client-data
value
][--client-token]
value
[--dry-run]
[--no-dry-run]
[--encrypted]
[--no-encrypted]
[--kms-key-id
value
][--tag-specificazioni]
value
Esempio uscita del comando import-snapshot
{ "ImportTaskId":"s.import-snap-1234567890abc", "SnapshotTaskDetail":{ "DiskImageSize":2.0, "Encrypted":false, "Format":"RAW", "Progress":"3", "Status":"active", "StatusMessage":"pending", "UserBucket":{ "S3Bucket":"bucket", "S3Key":"vmimport/image01" } } }
Nota
I dispositivi Snow Family attualmente consentono l'esecuzione di un solo processo di importazione attivo alla volta, per dispositivo. Per iniziare una nuova attività di importazione, attendi che l'operazione corrente finisca o scegli un altro nodo disponibile in un cluster. Puoi anche scegliere di annullare l'importazione corrente, se lo desideri. Per evitare ritardi, non riavviare il dispositivo Snow Family mentre l'importazione è in corso. Se riavvii il dispositivo, l'importazione avrà esito negativo e l'avanzamento verrà eliminato quando il dispositivo sarà accessibile. Per verificare lo stato dell'operazione di importazione delle istantanee, utilizzate il seguente comando:
aws ec2 describe-import-snapshot-tasks --import-task-ids
id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Fase 4: Registrare l'istantanea come file AMI sul dispositivo Snow Family
Quando l'importazione dell'istantanea sul dispositivo ha esito positivo, è possibile registrarla utilizzando il register-image
comando.
Nota
È possibile registrarlo solo AMI quando tutte le relative istantanee sono disponibili.
Per ulteriori informazioni, vedere register-image
Esempio del comando register-image
aws ec2 register-image \ --name
ami-01
\ --descriptionmy-ami-01
\ --block-device-mappings "[{\"DeviceName\": \"/dev/sda1\",\"Ebs\":{\"Encrypted\":false,\"DeleteOnTermination\":true,\"SnapshotId\":\"snapshot-id
\",\"VolumeSize\":30}}]" \ --root-device-name /dev/sda1 \ --profileprofile-name
\ --endpoint http://snowball-ip
:8008 \ --region snow
Di seguito è riportato un esempio di mappatura JSON dei dispositivi a blocchi. Per ulteriori informazioni, vedete il block-device-mapping parametro register-image
[ { "DeviceName": "/dev/sda", "Ebs": { "Encrypted": false, "DeleteOnTermination": true, "SnapshotId": "
snapshot-id
", "VolumeSize": 30 } } ]
Esempio del comando register-image
{ "ImageId": "s.ami-8de47d2e397937318" }
Fase 5: Avvia un'istanza dal AMI dispositivo Snow Family
Per avviare un'istanza, consulta run-instances
Il valore del image-id
parametro è il valore del ImageId
nome come output del comando. register-image
aws ec2 run-instances --image-id
image-id
--instance-typeinstance-type
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
{ "Instances":[ { "SourceDestCheck":false, "CpuOptions":{ "CoreCount":1, "ThreadsPerCore":2 }, "InstanceId":"s.i-12345a73123456d1", "EnaSupport":false, "ImageId":"s.ami-1234567890abcdefg", "State":{ "Code":0, "Name":"pending" }, "EbsOptimized":false, "SecurityGroups":[ { "GroupName":"default", "GroupId":"s.sg-1234567890abc" } ], "RootDeviceName":"/dev/sda1", "AmiLaunchIndex":0, "InstanceType":"sbe-c.large" } ], "ReservationId":"s.r-1234567890abc" }
Nota
Puoi anche usarlo AWS OpsHub per avviare l'istanza. Per ulteriori informazioni, consulta Avvio di un'istanza EC2 compatibile con Amazon in questa guida.
AMIAzioni aggiuntive per un dispositivo Snow Family
È possibile utilizzare AWS CLI comandi aggiuntivi per monitorare lo stato di importazione delle istantanee, ottenere dettagli sulle istantanee importate, annullare l'importazione di un'istantanea ed eliminare o annullare la registrazione delle istantanee dopo l'importazione.
Monitoraggio dello stato di importazione delle istantanee su un dispositivo Snow Family
Per vedere lo stato attuale dell'avanzamento dell'importazione, puoi eseguire il EC2 describe-import-snapshot-tasks
comando Amazon. Questo comando supporta l'impaginazione e il filtraggio su. task-state
Esempio del comando describe-import-snapshot-tasks
aws ec2 describe-import-snapshot-tasks --import-task-ids
id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Esempio dell'output del describe-import-snapshot-tasks
comando
{ "ImportSnapshotTasks": [ { "ImportTaskId": "s.import-snap-8f6bfd7fc9ead9aca", "SnapshotTaskDetail": { "Description": "Created by AWS-Snowball-VMImport service for s.import-snap-8f6bfd7fc9ead9aca", "DiskImageSize": 8.0, "Encrypted": false, "Format": "RAW", "Progress": "3", "SnapshotId": "s.snap-848a22d7518ad442b", "Status": "active", "StatusMessage": "pending", "UserBucket": { "S3Bucket": "bucket1", "S3Key": "image1" } } } ] }
Nota
Questo comando mostra solo l'output delle attività che sono state completate con successo o che sono state contrassegnate come eliminate negli ultimi 7 giorni. Il filtraggio supporta Name=task-state
solo, Values=active | deleting | deleted |
completed
Questo comando non supporta i seguenti parametri.
[--dry-run]
[--no-dry-run]
Annullamento di un'operazione di importazione su un dispositivo Snow Family
Per annullare un'operazione di importazione, esegui il cancel-import-task
comando.
Esempio del cancel-import-task
comando
aws ec2 cancel-import-task --import-task-id
import-task-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Esempio dell'output del cancel-import-task
comando
{ "ImportTaskId": "s.import-snap-8234ef2a01cc3b0c6", "PreviousState": "active", "State": "deleting" }
Nota
È possibile annullare solo le attività che non sono in uno stato completato.
Questo comando non supporta i seguenti parametri.
[--dry-run]
[--no-dry-run]
Descrizione delle istantanee su un dispositivo Snow Family
Dopo aver importato un'istantanea, puoi usare questo comando per descriverla. Per filtrare le istantanee, è possibile inviarle l'ID dell'istantanea della precedente risposta all'attività di importazione. snapshot-ids
Questo comando supporta l'impaginazione e il filtro suvolume-id
, status
e. start-time
Esempio del describe-snapshots
comando
aws ec2 describe-snapshots --snapshot-ids
snapshot-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Esempio dell'output del describe-snapshots
comando
{ "Snapshots": [ { "Description": "Created by AWS-Snowball-VMImport service for s.import-snap-8f6bfd7fc9ead9aca", "Encrypted": false, "OwnerId": "123456789012", "SnapshotId": "s.snap-848a22d7518ad442b", "StartTime": "2020-07-30T04:31:05.032000+00:00", "State": "completed", "VolumeSize": 8 } ] }
Questo comando non supporta i seguenti parametri.
[--restorable-by-user-ids
value
][--dry-run]
[--no-dry-run]
Eliminazione di un'istantanea da un dispositivo Snow Family
Per rimuovere le istantanee che possiedi e che non ti servono più, puoi usare il comando. delete-snapshot
Esempio del comando delete-snapshot
aws ec2 delete-snapshot --snapshot-id
snapshot-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Nota
Snowball Edge non supporta l'eliminazione di istantanee che si trovano in uno PENDINGstato o se è designato come dispositivo root per un. AMI
Questo comando non supporta i seguenti parametri.
-
[--dry-run]
-
[--no-dry-run]
Annullamento della registrazione di un utente su un AMI dispositivo Snow Family
Per annullare la registrazione AMIs che non ti serve più, puoi eseguire il comando. deregister-image
L'annullamento della registrazione di un utente AMI che si trova nello stato In sospeso non è attualmente supportato.
Esempio del comando deregister-image
aws ec2 deregister-image --image-id
image-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Questo comando non supporta i seguenti parametri.
[--dry-run]
[--no-dry-run]