4 điểm bởi hahafree12 2024-06-01 | 2 bình luận | Chia sẻ qua WhatsApp

Đây là gì?

  • Phát hiện các lần đăng nhập vào AWS, bất kể thành công hay thất bại.
  • Có thể nhận thông báo khi tài nguyên trong AWS được tạo.
    • (Nếu đã cấu hình riêng) có thể nhận thông báo qua tin nhắn Slack. (sử dụng webhook)
    • Nếu không cấu hình riêng thông báo Slack, bạn cũng có thể nhận thông báo qua email. (tuy nhiên không khuyến nghị nếu đang tích cực sử dụng Auto Scaling)
  • Nếu đã cấu hình riêng, hệ thống sẽ tự động gắn thẻ User để bạn biết ai đã tạo tài nguyên AWS.

Cách thiết lập

README.md 파일을 참고해 주세요!

  • Triển khai bằng Terraform
  • Triển khai bằng AWS SAM

Làm thế nào để nhận thông báo?

(Chỉ cần làm một trong hai cách)

  • Sau khi thiết lập Incoming Webhook của Slack, đặt địa chỉ webhook làm biến môi trường.
  • Sau khi thiết lập AWS SNS Topic, thiết lập đăng ký cho Topic đó.

Các tài nguyên AWS được hỗ trợ

Nhận cảnh báo cho hoạt động đăng nhập console và việc tạo nhiều loại tài nguyên khác nhau.

  • Đăng nhập console
  • IAM (User, Group, Role, Policy, Instance Profile)
  • EC2 (Instance, Security Group)
  • RDS (Cluster, Instance)
  • S3 (Bucket)
  • ElastiCache (Redis, Memcached)
  • EMR (Cluster)
  • Lambda (Function)
  • Redshift (Cluster)
  • ECS (Cluster)
  • EKS (Cluster)
  • DocumentDB (Cluster, Instance)
  • MSK(Managed Streaming for Apache Kafka) (Cluster)
  • MWAA(Managed Workflow for Apache Airflow) (Environment)
  • DynamoDB (Table)
  • ELB (CLB, ALB, NLB, GLB)
  • CloudFront (Distribution)

2 bình luận

 
yangeok 2024-06-05

Nếu cloudtrail đã được bật sẵn thì chỉ cần dùng đến SNS để gửi thông báo qua Lambda và email thôi đúng không? Chi phí vận hành cũng được miễn phí cho đến trước 1 triệu lượt gọi đúng chứ?

 
hahafree12 2024-06-06

Xin chào, xin lỗi vì đã phản hồi muộn.

Về cơ bản, tôi tạo nội dung này với giả định là bạn chưa cấu hình CloudTrail, nên giả định sẽ bật CloudTrail và lưu vào S3.

Khi CloudTrail đã được bật sẵn, tôi sẽ thử cải thiện để chỉ cần kết nối riêng hàm Lambda.

Về cơ bản, chỉ sử dụng S3 để lưu log CloudTrail, hàm Lambda để gửi thông báo, và trong trường hợp gửi thông báo qua email thì thêm SNS.

Theo cấu hình đó, sẽ phát sinh chi phí cho CloudTrail, S3, Lambda và SNS. Tuy nhiên, nếu là tài khoản cá nhân thì gần như sẽ không phát sinh chi phí đáng kể. (Ít nhất đó là kết quả sau khi tôi đã tự vận hành hơn 1 năm trên tài khoản cá nhân gần đây của mình.)

Tuy nhiên, nếu sử dụng trong môi trường production thực tế thì thông báo đăng nhập hoặc các thông báo liên quan đến Auto Scaling sẽ xảy ra thường xuyên. Trong trường hợp đó, có thể sẽ phát sinh một ít chi phí.

(Trong tài khoản production, tôi không khuyến nghị bật thông báo email thông qua dịch vụ SNS.)

Cảm ơn bạn đã đặt câu hỏi, tôi sẽ tận dụng góp ý này cho các cải tiến sau.