

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

# Menggunakan Elastic Beanstalk dengan Amazon EventBridge
<a name="AWSHowTo.eventbridge"></a>

Menggunakan Amazon EventBridge, Anda dapat mengatur aturan berbasis peristiwa yang memantau sumber daya Elastic Beanstalk Anda dan memulai tindakan target yang menggunakan layanan lain. AWS Misalnya, Anda dapat menetapkan aturan untuk mengirimkan pemberitahuan email dengan menandakan topik Amazon SNS setiap kali kondisi dari lingkungan produksi berubah menjadi status *Peringatan*. Atau, Anda dapat mengatur fungsi Lambda untuk menyampaikan pemberitahuan ke Slack setiap kali kondisi lingkungan Anda berubah menjadi status *Berdegradasi* atau *Parah*.

Anda dapat membuat aturan di Amazon EventBridge untuk bertindak atas salah satu acara Elastic Beanstalk berikut:
+ *Perubahan status untuk operasi lingkungan (termasuk membuat, memperbarui, dan menghentikan operasi).* Peristiwa menentukan apakah perubahan keadaan telah dimulai, berhasil, atau gagal.
+ *Perubahan negara untuk sumber daya lain.*Selain lingkungan, sumber daya lain yang dipantau meliputi penyeimbang beban, grup auto scaling, dan instans.
+ *Transisi Kesehatan untuk Lingkungan* Peristiwa ini menyatakan di mana kondisi lingkungan telah beralih dari satu status kondisi ke status kondisi lainnya. 
+ *Perubahan status untuk pembaruan terkelola.* Peristiwa menentukan apakah perubahan keadaan telah dimulai, berhasil, atau gagal.

Untuk menangkap peristiwa Elastic Beanstalk tertentu yang Anda minati, tentukan EventBridge pola spesifik peristiwa yang dapat digunakan untuk mendeteksi peristiwa. Pola peristiwa memiliki struktur yang sama dengan peristiwa mereka cocokkan. Pola mengutip bidang yang ingin Anda cocokkan dan memberikan nilai yang Anda cari. Peristiwa dipancarkan atas dasar upaya terbaik. Mereka dikirim dari Elastic EventBridge Beanstalk ke hampir real-time dalam keadaan operasional normal. Namun, situasi dapat timbul yang dapat menunda atau mencegah pengiriman suatu peristiwa.

Untuk daftar bidang yang terkandung dalam peristiwa Elastic Beanstalk dan mungkin nilai-nilai string mereka, lihat [Pemetaan bidang peristiwa Elastic Beanstalk](#eb-eventbridge-mapping). Untuk informasi tentang cara kerja EventBridge aturan dengan pola peristiwa, lihat [Peristiwa dan Pola Peristiwa di EventBridge](https://docs.aws.amazon.com//eventbridge/latest/userguide/eventbridge-and-event-patterns.html). 

## Pantau sumber daya Elastic Beanstalk dengan EventBridge
<a name="eb-eventbridge-tasks"></a>

Dengan EventBridge, Anda dapat membuat aturan yang menentukan tindakan yang harus diambil saat Elastic Beanstalk memancarkan peristiwa untuk sumber dayanya. Misalnya, Anda dapat membuat aturan yang mengirimkan pesan email kapan pun status lingkungan berubah. 

 EventBridge Konsol memiliki opsi **pola yang telah ditentukan sebelumnya untuk membangun pola** acara Elastic Beanstalk. Jika Anda memilih opsi ini di EventBridge konsol saat membuat aturan, Anda dapat membuat pola acara Elastic Beanstalk dengan cepat. Anda hanya perlu memilih bidang peristiwa dan nilai. Ketika Anda membuat pilihan, konsol membangun dan menampilkan pola peristiwa. Atau, Anda dapat secara manual mengedit pola peristiwa yang Anda bangun dan dapat menyimpannya sebagai pola kustom. Konsol juga memberi Anda opsi untuk menampilkan **Peristiwa Contoh** terperinci yang dapat Anda salin dan tempel ke pola acara yang sedang Anda bangun.

Jika Anda lebih suka mengetik atau menyalin dan menempelkan pola acara ke EventBridge konsol, Anda dapat memilih untuk menggunakan opsi **Pola kustom** di konsol. Dengan melakukan ini, Anda tidak perlu pergi melalui langkah-langkah memilih bidang dan nilai-nilai yang dijelaskan sebelumnya. Topik ini menawarkan contoh kedua [pola pencocokan peristiwa](#eb-eventbridge-patterns) dan [peristiwa Elastic Beanstalk](#eb-eventbridge-examples) yang dapat Anda gunakan. 

**Untuk membuat aturan untuk peristiwa sumber daya**

1. Masuk untuk AWS menggunakan akun yang memiliki izin untuk menggunakan EventBridge dan Elastic Beanstalk.

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** untuk aturan tersebut, dan, secara opsional, deskripsi.

1. Untuk **Bus peristiwa**, pilih **default**. Ketika AWS layanan di akun Anda memancarkan suatu acara, itu selalu masuk ke bus acara default akun Anda.

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

1. Pilih **Selanjutnya**.

1. Untuk **sumber Acara**, pilih **AWS acara atau acara EventBridge mitra**.

1. (Opsional) Untuk **acara Contoh**, pilih **AWS acara**. Masukkan *Elastic Beanstalk* di kolom pencarian. Ini akan memberikan daftar contoh acara Elastic Beanstalk yang dapat Anda pilih untuk ditampilkan. Langkah ini hanya menampilkan contoh peristiwa yang dapat Anda referensikan. Itu tidak mempengaruhi hasil pembuatan aturan. [Contoh peristiwa Elastic Beanstalk](#eb-eventbridge-examples)Bagian nanti dalam topik ini memberikan contoh jenis peristiwa yang sama.

1. Di bagian **Pola acara**, pilih **Formulir pola acara**.
**catatan**  
Jika Anda sudah memiliki teks untuk pola acara dan tidak memerlukan EventBridge konsol untuk membangunnya untuk Anda, pilih **Pola kustom (editor JSON)**. Anda kemudian dapat memasukkan atau menyalin dan menempelkan teks secara manual ke dalam kotak **Pola acara**. Pilih **Berikutnya**, dan lanjutkan ke langkah tentang memasukkan target.

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

1. Untuk **AWS servis**, pilih **Elastic Beanstalk**.

1. Untuk **jenis Acara**, pilih **Perubahan Status**.

1. Langkah ini mencakup bagaimana Anda dapat bekerja dengan **jenis detail**, **status**, dan **tingkat kepelikan** bidang peristiwa untuk Elastic Beanstalk. Ketika Anda memilih bidang ini dan nilai-nilai yang ingin Anda cocokkan, konsol membangun dan menampilkan pola peristiwa. 
   + Jika Anda memilih *hanya satu* nilai untuk **Jenis detail spesifik**, Anda dapat memilih satu atau beberapa nilai untuk bidang berikutnya dalam hierarki.
   + Jika Anda memilih *lebih dari satu* nilai untuk **Jenis detail spesifik**, jangan memilih nilai spesifik untuk bidang berikutnya dalam hierarki. Ini mencegah logika pencocokan ambigu di seluruh bidang dalam pola acara Anda.

   Bidang peristiwa **lingkungan** tidak terpengaruh oleh hirarki ini, sehingga menampilkan seperti yang dijelaskan di langkah berikutnya.

1. Untuk lingkungan, pilih **Lingkungan apa pun** atau **Lingkungan tertentu**.
   + Jika Anda memilih **Lingkungan tertentu**, Anda dapat memilih satu atau beberapa lingkungan dari daftar dropdown. EventBridge menambahkan semua lingkungan yang Anda pilih di dalam daftar *EnvironmentName[]* di bagian *detail* dari pola acara. Kemudian, aturan Anda memfilter semua peristiwa untuk mencakup hanya lingkungan tertentu yang Anda pilih.
   + Jika Anda memilih **Lingkungan apa pun**, maka tidak ada lingkungan yang ditambahkan ke pola peristiwa Anda. Karena itu, aturan Anda tidak memfilter salah satu peristiwa Elastic Beanstalk berdasarkan lingkungan.

1. Pilih **Berikutnya**.

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

1. Untuk **Pilih target**, pilih tindakan target yang akan diambil ketika peristiwa perubahan status sumber daya diterima dari Elastic Beanstalk.

   Misalnya, Anda dapat menggunakan topik Amazon Simple Notification Service (SNS) untuk mengirim email atau pesan teks ketika peristiwa terjadi. Untuk melakukannya, Anda harus terlebih dahulu membuat topik Amazon SNS menggunakan konsol Amazon SNS. Untuk mempelajari lebih lanjut, lihat [Menggunakan Amazon SNS untuk pemberitahuan pengguna](https://docs.aws.amazon.com//sns/latest/dg/sns-user-notifications.html).
**penting**  
Beberapa tindakan target mungkin memerlukan penggunaan layanan lain dan dikenakan biaya tambahan, seperti layanan Amazon SNS atau Lambda. Untuk informasi lebih lanjut tentang AWS harga, lihat[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Beberapa layanan adalah bagian dari Tingkat Penggunaan AWS Gratis. Jika Anda adalah pelanggan baru, Anda dapat menguji layanan ini secara gratis. Lihat [https://aws.amazon.com/free/](https://aws.amazon.com/free/) untuk informasi selengkapnya. 

1. (Opsional) Pilih **Tambahkan target lain** untuk menentukan tindakan target tambahan untuk aturan acara.

1. Pilih **Berikutnya**.

1. (Opsional) Masukkan satu atau lebih tanda untuk aturan. Untuk informasi selengkapnya, lihat [ EventBridge tag Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html) *di Panduan EventBridge Pengguna Amazon*.

1. Pilih **Berikutnya**.

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

## Contoh pola peristiwa Elastic Beanstalk
<a name="eb-eventbridge-patterns"></a>

Pola peristiwa memiliki struktur yang sama dengan peristiwa mereka cocokkan. Pola mengutip bidang yang ingin Anda cocokkan dan memberikan nilai yang Anda cari.
+ *Perubahan status kondisi* untuk semua lingkungan

  ```
  {
     "source": [
      "aws.elasticbeanstalk"
    ],
    "detail-type": [
      "Health status change"
      ]
  }
  ```
+ *Perubahan status kondisi* untuk lingkungan berikut: `myEnvironment1` dan `myEnvironment2`. Pola peristiwa ini memfilter untuk dua lingkungan tertentu, sedangkan sebelumnya contoh *Perubahan status kondisi* yang tidak memfilter mengirimkan peristiwa untuk semua lingkungan.

  ```
  {"source": [
      "aws.elasticbeanstalk"
      ],
      "detail-type": [
          "Health status change"
      ],
      "detail": {
          "EnvironmentName": [
              "myEnvironment1",
              "myEnvironment2"
          ]
      }
  }
  ```
+ *Perubahan status sumber daya Elastic Beanstalk* untuk semua lingkungan

  ```
  {
    "source": [
      "aws.elasticbeanstalk"
    ],
    "detail-type": [
      "Elastic Beanstalk resource status change"
      ]
  }
  ```
+ *Perubahan status sumber daya Elastic Beanstalk* dengan *Pembaruan lingkungan `Status` gagal* dan *KESALAHAN* `Severity` untuk lingkungan berikut: `myEnvironment1` dan `myEnvironment2`

  ```
  {"source": [
      "aws.elasticbeanstalk"
      ],
      "detail-type": [
          "Elastic Beanstalk resource status change"
      ],
      "detail": {
          "Status": [
              "Environment update failed"
              ],
          "Severity": [
              "ERROR"
              ],
          "EnvironmentName": [
              "myEnvironment1",
              "myEnvironment2"
          ]
      }
  }
  ```
+ *Perubahan status sumber daya lainnya* untuk penyeimbang beban, grup auto scaling, dan instans

  ```
  {
     "source": [
      "aws.elasticbeanstalk"
    ],
    "detail-type": [
      "Other resource status change"
      ]
  }
  ```
+ *Perubahan status pembaruan yang terkelola* untuk semua lingkungan

  ```
  {
     "source": [
      "aws.elasticbeanstalk"
    ],
    "detail-type": [
      "Managed update status change"
      ]
  }
  ```
+ Untuk menangkap *Semua peristiwa* dari Elastic Beanstalk (tidak termasuk bagian `detail-type`)

  ```
  {
    "source": [
      "aws.elasticbeanstalk"
    ]
  }
  ```

## Contoh peristiwa Elastic Beanstalk
<a name="eb-eventbridge-examples"></a>

Berikut ini adalah kejadian Elastic Beanstalk untuk *perubahan status sumber daya*:

```
{ 
   "version":"0",
   "id":"1234a678-1b23-c123-12fd3f456e78",
   "detail-type":"Elastic Beanstalk resource status change",
   "source":"aws.elasticbeanstalk",
   "account":"111122223333",
   "time":"2020-11-03T00:31:54Z",
   "region":"us-east-1",
   "resources":[
      "arn:was:elasticbeanstalk:us-east-1:111122223333:environment/myApplication/myEnvironment"
   ],
   "detail":{
      "Status":"Environment creation started",
      "EventDate":1604363513951,
      "ApplicationName":"myApplication",
      "Message":"createEnvironment is starting.",
      "EnvironmentName":"myEnvironment",
      "Severity":"INFO"
   }
}
```

Berikut ini adalah kejadian Elastic Beanstalk untuk *perubahan status kondisi*:

```
{ 
   "version":"0",
   "id":"1234a678-1b23-c123-12fd3f456e78",
   "detail-type":"Health status change",
   "source":"aws.elasticbeanstalk",
   "account":"111122223333",
   "time":"2020-11-03T00:34:48Z",
   "region":"us-east-1",
   "resources":[
      "arn:was:elasticbeanstalk:us-east-1:111122223333:environment/myApplication/myEnvironment"
   ],
   "detail":{
      "Status":"Environment health changed",
      "EventDate":1604363687870,
      "ApplicationName":"myApplication",
      "Message":"Environment health has transitioned from Pending to Ok. Initialization completed 1 second ago and took 2 minutes.",
      "EnvironmentName":"myEnvironment",
      "Severity":"INFO"
   }
}
```

## Pemetaan bidang peristiwa Elastic Beanstalk
<a name="eb-eventbridge-mapping"></a>

Tabel berikut memetakan bidang acara Elastic Beanstalk dan nilai string yang mungkin ke lapangan. EventBridge `detail-type` Untuk informasi selengkapnya tentang cara EventBridge bekerja dengan pola acara untuk suatu layanan, lihat [Peristiwa dan Pola Peristiwa di EventBridge](https://docs.aws.amazon.com//eventbridge/latest/userguide/eventbridge-and-event-patterns.html). 



- ** Perubahan status sumber daya Elastic Beanstalk **
  - *****Status Bidang Elastic Beanstalk***:** Pembuatan lingkungan dimulai / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** createEnvironment dimulai.
  - *****Status Bidang Elastic Beanstalk***:** Pembuatan lingkungan berhasil / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** createEnvironment berhasil diselesaikan.
  - *****Status Bidang Elastic Beanstalk***:** Pembuatan lingkungan berhasil / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** Lingkungan yang diluncurkan: <Environment Name>. Namun, ada masalah saat peluncuran. Lihat log peristiwa untuk rincian.
  - *****Status Bidang Elastic Beanstalk***:** Pembuatan lingkungan gagal / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** KESALAHAN / *****Pesan bidang Elastic Beanstalk***:** Gagal meluncurkan lingkungan.
  - *****Status Bidang Elastic Beanstalk***:** Pembaruan lingkungan dimulai / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** Pemutakhiran lingkungan dimulai.
  - *****Status Bidang Elastic Beanstalk***:** Memperbarui lingkungan berhasil / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** Pemutakhiran lingkungan berhasil diselesaikan.
  - *****Status Bidang Elastic Beanstalk***:** Pembaruan lingkungan gagal / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** KESALAHAN / *****Pesan bidang Elastic Beanstalk***:** Gagal men-deploy konfigurasi.
  - *****Status Bidang Elastic Beanstalk***:** Penghentian lingkungan dimulai / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** terminateEnvironment dimulai.
  - *****Status Bidang Elastic Beanstalk***:** Penghentian lingkungan berhasil / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** terminateEnvironment berhasil diselesaikan.
  - *****Status Bidang Elastic Beanstalk***:** Penghentian lingkungan gagal / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** Langkah penghentian lingkungan gagal karena setidaknya salah satu alur kerja penghentian lingkungan gagal.

- ** Perubahan status sumber daya lainnya **
  - *****Status Bidang Elastic Beanstalk***:** grup Auto Scaling dibuat / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** createEnvironment dimulai.
  - *****Status Bidang Elastic Beanstalk***:** Grup Auto Scaling dihapus / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** createEnvironment dimulai.
  - *****Status Bidang Elastic Beanstalk***:** Instans ditambahkan / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** Menambahkan instans [i-123456789a12b1234] ke lingkungan Anda.
  - *****Status Bidang Elastic Beanstalk***:** Instans dihapus / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** Instans dihapus [i-123456789a12b1234] dari lingkungan Anda.
  - *****Status Bidang Elastic Beanstalk***:** Penyeimbang beban dibuat / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** Penyeimbang beban yang dibuat bernama: <LB Name>
  - *****Status Bidang Elastic Beanstalk***:** Penyeimbang beban dihapus / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** Penyeimbang beban yang dihapus bernama: <LB Name>

- ** Perubahan status kondisi **
  - *****Status Bidang Elastic Beanstalk***:** Lingkungan kondisi diubah / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO/WARN / *****Pesan bidang Elastic Beanstalk***:** Kondisi lingkungan telah beralih ke <healthStatus>.
  - *****Status Bidang Elastic Beanstalk***:** Lingkungan kondisi diubah / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO/WARN / *****Pesan bidang Elastic Beanstalk***:** Kondisi lingkungan telah beralih dari <healthStatus> ke <healthStatus>.

- ** Perubahan status pembaruan yang terkelola **
  - *****Status Bidang Elastic Beanstalk***:** Dikelola diperbarui dimulai / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** Pembaruan platform yang terkelola sedang berlangsung.
  - *****Status Bidang Elastic Beanstalk***:** Pembaruan yang terkelola gagal / *****Tingkat Keparahan Bidang Elastic Beanstalk***:** INFO / *****Pesan bidang Elastic Beanstalk***:** Pembaruan yang terkelola gagal, mencoba kembali dalam % menit.

