Tuyến GCP VPN chỉ hoạt động trong một khu vực: kiểm tra định tuyến động
VPC toàn cầu không làm cho các tuyến học qua BGP trở thành toàn cầu. Hãy đọc chế độ định tuyến, đổi một lần và xác minh phía xa quảng bá những gì.
Khối lượng công việc ở Hoa Kỳ đến tiền tố văn phòng qua HA VPN không gặp vấn đề gì, trong khi khối lượng công việc châu Âu trong cùng VPC không nhận được gì cả. Bảng định tuyến của nó không có mục nào cho tiền tố đó, không có đường hầm nào bị xuống và không có quy tắc tường lửa nào thay đổi. Đường hầm và phiên BGP của nó đều khỏe mạnh theo cả hai chiều. Một VPC trải rộng nhiều khu vực không giống như các tuyến đã học của nó trải rộng nhiều khu vực, và chính khoảng trống đó giải thích toàn bộ triệu chứng.
Ở đây có hai thuộc tính bị nhầm lẫn: nơi các mạng con nằm và nơi được phép dùng bước nhảy tiếp theo đã học.
Phạm vi khu vực đến từ đâu
Cloud Router cài đặt các tuyến đã học với phạm vi tuân theo chế độ định tuyến động của VPC. Ở chế độ khu vực, một tuyến học được trong một khu vực chỉ có thể được dùng bởi tài nguyên của khu vực đó, vì vậy bảng châu Âu trống thay vì hiển thị một bước nhảy tiếp theo bị hỏng. Ở chế độ toàn cầu, các tuyến đã học đủ điều kiện trở nên sẵn có cho tài nguyên ở mọi khu vực của VPC. Hãy đọc giá trị hiện tại trước khi thay đổi bất cứ điều gì, vì chế độ khu vực là mặc định. Cài đặt nằm trên mạng, không nằm trên đường hầm hay trên bộ định tuyến.
Lệnh kiểm kê chỉ để đọc và trả lời điều đó trong một dòng:
gcloud compute networks describe VPC_NAME --format='value(routingConfig.routingMode)'
Chạy lệnh đó trong dự án máy chủ khi VPC được chia sẻ. Mạng thuộc về dự án đó, và vai trò người xem trong dự án khối lượng công việc có thể thậm chí không hiển thị cấu hình định tuyến. Một câu trả lời nhanh từ dự án sai còn tệ hơn không có câu trả lời.
Thay đổi là một lệnh và một hướng
Chuyển đổi là một chỉnh sửa mặt phẳng điều khiển cho toàn bộ VPC, không phải một lối vòng cho từng VM: gcloud compute networks update VPC_NAME --routing-mode=GLOBAL. Nó cũng một chiều, vì một mạng đã đặt ở chế độ toàn cầu không thể quay lại chế độ khu vực. Hãy kiểm tra lại tên dự án và tên mạng trước khi chạy, vì lệnh không hỏi xác nhận. Thay đổi này đáng có một ghi chú bảo trì và sự chấp thuận của chủ sở hữu mạng, không phải một thử nghiệm nhanh trên VPC dùng chung.
Mọi liên kết Cloud Router, VPN và Interconnect trong mạng đó thừa hưởng phạm vi mới ngay lập tức. Điều này bao gồm các liên kết mà không ai nhắc đến trong yêu cầu thay đổi. Những khu vực chưa từng có tuyến này bắt đầu nhận nó ngay khi thay đổi có hiệu lực, vì vậy không có triển khai theo giai đoạn cho lần chuyển đổi này.
Toàn cầu là một phạm vi, không phải một bảo đảm
Tính đủ điều kiện và sự ưu tiên tách khỏi phạm vi. Một tuyến xung đột với tiền tố cụ thể hơn, thua trong việc chọn đường tốt nhất hoặc bị chính sách lọc sẽ hành xử đúng như trước. Chế độ toàn cầu mở rộng nơi một tuyến được dùng, nhưng không quyết định tuyến nào thắng. Một tuyến đã học có thể nằm trong phạm vi mà vẫn thua một đường tĩnh hoặc cụ thể hơn trong cùng VPC.
Sự khác biệt đó quan trọng vì việc đổi chế độ rất dễ bị đổ lỗi sau này. Nếu mạng con châu Âu vẫn không có tuyến sau khi chuyển, câu hỏi là tuyến có tồn tại và đủ điều kiện hay không, chứ không phải phạm vi đã có hiệu lực hay chưa. Xung đột tiền tố và tình trạng bước nhảy tiếp theo là hai điều tiếp theo cần đọc.
Phía xa cũng quảng bá khác đi
Hành vi quảng bá tuân theo cùng cài đặt đó. Với hành vi mặc định, một bộ định tuyến ở chế độ khu vực quảng bá các mạng con của chính khu vực nó, trong khi chế độ toàn cầu quảng bá các mạng con của VPC rộng hơn. Vì vậy đổi chế độ không chỉ thay đổi thứ mà các khu vực của bạn được dùng, mà còn thay đổi thứ phía xa cài đặt.
Một danh sách quảng bá tùy chỉnh không mở rộng khi chế độ thay đổi. Nếu bộ định tuyến tại chỗ giữ một danh sách dải viết tay, tiền tố châu Âu vẫn vắng mặt trong đó. Đường quay về vẫn hỏng trong trường hợp đó dù tuyến đi ra đã tồn tại. Hãy kiểm tra thứ phía xa đã cài đặt, không phải thứ bạn đã xuất.
Điều chế độ sẽ không bao giờ sửa
Định tuyến toàn cầu không cấp quyền truy cập internet công cộng, không cho lưu lượng đi qua giữa các VPC không liên quan và không tạo tuyến tĩnh còn thiếu. Nó không thay đổi quy tắc tường lửa hay IAM, nên một kết nối bị chính sách từ chối vẫn bị từ chối.
Những thất bại này trông giống nhau từ bên trong một khối lượng công việc và không liên quan gì đến phạm vi tuyến.
Hãy thử từ khu vực xa đến dịch vụ thật, rồi xác nhận rằng câu trả lời quay về qua đúng đường hầm dự định. Ghi lại chế độ, cấu hình quảng bá và đích bạn đã thử. Nếu thử nghiệm vẫn thất bại, hãy so bảng BGP của bộ định tuyến xa với danh sách tuyến của VPC trước khi chạm vào chế độ lần nữa. Khi đó báo cáo liên khu vực tiếp theo bắt đầu từ dữ kiện, không phải từ một lần đổi chế độ.