Mục lục bài viết

AWS CloudTrail Lake

AWS CloudTrail Lake cho phép thực hiện truy vấn dựa trên SQL của các sự kiện. CloudTrail Lake chuyển đổi các sự kiện hiện có dưới dạng JSON dựa trên hàng thành định dạng Apache ORC. Định dạng ORC là định dạng lưu trữ tối ưu hóa để truy xuất dữ liệu nhanh chóng.

Trước khi AWS CloudTrail Lake được công bố, bạn có thể tìm kiếm sự kiện một cách đơn giản trên bảng điều khiển tiêu chuẩn của CloudTrail, nhưng có những hạn chế sau:

  • Sự kiện hiển thị chỉ trong vòng 90 ngày
  • Chỉ hiển thị sự kiện ở khu vực đang sử dụng
  • Sự kiện dữ liệu như S3 không được hiển thị

Nếu muốn tìm kiếm log với điều kiện phức tạp mà không thể truy vấn trực tiếp, bạn cần chuyển log sang S3 và phân tích log bằng Athena.

CloudTrail Lake cho phép thực hiện truy vấn SQL mà không cần tạo bảng Athena. Trên màn hình console của CloudTrail, có mục Lake, và khi nhấp vào, bạn sẽ được chuyển đến tab Event data stores trong cài đặt ban đầu, nơi có thể tạo event data store.

Đặc điểm của AWS CloudTrail Lake:

  • Có thể thực hiện truy vấn dựa trên SQL cho các sự kiện CloudTrail
  • Dữ liệu sự kiện có thể được giữ trong event data store lên đến 7 năm (2557 ngày)
  • Có thể tổng hợp sự kiện trong nhiều khu vực, tài khoản, và Organization
  • Có thể lưu trữ truy vấn vào CloudTrail Lake, và kết quả truy vấn có thể được hiển thị trong vòng tối đa 7 ngày
  • Có thể lưu kết quả truy vấn vào một Amazon S3 bucket

Thử nghiệm

Điều kiện tiên quyết để sử dụng là tạo event data store của CloudTrail Lake trong tài khoản quản lý của AWS Organizations.

Các công việc sau đây được thực hiện trong tài khoản quản lý của Organizations.

  1. Từ bảng điều khiển quản lý, chọn CloudTrail, sau đó nhấp vào “Tạo dữ liệu sự kiện” trong “Event data stores” trên bảng điều khiển bên trái.
  1. Trong cài đặt event data store, theo blog chính thức, hộp kiểm tra “Kích hoạt cho tất cả các tài khoản trong tổ chức” sẽ được hiển thị trên màn hình này, nhưng nó không hiển thị ở đây…
  1. Tiếp tục với cài đặt tiếp theo, bạn có thể chọn “Sự kiện AWS” hoặc “Sự kiện từ tổng hợp” cho loại sự kiện. Ở đây chọn “Sự kiện AWS” cho loại sự kiện và “Sự kiện CloudTrail” cho loại sự kiện AWS theo mặc định.

Xuất hiện hộp kiểm tra “Kích hoạt cho tất cả các tài khoản trong tổ chức” trong cài đặt “Sự kiện CloudTrail”! Đánh dấu vào “Kích hoạt”.

Ngoài ra, đánh dấu vào “Đọc” và “Ghi” cho sự kiện quản lý theo mặc định.

  1. Xác nhận cài đặt và nhấp vào “Tạo event data store”.

Event data store đã được tạo thành công.

Thử thực hiện một truy vấn

Sau khi tạo event data store, nhấp vào tab Editor của Lake, bạn sẽ thấy một màn hình editor giống như Athena.

  1. Thử thực hiện truy vấn để xem trước sự kiện. Bạn cần chỉ định ID của event data store làm bảng mục tiêu.
SELECT * FROM 15c57889-XXXX-XXXX-XXXX-XXXXXXXXXXXX

LIMIT 10;

Nhấp vào tab “Kết quả truy vấn” để xem kết quả. Bạn cũng có thể lưu trữ kết quả vào S3. 

  1. Thử thực hiện truy vấn để xác định sự kiện trong một thời gian cụ thể. 
SELECT * FROM 15c57889-XXXX-XXXX-XXXX-XXXXXXXXXXXX

WHERE eventTime>= '2023-02-05 09:15:00' and eventTime <= '2023-02-05 09:30:00'

AND awsRegion in ('ap-northeast-1')

LIMIT 10;
  1. Thử thực hiện truy vấn để tìm kiếm tất cả các hồ sơ hoạt động của một người dùng cụ thể. 
SELECT eventTime, eventSource, eventName, awsRegion FROM 15c57889-XXXX-XXXX-XXXX-XXXXXXXXXXXX

WHERE eventTime >= '2023-02-05 09:15:00' AND

eventTime <= '2023-02-05 09:30:00' AND

userIdentity.username like 'kodera@ids.co.jp' AND

awsRegion like 'ap-northeast-1'

order by eventtime desc

limit 1000;

Tổng kết

Sử dụng CloudTrail Lake, bạn có thể kiểm tra nội dung truy vấn gần đây nhất bằng cách sử dụng lịch sử truy vấn, và cũng có tính năng lưu trữ truy vấn thường xuyên sử dụng.

Lợi ích của CloudTrail Lake là nó hỗ trợ nhiều tài khoản.