Một đường hầm IPsec chạy trên peering riêng của ExpressRoute thêm mã hóa vào một lớp truyền tải đã tồn tại. Đường hầm thứ hai cải thiện tính sẵn sàng của điểm cuối, và nó không làm gì cả cho đường đi của nhà mạng bên dưới cả hai. Sự khác biệt đó dễ mất đi khi bảng điều khiển hiển thị hai đường hầm xanh và buổi đánh giá thiết kế đặt một câu hỏi khác: kết nối này phải sống sót qua những lỗi nào? Hãy trả lời điều đó trước, rồi mới đếm đường hầm, vì số chỉ báo xanh là thuộc tính của lớp mã hóa và số miền lỗi là thuộc tính của toàn bộ đường đi.

Bắt đầu từ lỗi, không phải từ đường hầm xanh

Viết bốn dòng trước khi vẽ bất cứ thứ gì: một điểm cuối VPN hoặc một phiên bản peer bị lỗi, một bộ định tuyến cục bộ hoặc kết nối dặm đầu bị lỗi, đường ExpressRoute dùng chung bị lỗi, và IPsec không khả dụng trong khi peering riêng vẫn mang lưu lượng. Mỗi dòng nêu tên điều mà thiết kế phải bảo toàn, và mỗi điều được một cơ chế khác trả lời.

FailureWhat must surviveWhat does not cover it
One VPN endpoint or instanceAn alternate encryption endpoint and a route to itA second tunnel terminating on the same instance
One local router or first mileIndependent local equipment and transport reachabilityAny number of logical tunnels
The ExpressRoute pathA separately designed surviving underlayAn IPsec tunnel layered on the same circuit
IPsec unavailable, peering upThe intended encrypted-only or approved fallback policyAssuming the tunnel is the only route

Microsoft ghi nhận VPN site-to-site với IP riêng trên peering riêng của ExpressRoute, và sự cùng tồn tại được hỗ trợ với các kết nối site-to-site dựa trên internet. Sự cùng tồn tại đó là một thiết kế lớp dưới khác, và nó không xuất hiện chỉ vì bạn đã thêm một điểm cuối đường hầm riêng nữa.

Miền lỗi 1: điểm cuối VPN

Hai đường hầm trên một cổng thường là các cặp active-active kết thúc tại cùng một tài nguyên phía Azure. Chúng bảo vệ trước sự cố của một đường hầm hoặc một phiên bản, và chúng không bảo vệ trước việc tài nguyên đó không khả dụng, bị cấu hình lại hoặc hết dung lượng. Dự phòng điểm cuối nghĩa là một điểm cuối thứ hai được hỗ trợ, với đường đi riêng và cấu hình riêng, cùng một tuyến có thể đến được nó.

Hãy kiểm tra những gì bạn thực sự đã triển khai chứ không phải những gì sơ đồ nói, vì cổng thông tin nhóm các tài nguyên này theo cách che giấu mối quan hệ của chúng:

az network vpn-connection show -g rg-connectivity -n vpn-to-hub   --query '{conn:connectionStatus,tunnels:tunnelConnectionStatus}'
az network vnet-gateway show -g rg-connectivity -n gw-hub   --query '{sku:sku.name,activeActive:enableBgp,peers:bgpSettings.peers}'

Nếu cả hai đường hầm đều trỏ tới một cổng có một IP công cộng, bạn có dự phòng điểm cuối thuộc một loại cụ thể và hạn chế. Đó có thể đúng là điều mà yêu cầu đòi hỏi, và nên nói như vậy thay vì mô tả nó như một kết nối dự phòng.

Miền lỗi 2: đường cục bộ và nhà mạng

Bên dưới lớp mã hóa là một thực tế vật lý và thương mại: thiết bị biên của khách hàng, một kết nối chéo, mạng của nhà cung cấp và một địa điểm peering. hướng dẫn về tính sẵn sàng của ExpressRoute nêu rõ rằng dự phòng từ đầu đến cuối bao gồm các phân đoạn của khách hàng và nhà cung cấp dịch vụ, không chỉ phía Microsoft. Hai đường logic dùng chung một bộ định tuyến, một nguồn điện hoặc một kết nối dặm đầu vẫn dùng chung sự phụ thuộc đó.

Đây là nơi một thiết kế thường trượt trong một buổi đánh giá trung thực. Hai mạch từ cùng một nhà cung cấp, kết thúc trong cùng một tòa nhà, trên thiết bị từ cùng một đơn đặt hàng, không phải hai miền lỗi. Chúng là một miền lỗi với hai hóa đơn.

Hãy hỏi nhà mạng bằng văn bản: những đường nào phân kỳ, ở đâu, và hành vi được ghi nhận khi phân đoạn dùng chung bị lỗi là gì? Một lời bảo đảm bằng lời trong cuộc gọi thiết kế không sống sót qua sự cố mà bạn đang thiết kế.

Miền lỗi 3: tuyến sống sót mà không có IPsec

Peering riêng và IPsec có thể đưa ra những tuyến cạnh tranh tới cùng một tiền tố ứng dụng. Nếu tuyến được bảo vệ biến mất, một tuyến ExpressRoute trực tiếp còn lại vẫn có thể dùng được, mà không có lớp mã hóa mà đường hầm cung cấp. Việc đó có chấp nhận được hay không là một quyết định chính sách, và đó là quyết định thường bị bỏ ngỏ nhất.

Yêu cầu về mã hóa và yêu cầu về tính sẵn sàng có thể thực sự xung đột ở đây. «Mọi tuyến còn lại đều được tính là thành công» là một tuyên bố về tính sẵn sàng trả lời lặng lẽ «không» cho câu hỏi về mã hóa. Hãy ghi lại cái nào thắng, cho những tiền tố nào và ai đã phê duyệt.

az network vnet-gateway list-advertised-routes -g rg-connectivity -n gw-hub --peer 10.0.0.1
az network vnet-gateway list-learned-routes -g rg-connectivity -n gw-hub -o table

So sánh các tuyến đã học với các tiền tố bạn mong đợi. Một đường dự phòng mang khối lượng quản trị nhỏ có thể hoàn toàn đủ cho khối lượng đó và còn rất xa dung lượng mà nhu cầu sản xuất cần, vì vậy hãy ghi giả định về dung lượng bên cạnh tuyến.

Ghi ba dòng riêng biệt, không phải một phán quyết

Giữ dự phòng điểm cuối, dự phòng truyền tải và phục hồi sau thảm họa như những mục riêng trong hồ sơ thiết kế, mỗi mục có cơ chế, kiểm chứng và người chịu trách nhiệm riêng. Khi một buổi đánh giá sự cố hỏi tại sao kết nối sống sót qua việc khởi động lại cổng nhưng không qua một vết cắt cáp quang, ba dòng trả lời trong một câu; một ô đánh dấu «dự phòng» duy nhất không làm được.

Sau đó hãy kiểm thử những dòng có thể kiểm thử rẻ. Làm hỏng một đường hầm và xác nhận lưu lượng di chuyển và được mã hóa lại. Rút một tuyến và xác nhận đường còn lại đúng là đường bạn dự định, rồi xác nhận xem nó còn được mã hóa hay không. Ghi lại những lỗi bạn không thể mô phỏng, vì một dòng chưa được kiểm thử là một giả định và nên được dán nhãn như vậy.

Kết quả hữu ích là một bảng ngắn cộng một câu cho mỗi dòng. Nếu một dòng không có cơ chế, đó chính là phát hiện, và việc tìm ra nó trong một buổi đánh giá thiết kế rẻ hơn nhiều so với trong một sự cố nhà mạng mà cả hai đường hầm sẽ không bao giờ vượt qua.

Bài viết liên quan