As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Importação de uma imagem de máquina virtual para um dispositivo Snowball Edge
Você pode usar o serviço AWS CLI e o VM Import/Export para importar uma imagem de máquina virtual (VM) para o dispositivo Snowball Edge como uma Amazon Machine Image (AMI). Depois de importar uma imagem de VM, registre a imagem como uma AMI e inicie-a como uma instância compatível com a Amazon EC2.
Você pode adicionar AMIs da Amazon EC2 ao dispositivo ao criar um trabalho para solicitar um dispositivo Snowball Edge. Use esse procedimento depois de receber o dispositivo Snowball Edge. Para obter mais informações, consulte Escolher opções de computação e de armazenamento.
Você também pode usar AWS OpsHub para carregar o arquivo de imagem da VM. Para obter mais informações, consulte Importar uma imagem para o seu dispositivo como uma EC2 AMI compatível com a Amazon neste guia.
Tópicos
- Etapa 1: Preparar a imagem da VM e enviá-la para o dispositivo Snowball Edge
- Etapa 2: Configurar as permissões necessárias no Snowball Edge
- Etapa 3: importar a imagem da VM como um instantâneo no Snowball Edge
- Etapa 4: registrar o snapshot como uma AMI no Snowball Edge
- Etapa 5: executar uma instância da AMI no Snowball Edge
- Ações adicionais da AMI para um Snowball Edge
Etapa 1: Preparar a imagem da VM e enviá-la para o dispositivo Snowball Edge
Prepare a imagem da VM exportando uma imagem da VM de uma EC2 AMI ou instância da Amazon Nuvem AWS usando o VM Import/Export ou gerando a imagem da VM localmente usando a plataforma de virtualização de sua escolha.
Para exportar uma EC2 instância da Amazon como uma imagem de VM usando o VM Import/Export, consulte Exportar uma instância como uma VM usando o VM Import/Export na VM, Import/Export User Guide. To export an Amazon EC2 AMI as a VM image using VM Import/Export consulte Exportar uma VM diretamente de uma imagem de máquina da Amazon (AMI) no Guia do usuário do VM Import/Export.
Se estiver gerando uma imagem de VM do seu ambiente local, certifique-se de que a imagem esteja configurada para uso como AMI no dispositivo Snowball Edge. Talvez seja necessário configurar os itens a seguir, dependendo do ambiente.
Configure e atualize o sistema operacional.
Defina um nome do host.
O NTP (Network Time Protocol) deverá estar configurado.
Inclua chaves públicas SSH, se necessário. Faça cópias locais dos pares de chaves. Para ter mais informações, consulte Using SSH to Connect to Your Compute Instances on a Snowball Edge.
Instale e configure qualquer software que você usará no dispositivo Snowball Edge.
nota
Esteja ciente das seguintes limitações ao preparar um instantâneo de disco para um dispositivo Snowball Edge.
-
No momento, o Snowball Edge suporta somente a importação de instantâneos que estejam no formato de imagem RAW.
-
Atualmente, o Snowball Edge só oferece suporte à importação de instantâneos com tamanhos de 1 GB a 1 TB.
Fazer upload de uma imagem de VM para um bucket do Amazon S3 no dispositivo Snowball Edge
Depois de preparar uma imagem de VM, carregue-a em um bucket do S3 no dispositivo ou cluster Snowball Edge. Você pode usar o adaptador S3 ou o armazenamento compatível com Amazon S3 no Snowball Edge para fazer o upload do snapshot.
Como fazer upload da imagem de máquina virtual usando o adaptador do S3
Use o comando
cp
para copiar o arquivo da imagem de VM em um bucket no dispositivo.aws s3 cp
image-path
s3://S3-bucket-name
--endpoint http://S3-object-API-endpoint:443
--profileprofile-name
Para obter mais informações, consulte AWS CLI Comandos compatíveis neste guia.
Para carregar a imagem da VM usando armazenamento compatível com Amazon S3 no Snowball Edge
Use o comando
put-object
para copiar o arquivo de snapshot em um bucket no dispositivo.aws s3api put-object --bucket
bucket-name
--keypath-to-snapshot-file
--bodysnapshot-file
--profileyour-profile
--endpoint-urls3api-endpoint-ip
Para ter mais informações, consulte Working with S3 objects on a Snowball Edge device.
Etapa 2: Configurar as permissões necessárias no Snowball Edge
Para que a importação seja bem-sucedida, você deve configurar permissões para o VM Import/Export no dispositivo Snowball Edge, na Amazon EC2 e no usuário.
nota
As funções e políticas de serviço que fornecem essas permissões estão localizadas no dispositivo Snowball Edge.
Permissões necessárias para importar/exportar VM em um Snowball Edge
Antes de iniciar o processo de importação, você deve criar uma função do IAM com uma política de confiança que permita que a VM Import/Export on the Snowball Edge device to assume the role. Additional permissions are given to the role to allow VM Import/Export no dispositivo acesse a imagem armazenada no bucket do S3 no dispositivo.
Criar um arquivo json de política de confiança
Veja a seguir um exemplo de política de confiança que deve ser anexada ao perfil para que o VM Import/Export possa acessar o snapshot que precisa ser importado do bucket do S3.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"vmie.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
Criar um perfil com o arquivo json da política de confiança
O nome do perfil pode ser vmimport. É possível alterá-lo usando a opção --role-name no 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
Veja um exemplo de saída do 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" } }
Criar uma política para a função
O exemplo de política a seguir tem as permissões mínimas necessárias para acessar o Amazon S3. Altere o nome do bucket do Amazon S3 para aquele que tem as imagens. Para um dispositivo Snowball Edge independente, snow-id
mude para sua ID de trabalho. Para um cluster de dispositivos, altere snow-id
para o ID do cluster. Também é possível usar prefixos para restringir ainda mais o local de onde o VM Import/Export pode importar snapshots. Crie um arquivo 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
/*" ] } ] }
Crie uma política com o arquivo 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
Veja a seguir um exemplo de saída do 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" } }
Anexar a política ao perfil
Anexe uma política ao perfil anterior e conceda permissões para acessar os recursos necessários. Isso permite que o serviço local VM Import/Export baixe o snapshot do Amazon S3 no 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
Permissões exigidas pelo chamador em um Snowball Edge
Além do perfil a ser assumido pelo Snowball Edge VM Import/Export, também é necessário garantir que o usuário tenha as permissões que autorizem a transmissão da função para o VMIE. Se você usar o usuário raiz padrão para realizar a importação, o qual já tem todas as permissões necessárias, poderá ignorar esta etapa e ir para a 3.
Anexe as duas permissões do IAM a seguir ao usuário que está fazendo a importação.
-
pass-role
-
get-role
Criar uma política para a função
Veja um exemplo de política que permite ao usuário realizar as ações get-role
e pass-role
para o perfil do IAM.
{ "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" } } } ] }
Crie uma política com o arquivo 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
Veja a seguir um exemplo de saída do 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" } }
Depois que a política for gerada, anexe a política aos usuários do IAM que chamarão a operação de EC2 API ou CLI da Amazon para importar o 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
Permissões necessárias para ligar para a Amazon EC2 APIs em um Snowball Edge
Para importar um snapshot, o usuário do IAM precisa ter as permissões ec2:ImportSnapshot
. Se não for necessário restringir o acesso ao usuário, você pode usar as ec2:*
permissões para conceder EC2 acesso total à Amazon. A seguir estão as permissões que podem ser concedidas ou restringidas para a Amazon EC2 em seu dispositivo. Crie um arquivo de política com o conteúdo mostrado:
{ "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":"*" } ] }
Crie uma política com o arquivo 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
Veja a seguir um exemplo de saída do 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" } }
Depois que a política for gerada, anexe a política aos usuários do IAM que chamarão a operação de EC2 API ou CLI da Amazon para importar o 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
Etapa 3: importar a imagem da VM como um instantâneo no Snowball Edge
A próxima etapa é importar a imagem de VM como um snapshot no dispositivo. O valor do parâmetro S3Bucket
é o nome do bucket que contém a imagem de VM. O valor do parâmetro S3Key
é o caminho para o arquivo da imagem de VM nesse 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
Para obter mais informações, consulte import-snapshot
Esse comando não é compatível com as opções a seguir.
[--client-data
value
][--client-token
value
][--dry-run]
[--no-dry-run]
[--encrypted]
[--no-encrypted]
[--kms-key-id
value
][--tag-specifications
value
]
exemplo saída do 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
Atualmente, o Snowball Edge permite que apenas uma tarefa de importação ativa seja executada por vez, por dispositivo. Para iniciar uma nova tarefa de importação, aguarde a conclusão da tarefa atual ou selecione outro nó disponível em um cluster. Também é possível optar por cancelar a importação atual, se desejar. Para evitar atrasos, não reinicie o dispositivo Snowball Edge enquanto a importação estiver em andamento. Se você reinicializar o dispositivo, a importação falhará e o andamento será excluído quando o dispositivo estiver acessível. Para conferir o status de importação do snapshot, use o seguinte comando:
aws ec2 describe-import-snapshot-tasks --import-task-ids
id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Etapa 4: registrar o snapshot como uma AMI no Snowball Edge
Quando a importação do snapshot para o dispositivo for bem-sucedida, você poderá registrá-lo com o comando register-image
.
nota
Será possível registrar uma AMI apenas quando todos os snapshots estiverem disponíveis.
Para obter mais informações, consulte register-image na Referência
exemplo do 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
Veja a seguir um exemplo de mapeamento de dispositivos de blocos JSON. Para obter mais informações, consulte o block-device-mapping parâmetro de register-image na Referência
[ { "DeviceName": "/dev/sda", "Ebs": { "Encrypted": false, "DeleteOnTermination": true, "SnapshotId": "
snapshot-id
", "VolumeSize": 30 } } ]
exemplo do comando register-image
{ "ImageId": "s.ami-8de47d2e397937318" }
Etapa 5: executar uma instância da AMI no Snowball Edge
Para iniciar uma instância, consulte run-instances na Referência
O valor do parâmetro image-id
é o valor do nome ImageId
como saída do 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
Você também pode usar AWS OpsHub para iniciar a instância. Para obter mais informações, consulte Lançamento de uma instância EC2 compatível com a Amazon neste guia.
Ações adicionais da AMI para um Snowball Edge
Você pode usar AWS CLI comandos adicionais para monitorar o status de importação de instantâneos, obter detalhes sobre instantâneos que foram importados, cancelar a importação de um instantâneo e excluir ou cancelar o registro de instantâneos após a importação.
Monitorando o status de importação de instantâneos em um Snowball Edge
Para ver o estado atual do progresso da importação, você pode executar o EC2 describe-import-snapshot-tasks
comando Amazon. Esse comando é compatível com a paginação e a filtragem no task-state
.
exemplo do comando describe-import-snapshot-tasks
aws ec2 describe-import-snapshot-tasks --import-task-ids
id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
exemplo da saída do comando describe-import-snapshot-tasks
{ "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
Esse comando mostra apenas a saída de tarefas que foram concluídas com êxito ou marcadas como excluídas nos últimos sete dias. A filtragem é compatível apenas com Name=task-state
e Values=active | deleting | deleted |
completed
.
Esse comando não é compatível com os parâmetros a seguir.
[--dry-run]
[--no-dry-run]
Cancelamento de uma tarefa de importação em um Snowball Edge
Para cancelar uma tarefa de importação, execute o comando cancel-import-task
.
exemplo do comando cancel-import-task
aws ec2 cancel-import-task --import-task-id
import-task-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
exemplo da saída do comando cancel-import-task
{ "ImportTaskId": "s.import-snap-8234ef2a01cc3b0c6", "PreviousState": "active", "State": "deleting" }
nota
Somente tarefas não concluídas podem ser canceladas.
Esse comando não é compatível com os parâmetros a seguir.
[--dry-run]
[--no-dry-run]
Descrevendo instantâneos em um Snowball Edge
Após a importação de um snapshot, é possível usar esse comando para descrevê-lo. Para filtrar os snapshots, é possível transmiti-los em snapshot-ids
com o ID do snapshot da resposta da tarefa de importação anterior. Esse comando é compatível com a paginação e a filtragem em volume-id
, status
e start-time
.
exemplo do comando describe-snapshots
aws ec2 describe-snapshots --snapshot-ids
snapshot-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
exemplo da saída do comando describe-snapshots
{ "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 } ] }
Esse comando não é compatível com os parâmetros a seguir.
[--restorable-by-user-ids
value
][--dry-run]
[--no-dry-run]
Excluindo um snapshot de um dispositivo Snowball Edge
Para remover snapshots desnecessários, é possível usar o comando delete-snapshot
.
exemplo do comando delete-snapshot
aws ec2 delete-snapshot --snapshot-id
snapshot-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
nota
O Snowball Edge não é compatível com a exclusão de snapshots que estejam em estado PENDENTE ou que tenham sido designados como dispositivo raiz para uma AMI.
Esse comando não é compatível com os parâmetros a seguir.
-
[--dry-run]
-
[--no-dry-run]
Cancelando o registro de uma AMI em um Snowball Edge
Para cancelar o registro AMIs que você não precisa mais, execute o deregister-image
comando. O cancelamento do registro de uma AMI no estado Pendente não é aceito no momento.
exemplo do comando deregister-image
aws ec2 deregister-image --image-id
image-id
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Esse comando não é compatível com os parâmetros a seguir.
[--dry-run]
[--no-dry-run]