Jadwalkan otomatisasi dengan jendela pemeliharaan - AWS Systems Manager

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

Jadwalkan otomatisasi dengan jendela pemeliharaan

Anda dapat memulai otomatisasi dengan mengonfigurasi runbook sebagai tugas terdaftar untuk jendela pemeliharaan. Dengan mendaftarkan runbook sebagai tugas terdaftar, jendela pemeliharaan menjalankan otomatisasi selama periode pemeliharaan terjadwal.

Sebagai contoh, katakanlah Anda membuat runbook bernama CreateAMI yang menciptakan Amazon Machine Image (AMI) dari instans terdaftar sebagai target ke jendela pemeliharaan. Untuk menentukan CreateAMI runbook (dan otomatisasi yang sesuai) sebagai tugas terdaftar dari jendela pemeliharaan, Anda harus terlebih dahulu membuat jendela pemeliharaan dan mendaftarkan target. Kemudian Anda menggunakan prosedur berikut untuk menentukan CreateAMI dokumen sebagai tugas terdaftar dalam jendela pemeliharaan. Ketika jendela pemeliharaan dimulai selama periode yang dijadwalkan, sistem menjalankan otomatisasi dan menciptakan AMI dari target terdaftar.

Untuk informasi lebih lanjut tentang pembuatan runbook Otomatisasi, lihat Membuat runbook Anda sendiri. Otomasi adalah kemampuan AWS Systems Manager.

Gunakan prosedur berikut untuk mengonfigurasi otomatisasi sebagai tugas terdaftar untuk jendela pemeliharaan menggunakan AWS Systems Manager konsol, AWS Command Line Interface (AWS CLI), atau AWS Tools for Windows PowerShell.

Mendaftarkan tugas otomatisasi ke jendela pemeliharaan (konsol)

Prosedur berikut menjelaskan cara menggunakan konsol Systems Manager untuk mengonfigurasi otomatisasi sebagai tugas terdaftar untuk jendela pemeliharaan.

Sebelum Anda memulai

Sebelum Anda menyelesaikan prosedur berikut, Anda harus membuat jendela pemeliharaan dan mendaftarkan setidaknya satu target. Untuk informasi selengkapnya, lihat prosedur berikut:

Untuk mengonfigurasi otomatisasi sebagai tugas terdaftar untuk jendela pemeliharaan
  1. Buka AWS Systems Manager konsol di https://console.aws.amazon.com/systems-manager/.

  2. Di panel navigasi kiri, pilih Maintenance Windows, lalu pilih jendela pemeliharaan yang ingin Anda daftarkan tugas Otomasi.

  3. Pilih Tindakan. Kemudian pilih Mendaftarkan tugas otomatisasi untuk menjalankan pilihan otomatisasi Anda pada target dengan menggunakan runbook.

  4. Untuk Nama, masukkan nama untuk tugas.

  5. Untuk Deskripsi, masukkan deskriptif.

  6. Untuk Dokumen, pilih runbook yang mendefinisikan tugas yang akan dijalankan.

  7. Untuk Versi dokumen, pilih versi runbook untuk digunakan.

  8. Untuk Prioritas tugas, tentukan prioritas untuk tugas ini. 1 adalah prioritas tertinggi. Tugas di jendela pemeliharaan dijadwalkan dalam urutan prioritas; tugas yang memiliki prioritas yang sama dijadwalkan secara paralel.

  9. Di bagian Target, jika runbook yang Anda pilih adalah salah satu yang menjalankan tugas di sumber daya, identifikasi target tempat Anda ingin menjalankan otomatisasi ini dengan menentukan tag atau memilih instans secara manual.

    catatan

    Jika Anda ingin melewati sumber daya melalui parameter input bukan target, Anda tidak perlu menentukan target jendela pemeliharaan.

    Dalam banyak kasus, Anda tidak perlu secara eksplisit menentukan target untuk tugas otomatisasi. Misalnya, katakanlah bahwa Anda membuat tugas jenis otomatisasi untuk memperbarui Amazon Machine Image (AMI) untuk Linux menggunakan AWS-UpdateLinuxAmi runbook. Ketika tugas berjalan, AMI diperbarui dengan paket distribusi Linux terbaru yang tersedia dan perangkat lunak Amazon. Contoh baru dibuat dari AMI telah menginstal pembaruan ini. Karena ID AMI yang akan diperbarui ditentukan dalam parameter input untuk runbook, tidak perlu untuk menentukan target lagi dalam tugas jendela pemeliharaan.

    Untuk informasi tentang tugas jendela pemeliharaan yang tidak memerlukan target, lihat Pendaftaran tugas jendela pemeliharaan tanpa target.

  10. (Opsional) Untuk Pengendalian rate:

    catatan

    Jika tugas yang Anda jalankan tidak menentukan target, Anda tidak perlu menentukan kontrol tarif.

    • Untuk Konkurensi, tentukan jumlah atau persentase target untuk menjalankan perintah pada saat yang sama.

      Jika Anda memilih target dengan memilih pasangan kunci nilai tag, dan Anda tidak yakin berapa banyak target yang menggunakan tag terpilih, maka batasi jumlah instans yang dapat menjalankan dokumen pada waktu yang sama dengan menentukan persentase.

      Ketika jendela pemeliharaan berjalan, otomatisasi baru dimulai per target. Ada batas 100 otomatisasi bersamaan per. Akun AWS Jika Anda menentukan tingkat konkurensi lebih besar dari 100, otomatisasi bersama yang lebih dari 100 akan ditambahkan secara otomatis ke antrean otomatisasi. Untuk selengkapnya, lihat kuota layanan Systems Manager di bagian. Referensi Umum Amazon Web Services

    • Untuk Ambang batas kesalahan, tetapkan kapan harus berhenti menjalankan otomatisasi pada target lain setelah gagal pada sejumlah atau persentase instans. Misalnya, jika Anda menentukan tiga kesalahan, maka Systems Manager berhenti mengirim perintah ketika kesalahan keempat diterima. Target yang masih memproses otomatisasi juga dapat mengirim kesalahan.

  11. Di bagian Parameter input, tentukan parameter untuk runbook. Untuk runbook, sistem akan secara otomatis mengisi beberapa nilai. Anda dapat menyimpan atau mengganti nilai-nilai ini.

    penting

    Untuk runbook, Anda dapat menentukan Peran Asumsi Otomatisasi. Jika Anda tidak menentukan peran untuk parameter ini, maka otomatisasi mengasumsikan peran layanan jendela pemeliharaan yang Anda pilih di langkah 11. Dengan demikian, Anda harus memastikan bahwa peran layanan jendela pemeliharaan yang Anda pilih memiliki izin AWS Identity and Access Management (IAM) yang sesuai untuk melakukan tindakan yang ditentukan dalam runbook.

    Misalnya, peran terkait layanan untuk Systems Manager tidak memiliki izin IAM ec2:CreateSnapshot, yang diperlukan untuk menggunakan runbook AWS-CopySnapshot. Dalam skenario ini, Anda harus menggunakan peran layanan jendela pemeliharaan kustom atau menentukan peran asumsi Otomasi yang memiliki ec2:CreateSnapshot izin. Untuk informasi, lihat Menyiapkan Otomatisasi.

  12. Di area peran layanan IAM, pilih peran untuk memberikan izin bagi Systems Manager untuk memulai otomatisasi.

    Untuk membuat peran layanan untuk tugas jendela pemeliharaan, lihatGunakan konsol untuk mengonfigurasi izin untuk jendela pemeliharaan.

  13. Pilih Daftarkan tugas otomatisasi.

Mendaftarkan tugas otomatisasi ke jendela pemeliharaan (baris perintah)

Prosedur berikut menjelaskan cara menggunakan AWS CLI (di Linux atau Windows) atau AWS Tools for PowerShell untuk mengkonfigurasi otomatisasi sebagai tugas terdaftar untuk jendela pemeliharaan.

Sebelum Anda mulai

Sebelum Anda menyelesaikan prosedur berikut, Anda harus membuat jendela pemeliharaan dan mendaftarkan setidaknya satu target. Untuk informasi selengkapnya, lihat prosedur berikut:

Untuk mengonfigurasi otomatisasi sebagai tugas terdaftar untuk jendela pemeliharaan
  1. Instal dan konfigurasikan AWS CLI atau AWS Tools for PowerShell, jika Anda belum melakukannya.

    Untuk selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI dan Menginstal AWS Tools for PowerShell.

  2. Buat perintah untuk mengonfigurasi otomatisasi sebagai tugas terdaftar untuk jendela pemeliharaan. Ganti setiap placeholder sumber daya contoh dengan informasi Anda sendiri.

    Linux & macOS
    aws ssm register-task-with-maintenance-window \ --window-id window ID \ --name task name \ --task-arn runbook name \ --targets Key=targets,Values=value \ --service-role-arn IAM role arn \ --task-type AUTOMATION \ --task-invocation-parameters task parameters \ --priority task priority \ --max-concurrency 10% \ --max-errors 5
    catatan

    Jika Anda mengonfigurasi otomatisasi sebagai tugas terdaftar dengan menggunakan AWS CLI, gunakan --Task-Invocation-Parameters parameter untuk menentukan parameter yang akan diteruskan ke tugas saat dijalankan. Jangan gunakan --Task-Parameters parameter. Parameter --Task-Parameters adalah parameter warisan.

    Untuk tugas jendela pemeliharaan tanpa target yang ditentukan, Anda tidak dapat memberikan nilai untuk --max-errors dan --max-concurrency. Sebagai gantinya, sistem menyisipkan nilai placeholder1, yang mungkin dilaporkan dalam respons terhadap perintah seperti dan. describe-maintenance-window-tasksget-maintenance-window-task Nilai-nilai ini tidak mempengaruhi tugas Anda yang sedang berjalan dan dapat diabaikan.

    Untuk informasi tentang tugas jendela pemeliharaan yang tidak memerlukan target, lihat Pendaftaran tugas jendela pemeliharaan tanpa target.

    Windows
    aws ssm register-task-with-maintenance-window ^ --window-id window ID ^ --name task name ^ --task-arn runbook name ^ --targets Key=targets,Values=value ^ --service-role-arn IAM role arn ^ --task-type AUTOMATION ^ --task-invocation-parameters task parameters ^ --priority task priority ^ --max-concurrency 10% ^ --max-errors 5
    catatan

    Jika Anda mengonfigurasi otomatisasi sebagai tugas terdaftar dengan menggunakan AWS CLI, gunakan --task-invocation-parameters parameter untuk menentukan parameter yang akan diteruskan ke tugas saat dijalankan. Jangan gunakan --task-parameters parameter. Parameter --task-parameters adalah parameter warisan.

    Untuk tugas jendela pemeliharaan tanpa target yang ditentukan, Anda tidak dapat memberikan nilai untuk --max-errors dan --max-concurrency. Sebagai gantinya, sistem menyisipkan nilai placeholder1, yang mungkin dilaporkan dalam respons terhadap perintah seperti dan. describe-maintenance-window-tasksget-maintenance-window-task Nilai-nilai ini tidak mempengaruhi tugas Anda yang sedang berjalan dan dapat diabaikan.

    Untuk informasi tentang tugas jendela pemeliharaan yang tidak memerlukan target, lihat Pendaftaran tugas jendela pemeliharaan tanpa target.

    PowerShell
    Register-SSMTaskWithMaintenanceWindow ` -WindowId window ID ` -Name "task name" ` -TaskArn "runbook name" ` -Target @{ Key="targets";Values="value" } ` -ServiceRoleArn "IAM role arn" ` -TaskType "AUTOMATION" ` -Automation_Parameter @{ "task parameter"="task parameter value"} ` -Priority task priority ` -MaxConcurrency 10% ` -MaxError 5
    catatan

    Jika Anda mengonfigurasi otomatisasi sebagai tugas terdaftar dengan menggunakan AWS Tools for PowerShell, gunakan -Automation_Parameter parameter untuk menentukan parameter yang akan diteruskan ke tugas saat tugas berjalan. Jangan gunakan -TaskParameters parameter. Parameter -TaskParameters adalah parameter warisan.

    Untuk tugas jendela pemeliharaan tanpa target yang ditentukan, Anda tidak dapat memberikan nilai untuk -MaxError dan -MaxConcurrency. Sebaliknya, sistem menyisipkan nilai placeholder dari 1, yang mungkin dilaporkan sesuai dengan perintah seperti Get-SSMMaintenanceWindowTaskList dan Get-SSMMaintenanceWindowTask. Nilai-nilai ini tidak mempengaruhi tugas Anda yang sedang berjalan dan dapat diabaikan.

    Untuk informasi tentang tugas jendela pemeliharaan yang tidak memerlukan target, lihat Pendaftaran tugas jendela pemeliharaan tanpa target.

    Contoh berikut mengonfigurasi otomatisasi sebagai tugas terdaftar ke jendela pemeliharaan dengan prioritas 1. Hal ini juga menunjukkan menghilangkan --targets, --max-errors, dan --max-concurrency pilihan tugas jendela pemeliharaan tanpa target. Otomatisasi menggunakan AWS-StartEC2Instance runbook dan peran asumsi otomatisasi untuk memulai instans EC2 terdaftar sebagai target untuk jendela pemeliharaan. Jendela pemeliharaan menjalankan otomatisasi secara bersamaan pada 5 instans maksimum pada waktu tertentu. Juga, asosiasi ini berhenti berjalan pada lebih banyak instans untuk interval eksekusi tertentu jika jumlah kesalahan melebihi 1.

    Linux & macOS
    aws ssm register-task-with-maintenance-window \ --window-id mw-0c50858d01EXAMPLE \ --name StartEC2Instances \ --task-arn AWS-StartEC2Instance \ --service-role-arn arn:aws:iam::123456789012:role/MaintenanceWindowRole \ --task-type AUTOMATION \ --task-invocation-parameters "{\"Automation\":{\"Parameters\":{\"InstanceId\":[\"{{TARGET_ID}}\"],\"AutomationAssumeRole\":[\"arn:aws:iam::123456789012:role/AutomationAssumeRole\"]}}}" \ --priority 1
    Windows
    aws ssm register-task-with-maintenance-window ^ --window-id mw-0c50858d01EXAMPLE ^ --name StartEC2Instances ^ --task-arn AWS-StartEC2Instance ^ --service-role-arn arn:aws:iam::123456789012:role/MaintenanceWindowRole ^ --task-type AUTOMATION ^ --task-invocation-parameters "{\"Automation\":{\"Parameters\":{\"InstanceId\":[\"{{TARGET_ID}}\"],\"AutomationAssumeRole\":[\"arn:aws:iam::123456789012:role/AutomationAssumeRole\"]}}}" ^ --priority 1
    PowerShell
    Register-SSMTaskWithMaintenanceWindow ` -WindowId mw-0c50858d01EXAMPLE ` -Name "StartEC2" ` -TaskArn "AWS-StartEC2Instance" ` -ServiceRoleArn "arn:aws:iam::123456789012:role/MaintenanceWindowRole" ` -TaskType "AUTOMATION" ` -Automation_Parameter @{ "InstanceId"="{{TARGET_ID}}";"AutomationAssumeRole"="arn:aws:iam::123456789012:role/AutomationAssumeRole" } ` -Priority 1

    Perintah akan menampilkan detail untuk tugas baru yang terdaftar serupa dengan yang berikut ini.

    Linux & macOS
    {
    "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
    }
    Windows
    {
    "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
    }
    PowerShell
    4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE
  3. Untuk melihat tugas terdaftar, jalankan perintah berikut. Ganti ID windows pemeliharaan dengan informasi Anda sendiri.

    Linux & macOS
    aws ssm describe-maintenance-window-tasks \ --window-id maintenance window ID
    Windows
    aws ssm describe-maintenance-window-tasks ^ --window-id maintenance window ID
    PowerShell
    Get-SSMMaintenanceWindowTaskList ` -WindowId maintenance window ID

    Sistem mengembalikan informasi seperti berikut.

    Linux & macOS
    {
    "Tasks": [
        {
            "ServiceRoleArn": "arn:aws:iam::123456789012:role/MaintenanceWindowRole",
            "MaxErrors": "1",
            "TaskArn": "AWS-StartEC2Instance",
            "MaxConcurrency": "1",
            "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
            "TaskParameters": {},
            "Priority": 1,
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Type": "AUTOMATION",
            "Targets": [
            ],
            "Name": "StartEC2"
        }
    ]
    }
    Windows
    {
    "Tasks": [
        {
            "ServiceRoleArn": "arn:aws:iam::123456789012:role/MaintenanceWindowRole",
            "MaxErrors": "1",
            "TaskArn": "AWS-StartEC2Instance",
            "MaxConcurrency": "1",
            "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
            "TaskParameters": {},
            "Priority": 1,
            "WindowId": "mw-0c50858d01EXAMPLE",
            "Type": "AUTOMATION",
            "Targets": [
            ],
            "Name": "StartEC2"
        }
    ]
    }
    PowerShell
    Description    : 
    LoggingInfo    : 
    MaxConcurrency : 5
    MaxErrors      : 1
    Name           : StartEC2
    Priority       : 1
    ServiceRoleArn : arn:aws:iam::123456789012:role/MaintenanceWindowRole
    Targets        : {}
    TaskArn        : AWS-StartEC2Instance
    TaskParameters : {}
    Type           : AUTOMATION
    WindowId       : mw-0c50858d01EXAMPLE
    WindowTaskId   : 4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE