Quảng bá BGP của VGW so với bảng định tuyến của VPC: cái gì thay đổi cái gì
Bảng định tuyến VPC kiểm soát việc chuyển tiếp trong mạng con; nó không thay đổi những gì cổng riêng ảo quảng bá qua BGP. Theo dõi từng hướng riêng biệt.
Một tiền tố bị thiếu trong bảng định tuyến của mạng con VPC và một tiền tố bị thiếu trên bộ định tuyến của khách hàng là hai lỗi khác nhau, và chỉ một trong số đó được sửa bên trong các bảng định tuyến của AWS. Cổng riêng ảo quảng bá các khối CIDR liên kết với VPC của nó; bảng định tuyến của mạng con quyết định nơi một khối lượng công việc gửi câu trả lời. Coi cái thứ hai như một cách để thay đổi cái thứ nhất là ngã rẽ sai phổ biến nhất trong chẩn đoán này. Hãy thực hiện các kiểm tra bên dưới theo thứ tự và giữ hai hướng tách biệt.
Gọi tên phần đính kèm trước khi đọc bất kỳ bảng nào
VPN site-to-site kết thúc tại cổng riêng ảo hoặc cổng trung chuyển, và ID tài nguyên quyết định mô hình định tuyến nào được áp dụng. Hãy đọc chúng trước: aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 --query 'VpnConnections[].{Tunnels:VgwTelemetry,Gateway:GatewayId,Transit:TransitGatewayId}'. Câu trả lời cho biết bảng tiếp theo cần kiểm tra là bảng định tuyến VPC hay bảng định tuyến của cổng trung chuyển.
Nếu VPN được đính kèm vào cổng trung chuyển, hãy ngừng coi bảng định tuyến VPC là mặt phẳng điều khiển. Ở đó bảng VPC trỏ tới phần đính kèm của cổng, còn việc liên kết và lan truyền diễn ra trong bảng định tuyến của cổng trung chuyển. Trộn lẫn hai góc nhìn tạo ra những kết luận tự tin về sai đối tượng.
Hướng từ AWS tới văn phòng là một quảng bá
Với phần đính kèm VGW, cổng quảng bá các khối CIDR liên kết với VPC của nó tới cổng của khách hàng qua BGP. Việc thêm một tuyến mạng con riêng lẻ, hoặc trỏ một tuyến tới VPC ngang hàng hay một thiết bị, không thêm CIDR liên kết khác và không xuất hiện trong quảng bá đó. Nếu văn phòng thiếu một tiền tố, hãy so sánh danh sách tuyến đã nhận với các liên kết VPC trước khi sửa bất kỳ bảng định tuyến nào.
Quy tắc đơn giản có ngoại lệ, vì vậy hãy giữ nó trong phạm vi của nó. Một cấu hình VPN CloudHub có thể quảng bá lại tiền tố của các site giữa các cổng khách hàng, và cổng trung chuyển tuân theo các quy tắc lan truyền riêng của nó. Khẳng định rằng VGW chỉ quảng bá VPC của chính nó là một mặc định hữu ích, không phải luật bao trùm mọi cấu trúc bạn sẽ gặp.
Hướng từ văn phòng tới AWS là lan truyền cộng với chọn lọc
Ở hướng ngược lại, VGW học tiền tố của văn phòng, nhưng chỉ điều đó không di chuyển khối lượng công việc. Bảng định tuyến của mạng con phải bật lan truyền cho phần đính kèm hoặc mang một tuyến tĩnh tới cùng đích. Khi cả hai cùng tồn tại cho một tiền tố, tuyến tĩnh thắng, và việc khớp tiền tố dài nhất chạy trước cả hai.
Hãy đọc nguồn gốc thay vì giả định: aws ec2 describe-route-tables --route-table-ids rtb-0123456789abcdef0 --query 'RouteTables[].Routes'. Mục có nguồn gốc EnableVgwRoutePropagation đến từ BGP; mục có nguồn gốc CreateRoute do con người nhập và sẽ tiếp tục thắng cho đến khi ai đó xóa nó.
Một runbook giữ hai hướng tách biệt
Ghi lại bốn dữ kiện ở phía AWS trước khi thay đổi bất cứ điều gì: loại đính kèm, các CIDR liên kết của VPC, nguồn gốc tuyến mạng con cho tiền tố đang xét, và trạng thái của đường hầm và BGP. Cùng lệnh describe trả về VgwTelemetry với số tuyến được chấp nhận trên mỗi đường hầm, cho biết AWS có chấp nhận tuyến nào không. Sau đó so sánh với những gì thiết bị của khách hàng thực sự đã cài đặt. Một tiền tố có trong BGP nhưng vắng mặt trong bảng chuyển tiếp là vấn đề nhập cục bộ hoặc tuyến tốt nhất, không phải vấn đề bảng định tuyến của AWS.
Nếu bảng của mạng con hoàn toàn không có tiền tố, hãy bật lan truyền hoặc thêm tuyến tĩnh, rồi đọc lại cùng truy vấn sau khoảng lan truyền thay vì giả định thay đổi diễn ra tức thì. Nếu tiền tố tồn tại mà lưu lượng vẫn thất bại, hãy để mặt phẳng điều khiển yên và chuyển sang đường dữ liệu.
Những gì không nên thay đổi khi bạn ở đó
Đừng bật hoặc tắt lan truyền trên các bảng định tuyến không liên quan để sửa một tiền tố bị thiếu, và đừng thêm tuyến mặc định để che một CIDR bị thiếu. Cả hai thay đổi đều mở rộng phạm vi ảnh hưởng và làm chẩn đoán tiếp theo khó hơn. Giới hạn việc sửa đổi chỉ ở bảng phục vụ mạng con của khối lượng công việc đang xét.
Đường dữ liệu tách biệt khỏi tất cả những điều này. Nhóm bảo mật có trạng thái, ACL mạng thì không, và tường lửa trên máy chủ hoặc đường trả về không đối xứng có thể loại bỏ lưu lượng mà định tuyến đã chuyển đúng. Một tổng hợp được quảng bá cũng không cấp quyền cho mọi dịch vụ bên trong nó, vì vậy hãy giới hạn truy cập ở ranh giới chính sách thay vì dựa vào việc một địa chỉ có tình cờ xuất hiện trong quảng bá BGP hay không.
Lưu trạng thái trước và sau của mọi truy vấn bảng định tuyến trong bản ghi thay đổi. Nếu thay đổi làm mọi thứ tệ hơn, hãy khôi phục các tuyến trước đó và xác nhận bằng cùng truy vấn, vì một lần hoàn nguyên mà bạn không thể xác minh chỉ là phỏng đoán.