Mengimpor gambar mesin virtual ke perangkat Snowball Edge - 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 Snowball Edge

Anda dapat menggunakan AWS CLI dan layanan Impor/Ekspor VM untuk mengimpor gambar mesin virtual (VM) ke perangkat Snowball Edge sebagai Amazon Machine Image (AMI). Setelah mengimpor gambar VM, daftarkan gambar sebagai AMI dan luncurkan sebagai instance yang kompatibel dengan Amazon EC2.

Anda dapat menambahkan AMIs dari Amazon EC2 ke perangkat saat membuat pekerjaan untuk memesan perangkat Snowball Edge. Gunakan prosedur ini setelah Anda menerima perangkat Snowball Edge. 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 AMI yang kompatibel dengan Amazon dalam panduan ini.

Langkah 1: Siapkan gambar VM dan unggah ke perangkat Snowball Edge

Siapkan gambar VM dengan mengekspor gambar VM dari Amazon EC2 AMI atau instance AWS Cloud menggunakan VM Impor/Ekspor 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 VM, Import/Export User Guide. To export an Amazon EC2 AMI as a VM image using VM Import/Export lihat Mengekspor VM langsung dari Gambar Mesin Amazon (AMI) di Panduan Pengguna Impor/Ekspor VM.

Jika membuat gambar VM dari lingkungan lokal Anda, pastikan gambar dikonfigurasi untuk digunakan sebagai AMI di perangkat Snowball Edge. 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 publik SSH, 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 Snowball Edge.

catatan

Waspadai batasan berikut saat menyiapkan snapshot disk untuk perangkat Snowball Edge.

  • Snowball Edge saat ini hanya mendukung pengimporan snapshot yang ada dalam format gambar RAW.

  • Snowball Edge saat ini hanya mendukung impor snapshot dengan ukuran dari 1 GB hingga 1 TB.

Mengunggah gambar VM ke bucket Amazon S3 di perangkat Snowball Edge

Setelah menyiapkan gambar VM, unggah ke bucket S3 di perangkat atau cluster Snowball Edge. Anda dapat menggunakan adaptor S3 atau penyimpanan yang kompatibel dengan Amazon S3 di Snowball Edge 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 Snowball Edge
  • 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 --endpoint-url s3api-endpoint-ip --profile your-profile

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

Langkah 2: Siapkan izin yang diperlukan di Snowball Edge

Agar impor berhasil, Anda harus mengatur izin untuk Impor/Ekspor VM di perangkat Snowball Edge, Amazon EC2, dan pengguna.

catatan

Peran dan kebijakan layanan yang memberikan izin ini terletak di perangkat Snowball Edge.

Izin diperlukan untuk Impor/Ekspor VM di Snowball Edge

Sebelum memulai proses impor, Anda harus membuat peran IAM dengan kebijakan kepercayaan yang memungkinkan VM Import/Export on the Snowball Edge device to assume the role. Additional permissions are given to the role to allow VM Import/Export di perangkat mengakses gambar yang disimpan di bucket S3 di 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 --endpoint http://snowball-ip:6078 --region snow --profile profile-name

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 tersebut

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, snow-id ubah 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 --endpoint http://snowball-ip:6078 --region snow --profile profile-name

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 --endpoint http://snowball-ip:6078 --region snow --profile profile-name

Izin yang diperlukan oleh penelepon di Snowball Edge

Selain peran untuk VM Import/Export Snowball Edge untuk memulai, Anda juga harus memastikan bahwa pengguna memiliki izin yang mengizinkannya untuk meneruskan peran ke 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 izin IAM berikut ke pengguna yang melakukan impor.

  • pass-role

  • get-role

Buat kebijakan untuk peran tersebut

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

{ "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 --endpoint http://snowball-ip:6078 --region snow --profile profile-name

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 pengguna IAM yang akan memanggil operasi Amazon EC2 API atau CLI untuk mengimpor snapshot.

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

Izin Diperlukan untuk memanggil Amazon EC2 APIs di Snowball Edge

Untuk mengimpor snapshot, pengguna IAM harus memiliki izin ec2:ImportSnapshot. 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 --endpoint http://snowball-ip:6078 --region snow --profile profile-name

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 pengguna IAM yang akan memanggil operasi Amazon EC2 API atau CLI untuk mengimpor snapshot.

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

Langkah 3: Impor gambar VM sebagai snapshot di Snowball Edge

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}" --endpoint http://snowball-ip:8008 --region snow --profile profile-name

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

Snowball Edge 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 Snowball Edge 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 --endpoint http://snowball-ip:8008 --region snow --profile profile-name

Langkah 4: Daftarkan snapshot sebagai AMI di Snowball Edge

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 \ --endpoint http://snowball-ip:8008 \ --region snow \ --profile profile-name

Berikut ini adalah contoh pemetaan perangkat blok JSON. 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 di Snowball Edge

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 --endpoint http://snowball-ip:8008 --region snow --profile profile-name
{ "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.

Tindakan AMI tambahan untuk Snowball Edge

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 di Snowball Edge

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 --endpoint http://snowball-ip:8008 --region snow --profile profile-name
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 Snowball Edge

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 --endpoint http://snowball-ip:8008 --region snow --profile profile-name
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]

Menggambarkan snapshot di Snowball Edge

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 --endpoint http://snowball-ip:8008 --region snow --profile profile-name
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 Snowball Edge

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 --endpoint http://snowball-ip:8008 --region snow --profile profile-name
catatan

Snowball Edge tidak mendukung menghapus snapshot yang berada dalam status TERTUNDA atau jika ditetapkan sebagai perangkat root untuk AMI.

Perintah ini tidak mendukung parameter berikut.

  • [--dry-run]

  • [--no-dry-run]

Membatalkan pendaftaran AMI di Snowball Edge

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 --endpoint http://snowball-ip:8008 --region snow --profile profile-name

Perintah ini tidak mendukung parameter berikut.

  • [--dry-run]

  • [--no-dry-run]