Cấu hình AWS VPC Traffic Mirroring để khắc phục lỗi sao chép trong AWS MGN và AWS DRS

Tác giả: Ahmed Mansouri

Ngày xuất bản: 08/04/2025

Danh mục: Advanced (300), AWS Application Migration Service, AWS Elastic Disaster Recovery (DRS), Technical How-to

Các tổ chức sử dụng các giải pháp sao chép để di chuyển lên Cloud hoặc khôi phục sau thảm họa đôi khi phải đối mặt với những thách thức khi khắc phục lỗi sao chép. Những thách thức này có thể ảnh hưởng đến tiến độ di chuyển, gia tăng gánh nặng vận hành và ảnh hưởng đến kế hoạch hoạt động liên tục (business continuity). Nếu thiếu tầm nhìn quan sát đầy đủ trong giao tiếp mạng, việc xác định và khắc phục sự cố sao chép trở nên phức tạp và tốn nhiều thời gian.

AWS Application Migration Service đơn giản hóa và đẩy nhanh quá trình di chuyển các máy chủ nguồn của bạn từ nền tảng vật lý, ảo hoặc đám mây để lên AWS, là dịch vụ được AWS khuyến nghị cho các hình thức di dời lift-and-shift. AWS Elastic Disaster Recovery cho phép khôi phục nhanh chóng, đáng tin cậy các ứng dụng tại chỗ và trên đám mây của bạn lên AWS, giảm recovery point objective (RPO) xuống còn vài giây và recovery time objective (RTO) xuống còn vài phút. Cả hai dịch vụ đều sử dụng một replication server do dịch vụ quản lý trên AWS để sao chép dữ liệu từ môi trường nguồn. Replication server lưu trữ tạm thời dữ liệu này trong khu vực staging trước khi sao chép sang các phiên bản đích cho quá trình chuyển đổi chính thức (cutover) khi di dời hoặc chuyển đổi dự phòng (failover) khi khôi phục sau thảm họa. Vì các replication server này do AWS quản lý (service-managed), các phương pháp khắc phục sự cố mạng thông thường không khả dụng khi xảy ra lỗi sao chép. Đây là lúc AWS VPC Traffic Mirroring có thể hỗ trợ, bằng cách cung cấp cách an toàn để bắt và phân tích lưu lượng mạng giữa nguồn và replication server mà không làm gián đoạn quá trình sao chép.

Trong bài viết này, chúng tôi sẽ hướng dẫn cách bạn cấu hình VPC Traffic Mirroring để bắt lưu lượng mạng từ replication server trong môi trường Application Migration Service. Mặc dù chúng tôi không đi sâu vào việc giải quyết các lỗi sao chép cụ thể, hướng dẫn này trang bị cho bạn các công cụ cần thiết để thu thập dữ liệu mạng phục vụ phân tích thêm. Quy trình theo hướng dẫn này cũng có thể áp dụng cho môi trường Elastic Disaster Recovery. Việc triển khai các kỹ thuật này giúp bạn thu thập thông tin giá trị để xác định chính xác khi nào và ở đâu lưu lượng bị chặn hoặc bị ảnh hưởng, từ đó khắc phục sự cố và đảm bảo quá trình sao chép thành công.

Hiểu về Traffic Mirroring

Traffic Mirroring là một tính năng của Amazon Virtual Private Cloud (Amazon VPC) cho phép bạn bắt và kiểm tra lưu lượng mạng. Việc mirroring lưu lượng từ các giao diện mạng của các phiên bản cho phép bạn gửi dữ liệu này đến một đích như một phiên bản khác hoặc một thiết bị giám sát mạng để phân tích.

Các thành phần chính của Traffic Mirroring bao gồm:

  • Mirror source: Một traffic mirror source là giao diện mạng từ đó bạn muốn bắt lưu lượng. Trong ngữ cảnh Application Migration Service, đây là giao diện mạng của replication server đang chạy trong khu vực staging.
  • Mirror target: Một traffic mirror target là đích đến cho lưu lượng được mirrored. Traffic mirroring cho phép bạn sao chép lưu lượng mạng từ một Elastic Network Interface đến một traffic mirror target để giám sát và phân tích.
  • Mirror filter: Một traffic mirror filter là tập hợp các quy tắc inbound và outbound quyết định lưu lượng nào được sao chép từ traffic mirror source và gửi đến traffic mirror target.
  • Mirror session: Một traffic mirror session thiết lập mối quan hệ giữa một traffic mirror source và một traffic mirror target.

Traffic Mirroring có thể giúp xác định một số lỗi sao chép phổ biến, bao gồm:

  • Can thiệp SSL (còn gọi là kiểm tra SSL/TLS), một quy trình trong đó tường lửa (firewall) giải mã và kiểm tra lưu lượng đã mã hóa giữa nguồn và replication server. Dù nhằm bảo mật, tính năng này có thể can thiệp vào giao tiếp bảo mật giữa hai server.
  • Sai lệch Maximum Transmission Unit (MTU) và Maximum Segment Size (MSS) giữa nguồn và replication server, hoặc giữa firewall trung gian và replication server. Những sai lệch này có thể dẫn đến phân mảnh gói tin hoặc rớt gói (dropped packets), gây ra tình trạng sao chép chậm hoặc truyền dữ liệu thất bại.
  • Firewall thêm các flag vào lưu lượng, khiến replication server loại bỏ lưu lượng đến từ server nguồn.
  • Phần mềm bảo mật ở cấp độ hệ điều hành (OS-level) từ chối hoặc chặn giao tiếp giữa nguồn và replication server.

Tổng quan giải pháp

Quy trình thiết lập VPC Traffic Mirroring để khắc phục lỗi sao chép bao gồm các bước sau:

  1. Xác định replication server: Xác định replication server và giao diện mạng của nó được sử dụng làm nguồn cho traffic mirroring.
  2. Thiết lập instance đích cho traffic mirror (traffic mirror target instance): Tạo và cấu hình một instance Amazon EC2 để làm đích nhận lưu lượng được mirror.
  3. Cấu hình traffic mirror target: Cấu hình traffic mirror target bằng giao diện mạng của instance traffic mirror target.
  4. Cấu hình traffic mirror filter: Thiết lập traffic mirror filter với các quy tắc inbound và outbound phù hợp để xác định lưu lượng mạng nào cần được bắt và chuyển tiếp.
  5. Thiết lập traffic mirror session: Tạo một traffic mirror session để thiết lập kết nối giữa replication server và instance traffic mirror target. Session này xác định cách thức lưu lượng được mirrored.
  6. Giám sát và phân tích lưu lượng truy cập: Triển khai thu thập và phân tích lưu lượng truy cập bằng cách sử dụng tcpdump trên phiên bản đích để kiểm tra giao tiếp lưu lượng được phản chiếu.

Hình 1: Kiến trúc traffic mirroring cho máy chủ Application Migration Service

Điều kiện tiên quyết

Bạn cần có:

  1. Quyền truy cập vào tài khoản AWS với quyền cấu hình Traffic Mirroring trong subnet khu vực staging.
  2. Một tiến trình di chuyển đang hoạt động sử dụng Application Migration Service, với server nguồn đã cài AWS Replication Agent và đang sao chép dữ liệu tới replication server trong subnet staging.

Xác định replication server

Xác định giao diện mạng của replication server, giao diện này đóng vai trò làm nguồn cho traffic mirroring.

Xác định địa chỉ IP của replication server

Bạn có thể tìm IP của replication server bằng cách kết nối đến server nguồn và chạy netstat.

  • Linux
$ sudo netstat -nap | grep ":1500"
  • Windows
C:\Users\Administrator> netstat -an | find "1500"

Bạn sẽ thấy năm kết nối từ server nguồn tới replication server.

Hình 2: Kết quả netstat hiển thị kết nối replication server trên cổng 1500

Nếu không thấy năm kết nối, có thể có lỗi kết nối. Trong trường hợp này, kiểm tra file log của agent để tìm kết nối cuối cùng.

  • Linux
$ sudo cat /var/lib/aws-replication-agent/agent.log.0 | grep :1500 | tail -n 1
  • Windows (64-bit)
PS C:\Users\Administrator> Get-Content -Path "C:\Program Files (x86)\AWS Replication Agent\agent.log.0" | Select-String ":1500" | Select-Object -Last 1
  • Windows (32-bit)
PS C:\Users\Administrator> Get-Content -Path "C:\Program Files\AWS Replication Agent\agent.log.0" | Select-String ":1500" | Select-Object -Last 1

Hình 3: Kiểm tra file log agent để lấy IP replication server

Xác định giao diện mạng của replication server

Trong bảng điều khiển Amazon EC2, dưới mục Network interfaces, tìm giao diện mạng có IP của replication server. Giao diện mạng này sẽ đóng vai trò là nguồn mirror (mirror source)

Lưu ý: Ghi lại IP riêng (private IP) của replication server để sử dụng ở bước bắt gói.

Hình 4: Giao diện mạng replication server làm traffic mirror source

Điều tương tự cũng có thể được thực hiện bằng AWS Command Line Interface (AWS CLI). Thay thế <Replication-Server-Private-IP> và <Replication-Server-Public-IP> bằng địa chỉ IP của máy chủ sao chép.:

  • Cho cấu hình private network:
aws ec2 describe-network-interfaces \

--filters "Name=addresses.private-ip-address,Values=<Replication-Server-Private-IP>" \

--query 'NetworkInterfaces[*].[NetworkInterfaceId,Description]' \

--output table
  • Cho cấu hình public network:
aws ec2 describe-network-interfaces \

--filters "Name=association.public-ip,Values=<Replication-Server-Public-IP>" \

--query 'NetworkInterfaces[*].[NetworkInterfaceId,Description]' \

--output table

Tạo traffic mirror target instance

Tạo một instance Amazon EC2 chạy hệ điều hành Linux trong cùng subnet với replication server (hoặc khác subnet nếu có cấu hình mạng phù hợp). Cấu hình security group cho phép inbound từ IP riêng của replication server trên cổng 4789/UDP.

Hình 5: Giao diện mạng của instance làm traffic mirror target

Ghi lại Network Interface ID của instance đích để sử dụng khi tạo mirror target.

Cấu hình traffic mirror target

Mirror target là đích cho lưu lượng được mirrored. Thực hiện:

  1. Mở VPC Dashboard trong Region chứa subnet staging.
  2. Dưới Traffic mirroring, chọn Mirror targets.
  3. Nhấn Create traffic mirror target.
  4. Cấu hình:
    • Chọn Network Interface làm Target type.
    • Chọn giao diện mạng của instance đích làm Target.
  5. Nhấn Create.

Hình 6: Tạo traffic mirror target

Hình 7: Traffic mirror target ID

Cấu hình traffic mirror filter

Một bộ lọc traffic mirror xác định những gói tin mạng nào sẽ được thu thập thông qua các quy tắc inbound và outbound.

Để khắc phục sự cố trong quá trình sao chép, chúng ta sẽ tạo một bộ lọc sao chép toàn bộ lưu lượng inbound và outbound từ replication server sang máy đích traffic mirror.

Hãy làm theo các bước sau để cấu hình bộ lọc này.

  1. Dưới Traffic mirroring, chọn Mirror filters.
  2. Nhấn Create traffic mirror filter.
  3. Thêm inbound rule:
    • Source CIDR block: 0.0.0.0/0
    • Destination CIDR block: 0.0.0.0/0
  4. Thêm outbound rule:
    • Source CIDR block: 0.0.0.0/0
    • Destination CIDR block: 0.0.0.0/0
  5. Nhấn Create.

Hình 8: Tạo traffic mirror filter

Hình 9: Traffic mirror filter ID

Tạo traffic mirror session

Traffic mirror session có chức năng kết nối nguồn mirror (traffic mirror source – tức giao diện mạng của replication server) với đích mirror (traffic mirror target) dựa trên các quy tắc đã định nghĩa trong filter. Session này sẽ thiết lập toàn bộ cấu hình traffic mirroring. Hãy làm theo các bước sau để tạo một session.

  1. Dưới Traffic mirroring, chọn Mirror sessions.
  2. Nhấn Create traffic mirror session.
  3. Cấu hình:
    • Mirror source: giao diện mạng replication server.
    • Mirror target: traffic mirror target đã tạo.
    • Session number: 1
    • Filter: traffic mirror filter đã tạo.
  4. Nhấn Create.

Hình 10: Tạo traffic mirror session

Giám sát và phân tích lưu lượng

Để giám sát lưu lượng đã được mirrored, hãy kết nối đến instance traffic mirror target mà bạn đã cấu hình để nhận traffic mirroring. Chạy lệnh tcpdump với bộ lọc host. Bạn có thể sử dụng dữ liệu này để phân tích lưu lượng mạng đến replication server và phát hiện bất kỳ vấn đề nào ảnh hưởng đến quá trình sao chép.

Lưu ý: Sử dụng địa chỉ IP riêng của replication server khi thiết lập bộ lọc host, vì giao tiếp mạng nội bộ sử dụng địa chỉ private.

$ tcpdump -nn -tt -vv host <Replication-Server-Private-IP>

Hình 11: Giám sát lưu lượng mirrored bằng tcpdump

Để phân tích lưu lượng mạng chi tiết hơn, hãy bắt và lưu các gói tin ở định dạng tệp pcap (packet capture). Sau đó, bạn có thể sử dụng Wireshark, một công cụ phân tích giao thức mạng, để xem xét dữ liệu đã bắt một cách sâu sắc. Phương pháp này cung cấp cái nhìn toàn diện về giao tiếp mạng và cho phép điều tra kỹ lưỡng bất kỳ lỗi hoặc mẫu lưu lượng nào trong luồng mạng.

$ tcpdump -nn -tt -vv host <Replication-Server-Private-IP> -w tcpdump-output.pcap

Bạn cũng có thể so sánh kết quả bắt gói tin từ máy chủ nguồn và replication server để xác định bất kỳ yếu tố nào ảnh hưởng đến lưu lượng mạng giữa hai thành phần này. Để phân tích toàn diện, hãy thực hiện bắt gói trên các thành phần mạng khác (chẳng hạn như tường lửa) trong môi trường của bạn có liên quan đến giao tiếp giữa nguồn và replication server. Bước bổ sung này giúp xác định chính xác vị trí lỗi xuất hiện lần đầu.

Dọn dẹp

Dọn dẹp các tài nguyên đã sử dụng cho traffic mirroring để tránh phát sinh chi phí không cần thiết sau khi bạn hoàn thành việc phân tích traffic mirroring:

  • Xóa traffic mirror session
  • Xóa traffic mirror target
  • Xóa traffic mirror filter
  • Chấm dứt (Terminate) instance Linux đã được sử dụng làm đích cho traffic mirroring.

Kết luận

Trong bài viết này, chúng tôi đã trình bày cách cấu hình VPC Traffic Mirroring để bắt lưu lượng mạng phục vụ khắc phục lỗi sao chép trong môi trường Application Migration Service và Elastic Disaster Recovery Service. Cách tiếp cận này giúp bạn có được cái nhìn sâu hơn (deeper visibility) về luồng giao tiếp mạng giữa các máy chủ nguồn và replication server, đồng thời duy trì tính ổn định khi vận hành.

Việc sử dụng VPC Traffic Mirroring như minh họa cho phép quan sát chi tiết các mẫu lưu lượng, giúp giải quyết sự cố nhanh hơn và mang lại khả năng bắt và phân tích luồng giao tiếp mạng, phục vụ cho cả việc khắc phục sự cố tức thời và tham khảo về sau.

Tìm hiểu thêm về khả năng của VPC Traffic Mirroring trong tài liệu AWS VPC Traffic Mirroring documentation. Luôn cập nhật thông tin về Application Migration Service và Elastic Disaster Recovery Service qua các bài đăng trên AWS Migration and Modernization BlogAWS Storage Blog.

Về tác giả

Ahmed Mansouri

Ahmed Mansouri là một Kỹ sư Hỗ trợ Đám mây tại AWS Premium Support, nơi anh đảm nhiệm vai trò Chuyên gia chủ đề (SME) trong các dịch vụ EC2 Linux, AWS Application Migration Service và AWS Elastic Disaster Recovery Service. Anh có niềm đam mê trong việc hỗ trợ khách hàng khắc phục những thách thức kỹ thuật phức tạp và triển khai các giải pháp hiệu quả cho nhu cầu hạ tầng đám mây của họ.