Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Importación de una imagen de máquina virtual a un dispositivo de la familia Snow
Puede utilizar el AWS CLI servicio VM Import/Export para importar una imagen de máquina virtual (VM) al dispositivo de la familia Snow como Amazon Machine Image (AMI). Tras importar una imagen de máquina virtual, registre la imagen como instancia AMI y ejecútela como una instancia EC2 compatible con Amazon.
Puedes añadir AMIs desde Amazon EC2 al dispositivo al crear un trabajo para pedir un dispositivo de la familia Snow. Siga este procedimiento una vez que haya recibido el dispositivo de la familia Snow. Para obtener más información, consulte Elegir las opciones de cómputo y almacenamiento.
También se puede utilizar AWS OpsHub para cargar el archivo de imagen de la máquina virtual. Para obtener más información, consulta Importación de una imagen a tu dispositivo como EC2 compatible con Amazon AMI en esta guía.
Temas
- Paso 1: Prepare la imagen de la máquina virtual y cárguela en el dispositivo de la familia Snow
- Paso 2: Configure los permisos necesarios en el dispositivo de la familia Snow
- Paso 3: Importe la imagen de la máquina virtual como una instantánea en el dispositivo de la familia Snow
- Paso 4: Registre la instantánea como dispositivo AMI de la familia Snow
- Paso 5: Inicie una instancia desde el dispositivo AMI de la familia Snow
- AMIAcciones adicionales para un dispositivo de la familia Snow
Paso 1: Prepare la imagen de la máquina virtual y cárguela en el dispositivo de la familia Snow
Prepare la imagen de máquina virtual exportando una imagen de máquina virtual desde una instancia EC2 AMI o Amazon Nube de AWS mediante VM Import/Export o generando la imagen de máquina virtual de forma local con la plataforma de virtualización que elija.
Para exportar una EC2 instancia de Amazon como imagen de VM mediante VM Import/Export, consulte Exportación de una instancia como VM mediante VM Import/Export en la Guía del usuario de VM Import/Export. Para exportar una imagen de Amazon EC2 AMI como máquina virtual mediante VM Import/Export, consulte Exportación de una máquina virtual directamente desde una imagen de máquina de Amazon (AMI) en la Guía del usuario de VM Import/Export.
Si va a generar una imagen de máquina virtual desde su entorno local, asegúrese de que la imagen esté configurada para su uso como un dispositivo de la familia AMI Snow. Es posible que necesite configurar los siguientes elementos, según su entorno.
Configure y actualice el sistema operativo.
Establezca un nombre de host.
Asegúrese de que el protocolo de tiempo de red (NTP) esté configurado.
Incluya las claves SSH públicas, si es necesario. Haga copias locales de los pares de claves. Para obtener más información, consulte Uso SSH para conectarse a sus instancias de cómputo en un Snowball Edge.
Instale y configure cualquier software que vaya a utilizar en el dispositivo de la familia Snow.
nota
Tenga en cuenta las siguientes limitaciones al preparar una instantánea de disco para un dispositivo de la familia Snow.
-
Los dispositivos de la familia Snow actualmente solo admiten la importación de instantáneas en formato de RAW imagen.
-
Actualmente, los dispositivos Snow Family solo permiten importar instantáneas cuyos tamaños oscilen entre 1 GB y 1 TB.
Carga de una imagen de máquina virtual a un bucket de Amazon S3 en el dispositivo de la familia Snow
Tras preparar una imagen de máquina virtual, cárguela en un bucket de S3 del dispositivo o clúster de la familia Snow. Puede utilizar el adaptador S3 o el almacenamiento compatible con Amazon S3 en los dispositivos de la familia Snow para cargar la instantánea.
Para cargar la imagen de la máquina virtual mediante el adaptador S3
Utilice el
cp
comando para copiar el archivo de imagen de la máquina virtual en un depósito del dispositivo.aws s3 cp
image-path
s3://S3-bucket-name
--endpoint http://S3-object-API-endpoint:443
--profileprofile-name
Para obtener más información, consulte AWS CLI los comandos compatibles en esta guía.
Para cargar la imagen de la máquina virtual mediante un almacenamiento compatible con Amazon S3 en los dispositivos de la familia Snow
Utilice el
put-object
comando para copiar el archivo de instantáneas en un depósito del dispositivo.aws s3api put-object --bucket
bucket-name
--keypath-to-snapshot-file
--bodysnapshot-file
--profileyour-profile
--endpoint-urls3api-endpoint-ip
Para obtener más información, consulte Trabajo con objetos S3 en un dispositivo Snowball Edge.
Paso 2: Configure los permisos necesarios en el dispositivo de la familia Snow
Para que la importación se realice correctamente, debe configurar los permisos para VM Import/Export en el dispositivo de la familia SnowEC2, Amazon y el usuario.
nota
Los roles de servicio y las políticas que proporcionan estos permisos se encuentran en el dispositivo Snow Family.
Permisos necesarios para la importación o exportación de máquinas virtuales en un dispositivo de la familia Snow
Antes de iniciar el proceso de importación, debe crear un IAM rol con una política de confianza que permita que VM Import/Export del dispositivo de la familia Snow asuma el rol. Se otorgan permisos adicionales a la función para permitir que VM Import/Export del dispositivo acceda a la imagen almacenada en el bucket S3 del dispositivo.
Creación de un archivo json de política de confianza
A continuación, se muestra un ejemplo de política de confianza que hay que adjuntar al rol para que VM Import/Export pueda obtener acceso a la instantánea que se debe importar del bucket de S3.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"vmie.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
Creación de un rol con el archivo json de política de confianza
El nombre del rol puede ser vmimport. Puede cambiarlo mediante la opción --role-name del 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
A continuación se muestra un ejemplo de salida 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" } }
Creación de una política para el rol
La siguiente política de ejemplo tiene los permisos mínimos necesarios para obtener acceso a Amazon S3. Cambie el nombre del bucket de Amazon S3 por el del bucket que contiene sus imágenes. Para un dispositivo Snowball Edge independiente, cambie snow-id
a su ID de trabajo. Para un grupo de dispositivos, cambie snow-id
al ID del clúster. También puede usar prefijos para restringir aún más la ubicación desde la que VM Import/Export puede importar instantáneas. Cree un archivo json de política como este.
{ "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
/*" ] } ] }
Creación de una política con el archivo de política:
aws iam create-policy --policy-name
policy-name
--policy-document file:///policy-json-file-path
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
A continuación, se muestra un ejemplo de salida 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" } }
Asociación de la política al rol
Asocie una política al rol anterior y conceda permisos de acceso a los recursos necesarios. Esto permite que el servicio local VM Import/Export descargue la instantánea de Amazon S3 en el 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
Permisos requeridos por la persona que llama en un dispositivo de la familia Snow
Además de la función que debe asumir la máquina virtual de importación o exportación de Snowball Edge, también debe asegurarse de que el usuario tenga los permisos que le permiten transferir la función. VMIE Si utiliza el usuario raíz predeterminado para realizar la importación, el usuario raíz ya tiene todos los permisos necesarios, por lo que puede omitir este paso e ir al paso 3.
Adjunte los dos IAM permisos siguientes al usuario que está realizando la importación.
-
pass-role
-
get-role
Creación de una política para el rol
A continuación se muestra un ejemplo de política que permite a un usuario realizar las pass-role
acciones get-role
y las correspondientes al IAM rol.
{ "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" } } } ] }
Creación de una política con el archivo de política:
aws iam create-policy --policy-name
policy-name
--policy-document file:///policy-json-file-path
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
A continuación, se muestra un ejemplo de salida 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" } }
Una vez que se haya generado la política, adjunta la política a los IAM usuarios que llamarán a la operación de Amazon EC2 API o a la CLI operación para importar la instantánea.
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
Se requieren permisos para llamar a Amazon desde EC2 APIs un dispositivo de la familia Snow
Para importar una instantánea, el IAM usuario debe tener los ec2:ImportSnapshot
permisos. Si no es necesario restringir el acceso al usuario, puedes usar los ec2:*
permisos para conceder EC2 acceso total a Amazon. Los siguientes son los permisos que se pueden conceder o restringir para Amazon EC2 en tu dispositivo. Se muestra el contenido de la creación de un archivo de política:
{ "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":"*" } ] }
Creación de una política con el archivo de política:
aws iam create-policy --policy-name
policy-name
--policy-document file:///policy-json-file-path
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
A continuación, se muestra un ejemplo de salida 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" } }
Una vez que se haya generado la política, adjunta la política a los IAM usuarios que llamarán a la operación de Amazon EC2 API o a la CLI operación para importar la instantánea.
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
Paso 3: Importe la imagen de la máquina virtual como una instantánea en el dispositivo de la familia Snow
El siguiente paso es importar la imagen de la máquina virtual como una instantánea en el dispositivo. El valor del S3Bucket
parámetro es el nombre del depósito que contiene la imagen de la máquina virtual. El valor del S3Key
parámetro es la ruta al archivo de imagen de máquina virtual de este depósito.
aws ec2 import-snapshot --disk-container "Format=RAW,UserBucket={S3Bucket=
bucket-name
,S3Key=image-file
}" --profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Para obtener más información, consulte import-snapshot
Este comando no admite los siguientes modificadores.
[--client-data
value
][--client-token
value
][--dry-run]
[--no-dry-run]
[--encrypted]
[--no-encrypted]
[--kms-key-id
value
][--tag-specifications
value
]
ejemplo salida 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
Los dispositivos de la familia Snow actualmente solo permiten ejecutar un trabajo de importación activo a la vez, por dispositivo. Para iniciar una nueva tarea de importación, espere a que finalice la tarea actual o elija otro nodo disponible en un clúster. También puede optar por cancelar la importación actual si lo desea. Para evitar demoras, no reinicie el dispositivo Snow Family mientras la importación esté en curso. Si reinicia el dispositivo, se producirá un error en la importación y el progreso se eliminará cuando se pueda obtener acceso al dispositivo. Para comprobar el estado de la tarea de importación de instantáneas, use el comando siguiente:
aws ec2 describe-import-snapshot-tasks --import-task-ids
id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Paso 4: Registre la instantánea como dispositivo AMI de la familia Snow
Cuando la importación de la instantánea al dispositivo se haya realizado correctamente, puede registrarla mediante el comando register-image
.
nota
Solo podrá registrar una AMI cuando todas sus instantáneas estén disponibles.
Para obtener más información, consulte register-image en la Referencia de comandos
ejemplo 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
El siguiente es un ejemplo de mapeo de dispositivos de bloquesJSON. Para obtener más información, consulte el block-device-mapping parámetro register-image
[ { "DeviceName": "/dev/sda", "Ebs": { "Encrypted": false, "DeleteOnTermination": true, "SnapshotId": "
snapshot-id
", "VolumeSize": 30 } } ]
ejemplo del comando register-image
{ "ImageId": "s.ami-8de47d2e397937318" }
Paso 5: Inicie una instancia desde el dispositivo AMI de la familia Snow
Para lanzar una instancia, consulta run-instances
El valor del image-id
parámetro es el valor del ImageId
nombre como resultado del register-image
comando.
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
También se puede utilizar AWS OpsHub para lanzar la instancia. Para obtener más información, consulta Cómo lanzar una instancia EC2 compatible con Amazon en esta guía.
AMIAcciones adicionales para un dispositivo de la familia Snow
Puede utilizar AWS CLI comandos adicionales para supervisar el estado de importación de las instantáneas, obtener detalles sobre las instantáneas que se han importado, cancelar la importación de una instantánea y eliminar o anular el registro de las instantáneas una vez importadas.
Supervisión del estado de importación de instantáneas en un dispositivo de la familia Snow
Para ver el estado actual del progreso de la importación, puedes ejecutar el EC2 describe-import-snapshot-tasks
comando Amazon. Este comando admite la paginación y el task-state
filtrado en.
ejemplo 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
ejemplo de la salida 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
Este comando solo muestra el resultado de las tareas que se han completado correctamente o que se han marcado como eliminadas en los últimos 7 días. El filtrado solo admite Name=task-state
, Values=active | deleting | deleted |
completed
Este comando no admite los siguientes parámetros.
[--dry-run]
[--no-dry-run]
Cancelar una tarea de importación en un dispositivo de la familia Snow
Para cancelar una tarea de importación, ejecute el comando cancel-import-task
.
ejemplo del comando cancel-import-task
aws ec2 cancel-import-task --import-task-id
import-task-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
ejemplo de la salida del cancel-import-task
comando
{ "ImportTaskId": "s.import-snap-8234ef2a01cc3b0c6", "PreviousState": "active", "State": "deleting" }
nota
Solo se pueden cancelar las tareas que no tienen el estado completado.
Este comando no admite los siguientes parámetros.
[--dry-run]
[--no-dry-run]
Describir las instantáneas en un dispositivo de la familia Snow
Después de importar una instantánea, puede usar este comando para describirla. Para filtrar las instantáneas, puede pasarlas en snapshot-ids
con el ID de instantánea de la respuesta de la tarea de importación anterior. Este comando admite la paginación y el filtrado en volume-id
status
, y. start-time
ejemplo del describe-snapshots
comando
aws ec2 describe-snapshots --snapshot-ids
snapshot-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
ejemplo de la salida 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 } ] }
Este comando no admite los siguientes parámetros.
[--restorable-by-user-ids
value
][--dry-run]
[--no-dry-run]
Eliminar una instantánea de un dispositivo de la familia Snow
Para eliminar instantáneas de su propiedad y que ya no necesita, puede usar el comando delete-snapshot
.
ejemplo del delete-snapshot
comando
aws ec2 delete-snapshot --snapshot-id
snapshot-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
nota
Snowball Edge no admite la eliminación de instantáneas que estén en un PENDINGestado o que estén designadas como dispositivo raíz para un. AMI
Este comando no admite los siguientes parámetros.
-
[--dry-run]
-
[--no-dry-run]
Anular el registro de un dispositivo AMI de la familia Snow
Para anular el registro AMIs que ya no necesita, puede ejecutar el comando. deregister-image
Actualmente, no se puede anular el registro de un objeto AMI que esté en estado pendiente.
ejemplo del comando deregister-image
aws ec2 deregister-image --image-id
image-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Este comando no admite los siguientes parámetros.
[--dry-run]
[--no-dry-run]