Menyalin AMI - Amazon Elastic Compute Cloud

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

Menyalin AMI

Anda dapat menyalin Gambar Mesin Amazon (AMI) di dalam atau di seluruh AWS Wilayah. Anda dapat menyalin AMI yang didukung Amazon EBS dan AMI yang didukung toko instans. Anda dapat menyalin AMI yang didukung EBS dengan snapshot terenkripsi, dan juga mengubah status enkripsi selama proses penyalinan. Anda dapat menyalin AMI yang dibagikan dengan Anda.

Menyalin AMI sumber menghasilkan AMI baru yang identik namun berbeda yang juga kami sebut sebagai AMI target. Target AMI memiliki ID AMI uniknya sendiri. Anda dapat mengubah atau membatalkan pendaftaran AMI sumber tanpa memengaruhi AMI target. Begitu juga sebaliknya.

Dengan AMI yang didukung EBS, setiap snapshot pendukungnya disalin ke snapshot target yang identik namun berbeda. Jika Anda menyalin AMI ke Wilayah baru, snapshot tersebut merupakan salinan lengkap (non-inkremental). Jika Anda mengenkripsi snapshot dukungan yang tidak dienkripsi atau mengenkripsinya ke kunci KMS baru, snapshot tersebut merupakan salinan lengkap (non-inkremental). Operasi penyalinan AMI berikutnya akan menghasilkan salinan inkremental dari snapshot cadangan.

Pertimbangan

  • Izin untuk menyalin AMI — Anda dapat menggunakan kebijakan IAM untuk memberikan atau menolak izin pengguna untuk menyalin AMI. Izin tingkat sumber daya yang ditentukan untuk tindakan CopyImage hanya berlaku untuk AMI yang baru. Anda tidak dapat menentukan izin tingkat sumber daya untuk AMI sumber.

  • Izin peluncuran dan izin bucket Amazon S3 AWS — tidak menyalin izin peluncuran atau izin bucket Amazon S3 dari sumber AMI ke AMI baru. Setelah operasi penyalinan selesai, Anda dapat menerapkan izin peluncuran dan izin bucket Amazon S3 ke AMI yang baru.

  • Tag — Anda hanya dapat menyalin tag AMI yang ditentukan pengguna yang Anda lampirkan ke sumber AMI. Tag sistem (diawali dengan aws:) dan tag yang ditentukan pengguna yang dilampirkan oleh Akun AWS lain tidak akan disalin. Saat menyalin AMI, Anda dapat melampirkan tag baru ke AMI target dan snapshot backing nya.

Biaya

Tidak ada biaya untuk menyalin AMI. Namun, tarif penyimpanan standar dan transfer data berlaku. Jika Anda menyalin AMI yang didukung oleh EBS, Anda akan dikenai biaya untuk penyimpanan snapshot EBS tambahan.

Izin IAM

Untuk menyalin AMI yang didukung EBS atau instance store-backed AMI, Anda memerlukan izin IAM berikut:

  • ec2:CopyImage— Untuk menyalin AMI. Untuk AMI yang didukung EBS, ia juga memberikan izin untuk menyalin snapshot dukungan AMI.

  • ec2:CreateTags— Untuk menandai target AMI. Untuk AMI yang didukung EBS, ia juga memberikan izin untuk menandai snapshot dukungan AMI target.

Jika Anda menyalin AMI yang didukung penyimpanan instance, Anda memerlukan izin IAM tambahan berikut:

  • s3:CreateBucket— Untuk membuat bucket S3 di Wilayah target untuk AMI baru

  • s3:GetBucketAcl— Untuk membaca izin ACL untuk bucket sumber

  • s3:ListAllMyBuckets— Untuk menemukan bucket S3 yang ada untuk AMI di Wilayah target

  • s3:GetObject— Untuk membaca objek di ember sumber

  • s3:PutObject— Untuk menulis objek di ember target

  • s3:PutObjectAcl— Untuk menulis izin untuk objek baru di bucket target

Contoh kebijakan IAM untuk menyalin AMI yang didukung EBS dan menandai AMI target dan snapshot

Contoh kebijakan berikut memberi Anda izin untuk menyalin AMI yang didukung EBS dan menandai AMI target dan snapshot dukungannya.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "PermissionToCopyAllImages", "Effect": "Allow", "Action": [ "ec2:CopyImage", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*" }] }

Contoh kebijakan IAM untuk menyalin AMI yang didukung EBS tetapi menolak menandai snapshot baru

ec2:CopySnapshotIzin secara otomatis diberikan ketika Anda mendapatkan ec2:CopyImage izin. Ini termasuk izin untuk menandai snapshot dukungan baru dari AMI target. Izin untuk menandai snapshot dukungan baru dapat ditolak secara eksplisit.

Contoh kebijakan berikut memberi Anda izin untuk menyalin AMI yang didukung EBS, tetapi menolak Anda untuk menandai snapshot dukungan baru dari AMI target.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:CopyImage", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*" }, { "Effect": "Deny", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:::snapshot/*" } ] }

Contoh kebijakan IAM untuk menyalin instance store-backed AMI dan menandai target AMI

Contoh kebijakan berikut memberi Anda izin untuk menyalin AMI instance store-backed AMI apa pun di bucket sumber yang ditentukan ke Wilayah tertentu, dan menandai AMI target.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "PermissionToCopyAllImages", "Effect": "Allow", "Action": [ "ec2:CopyImage", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*" }, { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": [ "arn:aws:s3:::*" ] }, { "Effect": "Allow", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::ami-source-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetBucketAcl", "s3:PutObjectAcl", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amis-for-account-in-region-hash" ] } ] }

Untuk mencari Amazon Resource Name (ARN) dari bucket sumber AMI, buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/, di panel navigasi pilih AMI, dan temukan nama bucket di kolom Sumber.

catatan

s3:CreateBucketIzin hanya diperlukan saat pertama kali Anda menyalin instance store-backed AMI ke Wilayah individual. Setelah itu, bucket Amazon S3 yang sudah dibuat di Wilayah tersebut akan digunakan untuk menyimpan semua AMI mendatang yang Anda salin ke Wilayah tersebut.

Menyalin AMI

Anda dapat menyalin AMI menggunakan AWS Management Console, AWS Command Line Interface atau SDK, atau Amazon EC2 API, yang semuanya mendukung CopyImage tindakan tersebut.

Console
Untuk menyalin AMI
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Dari bilah navigasi konsol, pilih Wilayah yang berisi AMI.

  3. Di panel navigasi, pilih AMI untuk menampilkan daftar AMI yang tersedia untuk Anda di Wilayah.

  4. Jika Anda tidak melihat AMI yang ingin Anda salin, pilih filter yang berbeda. Anda dapat memfilter berdasarkan AMI yang dimiliki oleh saya, Gambar pribadi, Gambar publik, dan gambar Dinonaktifkan.

  5. Pilih AMI yang akan disalin, lalu pilih Tindakan, Salin AMI.

  6. Pada halaman Salin AMI, tentukan informasi berikut:

    1. Nama salinan AMI: Nama untuk AMI baru. Anda dapat menyertakan informasi sistem operasi dalam nama karena Amazon EC2 tidak memberikan informasi ini saat menampilkan detail tentang AMI.

    2. Deskripsi salinan AMI: Secara default, deskripsi mencakup informasi tentang AMI sumber sehingga Anda dapat membedakan salinan dari aslinya. Anda dapat mengubah deskripsi ini sesuai kebutuhan.

    3. Wilayah Tujuan: Wilayah untuk menyalin AMI. Untuk informasi selengkapnya, lihat Penyalinan Lintas Wilayah.

    4. Salin tag: Pilih kotak centang ini untuk menyertakan tag AMI yang ditentukan pengguna saat menyalin AMI. Tag sistem (diawali dengan aws:) dan tag yang ditentukan pengguna yang dilampirkan oleh Akun AWS lain tidak akan disalin.

    5. (Hanya AMI yang didukung EBS) Enkripsi snapshot EBS dari salinan AMI: Pilih kotak centang ini untuk mengenkripsi snapshot target, atau untuk mengenkripsi ulang mereka menggunakan kunci yang berbeda. Jika enkripsi secara default diaktifkan, kotak centang Enkripsi snapshot EBS dari salinan AMI dipilih dan tidak dapat dihapus. Untuk informasi selengkapnya, lihat Enkripsi dan penyalinan.

    6. (Hanya AMI yang didukung EBS) Kunci KMS: Kunci KMS yang digunakan untuk mengenkripsi snapshot target.

    7. Tag: Anda dapat menandai AMI baru dan snapshot baru dengan tag yang sama, atau Anda dapat menandai mereka dengan tag yang berbeda.

      • Untuk menandai AMI baru dan snapshot baru dengan tag yang sama, pilih Tag image dan snapshot bersama-sama. Tag yang sama diterapkan ke AMI baru dan setiap snapshot yang dibuat.

      • Untuk menandai AMI baru dan snapshot baru dengan tag yang berbeda, pilih Tag image dan snapshot secara terpisah. Tag yang berbeda diterapkan ke AMI baru dan snapshot yang dibuat. Namun, perhatikan bahwa semua snapshot baru yang dibuat mendapatkan tag yang sama; Anda tidak dapat menandai setiap snapshot baru dengan tag yang berbeda.

      Untuk menambahkan tag , pilih Tambahkan tag dan masukkan kunci dan nilai tag. Ulangi hal itu untuk setiap tanda.

    8. Saat Anda siap untuk menyalin AMI, pilih Salin AMI.

      Status awal AMI baru adalah Pending. Operasi penyalinan AMI selesai saat statusnya Available.

AWS CLI
Untuk menyalin AMI menggunakan AWS CLI

Anda dapat menyalin AMI menggunakan perintah copy-image. Anda harus menentukan Wilayah sumber dan tujuan. Anda menentukan Wilayah sumber menggunakan parameter --source-region. Anda dapat menentukan Wilayah tujuan menggunakan parameter --region atau variabel lingkungan. Untuk informasi selengkapnya, lihat Mengkonfigurasi Antarmuka Baris AWS Perintah.

(Hanya AMI yang didukung EBS) Saat Anda mengenkripsi snapshot target selama penyalinan, Anda harus menentukan parameter tambahan ini: dan. --encrypted --kms-key-id

Untuk melihat contoh perintah, lihat Contoh di bawah copy-image di Referensi Perintah AWS CLI .

PowerShell
Untuk menyalin AMI menggunakan Alat untuk Windows PowerShell

Anda dapat menyalin AMI menggunakan Copy-EC2Imageperintah. Anda harus menentukan Wilayah sumber dan tujuan. Anda menentukan Wilayah sumber menggunakan parameter -SourceRegion. Anda dapat menentukan Wilayah tujuan menggunakan parameter -Region atau perintah Set-AWSDefaultRegion. Untuk informasi selengkapnya, lihat Menentukan AWS Wilayah.

(Hanya AMI yang didukung EBS) Saat Anda mengenkripsi snapshot target selama penyalinan, Anda harus menentukan parameter tambahan ini: dan. -Encrypted -KmsKeyId

Menghentikan operasi penyalinan AMI yang tertunda

Anda dapat menghentikan salinan AMI yang tertunda menggunakan AWS Management Console atau baris perintah.

Console
Untuk menghentikan operasi penyalinan AMI menggunakan konsol
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Dari bilah navigasi, pilih Wilayah tujuan dari pemilih Wilayah.

  3. Di panel navigasi, pilih AMI.

  4. Pilih AMI untuk berhenti menyalin, lalu pilih Actions, Deregister AMI.

  5. Saat diminta konfirmasi, pilih Batalkan pendaftaran AMI.

Command line
Untuk menghentikan operasi penyalinan AMI menggunakan baris perintah

Anda dapat menggunakan salah satu perintah berikut ini. Untuk informasi selengkapnya tentang antarmuka baris perintah ini, lihat Akses Amazon EC2.

Penyalinan Lintas Wilayah

Menyalin AMI di Wilayah yang berbeda secara geografis memiliki keuntungan berikut:

  • Deployment global yang konsisten: Menyalin AMI dari satu Wilayah ke Wilayah lain memungkinkan Anda meluncurkan instans yang konsisten di Wilayah yang berbeda berdasarkan AMI yang sama.

  • Skalabilitas: Anda dapat dengan lebih mudah merancang dan membangun aplikasi global yang memenuhi kebutuhan pengguna Anda, terlepas dari lokasi mereka.

  • Performa: Anda dapat meningkatkan performa dengan mendistribusikan aplikasi Anda, serta menemukan komponen penting pada aplikasi Anda dalam jarak yang lebih dekat dengan pengguna Anda. Anda juga dapat memanfaatkan fitur khusus Wilayah, seperti jenis instans atau layanan lainnya AWS .

  • Ketersediaan tinggi: Anda dapat merancang dan melakukan deploy aplikasi di berbagai Wilayah AWS , untuk meningkatkan ketersediaan.

Diagram berikut menunjukkan hubungan antara AMI sumber dan dua AMI yang disalin di Wilayah yang berbeda, serta instans EC2 yang diluncurkan dari masing-masing. Saat Anda meluncurkan instans dari sebuah AMI, instans tersebut berada di Wilayah yang sama dengan AMI berada. Jika Anda membuat perubahan pada AMI sumber dan ingin perubahan tersebut tercermin dalam AMI di Wilayah target, Anda harus menyalin ulang AMI sumber ke Wilayah target.

AMI yang disalin di Wilayah yang berbeda

Saat Anda pertama kali menyalin AMI yang didukung penyimpanan instans ke suatu Wilayah, kami membuat bucket Amazon S3 untuk AMI yang disalin ke Wilayah tersebut. Semua AMI yang didukung penyimpanan instans yang disalin ke Wilayah tersebut akan disimpan dalam bucket ini. Nama bucket memiliki format berikut: ami-untuk-akun-di-wilayah-hash. Sebagai contoh: amis-for-123456789012-in-us-east-2-yhjmxvp6.

Prasyarat

Sebelum menyalin AMI, Anda harus memastikan konten AMI sumber telah diperbarui agar dapat berjalan di Wilayah yang berbeda. Misalnya, Anda harus memperbarui setiap string koneksi basis data atau data konfigurasi aplikasi serupa untuk mengarah ke sumber daya yang sesuai. Jika tidak, instans yang diluncurkan dari AMI baru di Wilayah tujuan mungkin masih menggunakan sumber daya dari Wilayah sumber, yang dapat memengaruhi kinerja dan biaya.

Batasan
  • Wilayah Tujuan dibatasi menjadi 100 salinan AMI secara bersamaan.

  • Anda tidak dapat menyalin AMI paravirtual (PV) ke Wilayah yang tidak mendukung AMI PV. Untuk informasi selengkapnya, lihat Tipe virtualisasi AMI.

Penyalinan lintas akun

Jika AMI dari yang lain Akun AWS dibagikan dengan Anda Akun AWS, Anda dapat menyalin AMI bersama. Ini dikenal sebagai penyalinan lintas akun. AMI yang dibagikan dengan Anda adalah sumber AMI. Saat Anda menyalin sumber AMI, Anda membuat AMI baru. AMI baru sering disebut sebagai target AMI.

Biaya AMI
  • Untuk AMI bersama, akun AMI bersama dikenakan biaya untuk penyimpanan di Wilayah.

  • Jika Anda menyalin AMI yang dibagikan dengan akun Anda, Anda adalah pemilik AMI target di akun Anda.

    • Pemilik sumber AMI dikenakan biaya transfer Amazon EBS atau Amazon S3 standar.

    • Anda dikenakan biaya untuk penyimpanan AMI target di Wilayah tujuan.

Izin Sumber Daya

Untuk menyalin AMI yang dibagikan kepada Anda dari akun lain, pemilik AMI sumber harus memberi Anda izin baca untuk penyimpanan yang mendukung AMI tersebut. Penyimpanan dapat berupa snapshot EBS terkait (untuk AMI yang didukung Amazon EBS) atau bucket S3 terkait (untuk AMI yang didukung penyimpanan instans). Jika AMI bersama memiliki snapshot terenkripsi, pemilik harus membagikan kunci kepada Anda juga. Untuk informasi selengkapnya tentang pemberian izin sumber daya, untuk snapshot EBS, lihat Membagikan snapshot Amazon EBS di Panduan Pengguna Amazon EBS, dan untuk bucket S3, lihat Manajemen identitas dan akses di Amazon S3 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

catatan

Tag yang dilampirkan ke sumber AMI tidak disalin di seluruh akun ke AMI target.

Enkripsi dan penyalinan

Tabel berikut ini menunjukkan dukungan enkripsi untuk berbagai skenario penyalinan AMI. Meskipun Anda dapat menyalin snapshot yang tidak terenkripsi untuk menghasilkan snapshot yang terenkripsi, Anda tidak dapat menyalin snapshot yang terenkripsi untuk menghasilkan snapshot yang tidak terenkripsi.

Skenario Deskripsi Didukung
1 U nencrypted-to-unencrypted Ya
2 E ncrypted-to-encrypted Ya
3 U nencrypted-to-encrypted Ya
4 E ncrypted-to-unencrypted Tidak
catatan

Mengenkripsi selama tindakan CopyImage hanya berlaku pada AMI yang didukung Amazon EBS. Karena AMI yang didukung penyimpanan instans tidak bergantung pada snapshot, Anda tidak dapat menggunakan penyalinan untuk mengubah status enkripsinya.

Secara default (yaitu, tanpa menentukan parameter enkripsi), snapshot AMI cadangan disalin dengan status enkripsi asalnya. Menyalin AMI yang didukung oleh snapshot yang tidak dienkripsi menghasilkan snapshot target identik yang juga tidak dienkripsi. Jika AMI sumber didukung oleh snapshot terenkripsi, menyalinnya menghasilkan snapshot target identik yang dienkripsi oleh kunci yang sama. AWS KMS Menyalin AMI yang didukung oleh beberapa snapshot akan menyimpan, secara default, status enkripsi sumber di setiap snapshot target.

Jika Anda menentukan parameter enkripsi saat menyalin AMI, Anda dapat mengenkripsi atau mengenkripsi ulang snapshot cadangannya. Contoh berikut ini menunjukkan kasus non-default yang memasok parameter enkripsi ke tindakan CopyImage untuk mengubah status enkripsi AMI target.

Menyalin AMI sumber yang tidak terenkripsi ke AMI target yang dienkripsi

Dalam skenario ini, AMI yang didukung oleh snapshot root yang tidak dienkripsi disalin ke AMI dengan snapshot root yang dienkripsi. Tindakan CopyImage diinvokasi dengan dua parameter enkripsi, termasuk kunci yang dikelola konsumen. Hasilnya, status enkripsi root snapshot berubah sehingga AMI target didukung oleh snapshot root yang berisi data yang sama dengan snapshot sumber, tetapi dienkripsi menggunakan kunci yang ditentukan. Anda mengeluarkan biaya penyimpanan untuk snapshot di kedua AMI, serta biaya untuk setiap instans yang Anda luncurkan dari AMI mana pun.

catatan

Mengaktifkan enkripsi secara default memiliki efek yang sama seperti mengatur Encrypted parameter true untuk semua snapshot di AMI.

Menyalin AMI dan mengenkripsi snapshot sambil berjalan

Mengatur parameter Encrypted akan mengenkripsi snapshot tunggal untuk instans ini. Jika Anda tidak menentukan parameter KmsKeyId, kunci yang dikelola konsumen default akan digunakan untuk mengenkripsi salinan snapshot.

Untuk informasi selengkapnya tentang penyalinan AMI dengan snapshot terenkripsi, lihat Menggunakan enkripsi dengan AMI yang didukung EBS.