Vì sao một tuyến subnet trên AWS VGW không thể chọn một đường hầm VPN
Tuyến subnet tới cổng riêng ảo không thể chỉ định bất kỳ đường hầm nào của nó. Nơi ưu tiên thực sự nằm: AS_PATH, sức khỏe đường hầm và các tuyến tĩnh.
Hai kết nối Site-to-Site VPN kết thúc trên một cổng riêng ảo và quảng bá cùng một tiền tố chi nhánh. Bảng tuyến của subnet có một mục cho tiền tố đó, trỏ tới cổng, và không có trường nào chỉ định đường hầm. Vì vậy ưu tiên giữa các kết nối diễn ra ở nơi mà bảng điều khiển không gọi là định tuyến. Biết tầng nào sở hữu quyết định chính là khác biệt giữa một dự phòng hoạt động và một thay đổi không làm gì cả.
Có hai tầng tham gia: tuyến VPC cho biết cổng nào, và lựa chọn đường hầm của chính cổng. Nhầm lẫn hai thứ này tạo ra các chỉnh sửa trông đúng trong bảng tuyến nhưng không bao giờ di chuyển một gói tin.
Hai tầng trông như một
Tuyến subnet trả lời một câu hỏi duy nhất: cho đích này, dùng attachment nào? Mục tiêu của nó là cổng riêng ảo, và metric của nó chỉ cạnh tranh với các tuyến khác trong cùng bảng. Không có gì trong mục đó phân biệt đường hầm một với đường hầm hai, hay kết nối A với kết nối B. Một tiền tố cụ thể hơn là một cách khớp đích khác, không phải lựa chọn đường đi mịn hơn.
Cổng trả lời câu hỏi tiếp theo: trong số các đường hầm nó giữ cho tiền tố đó, cái nào đang mang lưu lượng. Quyết định đó đến từ sức khỏe đường hầm và các thuộc tính BGP nhận được từ cổng của khách hàng, và nó không bao giờ xuất hiện trong bảng tuyến của subnet.
VGW thực sự so sánh điều gì
Sức khỏe đến trước. Một đường hầm đang xuống, hoặc một phiên BGP chưa lên, sẽ thua trước khi bất kỳ thuộc tính nào được xem xét. Vì vậy việc thêm đường đi lên trước trên một kết nối vốn đã thất bại không thay đổi gì.
Trong các đường đi đủ điều kiện cho cùng tiền tố, AWS ưu tiên AS_PATH ngắn hơn. Khi hai đường đi dài bằng nhau, nó so sánh MED, tùy thuộc điều kiện được ghi trong tài liệu về AS đầu tiên trên đường đi. Hãy đọc thứ tự đã công bố chứ không phải bản truyền khẩu, vì truyền khẩu thường bỏ qua bước sức khỏe và ngoại lệ tuyến tĩnh. Một hệ quả: ba lần thêm lên trước trên kết nối dự phòng làm kết nối chính ngắn hơn một cách chặt chẽ, và đó là cách thông thường để biểu đạt ưu tiên.
Thêm lên trước, và khi nó không làm gì
Việc thêm lên trước diễn ra trong các quảng bá đi ra của cổng khách hàng, không phải bên trong AWS. Bạn thêm ASN của mình hai hoặc ba lần vào tiền tố mà bạn muốn AWS tránh, và AWS khi đó thấy một đường đi dài hơn cho kết nối đó. Kết nối chính giữ quảng bá không thêm. Nếu cả hai kết nối quảng bá từ cùng ASN với cùng số lần thêm, bạn chưa biểu đạt ưu tiên nào.
Kiểm tra đường đi nhận được ở phía AWS sau thay đổi. Một lần thêm chưa bao giờ rời thiết bị khách hàng trông giống hệt lần thêm mà AWS đã bỏ qua.
Các tuyến tĩnh bỏ qua toàn bộ lập luận
Nếu kết nối dùng định tuyến tĩnh thì không có AS_PATH để kéo dài. AWS ghi trong tài liệu rằng tuyến VPN tĩnh được ưu tiên hơn tuyến học qua BGP cho cùng tiền tố, nên một thiết kế hỗn hợp không hành xử như thiết kế hoàn toàn động. Hãy quyết định loại định tuyến trước, rồi chọn cơ chế ưu tiên tồn tại cho nó.
Với hai kết nối tĩnh quảng bá cùng tiền tố, đòn bẩy hữu ích là tiền tố: quảng bá một dải cụ thể hơn trên kết nối bạn muốn dùng, và chấp nhận rằng bạn đã thay đổi đích nào khớp chứ không phải đường đi nào thắng.
Vì sao cổng transit là một câu trả lời khác
Cổng transit hỗ trợ đa đường chi phí bằng nhau trên các attachment VPN, nên hai kết nối có thể chia sẻ lưu lượng thay vì một bên đứng dự phòng. Thiết kế đó có bề mặt lỗi khác: các luồng trải trên các đường hầm, và một đường hầm xuống chỉ dịch chuyển một phần tải. Sao chép công thức VGW sang cổng transit, hoặc ngược lại, tạo ra những kỳ vọng mà không nền tảng nào đáp ứng.
Chọn mô hình trước cơ chế: chủ động và dự phòng với ưu tiên cố định, hoặc chủ động và chủ động với ECMP.
Cần xác minh gì sau khi thiết lập
Xác nhận bốn điều theo thứ tự. Bảng subnet vẫn phân giải tiền tố tới cổng dự định. Cổng liệt kê cả hai đường hầm là hoạt động. AS_PATH nhận được trên kết nối bạn muốn tránh dài hơn cái kia. Và một luồng thực từ một instance trong subnet đó đi qua đường hầm mong đợi, được quan sát ở cả hai đầu thay vì suy ra từ trạng thái xanh.
Sau đó chạy bài kiểm thử chuyển đổi đã được phê duyệt và xem đường đi còn lại mang dịch vụ. Một ưu tiên chỉ tồn tại trong khác biệt cấu hình thì chưa phải là ưu tiên.