CloudWatch Monitoring & Alerting

Triển khai CloudWatch Monitoring cho Tài nguyên VPC

ℹ️ CloudWatch Monitoring là gì?
Amazon CloudWatch cung cấp khả năng giám sát và quan sát cho các tài nguyên AWS của bạn. Đối với môi trường VPC, CloudWatch giúp bạn theo dõi hiệu suất mạng, sự kiện bảo mật và việc sử dụng tài nguyên để đảm bảo hoạt động tối ưu.

Các Chỉ số Chính cần Giám sát

🔍 Chỉ số liên quan đến VPC:

  • NAT Gateway: Sử dụng băng thông, số lượng gói tin bị drop, nỗ lực kết nối
  • VPN Connections: Trạng thái tunnel, chỉ số truyền dữ liệu
  • EC2 Instances: Hiệu suất mạng, CPU, sử dụng memory
  • VPC Flow Logs: Sự kiện bảo mật, mẫu lưu lượng

Thiết lập Giám sát NAT Gateway

  1. Truy cập console CloudWatch:

    • Điều hướng đến console CloudWatch
    • Chọn Metrics từ menu bên trái
    • Nhấp All metrics
  2. Duyệt các chỉ số NAT Gateway:

    • Nhấp AWS/NATGateway
    • Chọn Per-NAT Gateway Metrics
    • Chọn NAT Gateway IDs của bạn
  3. Các chỉ số NAT Gateway chính cần giám sát:

    • BytesInFromDestination: Dữ liệu nhận từ đích
    • BytesOutToDestination: Dữ liệu gửi đến đích
    • PacketDropCount: Gói tin bị drop bởi NAT Gateway
    • ActiveConnectionCount: Kết nối hoạt động qua NAT Gateway

Tạo CloudWatch Alarms

  1. Tạo alarm cho NAT Gateway packet drops:

    • Chọn chỉ số PacketDropCount
    • Nhấp Create alarm
  2. Cấu hình điều kiện alarm:

    • Statistic: Chọn Sum
    • Period: Chọn 5 minutes
    • Threshold type: Chọn Static
    • Condition: Chọn Greater than
    • Threshold value: Nhập 100 (điều chỉnh theo yêu cầu của bạn)
  3. Cấu hình hành động alarm:

    • Alarm state trigger: Chọn In alarm
    • SNS topic: Tạo topic mới hoặc chọn topic hiện có
    • Topic name: Nhập VPC-Alerts
    • Email endpoints: Nhập địa chỉ email của bạn
    • Nhấp Create topic
  4. Đặt tên và tạo alarm:

    • Alarm name: Nhập NAT-Gateway-Packet-Drops
    • Alarm description: Nhập Alert when NAT Gateway drops packets
    • Nhấp Create alarm

Phân tích VPC Flow Logs

  1. Tạo custom metric từ Flow Logs:

    • Điều hướng đến console CloudWatch
    • Chọn Log groups
    • Tìm /aws/vpc/flowlogs
    • Nhấp Create metric filter
  2. Cấu hình metric filter cho kết nối bị từ chối:

    • Filter pattern: Nhập [version, account, eni, source, destination, srcport, destport, protocol, packets, bytes, windowstart, windowend, action="REJECT", flowlogstatus]
    • Test pattern: Nhấp để test với dữ liệu mẫu
    • Nhấp Next
  3. Định nghĩa chi tiết metric:

    • Filter name: Nhập Rejected-Connections
    • Metric namespace: Nhập VPC/Security
    • Metric name: Nhập RejectedConnections
    • Metric value: Nhập 1
    • Nhấp Create metric filter

Tạo Dashboard

  1. Tạo CloudWatch Dashboard:

    • Điều hướng đến Dashboards
    • Nhấp Create dashboard
    • Dashboard name: Nhập VPC-Monitoring-Dashboard
    • Nhấp Create dashboard
  2. Thêm widgets vào dashboard:

    • Nhấp Add widget
    • Chọn loại biểu đồ Line
    • Nhấp Configure
  3. Cấu hình dashboard widgets:

    • Metrics: Thêm NAT Gateway metrics, VPN metrics, EC2 metrics
    • Period: Thiết lập thời gian phù hợp
    • Title: Đặt tiêu đề mô tả cho mỗi widget
    • Nhấp Create widget

Thực hành Giám sát Production Tốt nhất

🔍 Alarms Thiết yếu cho Production:

NAT Gateway Alarms:
  - PacketDropCount > ngưỡng
  - ErrorPortAllocation > 0
  - ActiveConnectionCount > 80% giới hạn

VPN Connection Alarms:
  - TunnelState != UP
  - TunnelIpAddress thay đổi

EC2 Instance Alarms:
  - CPUUtilization > 80%
  - NetworkPacketsIn/Out bất thường
  - StatusCheckFailed > 0

💡 Chiến lược Giám sát:

  • Chủ động: Thiết lập alarms dự đoán trước khi sự cố xảy ra
  • Toàn diện: Giám sát tất cả các thành phần quan trọng
  • Có thể hành động: Đảm bảo alarms dẫn đến các bước khắc phục cụ thể
  • Nhận thức Chi phí: Cân bằng phạm vi giám sát với chi phí

🔒 Giám sát Bảo mật:

Mẫu Flow Log cần Giám sát:
  - Khối lượng lớn kết nối bị từ chối
  - Mẫu lưu lượng ra ngoài bất thường
  - Kết nối đến địa chỉ IP đáng ngờ
  - Nỗ lực quét cổng
  - Chỉ báo rò rỉ dữ liệu

📊 Baseline Hiệu suất:

  • Thiết lập phạm vi hoạt động bình thường cho tất cả chỉ số
  • Thiết lập phát hiện bất thường cho các mẫu không bình thường
  • Tạo custom metrics cho KPIs cụ thể của doanh nghiệp
  • Triển khai phản hồi tự động khi phù hợp

💰 Tối ưu Chi phí:

  • Sử dụng metric filters để giảm chi phí lưu trữ log
  • Thiết lập thời gian lưu trữ phù hợp cho các loại log khác nhau
  • Tận dụng CloudWatch Insights cho các truy vấn phức tạp
  • Cân nhắc xuất dữ liệu sang S3 để phân tích dài hạn

Xuất sắc Vận hành:

  • Tạo runbooks cho các tình huống alarm thông thường
  • Triển khai khắc phục tự động khi có thể
  • Xem xét và điều chỉnh ngưỡng alarm thường xuyên
  • Tích hợp với hệ thống quản lý sự cố