Giới thiệu
Chi phí bất ngờ luôn là một vấn đề khó chịu trong quản lý tài nguyên trên AWS. Đặc biệt là khi bạn mới bắt đầu sử dụng dịch vụ, việc gặp phải những hóa đơn cao là điều dường như không thể tránh khỏi. Với việc AWS chuyển sang mô hình miễn phí dựa trên tín dụng, việc kiểm soát ngân sách cho các thử nghiệm của bạn trở nên quan trọng hơn bao giờ hết. Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách thiết lập các thông báo đơn giản bằng Amazon CloudWatch để theo dõi:
- Chi phí bất ngờ
- Sử dụng tài khoản gốc
Hãy cùng bắt đầu nhé!
Sử dụng CloudWatch để theo dõi Chi phí Bất ngờ
Bước 1: Kích hoạt chỉ số thanh toán
- Trong bảng điều khiển quản lý, điều hướng đến "Tùy chọn thanh toán" dưới "Quản lý Thanh toán và Chi phí".
- Tại mục "Tùy chọn cảnh báo", đánh dấu vào tùy chọn "Nhận thông báo chi phí CloudWatch".
- Nhấn Cập nhật để xác nhận thay đổi của bạn.
Bước 2: Tạo Cảnh báo CloudWatch
- Trong bảng điều khiển, điều hướng đến CloudWatch và chọn Cảnh báo mới.
- Dưới mục "Chỉ định chỉ số và điều kiện", chọn chỉ số "Chi phí ước tính tổng" dưới "Thanh toán".
- Tại mục Điều kiện, bạn xác định tiêu chí sẽ kích hoạt cảnh báo. Ví dụ, tôi đặt ngưỡng ở $10. Ngay khi chi phí ước tính của tài khoản của tôi đạt hoặc vượt quá $10, cảnh báo sẽ được kích hoạt. Điều chỉnh ngưỡng này theo nhu cầu của bạn.
- Tiếp theo, chuyển sang "Bước 2: Cấu hình hành động". Tại đây, chúng ta xác định những gì xảy ra khi cảnh báo được kích hoạt. Trong trường hợp của chúng ta, chúng ta muốn nhận thông báo. Đối với trạng thái cảnh báo, chọn tùy chọn "Đang cảnh báo".
- Thông báo sẽ được gửi qua Email thông qua Amazon SNS (Dịch vụ Thông báo Đơn giản). Nếu bạn chưa có chủ đề SNS, bạn có thể tạo một trong bước này với một địa chỉ email hoạt động. Nhớ xác minh email của bạn trước khi các tin nhắn có thể được gửi!
- Tại bước tiếp theo, "Thêm chi tiết cảnh báo", hãy đặt cho cảnh báo của bạn một tên có ý nghĩa. Mô tả cảnh báo là tùy chọn; tuy nhiên, thiết lập nó là một thực tiễn tốt. Nó cung cấp thêm ngữ cảnh cho cảnh báo được nhận, đặc biệt khi bạn có nhiều cảnh báo được thiết lập.
- Cuối cùng, Xem lại tất cả các thiết lập và tạo cảnh báo của bạn.
Sau khi được tạo, cảnh báo của bạn sẽ xuất hiện trong bảng điều khiển CloudWatch, theo dõi các khoản chi phí của AWS.
Sử dụng CloudWatch để theo dõi Sử dụng Tài khoản Gốc
Mặc định, AWS ghi lại 90 ngày sự kiện cuối cùng trong một tài khoản trong lịch sử sự kiện CloudTrail. Tuy nhiên, các sự kiện mặc định không hỗ trợ kích hoạt cảnh báo, chỉ số sự kiện và lưu trữ dài hạn. Do đó, chúng ta sẽ tạo một đường dẫn mới và cấu hình CloudWatch cho nó.
Bước 1: Tạo Đường dẫn CloudTrail
- Trong bảng điều khiển, điều hướng đến CloudTrail và chọn Tạo đường dẫn mới.
- Tại mục Bước 1: Chọn thuộc tính đường dẫn:
- Tạo tên cho đường dẫn của bạn dưới Tên đường dẫn.
- Tại Vị trí lưu trữ, chọn Tạo bucket mới. Điều này sẽ phục vụ như là điểm đến cho các nhật ký đường dẫn của bạn. Tên bucket sẽ được tạo tự động.
- Đảm bảo các tùy chọn Mã hóa tệp nhật ký SSE-KMS và Xác thực tệp nhật ký là không được chọn. Điều này được vô hiệu hóa để tiết kiệm chi phí, giảm độ phức tạp, và tránh các vấn đề tích hợp hoặc quyền hạn, đặc biệt trong môi trường có rủi ro thấp. Tuy nhiên, trong môi trường sản xuất, tốt nhất là nên kích hoạt cả hai để đảm bảo bảo mật và tính toàn vẹn kiểm toán.
- Tại mục Nhật ký CloudWatch:
- Kích hoạt Nhật ký CloudWatch
- Chọn Mới dưới Nhóm nhật ký. Tên nhóm nhật ký sẽ được tạo tự động cho bạn. Hãy ghi nhớ tên này.
- Tại mục Vai trò IAM chọn mới. Một chính sách IAM sẽ được tạo cho phép CloudTrail gửi sự kiện đến nhóm CloudWatch của bạn. Đặt tên cho vai trò này và chuyển sang bước tiếp theo, "Chọn sự kiện nhật ký".
- Tại Bước 2: Chọn sự kiện nhật ký, chọn Sự kiện quản lý dưới Sự kiện.
- Kéo xuống mục Sự kiện Quản lý, đảm bảo Đọc và Ghi được đánh dấu.
- Xem lại thay đổi của bạn và tạo đường dẫn. Xác nhận rằng đường dẫn của bạn đã được tạo trong bảng điều khiển CloudTrail.
Bước 2: Thiết lập Bộ lọc Chỉ số cho Nhóm Nhật ký CloudWatch
- Trong CloudWatch, xác định nhóm nhật ký mà bạn đã tạo ở Bước 1.
- Chọn nhóm nhật ký, nhấp vào Hành động, và chọn tùy chọn Tạo Bộ lọc Chỉ số.
- Tại bước Bước 1: Định nghĩa Mẫu, chúng ta nhập bộ lọc chỉ số sau:
{ $.userIdentity.type = "Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType != "AwsServiceEvent" }
# Bộ lọc này sẽ tìm kiếm hoạt động đăng nhập của người dùng gốc trong nhật ký CloudTrail
- Để tất cả các tùy chọn khác ở mặc định và chuyển sang Bước 2.
- Tại Bước 2: Gán Chỉ số, xác định tên Bộ lọc. Dưới chi tiết chỉ số, xác định:
- Một Không gian Chỉ số (AccountSecurity)
- Một Tên Chỉ số (RootUserLoginCount)
- Một Giá trị Chỉ số (1)
- Để lại tất cả các chi tiết khác ở mặc định và xem lại các thay đổi trước khi thực hiện. Bộ lọc chỉ số mới của bạn sẽ có sẵn ngay lập tức!
Bước 3: Tạo Cảnh báo CloudWatch dựa trên Bộ lọc Chỉ số
- Khi Bộ lọc Chỉ số của bạn có sẵn, chọn nó trong bảng điều khiển và tạo một cảnh báo dựa trên nó. Điều này cũng sẽ có sẵn dưới mục Chỉ số.
- Đảm bảo chỉ số đúng đã được chọn và Thống kê được đặt thành tổng. Để lại các chi tiết khác dưới chỉ số ở mặc định.
- Tại mục Điều kiện, đặt các thông số sau:
- Loại ngưỡng: Tĩnh
- Khi nào chỉ số (RootUserLoginCount) là: Lớn hơn/Bằng
- so với.....: 1
- Chuyển sang bước tiếp theo.
- Tại Bước 2: Cấu hình hành động, đặt trạng thái cảnh báo kích hoạt là Đang cảnh báo. Chọn/Tạo một Chủ đề SNS cho cảnh báo mới.
- Thêm chi tiết cảnh báo.
- Xem lại các thay đổi và tạo cảnh báo.
Bây giờ, hãy kiểm tra! Đăng nhập vào tài khoản gốc của bạn để kích hoạt cảnh báo CloudWatch và thông báo.
Thực hành tốt nhất
- Luôn kiểm tra lại các cảnh báo của bạn để đảm bảo chúng hoạt động chính xác.
- Đặt thông báo cho nhiều kịch bản khác nhau để bảo mật tài khoản tốt hơn.
- Giữ cho các ngưỡng cảnh báo hợp lý để không bị quá tải thông báo.
Những cạm bẫy thường gặp
- Không xác minh địa chỉ email trong SNS sẽ khiến bạn không nhận được thông báo.
- Quên kiểm tra các điều kiện và ngưỡng của cảnh báo có thể dẫn đến việc bỏ lỡ các sự kiện quan trọng.
Mẹo hiệu suất
- Sử dụng các nhóm IAM để quản lý quyền truy cập thay vì sử dụng tài khoản gốc cho mọi hoạt động.
- Theo dõi nhật ký CloudTrail thường xuyên để phát hiện các hoạt động đáng ngờ.
Khó khăn khi khắc phục sự cố
Tôi không nhận được thông báo sau khi đăng nhập vào tài khoản gốc của mình.
- Hãy thử các bước sau:
- Đăng tin nhắn vào chủ đề SNS được chỉ định cho Cảnh báo Đăng nhập Gốc.
- Đảm bảo bạn đang sử dụng Bộ lọc Chỉ số tùy chỉnh mà bạn đã tạo.
- Nếu điều này vẫn không thành công, hãy tạo một cảnh báo thứ hai với Bộ lọc Chỉ số tùy chỉnh.
Thiết lập CloudWatch Alerts là một trong những bước đầu tiên tốt nhất bạn có thể thực hiện để bảo mật tài khoản AWS của mình. Nó giúp bạn kiểm soát chi phí và phát hiện hoạt động đáng ngờ trước khi nó leo thang.
Thử thách: Thiết lập một bộ lọc chỉ số CloudWatch và Cảnh báo kiểm tra các thay đổi Chính sách/Roles IAM. Bình luận về bộ lọc mà bạn đã tạo và chúng ta hãy cùng thảo luận!