Câu chuyện được lặp đi lặp lại là một daemon định tuyến trên thiết bị VPN trong EC2 sẽ dạy cho VPC các tiền tố từ xa của nó ngay khi BGP khởi động. Một nửa điều đó là đúng. Phiên khởi động, và không có gì trong bảng định tuyến của VPC thay đổi vì nó, đó là lý do triệu chứng đầu tiên thường là một subnet lặng lẽ ném lưu lượng vào một hố đen.

Hai thứ khác nhau đang bị nhầm lẫn ở đây: peering với một máy chủ định tuyến, và cài đặt các tuyến vào một bảng.

Huyền thoại: bật BGP lên và VPC sẽ học các tiền tố

BGP là một cuộc trò chuyện giữa hai bên nói, và trong thiết kế này hai bên nói là daemon định tuyến trên thiết bị của bạn và một điểm cuối VPC Route Server mà AWS đặt trong một subnet bạn sở hữu. Cuộc trò chuyện đó mang các tiền tố. Nó không chạm vào bảng định tuyến của các subnet khối lượng công việc của bạn, vì những bảng đó chỉ học qua việc lan truyền phải được bật trên từng bảng. Cho đến khi điều đó xảy ra, kết cấu của VPC không biết gì về những gì thiết bị biết.

Các bước thiết lập được tách ra vì một lý do: liên kết, tạo điểm cuối, peering, rồi bật lan truyền.

Route Server là mặt phẳng điều khiển, không phải đường hầm

Route Server không mã hóa, không chuyển tiếp và không kiểm tra một gói tin nào. Nó tồn tại để trao đổi BGP với thiết bị và giao các tiền tố thu được cho các bảng định tuyến được cấu hình để nhận chúng. Mặt phẳng dữ liệu không thay đổi: các gói tin vẫn rời khỏi qua giao diện mạng của thiết bị, đi qua VPN của nó và quay lại theo cùng đường.

Điều đó có nghĩa là việc kiểm tra nguồn và đích trên instance chuyển tiếp vẫn quan trọng, vì instance giờ đang chuyển tiếp lưu lượng được gửi đến người khác.

Các nhóm bảo mật và kiểm soát subnet cũng áp dụng cho luồng được chuyển tiếp. Route Server sẽ không khiến một thiết bị vứt bỏ lưu lượng chuyển tiếp nó, và sẽ không sửa một tuyến quay về bị thiếu ở phía xa.

Lan truyền là theo từng bảng định tuyến, không phải theo toàn bộ VPC

Liên kết máy chủ định tuyến với VPC và bật lan truyền trên một bảng định tuyến là hai quyết định, và chỉ quyết định thứ hai thay đổi những gì một subnet làm. Một VPC có sáu bảng định tuyến có thể nhận một tiền tố đã lan truyền ở một bảng và không nhận ở năm bảng còn lại, điều này hoàn toàn đúng cho một subnet trung tâm và chính là thứ tạo ra kết quả khó hiểu «chỉ chạy được một nửa». Ngay cả ở nơi lan truyền được bật, một tuyến cạnh tranh vẫn có thể thắng, vì việc chọn tuyến của VPC ưu tiên tiền tố dài nhất và, khi độ dài bằng nhau, ưu tiên tuyến tĩnh hơn tuyến đã lan truyền. Sự ưu tiên đó được áp dụng một cách lặng lẽ.

Hãy kiểm tra bảng hiệu lực cho subnet cụ thể thay vì danh sách các tiền tố mà thiết bị quảng bá. API trả lời câu hỏi đó trực tiếp: aws ec2 associate-route-server và aws ec2 enable-route-server-propagation --route-table-id <id> là hai bước mà người ta quên, và aws ec2 describe-route-tables --route-table-ids <id> cho biết tiền tố có đến như một mục route server hay không.

Thiết bị vẫn mang mọi gói tin

Quảng bá khả năng tiếp cận không giống như có nó. Một phiên BGP có thể vẫn được thiết lập trong khi VPN của thiết bị đang xuống, và một quảng bá tĩnh không bao giờ thay đổi vẫn tiếp tục kéo lưu lượng về một đường chết. Route Server hỗ trợ phát hiện lỗi như BFD, nhưng điều đó kiểm tra sự sống của peer, không phải sức khỏe của mọi thứ phía sau nó.

Hãy gắn quảng bá với tuyến từ xa thật: quảng bá tiền tố khi đường hầm và mạng từ xa đang hoạt động, và rút nó lại khi chúng không hoạt động.

Rút một tiền tố và xem điều gì xảy ra

Kiểm tra theo từng giai đoạn, và làm giai đoạn cuối là việc gỡ bỏ. Xác nhận rằng quảng bá đến nơi, tiền tố xuất hiện trong mỗi bảng dự định, thiết bị là chặng tiếp theo, việc chuyển tiếp đi qua đường hầm đang hoạt động và đầu xa trả lời. Sau đó rút một tiền tố thử nghiệm, hoặc đóng một đường hầm đã được phê duyệt, và quan sát xem lưu lượng có di chuyển đến nơi thiết kế nói hay không. Ghi lại các bảng trước và sau khi thử nghiệm vẫn còn mở.

Chuyển một tuyến sang thiết bị thứ hai không chuyển các phiên mà nó đang mang, vì trạng thái NAT và tường lửa vẫn ở thiết bị đầu tiên.

Với một tập cố định gồm một tá tiền tố, các tuyến tĩnh trong bảng của VPC vẫn là câu trả lời rẻ hơn. Route Server xứng đáng có chỗ khi danh sách tiền tố thực sự thay đổi và chính sách rút lại là điều bạn có thể giải thích cho người đang trực.

Bài viết liên quan