Menggunakan AMI Kustom - AWS OpsWorks

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

Menggunakan AMI Kustom

penting

AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Support Tim di AWS re:Post atau melalui AWS Dukungan Premium.

AWS OpsWorks Stacks mendukung dua cara untuk menyesuaikan instance: Custom Amazon Machine Images (AMI) dan resep Chef. Kedua pendekatan memberi Anda kontrol atas paket dan versi paket mana yang diinstal, bagaimana mereka dikonfigurasi, dan sebagainya. Namun, setiap pendekatan memiliki keunggulan yang berbeda, jadi yang terbaik tergantung pada kebutuhan Anda.

Berikut ini adalah alasan utama untuk mempertimbangkan menggunakan AMI kustom:

  • Anda ingin melakukan pra-paket tertentu alih-alih menginstalnya setelah instance boot.

  • Anda ingin mengontrol waktu pembaruan paket untuk memberikan gambar dasar yang konsisten untuk lapisan Anda.

  • Anda ingin instance— instance berbasis beban khususnya — untuk boot secepat mungkin.

Berikut ini adalah alasan utama untuk mempertimbangkan menggunakan resep Chef:

  • Mereka lebih fleksibel daripada AMI khusus.

  • Mereka lebih mudah diperbarui.

  • Mereka dapat melakukan pembaruan pada instance yang sedang berjalan.

Dalam praktiknya, solusi optimal mungkin merupakan kombinasi dari kedua pendekatan. Untuk informasi lebih lanjut tentang resep, lihat Buku Masak dan Resep.

Bagaimana AMI Kustom bekerja dengan AWS OpsWorks Stacks

Untuk menentukan AMI kustom untuk instans Anda, pilih Gunakan AMI kustom sebagai sistem operasi instans saat Anda membuat instance baru. AWS OpsWorks Tumpukan kemudian menampilkan daftar AMI kustom di wilayah tumpukan dan Anda memilih yang sesuai dari daftar. Untuk informasi selengkapnya, lihat Menambahkan Instance ke Layer.

catatan

Anda tidak dapat menentukan AMI kustom tertentu sebagai sistem operasi default stack. Anda dapat mengatur Use custom AMI sebagai sistem operasi default stack, tetapi Anda dapat menentukan AMI tertentu hanya ketika Anda menambahkan instance baru ke lapisan. Untuk informasi selengkapnya, lihat Menambahkan Instance ke Layer dan Buat Stack Baru. Meskipun dimungkinkan untuk membuat instance dengan sistem operasi lain (seperti CentOS 6. x) yang telah dibuat dari AMI khusus atau yang dihasilkan komunitas, ini tidak didukung secara resmi.

Topik ini membahas beberapa masalah umum yang harus Anda pertimbangkan sebelum membuat atau menggunakan AMI kustom.

Perilaku Startup

Saat memulai instans, AWS OpsWorks Stacks menggunakan AMI kustom yang ditentukan untuk meluncurkan instans Amazon EC2 baru. AWS OpsWorks Stacks kemudian menggunakan cloud-init untuk menginstal agen AWS OpsWorks Stacks pada instance dan agen menjalankan resep Pengaturan instance diikuti oleh resep Deploy. Setelah instance online, agen menjalankan resep Configure untuk setiap instance di stack, termasuk instance yang baru ditambahkan.

Memilih Layer

Agen AWS OpsWorks Stacks biasanya tidak bertentangan dengan paket yang diinstal. Namun, instance harus menjadi anggota setidaknya satu lapisan. AWS OpsWorks Tumpukan selalu menjalankan resep lapisan itu, yang dapat menyebabkan masalah. Anda harus memahami persis apa yang dilakukan resep lapisan pada sebuah instance sebelum menambahkan instance dengan AMI khusus ke lapisan itu.

Untuk melihat resep mana yang dijalankan oleh tipe layer tertentu pada instance Anda, buka tumpukan yang menyertakan lapisan itu. Lalu klik Layers di panel navigasi, dan klik Resep untuk layer yang diminati. Untuk melihat kode yang sebenarnya, klik nama resep.

catatan

Untuk AMI Linux, salah satu cara untuk mengurangi kemungkinan konflik adalah dengan menggunakan AWS OpsWorks Stacks untuk menyediakan dan mengonfigurasi instance yang menjadi dasar untuk AMI kustom Anda. Untuk informasi selengkapnya, lihat Buat AMI Linux Kustom dari Instans AWS OpsWorks Stacks.

Menangani Aplikasi

Selain paket, Anda mungkin juga ingin menyertakan aplikasi di AMI. Jika Anda memiliki aplikasi kompleks yang besar, memasukkannya ke dalam AMI dapat mempersingkat waktu startup instans. Anda dapat menyertakan aplikasi kecil di AMI Anda, tetapi biasanya ada sedikit atau tidak ada keuntungan waktu dibandingkan dengan memiliki AWS OpsWorks Stacks menyebarkan aplikasi.

Salah satu opsi adalah memasukkan aplikasi ke dalam AMI Anda dan juga membuat aplikasi yang menyebarkan aplikasi ke instance dari repositori. Pendekatan ini mempersingkat waktu boot Anda tetapi juga menyediakan cara mudah untuk memperbarui aplikasi setelah instance berjalan. Perhatikan bahwa resep Chef adalah idempoten, sehingga resep penerapan tidak akan memodifikasi aplikasi selama versi dalam repositori sama dengan yang ada di instance.

Membuat AMI Kustom untuk AWS OpsWorks Tumpukan

Untuk menggunakan AMI kustom dengan AWS OpsWorks Stacks, Anda harus terlebih dahulu membuat AMI dari instance yang disesuaikan. Anda dapat memilih dari dua opsi:

  • Gunakan konsol Amazon EC2 atau API untuk membuat dan menyesuaikan instance, berdasarkan versi 64-bit dari salah satu AMI yang didukung AWS OpsWorks Stacks.

  • Untuk AMI Linux, gunakan OpsWorks untuk membuat instans Amazon EC2, berdasarkan konfigurasi lapisan terkait.

Sebelum Anda membuat AMI Linux kustom, nonaktifkan noexec pada /tmp partisi untuk memungkinkan AWS OpsWorks Stacks menginstal agennya pada instance Linux kustom.

catatan

Ketahuilah bahwa AMI mungkin tidak berfungsi dengan semua tipe instans, jadi pastikan AMI awal Anda kompatibel dengan tipe instans yang akan Anda gunakan. Secara khusus, tipe instans R3 memerlukan AMI virtualisasi berbantuan perangkat keras (HVM).

Anda kemudian menggunakan konsol Amazon EC2 atau API untuk membuat AMI kustom dari instans yang disesuaikan. Anda dapat menggunakan AMI kustom Anda di tumpukan apa pun yang berada di wilayah yang sama dengan menambahkan instance ke lapisan dan menentukan AMI kustom Anda. Untuk informasi selengkapnya tentang cara membuat instance yang menggunakan AMI kustom, lihatMenambahkan Instance ke Layer.

catatan

Secara default, AWS OpsWorks Stacks menginstal semua pembaruan Amazon Linux saat boot, yang memberi Anda rilis terbaru. Selain itu, Amazon Linux merilis versi baru kira-kira setiap enam bulan, yang dapat melibatkan perubahan signifikan. Secara default, AMI khusus berdasarkan Amazon Linux secara otomatis diperbarui ke versi baru saat dirilis. Praktik yang disarankan adalah mengunci AMI khusus Anda ke versi Amazon Linux tertentu, yang memungkinkan Anda menunda pembaruan hingga Anda menguji versi baru. Untuk informasi selengkapnya, lihat Bagaimana cara mengunci AMI ke versi tertentu? .

Buat AMI Kustom menggunakan Amazon EC2

Cara paling sederhana untuk membuat AMI kustom—dan satu-satunya pilihan untuk Windows AMIS—adalah melakukan seluruh tugas dengan menggunakan konsol Amazon EC2 atau API. Untuk detail selengkapnya tentang langkah-langkah berikut, lihat Membuat AMI Anda Sendiri.

Untuk membuat AMI kustom menggunakan konsol Amazon EC2 atau API
  1. Buat instance dengan menggunakan versi 64-bit dari salah satu AMI yang didukung AWS OpsWorks Stacks.

  2. Sesuaikan instance dari Langkah 1 dengan mengonfigurasinya, menginstal paket, dan sebagainya. Ingat bahwa semua yang Anda instal akan direproduksi pada setiap instance berdasarkan AMI, jadi jangan sertakan item yang harus spesifik untuk instance tertentu.

  3. Hentikan instance dan buat AMI kustom.

Buat AMI Linux Kustom dari Instans AWS OpsWorks Stacks

Untuk menggunakan instans AWS OpsWorks Stacks Linux yang disesuaikan untuk membuat AMI, ketahuilah bahwa setiap instans Amazon EC2 yang dibuat OpsWorks oleh menyertakan identitas unik. Jika Anda membuat AMI kustom dari instance semacam itu, itu menyertakan identitas itu, dan semua instance berdasarkan AMI memiliki identitas yang sama. Untuk memastikan bahwa instans berdasarkan AMI kustom Anda memiliki identitas unik, Anda harus menghapus identitas dari instance yang disesuaikan sebelum membuat AMI.

Untuk membuat AMI kustom dari instance AWS OpsWorks Stacks
  1. Buat tumpukan Linux dan tambahkan satu atau lebih lapisan untuk menentukan konfigurasi instance yang disesuaikan. Anda dapat menggunakan lapisan bawaan, disesuaikan sesuai kebutuhan, serta lapisan yang sepenuhnya disesuaikan. Untuk informasi selengkapnya, lihat Menyesuaikan Tumpukan AWS OpsWorks.

  2. Edit lapisan dan nonaktifkan AutoHealing.

  3. Tambahkan instance dengan distribusi Linux pilihan Anda ke layer atau layer dan mulailah. Sebaiknya gunakan instans yang didukung Amazon EBS. Buka halaman detail instans dan rekam ID Amazon EC2-nya untuk nanti.

  4. Saat instans online, masuk dengan SSH, dan lakukan salah satu dari empat langkah berikutnya, tergantung pada sistem operasi instans Anda.

  5. Untuk instance Amazon Linux di tumpukan Chef 11 atau Chef 12, atau instance Red Hat Enterprise Linux 7 di tumpukan Chef 11, lakukan hal berikut.

    1. sudo /etc/init.d/monit stop

    2. sudo /etc/init.d/opsworks-agent stop

    3. sudo rm -rf /etc/aws/opsworks/ /opt/aws/opsworks/ /var/log/aws/opsworks/ /var/lib/aws/opsworks/ /etc/monit.d/opsworks-agent.monitrc /etc/monit/conf.d/opsworks-agent.monitrc /var/lib/cloud/ /etc/chef

      catatan

      Untuk contoh di tumpukan Chef 12, tambahkan dua folder berikut ke perintah ini:

      • /var/chef

      • /opt/chef

    4. sudo rpm -e opsworks-agent-ruby

    5. sudo rpm -e chef

  6. Untuk instance Ubuntu 16.04 LTS atau 18.04 LTS dalam tumpukan Chef 12, lakukan hal berikut.

    1. sudo systemctl stop opsworks-agent

    2. sudo rm -rf /etc/aws/opsworks/ /opt/aws/opsworks/ /var/log/aws/opsworks/ /var/lib/aws/opsworks/ /etc/monit.d/opsworks-agent.monitrc /etc/monit/conf.d/opsworks-agent.monitrc /var/lib/cloud/ /var/chef /opt/chef /etc/chef

    3. sudo apt-get -y remove chef

    4. sudo dpkg -r opsworks-agent-ruby

    5. systemctl stop apt-daily.timer

    6. systemctl stop apt-daily-upgrade.timer

    7. rm /var/lib/systemd/timers/stamp-apt-daily.timer

    8. rm /var/lib/systemd/timers/stamp-apt-daily-upgrade.timer

  7. Untuk versi Ubuntu lain yang didukung dalam tumpukan Chef 12, lakukan hal berikut.

    1. sudo /etc/init.d/monit stop

    2. sudo /etc/init.d/opsworks-agent stop

    3. sudo rm -rf /etc/aws/opsworks/ /opt/aws/opsworks/ /var/log/aws/opsworks/ /var/lib/aws/opsworks/ /etc/monit.d/opsworks-agent.monitrc /etc/monit/conf.d/opsworks-agent.monitrc /var/lib/cloud/ /var/chef /opt/chef /etc/chef

    4. sudo apt-get -y remove chef

    5. sudo dpkg -r opsworks-agent-ruby

  8. Untuk contoh Red Hat Enterprise Linux 7 di tumpukan Chef 12, lakukan hal berikut.

    1. sudo systemctl stop opsworks-agent

    2. sudo rm -rf /etc/aws/opsworks/ /opt/aws/opsworks/ /var/log/aws/opsworks/ /var/lib/aws/opsworks/ /etc/monit.d/opsworks-agent.monitrc /etc/monit/conf.d/opsworks-agent.monitrc /var/lib/cloud/ /etc/chef /var/chef

    3. sudo rpm -e opsworks-agent-ruby

    4. sudo rpm -e chef

  9. Langkah ini tergantung pada jenis instance:

    • Untuk instans yang didukung Amazon EBS, gunakan konsol AWS OpsWorks Stacks untuk menghentikan instans dan membuat AMI seperti yang dijelaskan dalam Membuat AMI Linux yang didukung Amazon EBS..

    • Untuk instance yang didukung toko, buat AMI seperti yang dijelaskan dalam Membuat AMI Linux yang Didukung Toko Instance dan kemudian gunakan konsol Stacks AWS OpsWorks untuk menghentikan instance.

      Saat Anda membuat AMI, pastikan untuk menyertakan file sertifikat. Misalnya, Anda dapat memanggil ec2-bundle-volperintah dengan -i argumen yang disetel ke-i $(find /etc /usr /opt -name '*.pem' -o -name '*.crt' -o -name '*.gpg' | tr '\n' ','). Jangan hapus kunci publik apt saat bundling. ec2-bundle-volPerintah default menangani tugas ini.

  10. Bersihkan tumpukan Anda dengan kembali ke konsol AWS OpsWorks Stacks dan menghapus instance dari tumpukan.

Buat AMI Windows Kustom

Prosedur berikut membuat AMI kustom untuk Windows Server 2022 Base. Anda dapat memilih sistem operasi Windows Server lainnya di konsol manajemen Amazon EC2.

penting

Saat ini, agen AWS OpsWorks Stacks tidak dapat diinstal pada—dan AWS OpsWorks Stacks tidak dapat mengelola—instance berbasis Windows yang menggunakan bahasa UI sistem selain Inggris - Amerika Serikat (en-AS).

Membuat AMI Windows Kustom dengan Sysprep

Membuat AMI Windows kustom dengan menggunakan Sysprep biasanya menghasilkan peluncuran instance yang lebih lambat, tetapi proses yang lebih bersih. Startup pertama kali instance yang dibuat dari gambar yang dibuat Sysprep membutuhkan lebih banyak waktu karena Sysprep aktivitas, restart, penyediaan Stacks, dan AWS OpsWorks Stacks pertama yang dijalankan, termasuk AWS OpsWorks penyiapan dan konfigurasi. Selesaikan langkah-langkah untuk membuat AMI Windows khusus di konsol Amazon EC2.

Untuk membuat AMI Windows kustom dengan Sysprep
  1. Di konsol Amazon EC2, pilih Luncurkan Instans.

  2. Temukan Microsoft Windows Server 2022 Base, lalu pilih Pilih.

  3. Pilih jenis instance yang Anda inginkan, lalu pilih Configure Instance Details. Buat perubahan konfigurasi pada AMI, termasuk nama mesin, penyimpanan, dan pengaturan grup keamanan. Pilih Luncurkan.

  4. Setelah proses boot instance selesai, dapatkan kata sandi Anda, lalu sambungkan ke instance di jendela Windows Remote Desktop Connection.

  5. Pada layar Mulai Windows, pilih Mulai, dan kemudian mulai mengetik ec2configservice hingga hasilnya menunjukkan ConfigServiceSettings konsol EC2. Buka konsol .

  6. Pada tab Umum, pastikan kotak centang Aktifkan UserData eksekusi terisi (meskipun opsi ini tidak diperlukanSysprep, AWS OpsWorks Stacks harus menginstal agennya). Kosongkan kotak centang untuk Mengatur nama komputer instance... pilihan, karena opsi ini dapat menyebabkan restart loop dengan AWS OpsWorks Stacks.

  7. Pada tab Gambar, setel Kata Sandi Administrator ke Acak untuk mengizinkan Amazon EC2 menghasilkan kata sandi secara otomatis yang dapat Anda ambil dengan kunci SSH, atau Tentukan untuk menentukan kata sandi Anda sendiri. Sysprepmenyimpan pengaturan ini. Jika Anda menentukan kata sandi Anda sendiri, simpan kata sandi di tempat yang nyaman. Kami menyarankan Anda untuk tidak memilih Keep Existing.

  8. Pilih Terapkan, lalu pilih Shutdown dengan Sysprep. Ketika Anda diminta untuk mengonfirmasi, pilih Ya.

  9. Setelah instance berhenti, di konsol Amazon EC2, klik kanan instance di daftar Instans, pilih Gambar, lalu pilih Buat Gambar.

  10. Pada halaman Buat Gambar, berikan nama dan deskripsi untuk gambar, dan tentukan konfigurasi volume. Setelah selesai, pilih Buat Gambar.

  11. Buka halaman Gambar, dan tunggu gambar Anda berubah dari tahap tertunda menjadi tersedia. AMI baru Anda siap digunakan.

Membuat AMI Windows Kustom Tanpa Sysprep

Selesaikan langkah-langkah untuk membuat AMI Windows khusus di konsol Amazon EC2.

Untuk membuat AMI Windows kustom tanpa Sysprep
  1. Di konsol Amazon EC2, pilih Luncurkan Instans.

  2. Temukan Microsoft Windows Server 2022 Base, lalu pilih Pilih.

  3. Pilih jenis instance yang Anda inginkan, lalu pilih Configure Instance Details. Buat perubahan konfigurasi pada AMI, termasuk nama mesin, penyimpanan, dan pengaturan grup keamanan. Pilih Luncurkan.

  4. Setelah proses boot instance selesai, dapatkan kata sandi Anda, lalu sambungkan ke instance di jendela Windows Remote Desktop Connection.

  5. Pada contoh, bukaC:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml, ubah dua pengaturan berikut, lalu simpan dan tutup file:

    • Ec2SetPassword untuk Enabled

    • Ec2HandleUserData untuk Enabled

  6. Putuskan sambungan dari sesi Remote Desktop, dan kembali ke konsol Amazon EC2.

  7. Dalam daftar Instances, hentikan instance.

  8. Setelah instance berhenti, di konsol Amazon EC2, klik kanan instance di daftar Instans, pilih Gambar, lalu pilih Buat Gambar.

  9. Pada halaman Buat Gambar, berikan nama dan deskripsi untuk gambar, dan tentukan konfigurasi volume. Setelah selesai, pilih Buat Gambar.

  10. Buka halaman Gambar, dan tunggu gambar Anda berubah dari tahap tertunda menjadi tersedia. AMI baru Anda siap digunakan.

Menambahkan Instans Baru dengan Menggunakan AMI Windows Kustom

Setelah gambar Anda berubah ke status yang tersedia, Anda dapat membuat instance baru yang didasarkan pada AMI Windows kustom Anda. Bila Anda memilih Use custom Windows AMI dari daftar sistem operasi, AWS OpsWorks Stacks menampilkan daftar AMI kustom.

Untuk menambahkan instance baru berdasarkan AMI Windows kustom
  1. Saat AMI baru Anda tersedia, buka konsol AWS OpsWorks Stacks, buka halaman Instances untuk tumpukan Windows, dan pilih + Instance di dekat bagian bawah halaman untuk menambahkan instance baru.

  2. Pada tab Baru, pilih Advanced.

  3. Pada daftar drop-down Sistem operasi, pilih Use custom Windows AMI.

  4. Pada daftar drop-down AMI Kustom, pilih AMI yang Anda buat, lalu pilih Tambah Instance.

Anda sekarang dapat memulai dan menjalankan instance.