VPC Flow Logs là gì ?
VPC Flow Logs là một tính năng cho phép bạn thu thập thông tin về lưu lượng IP diễn ra giữa các giao diện mạng trong mạng VPC của bạn. Dữ liệu VPC Flow Logs có thể được xuất bằng cách sử dụng Amazon CloudWatch Logs, Amazon S3, hoặc Amazon Kinesis Data Firehose.
Đặc điểm của VPC Flow Logs
VPC Flow Logs có nhiều ứng dụng hữu ích:
- Chẩn đoán các quy tắc của Security group rule
- Giám sát lưu lượng truy cập đến các instance
- Xác định hướng truy cập nhập xuất qua network interface
VPC Flow Logs hữu ích trong các trường hợp cụ thể ở trên. Ngoài ra, vì dữ liệu Flow Logs được thu thập bằng đường dẫn khác với đường dẫn của network traffic, nên không ảnh hưởng đến độ trễ hoặc hiệu suất mạng.
Hướng dẫn cấu hình Flow Logs
Để sử dụng Flow Logs, bạn cần tiến hành một số bước cấu hình cụ thể. Hãy cùng xem xét từng bước trong quá trình cấu hình Flow Logs. Ở đây Sunny Cloud dùng ví dụ dữ liệu Flow Logs được gửi đến CloudWatch Logs.
1) Tạo log group trong CloudWatch Logs
Đầu tiên, tạo log group cho EC2 instance. Chọn instance đang chạy và chọn vào Networking.
Kéo xuống dưới, chọn Network interface ID. Sau khi chuyển đến trang Network interfaces, chọn vào “Create flow log” trong mục Actions và tạo flow log.
Trong Flow log settings, nhập tên (Name), điểm đến (Destination), vv. Sau khi hoàn tất, chọn vào nút “Create flow log” màu da cam ở góc dưới bên phải để hoàn thành.
Kiểm tra output flow log
Để kiểm tra output, chọn vào Log stream có trong Log group vừa tạo. Các action sẽ được hiển thị trong phần Log event.
Dưới đây là các giá trị mặc định của định dạng xuất log .
[version, accountid, interfaceid, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, logstatus]
field | Giải thích | version |
version | VPC flow log version. Nếu để mặc định, version là 2. Nếu sử dụng định dạng tùy chỉnh, version sẽ là version cao nhất trong field đã chọn. Ví dụ, nếu chỉ chọn field version 2, thì version sẽ là 2. Nếu chọn các field có version 2, 3, 4, thì version sẽ là 4 (version cao nhất). Kiểu dữ liệu: INT_32 | 2 |
accountid | Chứa AWS account ID của source network interface của traffic. Trường hợp network interface được tạo bởi dịch vụ của AWS (như khi tạo VPC endpoint hoặc Network Load Balancer), trên bản ghi có thể hiển thị là “unknown” cho field này. Kiểu dữ liệu: STRING | 2 |
interfaceid | Chứa ID của Kiểu dữ liệu của traffic. Kiểu dữ liệu: STRING | 2 |
srcaddr | Địa chỉ nguồn của traffic nhận hoặc địa chỉ IPv4/IPv6 của network interface cho traffic gửi trên network interface. Địa chỉ IPv4 của network interface luôn là địa chỉ private IPv4. Hãy tham khảo mục “pkt-srcaddr”. Kiểu dữ liệu: STRING | 2 |
srcport | Port của traffic nguồn. Kiểu dữ liệu: INT_32 | 2 |
dstport | Port của traffic đíchKiểu dữ liệu: INT_32 | 2 |
protocol | Số hiệu IANA protocol của traffic. Tham khảo “Số internet protocol được phân bổ” để biết thêm chi tiết. Kiểu dữ liệu: INT_32 | 2 |
packets | Số packet được truyền trong flow. Kiểu dữ liệu: INT_64 | 2 |
bytes | Số byte được truyền trong flowKiểu dữ liệu: INT_64 | 2 |
start | Thời gian (UNIX giây) nhận được packet đầu tiên của flow. Có thể mất tối đa 60 giây sau khi packet được gửi hoặc nhận trên network interface. Kiểu dữ liệu: INT_64 | 2 |
end | Thời gian (UNIX giây) nhận được packet cuối cùng của flow. Có thể mất tối đa 60 giây sau khi packet được gửi hoặc nhận trên network interface. Kiểu dữ liệu: INT_64 | 2 |
action | Action liên quan tới traffic: ACCEPT – traffic đã được chấp nhận. REJECT – traffic đã bị từ chối. Ví dụ, traffic không được cho phép bởi security group hoặc ACL network, hoặc packet đến sau khi kết nối kết thúc. Kiểu dữ liệu: STRING | 2 |
log-status | Trạng thái ghi Log của Flow Log. OK — Dữ liệu được ghi chính xác vào điểm đến đã chọn. NODATA — Không có traffic nào đi qua network interface. SKIPDATA — Một số flow log record đã bị skip. Điều này có thể do giới hạn dung lượng hoặc lỗi nội bộ. Kiểu dữ liệu: STRING | 2 |
vpc-id | ID của VPC chứa network interface của traffic. Kiểu dữ liệu: STRING | 3 |
subnet-id | ID của Subnet chứa network interface của traffic.Kiểu dữ liệu: STRING | 3 |
instance-id | ID của instance liên kết với network interface của traffic. Trong trường hợp Requester-managed network interfaces (như NAT Gateway network interface), trả về là “-“. Kiểu dữ liệu: STRING | 3 |
tcp-flags | Giá trị bitmask của các flag TCP: FIN — 1SYN — 2RST — 4SYN-ACK — 18TCP. Trong trường hợp kết nối ngắn, các flag có thể được đặt trên cùng một dòng record flow log (ví dụ SYN-ACK và FIN là 19, SYN và FIN là 3, vv) . Vui lòng xem “TCP Flag Sequences “ để biết thêm thông tin chi tiết. Kiểu dữ liệu: INT_32 | 3 |
type | Chứa kiểu traffic. Các giá trị cho phép là IPv4 | IPv6 | EFA. Vui lòng xem “Elastic Fabric Adapter” để biết thêm thông tin chi tiết. Kiểu dữ liệu: STRING | 3 |
pkt-srcaddr | Địa chỉ IP gốc packet level của traffic. Sử dụng field này cùng với field srcaddr để phân biệt địa chỉ IP lớp trung gian mà traffic đi qua và địa chỉ IP gốc của traffic. Ví dụ, trong trường hợp traffic đi qua network interface của NAT Gateway, hoặc địa chỉ IP của pod trong Amazon EKS khác với địa chỉ IP của network interface của node instance mà pod đang chạy (trường hợp giao tiếp trong VPC). Kiểu dữ liệu: STRING. | 3 |
pkt-dstaddr | Địa chỉ IP đích packet-level của traffic. Sử dụng field này cùng với field dstaddr để phân biệt địa chỉ IP lớp trung gian mà traffic đi qua và địa chỉ IP gốc cuối cùng của traffic. Ví dụ, trong trường hợp traffic đi qua network interface của NAT Gateway, hoặc địa chỉ IP của pod trong Amazon EKS khác với địa chỉ IP của network interface của node instance mà pod đang chạy (trường hợp giao tiếp trong VPC). Kiểu dữ liệu: STRING. | 3 |
region | Tên region chứa network interface của traffic. Kiểu dữ liệu: STRING. | 4 |
az-id | ID của Availability Zone chứa network interface của traffic. Trong trường hợp traffic đến từ sublocation, trên bản ghi sẽ hiển thị dấu “-” trong field này. Kiểu dữ liệu: STRING. | 4 |
sublocation-type | Loại sublocation. Các giá trị có thể chỉ định là: wavelength | outpost | localzone. Trong trường hợp traffic không phải từ sublocation, trên bản ghi sẽ hiển thị dấu “-” trong field này. Kiểu dữ liệu: STRING. | 4 |
sublocation-id | ID của sublocation chứa network interface của traffic. Trong trường hợp truy cập không phải từ sublocation, trên bản ghi sẽ hiển thị dấu “-” trong field này. Kiểu dữ liệu: STRING. | 4 |
pkt-src-aws-service | Tên của phạm vi địa chỉ IP dùng cho field pkt-srcaddr (trong trường hợp địa chỉ IP gốc là dịch vụ của AWS). Các giá trị có thể có là: AMAZON | AMAZON_APPFLOW | AMAZON_CONNECT | API_GATEWAY | CHIME_MEETINGS | CHIME_VOICECONNECTOR | CLOUD9 | CLOUDFRONT | CODEBUILD | DYNAMODB | EBS | EC2 | EC2_INSTANCE_CONNECT | GLOBALACCELERATOR | KINESIS_VIDEO_STREAMS | ROUTE53 | ROUTE53_HEALTHCHECKS | ROUTE53_HEALTHCHECKS_PUBLISHING | ROUTE53_RESOLVER | S3 | WORKSPACES_GATEWAYS. Kiểu dữ liệu: STRING. | 5 |
pkt-dst-aws-service | Tên của phạm vi địa chỉ IP dùng cho field pkt-dstaddr (trong trường hợp địa chỉ IP gốc là dịch vụ của AWS). Vui lòng tham khảo field pkt-src-aws-service để biết danh sách chi tiết. Kiểu dữ liệu: STRING. | 5 |
flow-direction | Hướng của traffic. Các giá trị có thể là vào hoặc ra: ingress | egress. Kiểu dữ liệu: STRING. | 5 |
traffic-path | Đường đi của traffic từ nguồn đến đích. Kiểm tra field flow-direction để xác định chiều của traffic. Các giá trị có thể chỉ định như sau: 1 – Thông qua component khác trong cùng một VPC; 2 – Thông qua Internet Gateway hoặc VPC Endpoint Gateway; 3 – Thông qua Virtual Private Gateway; 4 – Thông qua kết nối VPC Peering trong region; 5 – Thông qua kết nối VPC Peering giữa các region; 6 – Thông qua Local Gateway; 7 – Thông qua VPC Endpoint Gateway (chỉ dành cho các instances dựa trên Nitro) 8 – Qua Internet Gateway (chỉ dành cho các instances dựa trên Nitro). Nếu không có giá trị nào được áp dụng, field sẽ được cấu hình là “-“.Kiểu dữ liệu: INT_32 | 5 |
Tổng kết
Cuối cùng, thông qua bài viết này, bạn đã tìm hiểu về VPC Flow Logs và tại sao chúng là một phần quan trọng trong việc quản lý và bảo mật mạng VPC của bạn. Với khả năng chẩn đoán, giám sát, và xác định lưu lượng mạng, VPC Flow Logs giúp bạn nắm rõ hoạt động mạng và phát hiện sự cố một cách hiệu quả. Điều này giúp tăng cường bảo mật và hiệu suất của mạng VPC, đồng thời giúp bạn xác định và khắc phục các vấn đề nhanh chóng.
Để lại một bình luận