Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat instance yang didukung toko AMI
AMIYang Anda tentukan saat meluncurkan instance menentukan jenis volume perangkat root.
Untuk membuat instance Linux yang didukung tokoAMI, mulailah dari instance yang telah Anda luncurkan dari Linux yang didukung toko instans yang ada. AMI Setelah Anda menyesuaikan instance agar sesuai dengan kebutuhan Anda, bundel volume dan daftarkan yang baruAMI, yang dapat Anda gunakan untuk meluncurkan instance baru dengan penyesuaian ini.
Anda tidak dapat membuat Windows yang didukung instance-store AMI karena Windows AMIs tidak mendukung penyimpanan instance untuk perangkat root.
penting
Hanya jenis instance berikut yang mendukung volume penyimpanan instance sebagai perangkat root dan memerlukan instance yang didukung penyimpananAMI: C1, C3, D2, I2, M1, M2, M3, R3, dan X1.
Proses AMI pembuatannya berbeda untuk Amazon yang EBS didukungAMIs. Untuk informasi selengkapnya, lihat Buat yang EBS didukung Amazon AMI.
Daftar Isi
Ikhtisar AMI penciptaan
Diagram berikut merangkum proses pembuatan AMI dari instance instans yang didukung toko.

Pertama, luncurkan instance dari AMI yang mirip dengan AMI yang ingin Anda buat. Anda dapat menyambungkan ke instans dan mengustomisasikannya. Saat instans diatur sesuai keinginan, Anda dapat membuat paketan. Perlu beberapa menit untuk menyelesaikan proses pembuatan paket. Setelah proses selesai, Anda akan memiliki paketan, yang terdiri atas manifes gambar (image.manifest.xml
) dan file (image.part.
xx) yang berisi templat untuk volume root. Selanjutnya Anda mengunggah bundel ke ember Amazon S3 Anda dan kemudian mendaftarkan paket Anda. AMI
catatan
Untuk mengunggah objek ke bucket S3 untuk Linux yang didukung toko instans AndaAMI, ACLs harus diaktifkan untuk bucket. Jika tidak, Amazon tidak EC2 akan dapat mengatur ACLs objek yang akan diunggah. Jika bucket tujuan Anda menggunakan setelan yang diberlakukan pemilik bucket untuk Kepemilikan Objek S3, ini tidak akan berfungsi karena ACLs dinonaktifkan. Untuk informasi selengkapnya, lihat Mengendalikan kepemilikan objek yang diunggah menggunakan Kepemilikan Objek S3.
Saat Anda meluncurkan instance menggunakan yang baruAMI, kami membuat volume root untuk instance menggunakan bundel yang Anda unggah ke Amazon S3. Ruang penyimpanan yang digunakan oleh paketan di Amazon S3 akan menimbulkan biaya sampai Anda menghapusnya. Untuk informasi selengkapnya, lihat Deregister di Amazon EC2 AMI.
Jika Anda menambahkan volume penyimpanan instans ke instans Anda selain volume perangkat root, pemetaan perangkat blok untuk yang baru AMI berisi informasi untuk volume ini, dan pemetaan perangkat blokir untuk instance yang Anda luncurkan dari yang baru AMI secara otomatis berisi informasi untuk volume ini. Untuk informasi selengkapnya, lihat Blokir pemetaan perangkat untuk volume di instans Amazon EC2 .
Prasyarat
Sebelum Anda dapat membuatAMI, Anda harus menyelesaikan tugas-tugas berikut:
-
Instal AMI alat. Untuk informasi selengkapnya, lihat Siapkan EC2 AMI alat Amazon.
-
Instal AWS CLI. Untuk informasi selengkapnya, lihat Memulai dengan AWS CLI.
-
Pastikan Anda memiliki bucket S3 untuk bundel, dan bucket Anda telah ACLs diaktifkan. Untuk informasi selengkapnya tentang mengonfigurasiACLs, lihat Mengkonfigurasi ACLs.
-
Untuk membuat bucket S3 menggunakan AWS Management Console, buka konsol Amazon S3 https://console.aws.amazon.com/s3/
di dan pilih Create Bucket. -
Untuk membuat bucket S3 dengan AWS CLI, Anda dapat menggunakan perintah mb
. Jika versi AMI alat yang Anda instal adalah 1.5.18 atau yang lebih baru, Anda juga dapat menggunakan ec2-upload-bundle
perintah untuk membuat bucket S3. Untuk informasi selengkapnya, lihat ec2-upload-bundle.
-
-
Pastikan file dalam bundel Anda tidak dienkripsi di bucket S3. Jika Anda memerlukan enkripsi untuk AndaAMI, Anda dapat menggunakan EBS -backed AMI sebagai gantinya. Untuk informasi selengkapnya, lihat Menggunakan enkripsi dengan AMI yang didukung EBS.
-
Pastikan Anda memiliki ID AWS akun Anda. Untuk informasi selengkapnya, lihat Melihat Akun AWS pengenal di Panduan Referensi Manajemen AWS Akun.
-
Pastikan Anda memiliki kredensial untuk menggunakan AWS CLI. Untuk informasi selengkapnya, lihat Authentication and access credentials for the AWS CLI in the User Guide.AWS Command Line Interface
-
Pastikan Anda memiliki sertifikat X.509 dan kunci privat yang sesuai.
-
Jika Anda perlu membuat sertifikat X.509, lihat Mengelola sertifikat penandatanganan. Sertifikat X.509 dan kunci pribadi digunakan untuk mengenkripsi dan mendekripsi Anda. AMI
-
[Tiongkok (Beijing)] Gunakan sertifikat
$EC2_AMITOOL_HOME/etc/ec2/amitools/cert-ec2-cn-north-1.pem
. -
[AWS GovCloud (AS-Barat)] Gunakan
$EC2_AMITOOL_HOME/etc/ec2/amitools/cert-ec2-gov.pem
sertifikat.
-
-
Sambungkan ke instans Anda dan kustomisasikan. Misalnya, Anda dapat menginstal perangkat lunak dan aplikasi, menyalin data, menghapus file sementara, dan mengubah konfigurasi Linux.
Buat AMI dari instance Amazon Linux
Prosedur berikut menjelaskan cara membuat AMI dari instance yang didukung toko instance yang menjalankan Amazon Linux 1. Mereka mungkin tidak berfungsi untuk instance yang menjalankan distribusi Linux lainnya.
Untuk mempersiapkan untuk menggunakan AMI alat (hanya HVM contoh)
-
AMIAlat membutuhkan GRUB Legacy untuk boot dengan benar. Gunakan perintah berikut untuk menginstalGRUB:
[ec2-user ~]$
sudo yum install -y grub
-
Instal paket manajemen partisi dengan perintah berikut:
[ec2-user ~]$
sudo yum install -y gdisk kpartx parted
Untuk membuat instance Amazon Linux yang didukung toko AMI dari instans
Prosedur ini mengasumsikan bahwa Anda telah memenuhi prasyarat dalam Prasyarat.
Dalam perintah berikut, ganti masing-masing user input placeholder
dengan informasi Anda sendiri.
-
Unggah kredensial Anda ke instans. Kami menggunakan kredensi ini untuk memastikan bahwa hanya Anda dan Amazon yang EC2 dapat mengakses Anda. AMI
-
Buat direktori sementara pada instans untuk kredensial Anda sebagai berikut:
[ec2-user ~]$
mkdir /tmp/cert
Ini memungkinkan Anda mengecualikan kredensial Anda dari gambar yang dibuat.
-
Salin sertifikat X.509 dan kunci privat terkait dari komputer Anda ke direktori
/tmp/cert
pada instans dengan alat penyalin aman, seperti scp.-i
Opsi dalam scp perintah berikut adalah kunci pribadi yang Anda gunakan untuk terhubung ke instance AndaSSH, bukan kunci pribadi X.509. Sebagai contoh:my-private-key
.pemyou@your_computer:~ $
scp -i
my-private-key
.pem/path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem
/path/to/cert-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem
ec2-user@ec2-203-0-113-25.compute-1.amazonaws.com
:/tmp/cert/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem 100% 717 0.7KB/s 00:00 cert-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem 100% 685 0.7KB/s 00:00
Atau, karena ini adalah file teks biasa, Anda dapat membuka sertifikat dan mengetikannya dalam editor teks dan menyalin kontennya ke dalam file baru di
/tmp/cert
. -
-
Siapkan paketan untuk diunggah ke Amazon S3 dengan menjalankan perintah ec2-bundle-vol dari dalam instans Anda. Pastikan untuk menentukan opsi
-e
untuk mengecualikan direktori tempat kredensial Anda disimpan. Secara default, proses paketan mengecualikan file yang mungkin berisi informasi sensitif. File ini termasuk*.sw
,*.swo
,*.swp
,*.pem
,*.priv
,*id_rsa*
,*id_dsa*
*.gpg
,*.jks
,*/.ssh/authorized_keys
, dan*/.bash_history
. Untuk menyertakan semua file ini, gunakan opsi--no-filter
. Untuk menyertakan beberapa file ini, gunakan opsi--include
.penting
Secara default, proses AMI bundling membuat koleksi file terkompresi dan terenkripsi dalam
/tmp
direktori yang mewakili volume root Anda. Jika tidak memiliki cukup ruang disk di/tmp
untuk menyimpan paketan, Anda perlu menentukan lokasi berbeda untuk paketan yang akan disimpan dengan opsi-d
. Beberapa instance memiliki penyimpanan singkat yang dipasang pada/path/to/bundle/storage
/mnt
atau/media/ephemeral0
yang dapat Anda gunakan, atau Anda juga dapat membuat, melampirkan, dan memasang volume Amazon baruEBS) untuk menyimpan bundel. Untuk informasi selengkapnya, lihat Membuat EBS volume Amazon di Panduan EBS Pengguna Amazon.-
Anda harus menjalankan perintah ec2-bundle-vol sebagai root. Untuk sebagian besar perintah, Anda dapat menggunakan sudo untuk mendapatkan izin yang lebih tinggi, tetapi dalam kasus ini, Anda harus menjalankan sudo -E su untuk menjaga variabel lingkungan Anda.
[ec2-user ~]$
sudo -E su
Perhatikan bahwa perintah bash kini mengidentifikasi Anda sebagai pengguna root, dan bahwa tanda dolar telah diganti dengan tanda pagar, menandakan bahwa Anda berada dalam shell root:
[root ec2-user]#
-
Untuk membuat AMI bundel, jalankan ec2-bundle-vol perintah sebagai berikut:
[root ec2-user]#
ec2-bundle-vol -k /tmp/cert/
pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem
-c /tmp/cert/cert-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem
-u123456789012
-r x86_64 -e /tmp/cert --partitiongpt
Perlu waktu beberapa menit untuk membuat gambar. Ketika perintah ini selesai, direktori Anda
/tmp
(atau non-default) berisi bundel (image.manifest.xml
, ditambah beberapaimage.part.
xx
file). -
Keluar dari shell root.
[root ec2-user]#
exit
-
-
(Opsional) Untuk menambahkan lebih banyak volume penyimpanan instans, edit pemetaan perangkat blok dalam
image.manifest.xml
file untuk Anda. AMI Untuk informasi selengkapnya, lihat Blokir pemetaan perangkat untuk volume di instans Amazon EC2 .-
Membuat cadangan file
image.manifest.xml
Anda.[ec2-user ~]$
sudo cp /tmp/image.manifest.xml /tmp/image.manifest.xml.bak
-
Format ulang file
image.manifest.xml
agar lebih mudah dibaca dan diubah.[ec2-user ~]$
sudo xmllint --format /tmp/image.manifest.xml.bak > /tmp/image.manifest.xml
-
Edit pemetaan perangkat blok di
image.manifest.xml
editor teks. Contoh di bawah ini menunjukkan entri baru untuk volume penyimpanan instansephemeral1
.catatan
Untuk daftar file yang dikecualikan, lihat ec2-bundle-vol.
<block_device_mapping> <mapping> <virtual>ami</virtual> <device>sda</device> </mapping> <mapping> <virtual>ephemeral0</virtual> <device>sdb</device> </mapping>
<mapping> <virtual>ephemeral1</virtual> <device>sdc</device> </mapping>
<mapping> <virtual>root</virtual> <device>/dev/sda1</device> </mapping> </block_device_mapping> -
Simpan file
image.manifest.xml
, dan tutup editor teks Anda.
-
-
Untuk mengunggah paketan Anda ke Amazon S3, jalankan perintah ec2-upload-bundle sebagai berikut.
[ec2-user ~]$
ec2-upload-bundle -b
amzn-s3-demo-bucket
/bundle_folder
/bundle_name
-m /tmp/image.manifest.xml -ayour_access_key_id
-syour_secret_access_key
penting
Untuk mendaftarkan Region Anda AMI di Wilayah selain US East (Virginia N.), Anda harus menentukan Region target dengan
--region
opsi dan jalur bucket yang sudah ada di Wilayah target atau jalur bucket unik yang dapat dibuat di Wilayah target. -
(Opsional) Setelah bundel diunggah ke Amazon S3, Anda dapat menghapus bundel dari direktori
/tmp
pada instans menggunakan perintah rm berikut:[ec2-user ~]$
sudo rm /tmp/image.manifest.xml /tmp/image.part.* /tmp/image
penting
Jika Anda menentukan jalur dengan opsi
-d
di TahapĀ 2, gunakan jalur tersebut, alih-alih/path/to/bundle/storage
/tmp
. -
Untuk mendaftarkan AndaAMI, jalankan perintah register-image
sebagai berikut. [ec2-user ~]$
aws ec2 register-image --image-location
amzn-s3-demo-bucket
/bundle_folder
/bundle_name
/image.manifest.xml --nameAMI_name
--virtualization-typehvm
penting
Jika sebelumnya Anda menentukan Wilayah untuk perintah ec2-upload-bundle, tentukan Wilayah itu untuk perintah ini.