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 instans yang kompatibel dengan Amazon EC2.
Anda dapat menambahkan AMI 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 Langkah 2: Pilih opsi komputasi dan penyimpanan Anda.
Anda juga dapat menggunakan AWS OpsHub untuk mengunggah file gambar VM. Untuk informasi selengkapnya, lihat Mengimpor gambar ke perangkat Anda sebagai AMI yang kompatibel dengan Amazon EC2 dalam panduan ini.
Topik
Langkah 1: Siapkan gambar VM dan unggah ke perangkat Keluarga Salju
Siapkan gambar VM dengan mengekspor gambar VM dari Amazon EC2 AMI atau instance dalam AWS Cloud menggunakan VM Import/Export atau dengan membuat image VM secara lokal menggunakan platform virtualisasi pilihan Anda.
Untuk mengekspor instans Amazon EC2 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 gambar VM menggunakan Impor/Ekspor VM, 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 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 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 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 gambar RAW.
-
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
--profileprofile-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
--keypath-to-snapshot-file
--bodysnapshot-file
--profileyour-profile
--endpoint-urls3api-endpoint-ip
Untuk informasi selengkapnya, lihat Bekerja dengan objek S3 pada perangkat Snowball Edge.
Langkah 2: Siapkan izin yang diperlukan
Agar impor berhasil, Anda harus menyiapkan izin untuk Impor/Ekspor VM di perangkat Keluarga Salju, Amazon EC2, dan pengguna.
catatan
Peran layanan dan kebijakan yang menyediakan izin ini terletak di perangkat Snow Family.
Izin diperlukan untuk Impor/Ekspor VM
Sebelum Anda dapat memulai proses impor, Anda harus membuat peran IAM 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
--profileprofile-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
--profileprofile-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
--profileprofile-name
--endpoint http://snowball-ip
:6078 --region snow
Izin yang diperlukan oleh penelepon
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
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
--profileprofile-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 dihasilkan, lampirkan kebijakan untuk pengguna IAM yang akan memanggil API Amazon EC2 atau operasi CLI untuk mengimpor 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
Izin Diperlukan untuk memanggil API Amazon EC2 di perangkat Anda
Untuk mengimpor snapshot, pengguna IAM harus memiliki izin ec2:ImportSnapshot
. Jika membatasi akses ke pengguna tidak diperlukan, Anda dapat menggunakan izin ec2:*
untuk memberikan akses penuh Amazon EC2. Berikut ini adalah izin yang dapat diberikan atau dibatasi untuk Amazon EC2 pada 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
--profileprofile-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 dihasilkan, lampirkan kebijakan untuk pengguna IAM yang akan memanggil API Amazon EC2 atau operasi CLI untuk mengimpor 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
Langkah 3: Impor gambar VM sebagai snapshot pada perangkat
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
}" --profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Untuk informasi selengkapnya, lihat import-snapshot
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
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Langkah 4: Daftarkan snapshot sebagai AMI
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
contoh dari register-image
perintah
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
Berikut ini adalah contoh pemetaan perangkat blok JSON. Untuk informasi selengkapnya, lihat block-device-mapping parameter register-image
[ { "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
Untuk meluncurkan instance, lihat run-instance
Nilai image-id
parameter adalah nilai ImageId
nama sebagai output dari register-image
perintah.
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" }
catatan
Anda juga dapat menggunakan AWS OpsHub untuk meluncurkan instance. Untuk informasi selengkapnya, lihat Meluncurkan instans yang kompatibel dengan Amazon EC2 dalam panduan ini.
Tindakan AMI tambahan
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
Untuk melihat status kemajuan impor saat ini, Anda dapat menjalankan perintah describe-import-snapshot-tasks
Amazon EC2. 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
--profileprofile-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
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
--profileprofile-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]
Menggambarkan snapshot
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
--profileprofile-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
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
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
Untuk membatalkan pendaftaran AMI 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
--profileprofile-name
--endpoint http://snowball-ip
:8008 --region snow
Perintah ini tidak mendukung parameter berikut.
[--dry-run]
[--no-dry-run]