

Manajer Insiden AWS Systems Manager tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Untuk informasi selengkapnya, lihat [perubahan Manajer Insiden AWS Systems Manager ketersediaan](https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-manager-availability-change.html). 

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

# Tutorial: Menggunakan runbook Automation Systems Manager dengan Incident Manager
<a name="tutorials-runbooks"></a>

Anda dapat menggunakan runbook [AWS Systems Manager Otomasi](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) untuk menyederhanakan tugas pemeliharaan, penerapan, dan remediasi umum untuk layanan. AWS Dalam tutorial ini, Anda akan membuat runbook khusus untuk mengotomatiskan respons insiden di Manajer Insiden. Skenario untuk tutorial ini melibatkan CloudWatch alarm Amazon yang ditetapkan ke metrik Amazon EC2. Ketika instance memasuki status yang memicu alarm, Manajer Insiden secara otomatis melakukan tugas-tugas berikut:

1. Membuat insiden di Manajer Insiden.

1. Memulai runbook yang mencoba untuk memulihkan masalah.

1. Menerbitkan hasil buku runbook ke halaman detail insiden di Manajer Insiden.

Proses yang dijelaskan dalam tutorial ini juga dapat digunakan dengan EventBridge acara Amazon dan jenis AWS sumber daya lainnya. Dengan mengotomatiskan respons remediasi Anda terhadap alarm dan peristiwa, Anda dapat mengurangi dampak insiden pada organisasi Anda dan sumber dayanya.

Tutorial ini menjelaskan cara mengedit CloudWatch alarm yang ditetapkan ke instans Amazon EC2 untuk rencana respons Manajer Insiden. Jika Anda tidak memiliki alarm, instans, atau paket respons yang dikonfigurasi, kami sarankan Anda mengonfigurasi sumber daya tersebut sebelum memulai. Untuk informasi selengkapnya, lihat topik berikut:
+ [Menggunakan CloudWatch alarm Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) di * CloudWatch Panduan Pengguna Amazon*
+ [Instans Amazon EC2 di Panduan](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Instances.html) *Pengguna Amazon EC2*
+ [Instans Amazon EC2 di Panduan](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Instances.html) *Pengguna Amazon EC2*
+ [Membuat dan mengonfigurasi rencana respons di Manajer Insiden](response-plans.md)

**penting**  
Anda akan dikenakan biaya dengan membuat AWS sumber daya dan menggunakan langkah-langkah otomatisasi runbook. Untuk informasi selengkapnya, lihat [harga AWS](https://aws.amazon.com/pricing).

**Topics**
+ [Tugas 1: Membuat runbook](#tutorials-runbook-create)
+ [Tugas 2: Membuat peran IAM](#tutorials-runbook-IAM-role)
+ [Tugas 3: Menghubungkan runbook ke rencana respons Anda](#tutorials-runbook-response-plan)
+ [Tugas 4: Menetapkan CloudWatch alarm ke rencana respons Anda](#tutorials-runbook-alarm)
+ [Tugas 5: Memverifikasi hasil](#tutorials-runbook-verify)

## Tugas 1: Membuat runbook
<a name="tutorials-runbook-create"></a>

Gunakan prosedur berikut untuk membuat runbook di konsol Systems Manager. Saat dipanggil dari insiden Manajer Insiden, runbook memulai ulang instans Amazon EC2 dan memperbarui insiden tersebut dengan informasi tentang eksekusi runbook. Sebelum memulai, verifikasi bahwa Anda memiliki izin untuk membuat runbook. Untuk informasi selengkapnya, lihat [Menyiapkan Otomatisasi](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-setup.html) di *Panduan AWS Systems Manager Pengguna*.

**penting**  
Tinjau detail penting berikut tentang membuat runbook tutorial ini:  
Runbook dimaksudkan untuk insiden yang dibuat dari sumber CloudWatch alarm. Jika Anda menggunakan runbook ini untuk jenis insiden lain, misalnya insiden yang dibuat secara manual, maka peristiwa timeline di langkah runbook pertama tidak akan ditemukan dan sistem mengembalikan kesalahan.
Runbook membutuhkan CloudWatch alarm termasuk dimensi yang disebut`InstanceId`. Alarm untuk metrik instans Amazon EC2 memiliki dimensi ini. Jika Anda menggunakan runbook ini dengan metrik lain (atau dengan sumber insiden lain, seperti EventBridge), maka Anda harus mengubah `JsonDecode2` langkah untuk mencocokkan data yang diambil dalam skenario Anda. 
Runbook mencoba untuk memulihkan masalah yang memicu alarm dengan memulai ulang instans Amazon EC2. Untuk kejadian nyata, Anda mungkin tidak ingin memulai ulang instance. Perbarui runbook dengan tindakan remediasi spesifik yang Anda ingin sistem ambil.

Untuk informasi selengkapnya tentang membuat runbook, lihat [Bekerja dengan runbook](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) di *AWS Systems Manager Panduan Pengguna*. 

**Untuk membuat runbook**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Dokumen**.

1. Pilih **Otomatisasi**.

1. Untuk **Nama**, masukkan nama deskriptif untuk runbook, seperti. **IncidentResponseRunbook**

1. Pilih tab **Editor**, dan kemudian pilih **Edit**.

1. Tempelkan konten berikut ke editor:

   ```
   description: This runbook attempts to restart an Amazon EC2 instance that caused an incident.
   schemaVersion: '0.3'
   parameters:
     IncidentRecordArn:
       type: String
       description: The incident
   mainSteps:
     - name: ListTimelineEvents
       action: 'aws:executeAwsApi'
       outputs:
         - Selector: '$.eventSummaries[0].eventId'
           Name: eventId
           Type: String
       inputs:
         Service: ssm-incidents
         Api: ListTimelineEvents
         incidentRecordArn: '{{IncidentRecordArn}}'
         filters:
           - key: eventType
             condition:
               equals:
                 stringValues:
                   - SSM Incident Trigger
       description: This step retrieves the ID of the first timeline event with the CloudWatch alarm details.
     - name: GetTimelineEvent
       action: 'aws:executeAwsApi'
       inputs:
         Service: ssm-incidents
         Api: GetTimelineEvent
         incidentRecordArn: '{{IncidentRecordArn}}'
         eventId: '{{ListTimelineEvents.eventId}}'
       outputs:
         - Name: eventData
           Selector: $.event.eventData
           Type: String
       description: This step retrieves the timeline event itself.
     - name: JsonDecode
       action: 'aws:executeScript'
       inputs:
         Runtime: python3.8
         Handler: script_handler
         Script: |-
           import json
   
           def script_handler(events, context):
             data = json.loads(events["eventData"])
             return data
         InputPayload:
           eventData: '{{GetTimelineEvent.eventData}}'
       outputs:
         - Name: rawData
           Selector: $.Payload.rawData
           Type: String
       description: This step parses the timeline event data.
     - name: JsonDecode2
       action: 'aws:executeScript'
       inputs:
         Runtime: python3.8
         Handler: script_handler
         Script: |-
           import json
   
           def script_handler(events, context):
             data = json.loads(events["rawData"])
             return data
         InputPayload:
           rawData: '{{JsonDecode.rawData}}'
       outputs:
         - Name: InstanceId
           Selector: '$.Payload.detail.configuration.metrics[0].metricStat.metric.dimensions.InstanceId'
           Type: String
       description: This step parses the CloudWatch event data.
     - name: RestartInstance
       action: 'aws:executeAutomation'
       inputs:
         DocumentName: AWS-RestartEC2Instance
         DocumentVersion: $DEFAULT
         RuntimeParameters:
           InstanceId: '{{JsonDecode2.InstanceId}}'
       description: This step restarts the Amazon EC2 instance
   ```

1. Pilih **Buat otomatisasi**.

## Tugas 2: Membuat peran IAM
<a name="tutorials-runbook-IAM-role"></a>

Gunakan tutorial berikut untuk membuat peran AWS Identity and Access Management (IAM) yang memberikan izin Manajer Insiden untuk mengintitiasi runbook yang ditentukan dalam rencana respons. Runbook dalam tutorial ini memulai ulang instans Amazon EC2. Anda akan menentukan peran IAM ini di tugas berikutnya ketika Anda menghubungkan runbook ke rencana respons Anda. 

**Buat peran IAM yang mengintitiasi runbook dari rencana respons**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**, lalu pilih **Buat peran**.

1. Di bawah **Jenis entitas Tepercaya**, verifikasi bahwa **AWS layanan** dipilih.

1. Di bawah **Kasus penggunaan**, di bidang **Kasus penggunaan untuk AWS layanan lain**, masukkan**Incident Manager**.

1. Pilih **Manajer Insiden**, lalu pilih **Berikutnya**.

1. Pada halaman **Tambahkan izin**, pilih **Buat kebijakan**. Editor izin akan terbuka di jendela atau tab browser baru. 

1. Di editor, pilih tab **JSON**.

1. Salin dan tempel kebijakan izin berikut ke editor JSON. Ganti {{account\_ID}} dengan Akun AWS ID Anda.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Resource": [
                   "arn:aws:ssm:*:{{111122223333}}:document/IncidentResponseRunbook",
                   "arn:aws:ssm:*::document/AWS-RestartEC2Instance",
                   "arn:aws:ssm:*:{{111122223333}}:automation-execution/*"
               ],
               "Action": "ssm:StartAutomationExecution"
           },
           {
               "Effect": "Allow",
               "Resource": "arn:aws:ssm:*:*:automation-execution/*",
               "Action": "ssm:GetAutomationExecution"
           },
           {
               "Effect": "Allow",
               "Resource": "arn:aws:ssm-incidents:*:*:*",
               "Action": "ssm-incidents:*"
           },
           {
               "Effect": "Allow",
               "Resource": "arn:aws:iam::*:role/AWS-SystemsManager-AutomationExecutionRole",
               "Action": "sts:AssumeRole"
           },
           {
               "Effect": "Allow",
               "Resource": "*",
               "Action": [
                   "ec2:StopInstances",
                   "ec2:DescribeInstanceStatus",
                   "ec2:StartInstances"
               ]
           }
       ]
   }
   ```

------

1. Pilih **Berikutnya: Tanda**.

1. (Opsional) Jika perlu, tambahkan tag ke kebijakan Anda.

1. Pilih **Berikutnya: Tinjauan**.

1. Di bidang **Nama**, masukkan nama yang membantu Anda mengidentifikasi peran ini sebagai yang digunakan untuk tutorial ini. 

1. (Opsional) Masukkan deskripsi di bidang **Deskripsi**.

1. Pilih **Buat kebijakan**.

1. Arahkan kembali ke jendela browser atau tab untuk peran yang Anda buat. Halaman **Tambahkan izin** ditampilkan.

1. Pilih tombol refresh (terletak di sebelah tombol **Buat Kebijakan**), lalu masukkan nama kebijakan batas yang Anda buat ke dalam kotak filter.

1. Pilih kebijakan izin yang Anda buat, lalu pilih **Berikutnya**.

1. Pada halaman **Nama, tinjau, dan buat**, untuk **nama Peran**, masukkan nama yang membantu Anda mengidentifikasi peran ini sebagai yang digunakan untuk tutorial ini. 

1. (Opsional) Masukkan deskripsi di bidang **Deskripsi**.

1. Tinjau detail peran, tambahkan tag jika diperlukan, dan pilih **Buat peran**.

## Tugas 3: Menghubungkan runbook ke rencana respons Anda
<a name="tutorials-runbook-response-plan"></a>

Dengan menghubungkan runbook ke rencana respons Manajer Insiden Anda, Anda memastikan proses mitigasi yang konsisten, berulang, dan tepat waktu. Runbook juga berfungsi sebagai titik awal bagi resolver untuk menentukan tindakan selanjutnya. 

**Untuk menetapkan runbook ke rencana respons Anda**

1. Buka [konsol Manajer Insiden](https://console.aws.amazon.com/systems-manager/incidents/home).

1. Pilih **paket Respons**.

1. Untuk **paket Respons**, pilih paket respons yang ada dan pilih **Edit**. Jika Anda tidak memiliki rencana respons yang ada, pilih **Buat rencana respons** untuk membuat rencana baru. 

   Lengkapi bidang-bidang berikut:

   1. Di bagian **Runbook**, pilih **Pilih runbook yang ada**.

   1. Untuk **Pemilik**, verifikasi bahwa **Dimiliki oleh saya** dipilih.

   1. Untuk **Runbook**, pilih runbook yang Anda buat. [Tugas 1: Membuat runbook](#tutorials-runbook-create)

   1. Untuk **Versi**, pilih **Default pada saat eksekusi**.

   1. Di bagian **Input**, untuk **IncidentRecordArn**parameter, pilih **Insiden ARN**.

   1. Di bagian **Izin eksekusi**, pilih peran IAM yang Anda buat. [Tugas 2: Membuat peran IAM](#tutorials-runbook-IAM-role)

1. Simpan perubahan Anda.

## Tugas 4: Menetapkan CloudWatch alarm ke rencana respons Anda
<a name="tutorials-runbook-alarm"></a>

Gunakan prosedur berikut untuk menetapkan CloudWatch alarm untuk instans Amazon EC2 ke paket respons Anda. 

**Untuk menetapkan CloudWatch alarm ke rencana respons Anda**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Di panel navigasi, di bawah **Alarm, pilih **Semua** alarm**.

1. Pilih alarm untuk instans Amazon EC2 yang ingin Anda sambungkan ke paket respons Anda.

1. Pilih **Tindakan**, dan kemudian pilih **Edit**. Verifikasi bahwa metrik memiliki dimensi yang disebut`InstanceId`.

1. Pilih **Berikutnya**.

1. Untuk **panduan Konfigurasi tindakan**, pilih **tindakan Add Systems Manager**.

1. Pilih **Buat insiden**.

1. Pilih paket respons yang Anda buat[Tugas 3: Menghubungkan runbook ke rencana respons Anda](#tutorials-runbook-response-plan).

1. Pilih **Perbarui alarm**.

## Tugas 5: Memverifikasi hasil
<a name="tutorials-runbook-verify"></a>

Untuk memverifikasi bahwa CloudWatch alarm membuat insiden dan kemudian memproses runbook yang ditentukan dalam rencana respons Anda, Anda harus memicu alarm. Setelah Anda memicu alarm dan runbook selesai diproses, Anda dapat memverifikasi hasil runbook dengan menggunakan prosedur berikut. Untuk informasi tentang memicu alarm, lihat [set-alarm-state](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/set-alarm-state.html)di *Referensi AWS CLI Perintah*.

1. Buka [konsol Manajer Insiden](https://console.aws.amazon.com/systems-manager/incidents/home).

1. Pilih insiden yang dibuat oleh CloudWatch alarm.

1. Pilih tab **Runbooks**.

1. Lihat tindakan yang dilakukan pada instans Amazon EC2 Anda di bagian Langkah **Runbook**. 

   Gambar berikut menunjukkan bagaimana langkah-langkah yang diambil oleh runbook yang Anda buat dalam tutorial ini dilaporkan di konsol. Setiap langkah dicantumkan dengan stempel waktu dan pesan status.  
![Langkah-langkah dari runbook Otomasi dilaporkan dengan stempel waktu dan laporan status, seperti “Sukses”.](http://docs.aws.amazon.com/id_id/incident-manager/latest/userguide/images/tutorial-runbooks-1.png)

   Untuk melihat semua detail di CloudWatch alarm, perluas langkah **JsonDecode2**, lalu perluas **Output**.

**penting**  
Anda harus membersihkan setiap perubahan sumber daya yang Anda terapkan selama tutorial ini yang tidak ingin Anda simpan. Ini termasuk perubahan pada sumber daya Manajer Insiden seperti rencana sumber daya dan insiden, perubahan CloudWatch alarm, dan peran IAM yang Anda buat untuk tutorial ini.