All Products
Search
Document Center

EventBridge:Berlangganan event ECS dengan EventBridge

Last Updated:Jun 26, 2026

Topik ini menjelaskan cara menggunakan EventBridge untuk berlangganan event ECS dan mengirimkannya ke layanan downstream tertentu.

Latar Belakang

EventBridge adalah pusat event terpusat di Alibaba Cloud. Layanan ini menggunakan protokol standar CloudEvents 1.0 untuk menghubungkan layanan cloud, produk SaaS, dan aplikasi. EventBridge membantu Anda mengelola event yang dihasilkan dalam domain bisnis Anda dan menjamin kualitas event dari layanan cloud upstream. EventBridge menyediakan pengalaman berlangganan dan pengiriman event yang andal dengan keandalan data 99,99999999% dan ketersediaan layanan 99,95% dalam SLA-nya.

Dibandingkan dengan polling operasi API ECS DescribeInstanceHistoryEvents untuk memeriksa event ECS baru, berlangganan event dengan EventBridge menawarkan keuntungan berikut:

  • Kinerja real-time lebih tinggi: Saat event ECS yang dilanggankan terjadi, aksi tertentu dipicu dalam hitungan milidetik.

  • Biaya lebih rendah: Anda tidak perlu melakukan polling secara berkala untuk event, sehingga menghindari overhead yang tidak perlu.

订阅ECS.png

Skenario

  • Berlangganan event ECS tertentu untuk memicu notifikasi melalui DingTalk, SMS, atau email.

  • Dorong event ECS tertentu ke layanan HTTP atau HTTPS downstream melalui Internet atau Virtual Private Cloud (VPC).

  • Agregasikan event ECS dari beberapa Akun Alibaba Cloud.

  • Picu aksi tertentu menggunakan Function Compute saat event ECS tertentu terjadi.

  • Jika event ECS memiliki latensi tinggi atau volume besar, kirimkan ke Simple Message Queue (formerly MNS) untuk berlangganan event.

Prasyarat

Langkah 1: Gunakan event bus default

EventBridge memiliki event bus default untuk layanan cloud bernama default. Layanan Alibaba Cloud mengirimkan event ke bus default tersebut secara real time melalui berbagai saluran. Anda dapat menemukan dan berlangganan event dari layanan cloud pada bus default ini.

  1. Masuk ke EventBridge console. Di panel navigasi sebelah kiri, klik Event Buses.

  2. Di bilah navigasi atas, pilih wilayah.

  3. Pada halaman EventBridge, klik default.

Langkah 2: Buat aturan event ECS

  1. Pada halaman Event Buses, klik Event Rules di panel navigasi kiri, lalu klik Create Rule.

  2. Pada panel Create Rule, lakukan langkah-langkah berikut.

    1. Pada tab Configure Basic Info, masukkan nama aturan di bidang Name dan deskripsi di bidang Description. Lalu, klik Next.

    2. Pada tab Configure Event Pattern, konfigurasikan parameter berikut dan klik Next.

      • Klik tab Alibaba Cloud Service Event Sources.

      • Dari daftar drop-down Event Source, pilih acs.ecs.

      • Dari daftar drop-down Event Type, pilih satu atau beberapa jenis event untuk dilanggankan.

      • Pada bagian Event Pattern Debugging, lihat contoh event. Misalnya, jika Anda memilih ecs:Instance:StateChange sebagai jenis event, contoh berikut akan ditampilkan.

        {
          "id": "45ef4dewdwe1-7c35-447a-bd93-fab****",
          "source": "acs.ecs",
          "specversion": "1.0",
          "subject": "acs.ecs:cn-hangzhou:123456789098****:215672",
          "time": "2020-11-19T21:04:41Z",
          "type": "ecs:Instance:StateChange",
          "aliyunaccountid": "123456789098****",
          "aliyunpublishtime": "2020-11-19T21:04:42Z",
          "aliyuneventbusname": "default",
          "aliyunregionid": "cn-hangzhou",
          "aliyunpublishaddr": "172.25.XX.XX",
          "data": {
            "instanceName": "iZ0jl0kyquo46h****",
            "instanceType": "ecs.c6.large",
            "privateIpAddress": "172.21.XX.XX",
            "publicIpAddress": "8.37.XX.XX",
            "resourceId": "i-0jl0kyquo46****",
            "resourceType": "ALIYUN::ECS::Instance",
            "spotStrategy": "SpotWithPriceLimit",
            "state": "Running"
          }
        }
    3. Pada tab Configure Targets, pilih Service Type untuk mengonfigurasi skenario pengiriman.

      Simple Message Queue (formerly MNS)

      Mendorong event ke Simple Message Queue (formerly MNS) cocok untuk skenario dengan persyaratan latensi rendah atau volume event tinggi. Untuk informasi selengkapnya mengenai harga Simple Message Queue (formerly MNS), lihat Billing.

      • Service Type: Pilih Simple Message Queue (formerly MNS).

      • Queue: Pilih antrian yang sudah ada.

      • Message Body: Pilih Complete Event.

      • Enable Base64 Decoding: Pilih Yes. Ini memastikan bahwa data event dikirimkan dalam format terenkripsi Base64 ke antrian target di Simple Message Queue (formerly MNS).

      Jika tipe layanan adalah Simple Message Queue (formerly MNS), Anda dapat menggunakan paket NetworkInterfaceDemo.zip untuk mendengarkan pesan Simple Message Queue (formerly MNS) dan mendapatkan event.

      DingTalk

      • Service Type: Pilih DingTalk.

      • Webhook URL: Masukkan URL webhook chatbot DingTalk.

      • Secret Key: Masukkan token rahasia chatbot DingTalk.

      • Content to Push: Anda dapat menggunakan templat EventBridge untuk mendorong parameter dari event ke chatbot DingTalk. Misalnya, untuk mendorong nama instans ECS (instanceName) dan statusnya (state), konfigurasikan parameter berikut:

        • Variables: Gunakan JSONPath untuk mengekstraksi bidang dari event dan menentukan nama variabel.

          {
            "instanceName":"$.data.instanceName",
            "state":"$.data.state"
          }
        • Template: Tentukan templat dalam format yang dibutuhkan oleh chatbot DingTalk dan referensikan variabel yang telah Anda definisikan.

          {
            "msgtype": "text",
            "text": {
                "content": "${instanceName} state is ${state}" 
            } 
          }

      HTTP service

      • Service Type: Pilih HTTP atau HTTPS.

      • URL: Tentukan URL yang menerima event.

      • Body: Tentukan format muatan event. EventBridge dapat mentransformasi event sebelum mendorongnya ke target HTTP. EventBridge mendukung empat format transformasi: Complete Event, Partial Event, Fixed Value, dan Template. Untuk informasi selengkapnya, lihat Event transformation.

      • Network Type:

        • Internet: URL target diakses melalui Internet.

        • VPC: Jika URL target tidak diekspos ke Internet, pilih opsi ini dan tentukan ID VPC, ID vSwitch, dan ID security group.

      Function Compute

      Untuk memicu aksi kustom saat event ECS terjadi, atur tipe layanan menjadi Function Compute. EventBridge mengirimkan event ke fungsi yang ditentukan, dan Anda dapat menerapkan logika kustom di Function Compute.

      • Service Type: Pilih Function Compute.

      • Service: Nama layanan yang Anda buat di Function Compute.

      • Function: Nama fungsi yang Anda buat di Function Compute.

      • Event: Tentukan format muatan event. EventBridge dapat mentransformasi event lalu mendorongnya ke Function Compute. Empat format transformasi didukung: Complete Event, Partial Event, Fixed Value, dan Template. Untuk informasi selengkapnya, lihat Event transformation.

      • Invocation Mode:

        • Synchronous: Function Compute hanya mengembalikan respons sukses setelah fungsi selesai memproses event.

        • Asynchronous: Function Compute mengembalikan respons sukses segera setelah menerima event.

        Untuk informasi selengkapnya, lihat Route events to Function Compute.

      EventBridge

      EventBridge dapat mengagregasikan event ECS dari beberapa akun dan wilayah ke dalam satu event bus. Untuk melakukannya, atur tipe layanan menjadi EventBridge.

      • Destination Type:

        • Same-account Event Bus: Kirimkan event ke event bus lain dalam akun yang sama.

        • Cross-account Event Bus: Kirimkan event ke event bus di akun lain. Pengiriman lintas akun memerlukan otorisasi. Untuk informasi selengkapnya, lihat Route events to EventBridge.

      • Region: Event dapat dirutekan antar-wilayah di dalam Tiongkok daratan, serta antar-wilayah di luar Tiongkok daratan.

      • Event Bus: Nama event bus tujuan.

      • Event: Secara default, event lengkap dikirimkan. Pengaturan ini tidak dapat diubah.

      Di bagian bawah tab Configure Targets, Anda dapat mengonfigurasi kebijakan retry dan dead-letter queue. Untuk informasi selengkapnya, lihat Retries and dead-letter queues.

      Untuk skenario lainnya, lihat Target types.

Langkah 3: Picu event

Topik ini menggunakan jenis event ecs.Instance.StateChange sebagai contoh. Untuk memicu event tersebut, ubah status berjalan instans ECS.

  1. Masuk ke Konsol ECS.

  2. Di panel navigasi sebelah kiri, pilih Instances & Images > Instance.

  3. Di bilah navigasi atas, pilih wilayah tempat sumber daya target berada.

  4. Pada kolom Actions instans ECS target, pilih Instance Status dan ubah status instans.

Langkah 4: Lihat hasil pengiriman

  1. Periksa apakah ECS telah menghasilkan event.

    EventBridge memungkinkan Anda mengkueri event ECS berdasarkan rentang waktu, jenis event, nama aturan event, atau ID event. ID event di EventBridge sama dengan ID event ECS. Untuk informasi selengkapnya, lihat Query events.

  2. Periksa hasil pengiriman langganan event ECS.

    Gunakan ID event yang Anda peroleh pada langkah sebelumnya. Pada kolom Actions yang sesuai dengan ID event tersebut, klik Event Trace untuk melihat jejak pengiriman. Jejak tersebut mencakup target, status, jumlah percobaan, dan waktu. Pada halaman Event Trace, bagian Event Reception menunjukkan bahwa sumber event adalah ECS (acs.ecs), jenis event adalah ecs:Instance:StateChange, dan nama event bus adalah default. Bagian Event Delivery menunjukkan bahwa nama aturan adalah test, target pengiriman adalah URL webhook chatbot DingTalk, status pengiriman adalah Succeeded, latensi pengiriman adalah 258 ms, dan respons pengiriman adalah 200.

Pantau event dan konfigurasi peringatan

Di dasbor pemantauan EventBridge, Anda dapat melihat metrik untuk tugas langganan event ECS yang Anda buat, seperti jumlah panggilan, tingkat keberhasilan pengiriman, dan latensi pengiriman. Anda dapat mengonfigurasi kebijakan peringatan.

  1. Masuk ke Konsol CloudMonitor.

  2. Di panel navigasi sebelah kiri, pilih Cloud Service Monitoring > Dashboards.

  3. Pada halaman Dashboards, klik Middleware di panel navigasi sebelah kiri. Lalu, di area Middleware, arahkan kursor ke Event Buses dan klik EventBus.

  4. Pada halaman EventBus, pilih wilayah di bagian atas halaman. Lalu, pada kolom Actions untuk bus default, klik View Charts untuk melihat detail pemantauan.

    jyijb9Sx6M

Di halaman pemantauan, Anda dapat mengonfigurasi aturan peringatan untuk sumber daya EventBridge. Saat sumber daya memenuhi kondisi aturan peringatan, CloudMonitor secara otomatis mengirimkan pemberitahuan peringatan. Untuk informasi selengkapnya, lihat Create an alert rule.

Retry dan dead-letter queue

Setelah event ditulis ke event bus, EventBridge menjamin bahwa setiap event dikirimkan ke target downstream minimal sekali. Jika penerima downstream tidak tersedia karena downtime, gangguan layanan, atau fluktuasi jaringan, EventBridge menyediakan berbagai cara untuk menangani kegagalan, termasuk kebijakan retry, toleransi kesalahan, dan dead-letter queue. Anda dapat mengonfigurasi opsi ini di Langkah 2: Buat aturan event untuk event ECS guna menjamin pengiriman yang andal.

  • Kebijakan retry

    Jika penerima downstream tidak dapat menerima event dengan benar, terjadi error saat EventBridge mendorong event kepadanya. Dalam kasus ini, Anda dapat mengonfigurasi kebijakan retry EventBridge untuk memaksimalkan kemungkinan pengiriman yang berhasil.

    • Backoff Retry: Melakukan retry 3 kali. Interval retry adalah nilai acak antara 10 detik hingga 20 detik.

    • Exponential Decay Retry: Melakukan retry 176 kali. Interval retry meningkat secara eksponensial hingga 512 detik. Durasi total retry adalah 1 hari. Interval retry-nya adalah 1, 2, 4, 8, ..., 512 detik.

  • Kebijakan penanganan dead-letter

    Jika event tidak berhasil dikirimkan setelah mencapai jumlah maksimum percobaan retry, EventBridge secara default membuang event tersebut. Jika Anda ingin menyimpan event yang gagal, Anda dapat mengonfigurasi dead-letter queue. EventBridge mendukung jenis dead-letter queue berikut: ApsaraMQ for RocketMQ, Simple Message Queue (formerly MNS), ApsaraMQ for Kafka, dan EventBridge.

  • Toleransi kesalahan

    Jika skenario Anda mengharuskan event diproses secara berurutan, Anda harus menghentikan sementara pemrosesan saat terjadi kegagalan hingga event berhasil dikirimkan. Jika tidak, event mungkin dikirimkan tidak sesuai urutan. Dalam kasus ini, pilih untuk melarang toleransi kesalahan. Jika urutan event tidak penting, kami menyarankan agar Anda mengizinkan toleransi kesalahan untuk memaksimalkan pengiriman konkuren.

    • Fault Tolerance Allowed: Melewatkan event yang gagal, sehingga event berikutnya dapat diproses tanpa pemblokiran.

    • Fault Tolerance Prohibited: Menghentikan sementara pemrosesan saat terjadi kegagalan pengiriman. Jika pengiriman event gagal dan semua retry telah habis, aliran event akan diblokir.