Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Importation d'une image de machine virtuelle sur un appareil Snow Family
Vous pouvez utiliser le service VM Import/Export AWS CLI et le service VM pour importer une image de machine virtuelle (VM) sur l'appareil de la famille Snow en tant qu'image de machine Amazon ()AMI. Après avoir importé une image de machine virtuelle, enregistrez-la en tant qu'image AMI et lancez-la en tant qu'instance EC2 compatible avec Amazon.
Vous pouvez ajouter AMIs depuis Amazon EC2 à l'appareil lorsque vous créez une tâche pour commander un appareil Snow Family. Utilisez cette procédure après avoir reçu l'appareil Snow Family. Pour de plus amples informations, veuillez consulter Choix de vos options de calcul et de stockage.
Vous pouvez également l'utiliser AWS OpsHub pour télécharger le fichier image de la machine virtuelle. Pour plus d'informations, consultez la section Importation d'une image sur votre appareil en tant que produit EC2 compatible avec Amazon AMI dans ce guide.
Rubriques
- Étape 1 : préparer l'image de la machine virtuelle et la télécharger sur l'appareil de la famille Snow
- Étape 2 : configurer les autorisations requises sur l'appareil Snow Family
- Étape 3 : Importer l'image de la machine virtuelle sous forme d'instantané sur l'appareil de la famille Snow
- Étape 4 : enregistrer le cliché en tant que fichier AMI sur l'appareil Snow Family
- Étape 5 : Lancer une instance depuis l'appareil AMI de la famille Snow
- AMIActions supplémentaires pour un appareil Snow Family
Étape 1 : préparer l'image de la machine virtuelle et la télécharger sur l'appareil de la famille Snow
Préparez l'image de machine virtuelle en exportant une image de machine virtuelle depuis un Amazon EC2 AMI ou une instance à l' AWS Cloud aide de VM Import/Export ou en générant l'image de machine virtuelle localement à l'aide de la plate-forme de virtualisation de votre choix.
Pour exporter une EC2 instance Amazon en tant qu'image de machine virtuelle à l'aide de VM Import/Export, consultez la section Exportation d'une instance en tant que machine virtuelle à l'aide de VM Import/Export dans le guide de l'utilisateur de VM Import/Export. Pour exporter un Amazon EC2 AMI en tant qu'image de machine virtuelle à l'aide de VM Import/Export, consultez Exporter une machine virtuelle directement à partir d'une image de machine Amazon (AMI) dans le guide de l'utilisateur de VM Import/Export.
Si vous générez une image de machine virtuelle à partir de votre environnement local, assurez-vous que l'image est configurée pour être utilisée AMI en tant que périphérique de la gamme Snow. Il se peut que vous deviez configurer les éléments suivants, en fonction de votre environnement.
Configurez et mettez à jour le système d'exploitation.
Définissez un nom d'hôte.
Assurez-vous que le protocole horaire réseau (NTP) est configuré.
Incluez les clés SSH publiques, si nécessaire. Créez des copies locales des paires de clés. Pour plus d'informations, consultez la section Utilisation SSH pour vous connecter à vos instances de calcul sur un Snowball Edge.
Installez et configurez tous les logiciels que vous utiliserez sur l'appareil de la famille Snow.
Note
Tenez compte des limites suivantes lorsque vous préparez un instantané de disque pour un appareil de la gamme Snow.
-
Les appareils Snow Family ne prennent actuellement en charge que l'importation d'instantanés au format RAW image.
-
Les appareils de la gamme Snow ne prennent actuellement en charge que l'importation de snapshots d'une taille comprise entre 1 Go et 1 To.
Téléchargement d'une image de machine virtuelle dans un compartiment Amazon S3 sur l'appareil de la famille Snow
Après avoir préparé une image de machine virtuelle, téléchargez-la dans un compartiment S3 sur le périphérique ou le cluster de la gamme Snow. Vous pouvez utiliser l'adaptateur S3 ou le stockage compatible Amazon S3 sur les appareils de la gamme Snow pour télécharger l'instantané.
Pour télécharger l'image de la machine virtuelle à l'aide de l'adaptateur S3
Utilisez la
cp
commande pour copier le fichier image de la machine virtuelle dans un compartiment de l'appareil.aws s3 cp
image-path
s3://S3-bucket-name
--endpoint http://S3-object-API-endpoint:443
--profileprofile-name
Pour plus d'informations, consultez la section AWS CLI Commandes prises en charge dans ce guide.
Pour télécharger l'image de la machine virtuelle à l'aide du stockage compatible Amazon S3 sur les appareils de la gamme Snow
Utilisez la
put-object
commande pour copier le fichier de capture d'écran dans un compartiment de l'appareil.aws s3api put-object --bucket
bucket-name
--keypath-to-snapshot-file
--bodysnapshot-file
--profileyour-profile
--endpoint-urls3api-endpoint-ip
Pour plus d'informations, consultez la section Utilisation d'objets S3 sur un appareil Snowball Edge.
Étape 2 : configurer les autorisations requises sur l'appareil Snow Family
Pour que l'importation soit réussie, vous devez configurer des autorisations pour VM Import/Export sur l'appareil de la famille SnowEC2, Amazon et l'utilisateur.
Note
Les rôles de service et les politiques qui fournissent ces autorisations se trouvent sur l'appareil Snow Family.
Autorisations requises pour l'importation/exportation de machines virtuelles sur un appareil de la famille Snow
Avant de démarrer le processus d'importation, vous devez créer un IAM rôle doté d'une politique de confiance qui autorise VM Import/Export sur le périphérique de la famille Snow à assumer ce rôle. Des autorisations supplémentaires sont accordées au rôle pour permettre à VM Import/Export sur l'appareil d'accéder à l'image stockée dans le compartiment S3 de l'appareil.
Création d'un fichier json de politique de confiance
Voici un exemple de politique de confiance qui doit être attachée au rôle afin que VM Import/Export puisse accéder au snapshot qui doit être importé depuis le compartiment S3.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"vmie.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
Créez un rôle avec le fichier json de politique de confiance
Le nom du rôle peut être vmimport. Vous pouvez le modifier en utilisant l'option --role-name dans la commande :
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
Voici un exemple de sortie de la create-role
commande.
{ "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" } }
Création d'une politique pour le rôle
L'exemple de politique suivant dispose des autorisations minimales requises pour accéder à Amazon S3. Remplacez le nom du compartiment Amazon S3 par celui qui contient vos images. Pour un appareil Snowball Edge autonome, modifiez snow-id
à votre numéro de poste. Pour un cluster d'appareils, modifiez snow-id
à l'ID du cluster. Vous pouvez également utiliser des préfixes pour affiner l'emplacement à partir duquel VM Import/Export peut importer des instantanés. Créez un fichier de politique JSON comme celui-ci.
{ "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
/*" ] } ] }
Créez une politique à l'aide du fichier de politique :
aws iam create-policy --policy-name
policy-name
--policy-document file:///policy-json-file-path
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
Voici un exemple de sortie de la commande 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" } }
Associer la politique au rôle
Associez une politique au rôle précédent et accordez des autorisations pour accéder aux ressources requises. Cela permet au service VM Import/Export local de télécharger le snapshot depuis Amazon S3 sur l'appareil.
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
Autorisations requises par l'appelant sur un appareil Snow Family
Outre le rôle que doit assumer le Snowball Edge VM Import/Export, vous devez également vous assurer que l'utilisateur dispose des autorisations lui permettant de transmettre le rôle. VMIE Si vous utilisez l'utilisateur root par défaut pour effectuer l'importation, celui-ci dispose déjà de toutes les autorisations requises. Vous pouvez donc ignorer cette étape et passer à l'étape 3.
Attachez les deux IAM autorisations suivantes à l'utilisateur qui effectue l'importation.
-
pass-role
-
get-role
Création d'une politique pour le rôle
Voici un exemple de politique qui permet à un utilisateur d'exécuter les pass-role
actions get-role
et pour le IAM rôle.
{ "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" } } } ] }
Créez une politique à l'aide du fichier de politique :
aws iam create-policy --policy-name
policy-name
--policy-document file:///policy-json-file-path
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
Voici un exemple de sortie de la commande 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" } }
Une fois la politique générée, joignez-la aux IAM utilisateurs qui appelleront l'Amazon EC2 API ou l'CLIopération pour importer l'instantané.
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
Autorisations requises pour appeler Amazon EC2 APIs sur un appareil Snow Family
Pour importer un instantané, l'IAMutilisateur doit disposer des ec2:ImportSnapshot
autorisations nécessaires. S'il n'est pas nécessaire de restreindre l'accès à l'utilisateur, vous pouvez utiliser les ec2:*
autorisations pour accorder un EC2 accès complet à Amazon. Les autorisations qui peuvent être accordées ou restreintes à Amazon EC2 sur votre appareil sont les suivantes. Créez un fichier de régulation dont le contenu est affiché :
{ "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":"*" } ] }
Créez une politique à l'aide du fichier de politique :
aws iam create-policy --policy-name
policy-name
--policy-document file:///policy-json-file-path
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
Voici un exemple de sortie de la commande 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" } }
Une fois la politique générée, joignez-la aux IAM utilisateurs qui appelleront l'Amazon EC2 API ou l'CLIopération pour importer l'instantané.
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
Étape 3 : Importer l'image de la machine virtuelle sous forme d'instantané sur l'appareil de la famille Snow
L'étape suivante consiste à importer l'image de la machine virtuelle sous forme de capture instantanée sur le périphérique. La valeur du S3Bucket
paramètre est le nom du compartiment contenant l'image de la machine virtuelle. La valeur du S3Key
paramètre est le chemin d'accès au fichier image de la machine virtuelle dans ce compartiment.
aws ec2 import-snapshot --disk-container "Format=RAW,UserBucket={S3Bucket=
bucket-name
,S3Key=image-file
}" --profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Pour plus d'informations, consultez import-snapshot
Cette commande ne prend pas en charge les commutateurs suivants.
[--données-client
value
][--jeton client
value
][--fonctionnement à sec]
[--no-dry-run]
[--crypté]
[--non crypté]
[--kms-key-id
value
][--tag-specifications
value
]
Exemple sortie de import-snapshot
commande
{ "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" } } }
Note
Les appareils Snow Family n'autorisent actuellement qu'une seule tâche d'importation active à la fois, par appareil. Pour démarrer une nouvelle tâche d'importation, attendez que la tâche en cours soit terminée ou choisissez un autre nœud disponible dans un cluster. Vous pouvez également choisir d'annuler l'importation en cours si vous le souhaitez. Pour éviter tout retard, ne redémarrez pas l'appareil Snow Family pendant que l'importation est en cours. Si vous redémarrez l'appareil, l'importation échouera et la progression sera supprimée lorsque l'appareil sera accessible. Pour vérifier l'état de votre tâche d'importation de snapshots, utilisez la commande suivante :
aws ec2 describe-import-snapshot-tasks --import-task-ids
id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Étape 4 : enregistrer le cliché en tant que fichier AMI sur l'appareil Snow Family
Lorsque l'importation du snapshot sur l'appareil est réussie, vous pouvez l'enregistrer à l'aide de la register-image
commande.
Note
Vous ne pouvez enregistrer un fichier que AMI lorsque tous ses instantanés sont disponibles.
Pour plus d'informations, voir register-image
Exemple de la register-image
commande
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
Voici un exemple de mappage de périphériques en mode blocJSON. Pour plus d'informations, consultez le block-device-mapping paramètre de register-image
[ { "DeviceName": "/dev/sda", "Ebs": { "Encrypted": false, "DeleteOnTermination": true, "SnapshotId": "
snapshot-id
", "VolumeSize": 30 } } ]
Exemple de la register-image
commande
{ "ImageId": "s.ami-8de47d2e397937318" }
Étape 5 : Lancer une instance depuis l'appareil AMI de la famille Snow
Pour lancer une instance, consultez run-instances
La valeur du image-id
paramètre est la valeur du ImageId
nom en sortie de la register-image
commande.
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" }
Note
Vous pouvez également l'utiliser AWS OpsHub pour lancer l'instance. Pour plus d'informations, consultez la section Lancement d'une instance EC2 compatible avec Amazon dans ce guide.
AMIActions supplémentaires pour un appareil Snow Family
Vous pouvez utiliser des AWS CLI commandes supplémentaires pour surveiller l'état d'importation des instantanés, obtenir des informations sur les instantanés importés, annuler l'importation d'un instantané et supprimer ou désenregistrer des instantanés après leur importation.
Surveillance de l'état d'importation des instantanés sur un appareil de la gamme Snow
Pour connaître l'état actuel de la progression de l'importation, vous pouvez exécuter la EC2 describe-import-snapshot-tasks
commande Amazon. Cette commande prend en charge la pagination et le filtrage sur letask-state
.
Exemple de la describe-import-snapshot-tasks
commande
aws ec2 describe-import-snapshot-tasks --import-task-ids
id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Exemple de sortie describe-import-snapshot-tasks
de commande
{ "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" } } } ] }
Note
Cette commande affiche uniquement le résultat des tâches terminées avec succès ou marquées comme supprimées au cours des 7 derniers jours. Le filtrage ne prend en charge queName=task-state
, Values=active | deleting | deleted |
completed
Cette commande ne prend pas en charge les paramètres suivants.
[--fonctionnement à sec]
[--no-dry-run]
Annulation d'une tâche d'importation sur un appareil Snow Family
Pour annuler une tâche d'importation, exécutez la cancel-import-task
commande.
Exemple de la cancel-import-task
commande
aws ec2 cancel-import-task --import-task-id
import-task-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Exemple de sortie cancel-import-task
de commande
{ "ImportTaskId": "s.import-snap-8234ef2a01cc3b0c6", "PreviousState": "active", "State": "deleting" }
Note
Seules les tâches qui ne sont pas terminées peuvent être annulées.
Cette commande ne prend pas en charge les paramètres suivants.
[--fonctionnement à sec]
[--no-dry-run]
Décrire les instantanés sur un appareil Snow Family
Après l'importation d'un instantané, vous pouvez utiliser cette commande pour le décrire. Pour filtrer les instantanés, vous pouvez les transmettre snapshot-ids
avec l'ID de capture indiqué dans la réponse à la tâche d'importation précédente. Cette commande prend en charge la pagination et le filtrage sur volume-id
status
, etstart-time
.
Exemple de describe-snapshots
commande
aws ec2 describe-snapshots --snapshot-ids
snapshot-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Exemple de sortie describe-snapshots
de commande
{ "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 } ] }
Cette commande ne prend pas en charge les paramètres suivants.
[--restorable-by-user-ids
value
][--fonctionnement à sec]
[--no-dry-run]
Supprimer un instantané d'un appareil Snow Family
Pour supprimer des instantanés dont vous êtes propriétaire et dont vous n'avez plus besoin, vous pouvez utiliser la delete-snapshot
commande.
Exemple de la delete-snapshot
commande
aws ec2 delete-snapshot --snapshot-id
snapshot-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Note
Snowball Edge ne prend pas en charge la suppression des instantanés qui sont dans un PENDINGétat ou s'ils sont désignés comme périphérique racine pour un. AMI
Cette commande ne prend pas en charge les paramètres suivants.
-
[--fonctionnement à sec]
-
[--no-dry-run]
Désenregistrer un appareil AMI Snow Family
Pour annuler l'enregistrement AMIs dont vous n'avez plus besoin, vous pouvez exécuter la deregister-image
commande. L'annulation de l'enregistrement d'un fichier AMI dont l'état est En attente n'est pas prise en charge actuellement.
Exemple de la deregister-image
commande
aws ec2 deregister-image --image-id
image-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Cette commande ne prend pas en charge les paramètres suivants.
[--fonctionnement à sec]
[--no-dry-run]