Cách tạo sự kiện trong AWS Cloudwatch để kích hoạt Hàm Lambda

theanh

Administrator
Nhân viên
Sự kiện Amazon CloudWatch mô tả những thay đổi trong tài nguyên AWS. Chúng ta có thể khớp các sự kiện và định tuyến chúng đến một hoặc nhiều chức năng mục tiêu. Sự kiện CloudWatch sẽ biết về những thay đổi trong hoạt động khi chúng xảy ra, ví dụ: nếu một tài nguyên được xác định trong Quy tắc Cloudwatch đã được tạo thì quy tắc sẽ biết về tài nguyên đó và đổi lại, nó sẽ kích hoạt một hàm mục tiêu.

Trước khi tiến hành và tạo quy tắc sự kiện, chúng ta hãy tìm hiểu những điều cơ bản về quy tắc đó.
  1. Sự kiện:
    Sự kiện có nghĩa là có thay đổi trong Môi trường AWS.
  2. Quy tắc:
    Quy tắc được sử dụng để khớp với sự kiện. Tại đây, các sự kiện được so sánh và kiểm tra.
  3. Mục tiêu:
    Tại đây, các sự kiện được xử lý. Mục tiêu có thể bao gồm các phiên bản Amazon EC2, hàm AWS Lambda, luồng Kinesis, tác vụ Amazon ECS, máy trạng thái Step Functions, chủ đề Amazon SNS, hàng đợi Amazon SQS và mục tiêu tích hợp.
Trong bài viết này, chúng ta sẽ tạo một quy tắc sự kiện để kiểm tra sự kiện thay đổi Trạng thái EC2 và kích hoạt hàm lambda. Nếu bạn không biết về Hàm Lambda, hãy nhấp vào đây để tạo 1 cho bạn. Những gì Lambda làm có thể tùy thuộc vào lựa chọn của bạn, nhưng trong tài liệu này, tôi có một Lambda xóa các Khối lượng EBS chưa sử dụng. Tôi đã đề cập đến mã Lambda trong bài viết này. Bạn cũng có thể sử dụng Hàm Lambda của riêng mình.

Điều kiện tiên quyết​

  1. Tài khoản AWS (Tạonếu bạn chưa có).
  2. Hàm Lambda.

Chúng ta sẽ làm gì?​

  1. Đăng nhập vào AWS.
  2. Tạo Quy tắc sự kiện Cloudwatch để kích hoạt Hàm Lambda.

Đăng nhập vào AWS​

Nhấp vàođâyđể đến Trang đăng nhập AWS.

Khi chúng ta nhấp vào liên kết trên, chúng ta sẽ thấy một trang web như sau, tại đó chúng ta được yêu cầu đăng nhập bằng thông tin đăng nhập của mình.



Sau khi đăng nhập thành công vào tài khoản của mình, bạn sẽ thấy màn hình như sau.


Tạo Sự kiện Cloudwatch để kích hoạt Hàm Lambda​

Để tạo Quy tắc sự kiện Cloudwatch, hãy tìm kiếm cloudwatch và nhấp vào kết quả để đến bảng điều khiển Cloudwatch.



Trên bảng điều khiển Cloudwatch, hãy nhấp vào Quy tắc trong Sự kiện ở bên trái panel.



Tại đây, nhấp vào "Tạo quy tắc" để tạo quy tắc đầu tiên của bạn nhằm kích hoạt Hàm Lambda trong khu vực của bạn.



Chọn nút tùy chọn "Mẫu sự kiện", trong Tên dịch vụ, chọn "EC2", chọn "Thông báo thay đổi trạng thái phiên bản EC2" cho Loại sự kiện.

Nhấp vào Thêm mục tiêu để thêm Hàm Lambda hiện có làm mục tiêu và nhấp vào "Cấu hình chi tiết".



Nhấp vào đây để tìm hiểu cách tạo Hàm Lambda cho bạn. Tìm Mã Lambda tham chiếu sau đây cho bạn.

Mã Lambda:Sử dụng mã này để tạo Hàm Lambda nếu bạn không có 1 trong tài khoản của mình.
Mã:
import boto3ec2 = boto3.resource('ec2',region_name='eu-west-3')def lambda_handler(event, context): for vol in ec2.volumes.all(): if vol.state=='available': if vol.tags is None: vid=vol.id v=ec2.Volume(vol.id) v.delete() print ('EBS Volume Deleted ' +vid) continue for tag in vol.tags: if tag['Key'] == 'Name': value=tag['Value'] if value != 'DoNNotDel' and vol.state=='available': vid=vol.id v=ec2.Volume(vol.id) v.delete() print ('EBS Volume Deleted ' +vid)
Đặt tên cho sự kiện cùng với mô tả và nhấp vào "Creare rule".



Điều này sẽ tạo ra một Quy tắc sự kiện sẽ kích hoạt một hàm Lambda mục tiêu bất cứ khi nào có sự thay đổi trong Trạng thái của các Phiên bản EC2.

Kết luận​

Trong bài viết này, chúng ta đã thấy cách tạo Quy tắc sự kiện Cloudwatch cho biết sự thay đổi trong trạng thái phiên bản EC2 và kích hoạt Hàm Lambda khi quy tắc khớp với sự kiện. Bạn có thể chọn mục tiêu theo ý muốn.
 
Back
Bên trên