Mengimpor gambar mesin virtual ke perangkat Keluarga Salju - AWS Snowball Edge Panduan Pengembang

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengimpor gambar mesin virtual ke perangkat Keluarga Salju

Anda dapat menggunakan AWS CLI dan layanan Impor/Ekspor VM untuk mengimpor gambar mesin virtual (VM) ke perangkat Keluarga Salju sebagai Gambar Mesin Amazon (). AMI Setelah mengimpor gambar VM, daftarkan gambar sebagai AMI dan luncurkan sebagai instance yang kompatibel dengan AmazonEC2.

Anda dapat menambahkan AMIs dari Amazon EC2 ke perangkat saat membuat pekerjaan untuk memesan perangkat Keluarga Salju. Gunakan prosedur ini setelah Anda menerima perangkat Keluarga Salju. Untuk informasi selengkapnya, lihat Memilih opsi komputasi dan penyimpanan.

Anda juga dapat menggunakan AWS OpsHub untuk mengunggah file gambar VM. Untuk informasi selengkapnya, lihat Mengimpor gambar ke perangkat Anda sebagai EC2 kompatibel dengan Amazon AMI dalam panduan ini.

Langkah 1: Siapkan gambar VM dan unggah ke perangkat Keluarga Salju

Siapkan gambar VM dengan mengekspor gambar VM dari Amazon EC2 AMI atau instance AWS Cloud menggunakan VM Import/Export atau dengan membuat gambar VM secara lokal menggunakan platform virtualisasi pilihan Anda.

Untuk mengekspor EC2 instans Amazon sebagai image VM menggunakan Impor/Ekspor VM, lihat Mengekspor instance sebagai VM menggunakan Impor/Ekspor VM di Panduan Pengguna Impor/Ekspor VM. Untuk mengekspor Amazon EC2 AMI sebagai image VM menggunakan Impor/Ekspor VM, lihat Mengekspor VM langsung dari Amazon Machine Image AMI () di Panduan Pengguna Impor/Ekspor VM.

Jika membuat gambar VM dari lingkungan lokal Anda, pastikan gambar dikonfigurasi untuk digunakan sebagai AMI pada perangkat Keluarga Salju. Anda mungkin perlu mengonfigurasi item berikut, tergantung pada lingkungan Anda.

  • Konfigurasikan dan perbarui sistem operasi.

  • Tetapkan nama host.

  • Pastikan protokol waktu jaringan (NTP) dikonfigurasi.

  • Sertakan kunci SSH publik, jika perlu. Buat salinan lokal dari pasangan kunci. Untuk informasi selengkapnya, lihat Menggunakan SSH untuk Connect ke Instans Komputasi Anda di Snowball Edge.

  • Instal dan konfigurasikan perangkat lunak apa pun yang akan Anda gunakan pada perangkat Keluarga Salju.

catatan

Waspadai batasan berikut saat menyiapkan snapshot disk untuk perangkat Keluarga Salju.

  • Perangkat Snow Family saat ini hanya mendukung pengimporan snapshot yang ada dalam format RAW gambar.

  • Perangkat Snow Family saat ini hanya mendukung pengimporan snapshot dengan ukuran dari 1 GB hingga 1 TB.

Mengunggah gambar VM ke bucket Amazon S3 di perangkat Snow Family

Setelah menyiapkan gambar VM, unggah ke bucket S3 di perangkat atau cluster Snow Family. Anda dapat menggunakan adaptor S3 atau penyimpanan yang kompatibel dengan Amazon S3 di perangkat Snow Family untuk mengunggah snapshot.

Untuk mengunggah gambar mesin virtual menggunakan adaptor S3
  • Gunakan cp perintah untuk menyalin file gambar VM ke ember di perangkat.

    aws s3 cp image-path s3://S3-bucket-name --endpoint http://S3-object-API-endpoint:443 --profile profile-name

    Untuk informasi selengkapnya, lihat AWS CLI Perintah yang didukung dalam panduan ini.

Untuk mengunggah gambar VM menggunakan penyimpanan yang kompatibel dengan Amazon S3 di perangkat Snow Family
  • Gunakan put-object perintah untuk menyalin file snapshot ke ember di perangkat.

    aws s3api put-object --bucket bucket-name --key path-to-snapshot-file --body snapshot-file --profile your-profile --endpoint-url s3api-endpoint-ip

    Untuk informasi selengkapnya, lihat Bekerja dengan objek S3 pada perangkat Snowball Edge.

Langkah 2: Siapkan izin yang diperlukan pada perangkat Keluarga Salju

Agar impor berhasil, Anda harus mengatur izin untuk Impor/Ekspor VM di perangkat Keluarga Salju, AmazonEC2, dan pengguna.

catatan

Peran layanan dan kebijakan yang menyediakan izin ini terletak di perangkat Snow Family.

Izin diperlukan untuk Impor/Ekspor VM di perangkat Keluarga Salju

Sebelum Anda dapat memulai proses impor, Anda harus membuat IAM peran dengan kebijakan kepercayaan yang memungkinkan VM Impor/Ekspor pada perangkat Keluarga Salju untuk mengambil peran tersebut. Izin tambahan diberikan ke peran untuk memungkinkan Impor/Ekspor VM pada perangkat mengakses gambar yang disimpan dalam ember S3 pada perangkat.

Buat file json kebijakan kepercayaan

Berikut ini adalah contoh kebijakan kepercayaan yang diperlukan untuk dilampirkan pada peran sehingga VM Import/Export dapat mengakses snapshot yang perlu diimpor dari bucket S3.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"vmie.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }

Buat peran dengan file json kebijakan kepercayaan

Nama peran dapat berupa vmimport. Anda dapat mengubahnya dengan menggunakan opsi --role-name dalam perintah:

aws iam create-role --role-name role-name --assume-role-policy-document file:///trust-policy-json-path --profile profile-name --endpoint http://snowball-ip:6078 --region snow

Berikut ini adalah output contoh dari perintah 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" } }

Buat kebijakan untuk peran

Contoh kebijakan berikut memiliki izin minimum yang diperlukan untuk mengakses Amazon S3. Ubah nama bucket Amazon S3 menjadi nama yang memiliki gambar Anda. Untuk perangkat Snowball Edge mandiri, ubah snow-id ke ID pekerjaan Anda. Untuk sekelompok perangkat, ubah snow-id ke ID cluster. Anda juga dapat menggunakan awalan untuk lebih mempersempit lokasi tempat VM Import/Export dapat mengimpor snapshot. Buat file json kebijakan seperti ini.

{ "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/*" ] } ] }

Buat kebijakan dengan file kebijakan:

aws iam create-policy --policy-name policy-name --policy-document file:///policy-json-file-path --profile profile-name --endpoint http://snowball-ip:6078 --region snow

Berikut ini adalah contoh output dari perintah 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" } }

Lampirkan kebijakan ke peran

Lampirkan kebijakan ke peran sebelumnya dan berikan izin untuk mengakses sumber daya yang diperlukan. Hal ini mengizinkan layanan VM Import/Export lokal untuk mengunduh snapshot dari Amazon S3 pada perangkat.

aws iam attach-role-policy --role-name role-name --policy-arn arn:aws:iam::123456789012:policy/policy-name --profile profile-name --endpoint http://snowball-ip:6078 --region snow

Izin yang diperlukan oleh penelepon pada perangkat Keluarga Salju

Selain peran untuk diasumsikan oleh Snowball Edge VM Impor/Export, Anda juga harus memastikan bahwa pengguna memiliki izin yang memungkinkan mereka untuk meneruskan peran tersebut. VMIE Jika Anda menggunakan pengguna root default untuk melakukan impor, pengguna root sudah memiliki semua izin yang diperlukan, sehingga Anda dapat melewati langkah ini, dan melanjutkan ke langkah 3.

Lampirkan dua IAM izin berikut ke pengguna yang melakukan impor.

  • pass-role

  • get-role

Buat kebijakan untuk peran

Berikut ini adalah contoh kebijakan yang memungkinkan pengguna untuk melakukan get-role dan pass-role tindakan untuk IAM peran tersebut.

{ "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" } } } ] }

Buat kebijakan dengan file kebijakan:

aws iam create-policy --policy-name policy-name --policy-document file:///policy-json-file-path --profile profile-name --endpoint http://snowball-ip:6078 --region snow

Berikut ini adalah contoh output dari perintah 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" } }

Setelah kebijakan dibuat, lampirkan kebijakan ke IAM pengguna yang akan memanggil Amazon EC2 API atau CLI operasi untuk mengimpor snapshot.

aws iam attach-user-policy --user-name your-user-name --policy-arn arn:aws:iam::123456789012:policy/policy-name --profile profile-name --endpoint http://snowball-ip:6078 --region snow

Izin Diperlukan untuk memanggil Amazon EC2 APIs di perangkat Keluarga Salju

Untuk mengimpor snapshot, IAM pengguna harus memiliki ec2:ImportSnapshot izin. Jika membatasi akses ke pengguna tidak diperlukan, Anda dapat menggunakan ec2:* izin untuk memberikan akses Amazon EC2 penuh. Berikut ini adalah izin yang dapat diberikan atau dibatasi untuk Amazon EC2 di perangkat Anda. Buat file kebijakan dengan konten yang ditampilkan:

{ "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":"*" } ] }

Buat kebijakan dengan file kebijakan:

aws iam create-policy --policy-name policy-name --policy-document file:///policy-json-file-path --profile profile-name --endpoint http://snowball-ip:6078 --region snow

Berikut ini adalah contoh output dari perintah 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" } }

Setelah kebijakan dibuat, lampirkan kebijakan ke IAM pengguna yang akan memanggil Amazon EC2 API atau CLI operasi untuk mengimpor snapshot.

aws iam attach-user-policy --user-name your-user-name --policy-arn arn:aws:iam::123456789012:policy/policy-name --profile profile-name --endpoint http://snowball-ip:6078 --region snow

Langkah 3: Impor gambar VM sebagai snapshot pada perangkat Keluarga Salju

Langkah selanjutnya adalah mengimpor gambar VM sebagai snapshot pada perangkat. Nilai S3Bucket parameter adalah nama bucket yang berisi gambar VM. Nilai S3Key parameter adalah jalur ke file gambar VM di bucket ini.

aws ec2 import-snapshot --disk-container "Format=RAW,UserBucket={S3Bucket=bucket-name,S3Key=image-file}" --profile profile-name --endpoint http://snowball-ip:8008 --region snow

Untuk informasi selengkapnya, lihat import-snapshot di Referensi Perintah. AWS CLI

Perintah ini tidak mendukung switch berikut.

  • [--client-data value]

  • [--client-token value]

  • [--dry-run]

  • [--no-dry-run]

  • [--encrypted]

  • [--no-encrypted]

  • [--kms-key-id value]

  • [--tag-specifications value]

contoh output dari import-snapshot perintah
{ "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" } } }
catatan

Perangkat Snow Family saat ini hanya mengizinkan satu pekerjaan impor aktif berjalan pada satu waktu, per perangkat. Untuk memulai tugas impor baru, sebaiknya menunggu untuk tugas saat ini agar selesai, atau memilih simpul lain yang tersedia dalam sebuah klaster. Anda juga dapat memilih untuk membatalkan impor saat ini jika Anda mau. Untuk mencegah penundaan, jangan reboot perangkat Keluarga Salju saat impor sedang berlangsung. Jika anda reboot perangkat, impor akan gagal, dan kemajuan akan dihapus apabila peranngkat menjadi mudah diakses. Untuk memeriksa status dari status tugas impor snapshot Anda, gunakan perintah berikut:

aws ec2 describe-import-snapshot-tasks --import-task-ids id --profile profile-name --endpoint http://snowball-ip:8008 --region snow

Langkah 4: Daftarkan snapshot sebagai AMI pada perangkat Keluarga Salju

Ketika pengimporan snapshot ke perangkat berhasil, Anda dapat mendaftarkannya menggunakan perintah register-image.

catatan

Anda hanya dapat mendaftarkan AMI ketika semua snapshot-nya tersedia.

Untuk informasi selengkapnya, lihat register-image di Command Reference. AWS CLI

contoh dari register-image perintah
aws ec2 register-image \ --name ami-01 \ --description my-ami-01 \ --block-device-mappings "[{\"DeviceName\": \"/dev/sda1\",\"Ebs\":{\"Encrypted\":false,\"DeleteOnTermination\":true,\"SnapshotId\":\"snapshot-id\",\"VolumeSize\":30}}]" \ --root-device-name /dev/sda1 \ --profile profile-name \ --endpoint http://snowball-ip:8008 \ --region snow

Berikut ini adalah contoh pemetaan JSON perangkat blok. Untuk informasi selengkapnya, lihat block-device-mapping parameter register-image di Command Reference. AWS CLI

[ { "DeviceName": "/dev/sda", "Ebs": { "Encrypted": false, "DeleteOnTermination": true, "SnapshotId": "snapshot-id", "VolumeSize": 30 } } ]
contoh dari register-image perintah
{ "ImageId": "s.ami-8de47d2e397937318" }

Langkah 5: Luncurkan instance dari AMI perangkat Snow Family

Untuk meluncurkan instance, lihat run-instance di Command Reference. AWS CLI

Nilai image-id parameter adalah nilai ImageId nama sebagai output dari register-image perintah.

aws ec2 run-instances --image-id image-id --instance-type instance-type --profile profile-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" }
catatan

Anda juga dapat menggunakan AWS OpsHub untuk meluncurkan instance. Untuk informasi selengkapnya, lihat Meluncurkan instance EC2 yang kompatibel dengan Amazon dalam panduan ini.

AMITindakan tambahan untuk perangkat Keluarga Salju

Anda dapat menggunakan AWS CLI perintah tambahan untuk memantau status impor snapshot, mendapatkan detail tentang snapshot yang telah diimpor, membatalkan impor snapshot, dan menghapus atau membatalkan pendaftaran snapshot setelah diimpor.

Memantau status impor snapshot pada perangkat Keluarga Salju

Untuk melihat status kemajuan impor saat ini, Anda dapat menjalankan EC2 describe-import-snapshot-tasks perintah Amazon. Perintah ini mendukung pagination dan filtering pada file. task-state

contoh dari describe-import-snapshot-tasks perintah
aws ec2 describe-import-snapshot-tasks --import-task-ids id --profile profile-name --endpoint http://snowball-ip:8008 --region snow
contoh dari output describe-import-snapshot-tasks perintah
{ "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" } } } ] }
catatan

Perintah ini hanya menampilkan output untuk tugas yang telah berhasil diselesaikan atau ditandai sebagai dihapus dalam 7 hari terakhir. Filter hanya mendukung Name=task-state, Values=active | deleting | deleted | completed

Perintah ini tidak mendukung parameter berikut.

  • [--dry-run]

  • [--no-dry-run]

Membatalkan tugas impor di perangkat Keluarga Salju

Untuk membatalkan tugas impor, jalankan perintah cancel-import-task.

contoh dari cancel-import-task perintah
aws ec2 cancel-import-task --import-task-id import-task-id --profile profile-name --endpoint http://snowball-ip:8008 --region snow
contoh dari output cancel-import-task perintah
{ "ImportTaskId": "s.import-snap-8234ef2a01cc3b0c6", "PreviousState": "active", "State": "deleting" }
catatan

Hanya tugas yang tidak dalam status selesai dapat dibatalkan.

Perintah ini tidak mendukung parameter berikut.

  • [--dry-run]

  • [--no-dry-run]

Menjelaskan snapshot pada perangkat Keluarga Salju

Setelah snapshot diimpor, Anda dapat menggunakan perintah ini untuk menjelaskannya. Untuk melakukan filter snapshot, Anda dapat meneruskan snapshot-ids dengan ID snapshot dari respons tugas impor sebelumnya. Perintah ini mendukung pagination dan filter padavolume-id,status, danstart-time.

contoh dari describe-snapshots perintah
aws ec2 describe-snapshots --snapshot-ids snapshot-id --profile profile-name --endpoint http://snowball-ip:8008 --region snow
contoh dari output describe-snapshots perintah
{ "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 } ] }

Perintah ini tidak mendukung parameter berikut.

  • [--restorable-by-user-ids value]

  • [--dry-run]

  • [--no-dry-run]

Menghapus snapshot dari perangkat Keluarga Salju

Untuk menghapus snapshot yang Anda miliki dan tidak Anda butuhkan lagi, Anda dapat menggunakan perintah delete-snapshot.

contoh dari delete-snapshot perintah
aws ec2 delete-snapshot --snapshot-id snapshot-id --profile profile-name --endpoint http://snowball-ip:8008 --region snow
catatan

Snowball Edge tidak mendukung penghapusan snapshot yang berada dalam PENDINGkeadaan atau jika ditetapkan sebagai perangkat root untuk file. AMI

Perintah ini tidak mendukung parameter berikut.

  • [--dry-run]

  • [--no-dry-run]

Membatalkan pendaftaran AMI pada perangkat Keluarga Salju

Untuk membatalkan pendaftaran AMIs yang tidak lagi Anda butuhkan, Anda dapat menjalankan perintah. deregister-image Membatalkan pendaftaran AMI yang berada dalam status Tertunda saat ini tidak didukung.

contoh dari deregister-image perintah
aws ec2 deregister-image --image-id image-id --profile profile-name --endpoint http://snowball-ip:8008 --region snow

Perintah ini tidak mendukung parameter berikut.

  • [--dry-run]

  • [--no-dry-run]