AWSPremiumSupport-ResizeNitroInstance - AWS Systems Manager Referensi buku runbook otomatisasi

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

AWSPremiumSupport-ResizeNitroInstance

Deskripsi

AWSPremiumSupport-ResizeNitroInstanceRunbook menyediakan solusi otomatis untuk mengubah ukuran instans Amazon Elastic Compute Cloud (Amazon EC2) yang dibangun di atas Sistem Nitro.

Untuk mengurangi potensi risiko kehilangan data dan downtime, runbook memverifikasi hal berikut:

  • Perilaku berhenti misalnya.

  • Jika instans merupakan bagian dari grup Penskalaan Otomatis Amazon EC2, dan dalam standby mode.

  • negara contoh dan sewa.

  • Jenis instans yang ingin Anda ubah untuk mendukung jumlah antarmuka jaringan yang saat ini dilampirkan ke instans Anda.

  • Arsitektur prosesor dan jenis virtualisasi untuk jenis instance saat ini dan target adalah sama.

  • Jika contoh berjalan, bahwa itu melewati semua pemeriksaan status.

  • Jenis instans yang ingin Anda ubah tersedia di Availability Zone yang sama.

Jika Amazon EC2 tidak lulus pemeriksaan status setelah mengubah jenis instans, runbook secara otomatis akan kembali ke jenis instans sebelumnya.

Secara default, runbook ini tidak akan mengubah jenis instance jika sedang berjalan dan volume penyimpanan instance terpasang. Runbook juga tidak akan mengubah jenis instance jika instance adalah bagian dari AWS CloudFormation tumpukan. Jika Anda ingin mengubah salah satu dari perilaku ini, tentukan yes untuk AllowInstanceStoreInstances dan AllowCloudFormationInstances parameter.

Runbook menyediakan dua cara berbeda untuk menentukan jenis instance yang ingin Anda ubah:

  • Untuk otomatisasi sederhana yang menargetkan satu instance, tentukan jenis instans yang ingin Anda ubah menggunakan parameter. TargetInstanceTypeFromParameter

  • Untuk menjalankan otomatisasi pada skala untuk mengubah jenis instans dari beberapa instance, tentukan jenis instance menggunakan parameter. TargetInstanceTypeFromTagValue Untuk informasi tentang menjalankan otomatisasi pada skala besar, lihat Menjalankan otomatisasi pada skala besar.

Jika Anda tidak menentukan nilai untuk salah satu parameter, otomatisasi gagal.

penting

Akses ke AWSPremiumSupport-* runbook memerlukan Langganan Dukungan Perusahaan atau Bisnis. Untuk informasi selengkapnya, lihat Bandingkan AWS Support Paket.

Pertimbangan

  • Sebaiknya buat cadangan instans Anda sebelum menggunakan runbook ini.

  • Untuk informasi tentang kompatibilitas untuk mengubah jenis instans, lihat Kompatibilitas untuk mengubah jenis instans.

  • Jika otomatisasi gagal dan kembali ke jenis instans asli, lihat Memecahkan masalah mengubah jenis instans.

  • Mengubah jenis instans memerlukan runbook untuk menghentikan instance Anda. Ketika sebuah instance dihentikan, data apa pun yang disimpan dalam memori atau pada volume penyimpanan instans akan hilang. Juga, setiap alamat IPv4 publik yang ditugaskan secara otomatis dirilis. Untuk informasi selengkapnya tentang apa yang terjadi saat Anda menghentikan instans, lihat Berhenti dan mulai instans Anda.

  • Dengan menggunakan SkipInstancesWithTagKey parameter, Anda dapat melewati instans yang memiliki kunci tag Amazon EC2 tertentu yang diterapkan.

Jalankan Otomasi ini (konsol)

Jenis dokumen

Otomatisasi

Pemilik

Amazon

Platform

Linux, jendela

Parameter

  • AutomationAssumeRole

    Jenis: String

    Deskripsi: (Opsional) Amazon Resource Name (ARN) dari peran AWS Identity and Access Management (IAM) yang memungkinkan Systems Manager Automation untuk melakukan tindakan atas nama Anda. Jika tidak ada peran yang ditentukan, Systems Manager Automation menggunakan izin pengguna yang memulai runbook ini.

  • Mengakui

    Jenis: String

    Deskripsi: (Diperlukan) Enter yes untuk mengakui bahwa instans Anda akan dihentikan jika saat ini sedang berjalan.

  • AllowInstanceStoreInstances

    Jenis: String

    Nilai yang valid: tidak | ya

    Default: tidak

    Deskripsi: (Opsional) Jika Anda menentukanyes, Anda mengizinkan runbook berjalan pada instance yang memiliki volume penyimpanan instans yang terpasang.

  • AllowCloudFormationInstances

    Jenis: String

    Nilai yang valid: tidak | ya

    Default: tidak

    Deskripsi: (Opsional) Jika Anda menentukanyes, runbook berjalan pada instance yang merupakan bagian dari tumpukan. AWS CloudFormation

  • DryRun

    Jenis: String

    Nilai yang valid: tidak | ya

    Default: tidak

    Deskripsi: (Opsional) Jika Anda menentukanyes, runbook memvalidasi persyaratan pengubahan ukuran tanpa membuat perubahan pada jenis instance.

  • InstanceId

    Jenis: String

    Deskripsi: (Diperlukan) ID instans Amazon EC2 yang jenisnya ingin Anda ubah.

  • SkipInstancesWithTagKey

    Jenis: String

    Deskripsi: (Opsional) Otomatisasi melewatkan instance target jika kunci tag yang Anda tentukan diterapkan ke instans.

  • SleepTime

    Jenis: String

    Default: 3

    Deskripsi: (Opsional) Jumlah detik runbook ini harus tidur setelah selesai.

  • TagInstance

    Jenis: String

    Deskripsi: (Opsional) Tag instance dengan kunci dan nilai pilihan Anda menggunakan format berikut: Key=ChangingType, Value=True. Opsi ini memungkinkan Anda untuk melacak instance yang telah ditargetkan oleh runbook ini. Kunci dan nilai tag peka huruf besar dan kecil.

  • TargetInstanceTypeFromParameter

    Jenis: String

    Deskripsi: (Opsional) Jenis instans yang ingin Anda ubah instans. Biarkan parameter ini kosong jika Anda ingin menggunakan nilai kunci tag yang disediakan dalam TargetInstanceTypeFromTagValue parameter.

  • TargetInstanceTypeFromTagValue

    Jenis: String

    Deskripsi: (Opsional) Kunci tag yang diterapkan ke instance target Anda yang nilainya berisi jenis instans yang ingin Anda ubah. Jika Anda menentukan nilai untuk TargetInstanceTypeFromParameter parameter, itu akan mengganti nilai apa pun yang Anda tentukan untuk parameter ini.

Izin IAM yang diperlukan

AutomationAssumeRoleParameter membutuhkan tindakan berikut untuk menggunakan runbook dengan sukses.

  • autoscaling:DescribeAutoScalingInstances

  • cloudformation:DescribeStackResources

  • ssm:GetAutomationExecution

  • ssm:DescribeAutomationExecutions

  • ec2:DescribeInstanceAttribute

  • ec2:DescribeInstances

  • ec2:DescribeInstanceStatus

  • ec2:DescribeInstanceTypeOfferings

  • ec2:DescribeInstanceTypes

  • ec2:DescribeTags

  • ec2:ModifyInstanceAttribute

  • ec2:StartInstances

  • ec2:StopInstances

Langkah Dokumen

  1. aws:assertAwsResourceProperty: Memastikan instans Amazon EC2 tidak ditandai dengan kunci tag sumber daya yang ditentukan dalam SkipInstancesWithTagKey parameter. Jika kunci tag ditemukan diterapkan ke instance, langkah gagal dan otomatisasi berakhir.

  2. aws:assertAwsResourceProperty: Mengonfirmasi status instans Amazon EC2 target adalahrunning,, pendingstopped, atau. stopping Jika tidak, otomatisasi berakhir.

  3. aws:executeAwsApi: Mengumpulkan properti dari instans Amazon EC2.

  4. aws:executeAwsApi: Mengumpulkan detail tentang jenis instans Amazon EC2 saat ini.

  5. aws:branch: Memeriksa apakah jenis instance saat ini dan jenis instance yang ditentukan dalam TargetInstanceTypeFromParameter parameter adalah sama. Jika ya, otomatisasi berakhir.

  6. aws:assertAwsResourceProperty: Memastikan instance berjalan pada Sistem Nitro.

  7. aws:branch: Memastikan jenis volume root instans Amazon EC2 adalah volume Amazon Elastic Block Store (Amazon EBS).

  8. aws:assertAwsResourceProperty: Mengonfirmasi perilaku shutdown instance adalah stop dan tidakterminate.

  9. aws:branch: Memastikan instans Amazon EC2 bukan instans Spot.

  10. aws:branch: Memastikan penyewaan instans Amazon EC2 adalah default dan bukan host khusus, atau instans khusus.

  11. aws:executeScript: Mengonfirmasi hanya ada satu otomatisasi runbook ini yang menargetkan ID instance saat ini. Jika otomatisasi lain sudah berlangsung menargetkan instance yang sama, otomatisasi mengembalikan kesalahan dan berakhir.

  12. aws:branch: Cabang otomatisasi berdasarkan status instans Amazon EC2.

    1. Jika stopped ataustopping, otomatisasi berjalan aws:waitForAwsResourceProperty hingga instans Amazon EC2 dihentikan sepenuhnya.

    2. Jika running ataupending, otomatisasi berjalan aws:waitForAwsResourceProperty hingga instans Amazon EC2 melewati pemeriksaan status.

  13. aws:assertAwsResourceProperty: Mengonfirmasi bahwa instans Amazon EC2 bukan bagian dari grup Penskalaan Otomatis dengan memanggil operasi API. DescribeAutoScalingInstances Jika instans merupakan bagian dari grup Penskalaan Otomatis, pastikan instans Amazon EC2 dalam standby mode.

  14. aws:branch: Cabang otomatisasi tergantung pada apakah Anda ingin otomatisasi memeriksa apakah instans Amazon EC2 adalah bagian dari AWS CloudFormation tumpukan:

    1. aws:executeScriptMemastikan instans Amazon EC2 bukan bagian dari AWS CloudFormation tumpukan dengan memanggil operasi DescribeStackResources API.

  15. aws:executeAwsApi: Mengembalikan daftar jenis instance dengan jenis arsitektur prosesor yang sama, jenis virtulisasi, dan yang mendukung jumlah antarmuka jaringan yang saat ini melekat pada contoh target.

  16. aws:executeAwsApi: Mendapat nilai jenis contoh target dari kunci tag yang ditentukan dalam TargetInstanceTypeFromTagValue parameter.

  17. aws:executeScript: Mengonfirmasi bahwa jenis instance saat ini dan target kompatibel. Memastikan bahwa jenis instance target tersedia di subnet yang sama. Memverifikasi kepala sekolah yang memulai runbook memiliki izin untuk mengubah jenis instance, dan menghentikan dan memulai instance jika sedang berjalan.

  18. aws:branch: Cabang otomatisasi berdasarkan apakah nilai DryRun parameter diatur keyes. Jikayes, otomatisasi berakhir.

  19. aws:branch: Memeriksa apakah jenis instance asli dan target sama. Jika mereka sama, otomatisasi berakhir.

  20. aws:executeAwsApi: Mendapat keadaan contoh saat ini.

  21. aws:changeInstanceState: Menghentikan instans Amazon EC2.

  22. aws:changeInstanceState: Memaksa instance untuk berhenti jika terjebak di stopping negara bagian.

  23. aws:executeAwsApi: Mengubah jenis instance ke tipe instance target.

  24. aws:sleep: Menunggu 3 detik setelah mengubah jenis instans untuk konsistensi akhirnya.

  25. aws:branch: Cabang otomatisasi berdasarkan status instans sebelumnya. Jika yarunning, instance dimulai.

    1. aws:changeInstanceState: Memulai instans Amazon EC2 jika sedang berjalan sebelum mengubah jenis instans.

    2. aws:waitForAwsResourceProperty: Menunggu instans Amazon EC2 untuk lulus pemeriksaan status. Jika instance tidak lulus pemeriksaan status, instance diubah kembali ke jenis instance aslinya.

      1. aws:changeInstanceState: Menghentikan instans Amazon EC2 sebelum mengubahnya ke jenis instans aslinya.

      2. aws:changeInstanceState: Memaksa instans Amazon EC2 untuk berhenti sebelum mengubahnya ke jenis instans aslinya jika terjebak dalam keadaan berhenti.

      3. aws:executeAwsApi: Mengubah instans Amazon EC2 ke jenis aslinya.

      4. aws:sleep: Menunggu 3 detik setelah mengubah jenis instans untuk konsistensi akhirnya.

      5. aws:changeInstanceState: Memulai instans Amazon EC2 jika sedang berjalan sebelum mengubah jenis instans.

      6. aws:waitForAwsResourceProperty: Menunggu instans Amazon EC2 untuk lulus pemeriksaan status.

  26. aws:sleep: Menunggu sebelum mengakhiri runbook.