

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

# Tutorial: Buat EventBridge aturan yang bereaksi terhadap panggilan AWS API melalui CloudTrail
<a name="eb-log-api-call"></a>

Anda dapat menggunakan EventBridge [aturan](eb-rules.md) Amazon untuk bereaksi terhadap panggilan API yang dilakukan oleh AWS layanan yang direkam oleh AWS CloudTrail.

Dalam tutorial ini, Anda membuat [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)jejak, fungsi Lambda, dan aturan di EventBridge konsol. Aturan memanggil fungsi Lambda ketika instans Amazon EC2 dihentikan.

**Topics**
+ [Langkah 1: Buat AWS CloudTrail jejak](#eb-log-api-create-ct-trail)
+ [Langkah 2: Buat AWS Lambda fungsi](#eb-api-create-lambda-function)
+ [Langkah 3: Buat aturan](#eb-api-create-rule)
+ [Langkah 4: Uji aturan](#eb-api-test-rule)
+ [Langkah 5: Mengonfirmasi keberhasilan](#success)
+ [Langkah 6: Bersihkan sumber daya Anda](#cleanup)

## Langkah 1: Buat AWS CloudTrail jejak
<a name="eb-log-api-create-ct-trail"></a>

Jika Anda sudah memiliki jejak diatur, lewati ke langkah 2.

**Untuk membuat jejak**

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

1. Pilih **Jejak**, **Buat jejak**.

1. Untuk **Nama jejak**, ketikkan nama untuk jejak.

1. Untuk **Lokasi penyimpanan**, di **Buat bucket S3 baru**.

1. Untuk **AWS KMS alias**, ketik alias untuk bukti kunci KMS.

1. Pilih **Selanjutnya**.

1. Pilih **Selanjutnya**.

1. Pilih **Buat jejak**.

## Langkah 2: Buat AWS Lambda fungsi
<a name="eb-api-create-lambda-function"></a>

Buat fungsi Lambda untuk log peristiwa panggilan API. 

**Untuk membuat fungsi Lambda**

1. Buka AWS Lambda konsol di [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Pilih **Buat fungsi**.

1. Pilih **Tulis dari scratch**.

1. Masukkan nama dan deskripsi untuk fungsi Lambda. Misalnya, beri nama fungsi tersebut `LogEC2StopInstance`.

1. Tinggalkan sisa pilihan sebagai default dan pilih **Buat fungsi**.

1. Pada tab **Kode** dari halaman fungsi, klik dua kali **index.js**.

1. Ganti kode yang ada dengan kode berikut.

   ```
   'use strict';
   
   exports.handler = (event, context, callback) => {
       console.log('LogEC2StopInstance');
       console.log('Received event:', JSON.stringify(event, null, 2));
       callback(null, 'Finished');
   };
   ```

1. Pilih **Men-deploy**.

## Langkah 3: Buat aturan
<a name="eb-api-create-rule"></a>

Buat aturan untuk menjalankan fungsi Lambda Anda buat di langkah 2 setiap kali Anda berhenti instans Amazon EC2.

**Untuk membuat tabel**

1. Buka EventBridge konsol Amazon di [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

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

1. Pilih **Buat aturan**.

1. Masukkan nama dan deskripsi aturan. Misalnya, beri nama aturan `TestRule`

1. Untuk **bus acara**, pilih bus acara yang ingin Anda kaitkan dengan aturan ini. Jika Anda ingin aturan ini cocok dengan peristiwa yang berasal dari akun Anda, pilih **default**. Saat layanan AWS di akun Anda menghasilkan kejadian, layanan tersebut akan selalu masuk ke bus kejadian default akun Anda.

1. Untuk **Tipe aturan**, pilih **Aturan dengan pola peristiwa**.

1. Pilih **Selanjutnya**.

1. Untuk **Sumber peristiwa**, pilih **Layanan AWS **.

1. Untuk **Pola peristiwa**, lakukan hal berikut:

   1. Untuk **sumber acara**, pilih **EC2** dari daftar drop-down.

   1. Untuk **jenis Event**, pilih **AWS API Call via CloudTrail** dari daftar drop-down.

   1. Pilih **Operasi spesifik** dan masukkan`StopInstances`.

1. Pilih **Berikutnya**.

1. Untuk **Jenis target**, pilih **Layanan AWS **.

1. Untuk **Pilih target**, pilih **fungsi Lambda** dari daftar drop-down.

1. Untuk **Fungsi**, pilih fungsi Lambda yang Anda buat di bagian **Langkah 1: Buat fungsi Lambda**. Dalam contoh ini, pilih`LogEC2StopInstance`.

1. Pilih **Berikutnya**.

1. Pilih **Berikutnya**.

1. Tinjau detail aturan dan pilih **Buat aturan**.

## Langkah 4: Uji aturan
<a name="eb-api-test-rule"></a>

Anda dapat menguji aturan Anda dengan pemfilteran stopword instans Amazon EC2 menggunakan konsol Amazon EC2. Tunggu beberapa menit hingga instans berhenti, lalu periksa AWS Lambda metrik Anda di CloudWatch konsol untuk memverifikasi bahwa fungsi Anda berjalan.

**Untuk menguji aturan Anda dengan pemfilteran stopword instans**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Luncurkan sebuah instans. Untuk informasi selengkapnya, lihat [Meluncurkan Instans Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) di *Panduan Pengguna Amazon EC2*.

1. Hentikan instans. Untuk informasi selengkapnya, lihat [Menghentikan dan Memulai Instans Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html) di *Panduan Pengguna Amazon EC2*.

1. Untuk melihat output dari fungsi Lambda Anda, lakukan hal berikut:

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

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

   1. Pilih nama grup log untuk fungsi Lambda Anda (`/aws/lambda/{{function-name}}`).

   1. Pilih nama pengaliran log untuk melihat data yang disediakan oleh fungsi untuk instans yang Anda hentikan.

1. (Opsional) Ketika Anda selesai, akhiri instans yang dihentikan. Untuk informasi selengkapnya, lihat [Menghentikan Instans Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html) di Panduan *Pengguna Amazon EC2*.

## Langkah 5: Mengonfirmasi keberhasilan
<a name="success"></a>

Jika Anda melihat peristiwa Lambda di CloudWatch log, Anda telah berhasil menyelesaikan tutorial ini. Jika peristiwa tidak ada di CloudWatch log Anda, mulailah pemecahan masalah dengan memverifikasi aturan berhasil dibuat dan, jika aturan terlihat benar, verifikasi kode fungsi Lambda Anda sudah benar.

## Langkah 6: Bersihkan sumber daya Anda
<a name="cleanup"></a>

Sekarang Anda dapat menghapus sumber daya yang Anda buat untuk tutorial ini, kecuali Anda ingin mempertahankan itu. Dengan menghapus AWS sumber daya yang tidak lagi Anda gunakan, Anda mencegah tagihan yang tidak perlu ke AWS akun Anda.

**Untuk menghapus EventBridge aturan**

1. Buka [halaman Aturan](https://console.aws.amazon.com/events/home#/rules) EventBridge konsol.

1. Pilih aturan yang Anda buat.

1. Pilih **Hapus**.

1. Pilih **Hapus**.

**Untuk menghapus fungsi Lambda**

1. Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

1. Pilih fungsi yang Anda buat.

1. Pilih **Tindakan**, **Hapus**.

1. Pilih **Hapus**.

**Untuk menghapus CloudTrail jejak**

1. Buka [halaman Trails](https://console.aws.amazon.com/cloudtrail/home#/trails) CloudTrail konsol.

1. Pilih jejak yang Anda buat.

1. Pilih **Hapus**.

1. Pilih **Hapus**.