Memperbarui AMIs - AWS Systems Manager

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

Memperbarui AMIs

Tutorial berikut menjelaskan cara memperbarui Amazon Machine Image (AMIs) untuk menyertakan tambalan terbaru.

Perbarui Linux AMI (AWS CLI)

Panduan AWS Systems Manager Otomasi ini menunjukkan cara menggunakan AWS-UpdateLinuxAmi runbook AWS Command Line Interface (AWS CLI) dan Systems Manager untuk secara otomatis menambal Linux Amazon Machine Image (AMI) dengan versi paket terbaru yang Anda tentukan. Otomasi adalah kemampuan AWS Systems Manager. AWS-UpdateLinuxAmi runbook juga mengotomatiskan instalasi paket dan konfigurasi khusus situs tambahan. Anda dapat memperbarui berbagai distribusi Linux menggunakan panduan ini, termasuk, Ubuntu Server CentOS, RHEL, SLES, atau Amazon Linux. AMIs Untuk daftar lengkap versi Linux yang didukung, lihat Patch Manager prasyarat.

AWS-UpdateLinuxAmiRunbook memungkinkan Anda untuk mengotomatiskan tugas pemeliharaan gambar tanpa harus membuat runbook di JSON atau YAMM. Anda dapat menggunakan AWS-UpdateLinuxAmi runbook untuk melakukan jenis tugas berikut.

  • Tingkatkan semua paket distribusi dan perangkat lunak Amazon di Amazon Linux,, Red Hat Enterprise LinuxUbuntu Server, SLES, atau Cent OS Amazon Machine Image (AMI). Ini adalah perilaku runbook default.

  • Instal AWS Systems Manager SSM Agent pada gambar yang ada untuk mengaktifkan kemampuan Systems Manager, seperti menjalankan perintah jarak jauh menggunakan AWS Systems Manager Run Command atau pengumpulan inventaris perangkat lunak menggunakan Inventaris.

  • Instal paket perangkat lunak tambahan.

Sebelum Anda mulai

Sebelum Anda mulai bekerja dengan runbook, konfigurasikan peran dan, secara opsional, EventBridge untuk Otomasi. Untuk informasi selengkapnya, lihat Menyiapkan Otomatisasi. Panduan ini juga mengharuskan Anda menentukan nama profil instance AWS Identity and Access Management (IAM). Untuk informasi selengkapnya tentang membuat profil instans IAM, lihat Mengonfigurasi izin instans yang diperlukan untuk Systems Manager.

AWS-UpdateLinuxAmi runbook menerima parameter masukan berikut.

Parameter Jenis Deskripsi

SourceAmiId

String

(Diperlukan) Sumber AMI ID. Anda dapat secara otomatis mereferensikan ID terbaru Amazon EC2 AMI untuk Linux dengan menggunakan parameter AWS Systems Manager Parameter Store publik. Untuk informasi selengkapnya, lihat Kueri untuk AMI ID Amazon Linux terbaru yang digunakan AWS Systems ManagerParameter Store.

IamInstanceProfileName

String

(Wajib) Nama peran profil instans IAM yang Anda buat di Konfigurasi izin instans yang diperlukan untuk Systems Manager. Peran profil instans memberikan izin otomatisasi untuk melakukan tindakan pada instans Anda, seperti menjalankan perintah atau memulai dan menghentikan layanan. Runbook hanya menggunakan nama peran profil instans.

AutomationAssumePeran

String

(Wajib) Nama peran layanan IAM yang Anda buat di Menyiapkan Otomatisasi. Peran layanan (juga disebut peran asumsi) memberikan izin Otomatisasi untuk menganggap IAM role Anda dan melakukan tindakan atas nama Anda. Sebagai contoh, peran layanan mengizinkan Otomatisasi untuk membuat baru AMI ketika menjalankan aws:createImage tindakan dalam runbook. Untuk parameter ini, ARN lengkap mesti ditentukan.

TargetAmiNama

String

(Opsional) Nama baru AMI setelah dibuat. Nama default adalah string yang dihasilkan sistem yang mencakup sumber AMI ID, serta waktu pembuatan dan tanggal.

InstanceType

String

(Opsional) Jenis instans yang akan diluncurkan sebagai host ruang kerja. Jenis instans bervariaso menurut Wilayah. Jenis default adalah t2.micro.

PreUpdateSkrip

String

(Opsional) URL skrip untuk berjalan sebelum pembaruan diterapkan. Default (\"none\") adalah untuk tidak menjalankan skrip.

PostUpdateSkrip

String

(Opsional) URL skrip yang dijalankan setelah menerapkan pembaruan paket. Default (\"none\") adalah untuk tidak menjalankan skrip.

IncludePackages

String

(Opsional) Hanya perbarui paket dengan nama ini. Secara default (\"all\"), semua pembaruan yang tersedia diterapkan.

ExcludePackages

String

(Opsional) Nama paket untuk menahan pembaruan, dalam semua kondisi. Secara default (\"none\"), tidak ada paket yang dikecualikan.

Langkah Otomatisasi

AWS-UpdateLinuxAmi runbook mencakup beberapa langkah berikut, secara default.

Langkah 1: launchInstance (aws:runInstances tindakan)

Langkah ini meluncurkan instance menggunakan data pengguna Amazon Elastic Compute Cloud (Amazon EC2) dan peran profil instans IAM. Data pengguna menginstal Agen SSM yang sesuai, berdasarkan sistem operasi. Instalasi SSM Agent memungkinkan Anda untuk memanfaatkan kemampuan Systems Manager sepertiRun Command,State Manager, dan Inventaris.

Langkah 2: UpdateosSoftware (aws:runCommand tindakan)

Langkah ini menjalankan perintah berikut pada instans yang diluncurkan:

  • Unduh skrip pembaruan dari Amazon Simple Storage Service (Amazon S3).

  • Menjalankan skrip pra-pembaruan opsional.

  • Memperbarui paket distribusi dan perangkat lunak Amazon.

  • Menjalankan skrip pasca-pembaruan opsional.

Log eksekusi disimpan dalam folder/tmp agar pengguna dapat melihat nanti.

Jika Anda ingin meningkatkan paket tertentu, Anda dapat menyediakan daftar menggunakan IncludePackages parameter. Ketika disediakan, sistem mencoba untuk memperbarui paket ini saja dan dependensinya. Tidak ada pembaruan lain yang dilakukan. Secara default, bila tidak ada paket penyertaan yang ditentukan, program memperbarui semua paket yang tersedia.

Jika Anda ingin mengecualikan peningkatan paket tertentu, Anda dapat menyediakan daftar menggunakan ExcludePackages parameter. Jika tersedia, paket ini tetap pada versi mereka saat ini, terlepas dari pilihan lain yang ditentukan. Secara default, bila tidak ada paket penyertaan yang ditentukan, tidak ada paket yang dikecualikan.

Langkah 3: stopInstance (aws:changeInstanceState tindakan)

Langkah ini menghentikan instans yang diperbarui.

Langkah 4: CreateImage (aws:createImage tindakan)

Langkah ini menciptakan AMI baru dengan nama deskriptif yang menghubungkannya ke ID sumber dan waktu pembuatan. Misalnya: “AMI Dihasilkan oleh EC2 Automation on {{global:Date_time}} from {{Id}}” di mana DATE_TIME dan SourceAmi SourceID mewakili variabel Otomasi.

Langkah 5: terminateInstance (aws:changeInstanceState tindakan)

Langkah ini membersihkan otomatisasi dengan mengakhiri instans berjalan.

Output

Otomatisasi mengembalikan AMI ID baru sebagai output.

catatan

Secara default, ketika Otomatisasi menjalankan AWS-UpdateLinuxAmi runbook, sistem menciptakan instans sementara dalam VPC default (172.30.0.0/16). Jika Anda menghapus VPC default, Anda akan menerima kesalahan berikut:

VPC not defined 400

Untuk mengatasi masalah ini, Anda harus membuat salinan AWS-UpdateLinuxAmi runbook dan menentukan ID subnet. Untuk informasi selengkapnya, lihat VPC tidak didefinisikan 400.

Untuk membuat patch AMI menggunakan Otomatisasi
  1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

    Untuk selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI.

  2. Jalankan perintah berikut untuk menjalankan AWS-UpdateLinuxAmi runbook. Ganti setiap placeholder sumber daya contoh dengan informasi Anda sendiri.

    aws ssm start-automation-execution \ --document-name "AWS-UpdateLinuxAmi" \ --parameters \ SourceAmiId=AMI ID, \ IamInstanceProfileName=IAM instance profile, \ AutomationAssumeRole='arn:aws:iam::{{global:ACCOUNT_ID}}:role/AutomationServiceRole'

    Perintah mengembalikan ID eksekusi. Salin ID ini ke clipboard. Anda akan menggunakan ID ini untuk melihat status otomatisasi.

    { "AutomationExecutionId": "automation execution ID" }
  3. Untuk melihat otomatisasi menggunakan AWS CLI, jalankan perintah berikut:

    aws ssm describe-automation-executions
  4. Untuk melihat detail tentang kemajuan otomatisasi, jalankan perintah berikut. Ganti ID eksekusi otomatisasi dengan informasi Anda sendiri.

    aws ssm get-automation-execution --automation-execution-id automation execution ID

    Proses pembaruan dapat memakan waktu 30 menit atau lebih untuk diselesaikan.

    catatan

    Anda juga dapat memantau status otomatisasi di konsol. Dalam daftar, pilih otomatisasi yang baru saja Anda jalankan dan pilih tab Langkah. Tab ini memperlihatkan kepada Anda status tindakan otomatisasi.

Setelah otomatisasi selesai, luncurkan instans uji dari yang diperbarui AMI untuk memverifikasi perubahan.

catatan

Jika setiap langkah dalam otomatisasi gagal, informasi tentang kegagalan tercantum pada halaman Eksekusi Otomatisasi. Otomatisasi dirancang untuk mengakhiri instans sementara setelah berhasil menyelesaikan semua tugas. Jika langkah gagal, sistem mungkin tidak mengakhiri instans. Jadi jika langkah gagal, akhiri instans sementara secara manual.