Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat dan memperbarui konfigurasi distribusi AMI
Bagian ini mencakup pembuatan dan pembaruan konfigurasi distribusi untuk Image Builder AMI.
Prasyarat untuk parameter keluaran SSM
Sebelum Anda membuat konfigurasi distribusi AMI baru yang menetapkan AWS Systems Manager parameter Parameter Store (parameter SSM), pastikan Anda telah memenuhi prasyarat berikut.
- Peran eksekusi
-
Saat membuat pipeline atau menggunakan perintah create-image di dalamnya AWS CLI, Anda hanya dapat menentukan satu peran eksekusi Image Builder. Jika Anda telah menentukan peran eksekusi alur kerja Image Builder, Anda akan menambahkan izin fitur tambahan apa pun ke peran tersebut. Jika tidak, Anda akan membuat peran kustom baru yang menyertakan izin yang diperlukan.
-
Untuk menyimpan ID AMI keluaran dalam parameter SSM selama distribusi, Anda harus menentukan ssm:PutParameter
tindakan dalam peran eksekusi Image Builder, dengan parameter yang tercantum sebagai sumber daya.
-
Saat Anda menyetel tipe data parameter AWS EC2 Image
ke sinyal Systems Manager untuk memvalidasi nilai parameter sebagai ID AMI, Anda juga harus menambahkan ec2:DescribeImages
tindakan.
Buat konfigurasi distribusi AMI
Konfigurasi distribusi mencakup nama AMI keluaran, pengaturan Wilayah khusus untuk enkripsi, izin peluncuran, dan, organisasi Akun AWS, dan unit organisasi (OUs) yang dapat meluncurkan AMI keluaran, dan konfigurasi lisensi.
Konfigurasi distribusi memungkinkan Anda menentukan nama dan deskripsi AMI keluaran Anda, mengotorisasi pihak lain Akun AWS untuk meluncurkan AMI, menyalin AMI ke akun lain, dan mereplikasi AMI ke Wilayah lain AWS . Ini juga memungkinkan Anda untuk mengekspor AMI ke Amazon Simple Storage Service (Amazon S3), atau EC2 mengkonfigurasi Fast Launch untuk output Windows. AMIs Untuk membuat publik AMI, atur akun terotorisasi izin peluncuran ke all
. Lihat contoh untuk membuat AMI publik di EC2 ModifyImageAttribute.
- Console
-
Ikuti langkah-langkah berikut untuk membuat konfigurasi distribusi AMI baru di AWS Management Console:
-
Buka konsol EC2 Image Builder di https://console.aws.amazon.com/imagebuilder/.
-
Pilih Pengaturan distribusi dari panel navigasi. Ini menunjukkan daftar konfigurasi distribusi yang dibuat di bawah akun Anda.
-
Pilih Buat pengaturan distribusi di dekat bagian atas panel Pengaturan distribusi.
-
Di bagian Jenis gambar, pilih jenis keluaran Amazon Machine Image (AMI).
-
Di bagian Umum, masukkan Nama untuk konfigurasi distribusi Anda, dan deskripsi opsional.
-
Di bagian Pengaturan Wilayah, masukkan detail berikut untuk setiap Wilayah tempat Anda mendistribusikan AMI Anda:
-
AMI didistribusikan ke Wilayah saat ini (Wilayah 1), secara default. Wilayah 1 adalah sumber distribusi. Beberapa pengaturan untuk Wilayah 1 tidak terbuka untuk diedit. Untuk setiap Wilayah yang Anda tambahkan, Anda dapat memilih Region dari daftar dropdown Region.
Kunci Kms mengidentifikasi AWS KMS key yang digunakan untuk mengenkripsi volume EBS untuk gambar Anda di Wilayah target. Penting untuk dicatat bahwa ini tidak berlaku untuk AMI asli yang dibuat build di bawah akun Anda di Wilayah sumber (Wilayah 1). Enkripsi yang berjalan selama fase distribusi build hanya untuk gambar yang didistribusikan ke akun atau Wilayah lain.
Untuk mengenkripsi volume EBS untuk AMI yang dibuat di Wilayah sumber untuk akun Anda, Anda harus menyetel kunci KMS di pemetaan perangkat blok resep gambar (Penyimpanan (volume) di konsol).
Image Builder menyalin AMI ke akun Target yang Anda tentukan untuk Wilayah tersebut.
Nama Output AMI adalah opsional. Jika Anda memberikan nama, nama AMI keluaran akhir menyertakan stempel waktu yang ditambahkan saat AMI dibuat. Jika Anda tidak menentukan nama, Image Builder akan menambahkan stempel waktu build ke nama resep. Ini memastikan nama AMI unik untuk setiap build.
-
Dengan berbagi AMI, Anda dapat memberikan akses untuk AWS Prinsipal tertentu untuk meluncurkan instans dari AMI Anda. Jika Anda memperluas bagian berbagi AMI, Anda dapat memasukkan detail berikut:
-
Buka izin — Pilih Pribadi jika Anda ingin menjaga AMI tetap pribadi, dan izinkan akses untuk AWS Prinsipal tertentu untuk meluncurkan instance dari AMI pribadi Anda. Pilih Publik jika Anda ingin membuat AMI Anda publik. Setiap AWS Principal dapat meluncurkan instance dari AMI publik Anda.
-
Prinsipal — Anda dapat memberikan akses untuk jenis AWS Prinsipal berikut untuk meluncurkan instance:
-
AWS akun — Berikan akses ke AWS akun tertentu
-
Unit Organisasi (OU) — Memberikan akses ke OU, dan semua entitas anaknya. Entitas anak termasuk OUs dan AWS akun.
-
Organisasi — Berikan akses ke Anda AWS Organizations, dan semua entitas anaknya. Entitas anak termasuk OUs dan AWS akun.
Pertama, pilih tipe Principal. Kemudian masukkan ID untuk AWS Principal yang ingin Anda berikan akses di kotak di sebelah kanan daftar drop-down. Anda dapat memasukkan beberapa IDs jenis yang berbeda.
-
Anda dapat memperluas bagian konfigurasi Lisensi untuk melampirkan konfigurasi lisensi yang dibuat dengan AWS License Manager gambar Image Builder Anda. Konfigurasi lisensi berisi aturan lisensi berdasarkan ketentuan perjanjian perusahaan Anda. Image Builder secara otomatis menyertakan konfigurasi lisensi yang dikaitkan dengan AMI dasar Anda.
-
Anda dapat memperluas bagian konfigurasi Template Luncurkan untuk menentukan template EC2 peluncuran yang akan digunakan untuk meluncurkan instance dari AMI yang Anda buat.
Jika Anda menggunakan template EC2 peluncuran, Anda dapat menginstruksikan Image Builder untuk membuat versi baru template peluncuran yang menyertakan ID AMI terbaru setelah build selesai. Untuk memperbarui template peluncuran, konfigurasikan pengaturan sebagai berikut:
-
Luncurkan nama template - Pilih nama template peluncuran yang ingin Anda perbarui Image Builder.
-
Setel versi default - Pilih kotak centang ini untuk memperbarui versi default template peluncuran ke versi baru.
Untuk menambahkan konfigurasi template peluncuran lainnya, pilih Tambahkan konfigurasi templat peluncuran. Anda dapat memiliki hingga lima konfigurasi template peluncuran per Wilayah.
-
Anda dapat memperluas bagian konfigurasi parameter SSM untuk mengonfigurasi parameter SSM yang akan menyimpan ID AMI keluaran untuk gambar yang didistribusikan ke Wilayah tujuan. Anda dapat secara opsional menentukan akun distribusi di Wilayah.
Nama parameter — Masukkan nama untuk parameter Anda. Sebagai contoh, /output/image/param
.
Tipe data - Pertahankan nilai default (AWS EC2 Image
). Ini memberitahu Systems Manager untuk memvalidasi nilai parameter untuk memastikan bahwa itu adalah ID AMI yang valid.
-
Untuk menambahkan setelan distribusi untuk Wilayah lain, pilih Tambah Wilayah.
-
Pilih Buat pengaturan setelah Anda selesai.
- AWS CLI
-
Contoh berikut menunjukkan cara menggunakan create-distribution-configuration perintah untuk membuat konfigurasi distribusi baru untuk AMI Anda, menggunakan AWS CLI.
-
Buat file JSON input CLI
Gunakan alat pengeditan file untuk membuat file JSON dengan kunci yang ditampilkan di salah satu contoh berikut, dan nilai yang valid untuk lingkungan Anda. Contoh-contoh ini menentukan unit mana Akun AWS, AWS Organizations atau unit organisasi (OUs) yang memiliki izin untuk meluncurkan AMI yang Anda distribusikan ke Wilayah tertentu. Beri nama filecreate-ami-distribution-configuration.json
, untuk digunakan pada langkah berikutnya:
Contoh 1: Distribusikan ke Akun AWS
Contoh ini mendistribusikan AMI ke dua Wilayah, dan menetapkan Akun AWS yang memiliki izin peluncuran di setiap Wilayah.
{
"name": "MyExampleAccountDistribution",
"description": "Copies AMI to eu-west-1, and specifies accounts that can launch instances in each Region.",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"name": "Name {{imagebuilder:buildDate}}",
"description": "An example image name with parameter references",
"amiTags": {
"KeyName": "Some Value"
},
"launchPermission": {
"userIds": [
"987654321012"
]
}
}
},
{
"region": "eu-west-1",
"amiDistributionConfiguration": {
"name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}",
"amiTags": {
"KeyName": "Some value"
},
"launchPermission": {
"userIds": [
"100000000001"
]
}
}
}
]
}
Contoh 2: Distribusikan ke Organizations dan OUs
Contoh ini mendistribusikan AMI ke Wilayah sumber, dan menentukan izin peluncuran organisasi dan OU.
{
"name": "MyExampleAWSOrganizationDistribution",
"description": "Shares AMI with the Organization and OU",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"name": "Name {{ imagebuilder:buildDate }}",
"launchPermission": {
"organizationArns": [
"arn:aws:organizations::123456789012:organization/o-myorganization123"
],
"organizationalUnitArns": [
"arn:aws:organizations::123456789012:ou/o-123example/ou-1234-myorganizationalunit"
]
}
}
}
]
}
Contoh 3: Simpan ID AMI keluaran dalam parameter SSM
Contoh ini menyimpan ID AMI keluaran dalam AWS Systems Manager parameter Parameter Store di Region distribusi.
{
"name": "SSMParameterOutputAMI
",
"description": "Updates an SSM parameter with the output AMI ID for the distribution.
",
"distributions": [
{
"region": "us-west-2
",
"amiDistributionConfiguration": {
"name": "Name {{ imagebuilder:buildDate }}"
},
"ssmParameterConfigurations": [
{
"amiAccountId": "111122223333
",
"parameterName": "/output/image/param
",
"dataType": "aws:ec2:image
"
}
]
}
]
}
-
Jalankan perintah berikut, menggunakan file yang Anda buat sebagai input.
aws imagebuilder create-distribution-configuration --cli-input-json file://create-ami-distribution-configuration.json
-
Anda harus menyertakan notasi file://
pada awal jalur file JSON.
-
Jalur untuk file JSON harus mengikuti konvensi yang sesuai untuk sistem operasi dasar tempat Anda menjalankan perintah. Misalnya, Windows menggunakan garis miring terbalik (\) untuk merujuk ke jalur direktori, sedangkan Linux dan macOS menggunakan garis miring maju (/).
Untuk informasi lebih rinci, lihat create-distribution-configuration di AWS CLI Command Reference.
Perbarui konfigurasi distribusi AMI
Anda dapat mengubah konfigurasi distribusi AMI Anda. Namun, perubahan yang Anda buat tidak berlaku untuk sumber daya apa pun yang telah didistribusikan oleh Image Builder. Misalnya, jika Anda telah mendistribusikan AMI ke Wilayah yang kemudian Anda hapus dari distribusi, AMI yang sudah didistribusikan tetap berada di Wilayah tersebut hingga Anda menghapusnya secara manual.
- AWS Management Console
-
Ikuti langkah-langkah berikut ke konfigurasi distribusi AMI di AWS Management Console:
-
Buka konsol EC2 Image Builder di https://console.aws.amazon.com/imagebuilder/.
-
Pilih Pengaturan distribusi dari panel navigasi. Ini menunjukkan daftar konfigurasi distribusi yang dibuat di bawah akun Anda.
-
Untuk melihat detail atau memperbarui konfigurasi distribusi, pilih tautan Nama konfigurasi. Ini membuka tampilan detail untuk pengaturan distribusi.
Anda juga dapat memilih kotak centang di sebelah nama Konfigurasi, lalu pilih Lihat detail.
-
Untuk mengedit konfigurasi distribusi, pilih Edit dari sudut kanan atas bagian Detail distribusi. Beberapa bidang dikunci, seperti Nama konfigurasi distribusi, dan Wilayah default yang ditampilkan sebagai Wilayah 1. Untuk informasi selengkapnya tentang pengaturan konfigurasi distribusi, lihatBuat konfigurasi distribusi AMI.
-
Setelah selesai, pilih Simpan perubahan.
- AWS CLI
-
Contoh berikut menunjukkan cara menggunakan update-distribution-configuration perintah untuk memperbarui pengaturan distribusi untuk AMI Anda, menggunakan AWS CLI.
-
Buat file JSON input CLI
Gunakan alat pengeditan file untuk membuat file JSON dengan kunci yang ditunjukkan pada contoh berikut, dan nilai yang valid untuk lingkungan Anda. Contoh ini menggunakan file bernamaupdate-ami-distribution-configuration.json
.
{
"distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/update-ami-distribution-configuration.json",
"description": "Copies AMI to eu-west-2, and specifies accounts that can launch instances in each Region.",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"name": "Name {{imagebuilder:buildDate}}",
"description": "An example image name with parameter references",
"launchPermissions": {
"userIds": [
"987654321012"
]
}
}
},
{
"region": "eu-west-2",
"amiDistributionConfiguration": {
"name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}",
"tags": {
"KeyName": "Some value"
},
"launchPermissions": {
"userIds": [
"100000000001"
]
}
}
}
]
}
-
Jalankan perintah berikut, menggunakan file yang Anda buat sebagai input.
aws imagebuilder update-distribution-configuration --cli-input-json file://update-ami-distribution-configuration.json
-
Anda harus menyertakan notasi file://
pada awal jalur file JSON.
-
Jalur untuk file JSON harus mengikuti konvensi yang sesuai untuk sistem operasi dasar tempat Anda menjalankan perintah. Misalnya, Windows menggunakan garis miring terbalik (\) untuk merujuk ke jalur direktori, sedangkan Linux dan macOS menggunakan garis miring maju (/).
Untuk informasi lebih rinci, lihat update-distribution-configuration di AWS CLI Command Reference. Untuk memperbarui tag untuk sumber daya konfigurasi distribusi Anda, lihat Memberi tanda pada sumber daya bagian.
Buat pengaturan distribusi untuk mengaktifkan Peluncuran EC2 Cepat untuk output AMIs
Contoh berikut menunjukkan cara menggunakan create-distribution-configuration perintah untuk membuat pengaturan distribusi yang memiliki EC2 Fast Launch dikonfigurasi untuk AMI Anda, dari AWS CLI.
Image Builder tidak mendukung distribusi lintas akun AMIs dengan Peluncuran EC2 Cepat yang telah diaktifkan sebelumnya. EC2 Peluncuran Cepat harus diaktifkan dari akun tujuan.
-
Buat file JSON input CLI
Gunakan alat pengeditan file untuk membuat file JSON dengan kunci seperti yang ditunjukkan pada contoh berikut, ditambah nilai yang valid untuk lingkungan Anda.
Contoh ini meluncurkan instance untuk semua sumber daya targetnya secara bersamaan, karena jumlah maksimum peluncuran paralel lebih besar daripada jumlah sumber daya target. File ini dinamai ami-dist-config-win-fast-launch.json
dalam contoh perintah yang ditunjukkan pada langkah berikutnya.
{
"name": "WinFastLaunchDistribution",
"description": "An example of Windows AMI EC2 Fast Launch settings in the distribution configuration.",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"name": "Name {{imagebuilder:buildDate}}",
"description": "Includes Windows AMI EC2 Fast Launch settings.",
"amiTags": {
"KeyName": "Some Value"
}
},
"fastLaunchConfigurations": [{
"enabled": true,
"snapshotConfiguration": {
"targetResourceCount": 5
},
"maxParallelLaunches": 6,
"launchTemplate": {
"launchTemplateId": "lt-0ab1234c56d789012",
"launchTemplateVersion": "1"
}
}],
"launchTemplateConfigurations": [{
"launchTemplateId": "lt-0ab1234c56d789012",
"setDefaultVersion": true
}]
}]
}
Anda dapat menentukan launchTemplateName
alih-alih launchTemplateId
di launchTemplate
bagian, tetapi Anda tidak dapat menentukan nama dan Id.
-
Jalankan perintah berikut, menggunakan file yang Anda buat sebagai input.
aws imagebuilder create-distribution-configuration --cli-input-json file://ami-dist-config-win-fast-launch.json
-
Anda harus menyertakan notasi file://
pada awal jalur file JSON.
-
Jalur untuk file JSON harus mengikuti konvensi yang sesuai untuk sistem operasi dasar tempat Anda menjalankan perintah. Misalnya, Windows menggunakan garis miring terbalik (\) untuk merujuk ke jalur direktori, sedangkan Linux dan macOS menggunakan garis miring maju (/).
Untuk informasi lebih rinci, lihat create-distribution-configuration di AWS CLI Command Reference.
Buat pengaturan distribusi untuk output disk VM dari AWS CLI
Contoh berikut menunjukkan cara menggunakan create-distribution-configuration perintah untuk membuat pengaturan distribusi yang akan mengekspor disk gambar VM ke Amazon S3 dengan setiap build gambar.
-
Buat file JSON input CLI
Anda dapat merampingkan create-distribution-configuration perintah yang Anda gunakan di. AWS CLI Untuk melakukan ini, buat file JSON yang berisi semua konfigurasi ekspor yang ingin Anda berikan ke perintah.
Konvensi penamaan untuk nilai data dalam file JSON mengikuti pola yang ditentukan untuk parameter permintaan operasi Image Builder API. Untuk meninjau parameter permintaan operasi API, lihat CreateDistributionConfiguration perintah di Referensi API EC2 Image Builder.
Untuk memberikan nilai data sebagai parameter baris perintah, lihat nama parameter yang ditentukan dalam Referensi AWS CLI Perintah. ke create-distribution-configuration perintah sebagai opsi.
Berikut adalah ringkasan parameter yang kami tentukan dalam objek s3ExportConfiguration
JSON untuk contoh ini:
-
RoleName (string, required) - Nama peran yang memberikan Import/Export izin VM untuk mengekspor gambar ke bucket S3 Anda.
-
diskImageFormat(string, wajib) - Ekspor gambar disk yang diperbarui ke salah satu format yang didukung berikut:
-
Virtual Hard Disk (VHD) — Kompatibel dengan produk virtualisasi Citrix Xen dan Microsoft Hyper-V.
-
Disk Mesin Virtual ESX yang dioptimalkan Stream (VMDK) - Kompatibel dengan ESX VMware dan vSphere versi 4, 5, dan VMware 6.
-
Mentah - Format mentah.
-
S3bucket (string, required) - Bucket S3 untuk menyimpan gambar disk output untuk VM Anda.
Simpan file sebagai export-vm-disks.json
. Gunakan nama file dalam create-distribution-configuration perintah.
{
"name": "example-distribution-configuration-with-vm-export",
"description": "example",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"description": "example-with-vm-export"
},
"s3ExportConfiguration": {
"roleName": "vmimport",
"diskImageFormat": "RAW",
"s3Bucket": "vm-bucket-export"
}
}],
"clientToken": "abc123def4567ab"
}
-
Jalankan perintah berikut, menggunakan file yang Anda buat sebagai input.
aws imagebuilder create-distribution-configuration --cli-input-json file://export-vm-disks.json
-
Anda harus menyertakan notasi file://
pada awal jalur file JSON.
-
Jalur untuk file JSON harus mengikuti konvensi yang sesuai untuk sistem operasi dasar tempat Anda menjalankan perintah. Misalnya, Windows menggunakan garis miring terbalik (\) untuk merujuk ke jalur direktori, sedangkan Linux dan macOS menggunakan garis miring maju (/).
Untuk informasi lebih rinci, lihat create-distribution-configuration di AWS CLI Command Reference.