Thay đổi IP công khai của cổng VPN Azure và chuyển đăng ký
Hướng dẫn thay IP công khai của cổng VPN và chuyển nó giữa các đăng ký, cùng bản kiểm kê, khôi phục và các kiểm tra ngữ cảnh giữ đường hầm hoạt động.
Trong Azure có ba đối tượng khác nhau được gọi là địa chỉ cổng. Địa chỉ riêng được cấp từ GatewaySubnet. Địa chỉ công khai là một tài nguyên IP công khai riêng mà cấu hình IP của cổng trỏ tới. Đăng ký và môi trường đám mây là ngữ cảnh mà shell của bạn dùng để tìm một trong hai. Đổi một cái thì hai cái kia vẫn nguyên chỗ, vì thế công việc địa chỉ hay dừng giữa chừng.
Tôi thực hiện những thay đổi này theo bốn giai đoạn: kiểm kê đối tượng, quyết định IP công khai chuyển trên cổng hiện có hay cổng được dựng lại, áp dụng thay đổi khi địa chỉ cũ vẫn còn trong tay, rồi xác minh từng đường hầm từ cả hai đầu trước khi xóa bất cứ thứ gì. Giai đoạn bị bỏ qua là kiểm kê.
Bạn thực sự đang đổi đối tượng nào trong ba đối tượng
Đặt tên cho đối tượng trước khi mở cổng thông tin. Cổng VPN lấy địa chỉ riêng từ một mạng con phải có tên chính xác là GatewaySubnet, và Azure cấp nó từ tiền tố đó; không có trường chung để ghim nó. Địa chỉ trông ổn định chỉ vì mạng con ổn định. Đổi địa chỉ mạng con hoặc dựng lại cổng thì nó di chuyển theo.
Địa chỉ công khai có thể sửa, nhưng quy tắc SKU quyết định việc sửa có hợp lệ hay không. Cổng Basic đi với IP công khai động Basic, SKU VpnGw cần Standard tĩnh, và cổng dự phòng theo vùng cần IP công khai Standard có cùng các vùng. SKU sai bị từ chối trước khi một đường hầm rơi.
| Object | Where it lives | What a change forces |
|---|---|---|
| Private address | GatewaySubnet prefix, assigned at deployment | Subnet resize or rebuild, then routes, NSGs and peer review |
| Public address | Public IP resource referenced by the IP configuration | Gateway reprovision, peer and allowlist edits, new client profiles |
| Subscription context | Your PowerShell or CLI session | Nothing in Azure, and it clears most not-found errors |
Kiểm kê trước khi bất cứ thứ gì dịch chuyển
Chứng minh đăng ký trước, vì phần còn lại của bản kiểm kê vô giá trị nếu thiếu nó. Ghi lại cổng, các cấu hình IP và mọi kết nối kết thúc trên đó, và giữ kết quả bên cạnh biên bản thay đổi.
Get-AzContext | Select-Object Subscription, Tenant, Environment
Get-AzVirtualNetworkGateway -ResourceGroupName rg-hub -Name gw-hub |
Select-Object Name, Sku, EnableActiveActive, IpConfigurations
Get-AzVirtualNetworkGatewayConnection -ResourceGroupName rg-hub |
Select-Object Name, ConnectionStatus, ConnectionType
ID tài nguyên quan trọng hơn tên. Một kết nối giữ tham chiếu tới cổng và tới một cổng mạng cục bộ, và những ID đó xuất hiện trong script, cảnh báo và gán chính sách mà không ai nhớ. Liệt kê cả những gì nằm ngoài Azure: tên DNS trỏ tới địa chỉ, danh sách cho phép của đối tác, tường lửa chi nhánh ghim IP cũ.
Thay IP công khai trên cổng đang chạy
Trước tiên tạo địa chỉ thay thế, trong cùng vùng và với bộ vùng khớp với cổng, và để tài nguyên cũ tại chỗ. Sau đó dựng lại cấu hình IP và gửi bản cập nhật trong một lần gọi. Lần gọi đó thay thế toàn bộ tập cấu hình, nên cổng hoạt động-hoạt động cần cả hai, nếu không bạn giữ một đường hầm và mất đường còn lại.
$gw = Get-AzVirtualNetworkGateway -ResourceGroupName rg-hub -Name gw-hub
$pip = New-AzPublicIpAddress -Name pip-gw-hub-2 -ResourceGroupName rg-hub `
-Location westeurope -AllocationMethod Static -Sku Standard
$conf = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 `
-SubnetId $gw.IpConfigurations[0].Subnet.Id -PublicIpAddressId $pip.Id
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $gw -IpConfigurations $conf
Các đường hầm rơi trong khi cổng được cấp lại. Phía xa cần lịch trình: tường lửa đối tác tiếp tục chào địa chỉ cũ cho đến khi có người sửa, và kết nối mà đầu xa chờ IP trước đó vẫn nằm dưới dù Azure trông khỏe đến đâu. Hạ TTL DNS trước khung giờ.
Máy khách điểm-nối-điểm cần hồ sơ mới, vì gói tải về mang theo điểm cuối. Tên DNS tùy chỉnh trước cổng giúp bạn khỏi phải phân phối lại: giữ tên, đổi bản ghi.
Chuyển cổng sang đăng ký khác
Chuyển tài nguyên di dời một tập, và cổng đứng một mình là thành viên ít hữu ích nhất. Mạng ảo, tài nguyên IP công khai, cổng mạng cục bộ và các kết nối đi cùng nhau vì mỗi thứ giữ tham chiếu tới thứ khác. Đăng ký đích phải ở cùng tenant, Microsoft.Network phải được đăng ký ở đó, và bạn cần quyền ghi ở cả hai phía.
Kiểm tra chạy trước mọi thay đổi, nên một lần chuyển bị từ chối để tài nguyên nguyên chỗ. Vì thế việc chuyển đáng được thử trước khi dựng lại: chuyển thành công mang theo IP công khai, nhờ đó đối tác và danh sách cho phép tiếp tục hoạt động, trong khi cổng dựng lại hiếm khi trả lại đúng địa chỉ đó.
az resource move --destination-group rg-hub `
--destination-subscription-id 00000000-0000-0000-0000-000000000000 `
--ids /subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg-hub/providers/Microsoft.Network/virtualNetworkGateways/gw-hub
Đọc lỗi kiểm tra thay vì lặp lại nó. Nguyên nhân thường gặp là phụ thuộc bị bỏ lại, loại tài nguyên không thể chuyển, hoặc khóa trên một trong các nhóm tài nguyên. Nếu không thể chuyển, hãy dựng lại ở đích và chuyển đổi: xác nhận định tuyến và xác thực từ mạng con thử nghiệm, dừng các kết nối cũ thay vì xóa, rồi gỡ đường cũ trong khung giờ sau.
Khi cổng có vẻ mất tích, hãy kiểm tra ngữ cảnh
Lỗi không tìm thấy thường là lỗi phạm vi. Tài khoản có nhiều đăng ký trỏ cmdlet vào sai đăng ký, và thông báo đổ lỗi cho tài nguyên. Hãy tra đối tượng bằng ID tài nguyên đầy đủ: ID mang đăng ký của chính nó, nên nếu phân giải được thì không thiếu gì và ngữ cảnh mặc định của bạn sai.
Hai điểm không khớp nữa đọc theo cùng cách. Cổng đám mây thương mại không tồn tại trong phiên hướng tới môi trường chính phủ hoặc Trung Quốc, và các phiên bản mô-đun cũ bỏ sót dạng tài nguyên mà API đã trả về. Ghim đăng ký, khớp môi trường, rồi mở hồ sơ.
Set-AzContext -SubscriptionId 11111111-1111-1111-1111-111111111111
Get-AzResource -ResourceId /subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg-hub/providers/Microsoft.Network/virtualNetworkGateways/gw-hub
Xác minh từ hai phía trước khi dọn dẹp
Đã kết nối là trạng thái, không phải bằng chứng. Kiểm tra trạng thái đường hầm theo từng kết nối, trạng thái BGP nếu dùng định tuyến động, và tuyến hiệu lực trên mạng con khối lượng công việc. Sau đó đưa một yêu cầu thật qua ứng dụng phụ thuộc đường hầm. Một kết nối có thể báo đã kết nối trong khi tiền tố bạn cần không có trong bảng tuyến.
Get-AzVirtualNetworkGatewayBGPPeerStatus -VirtualNetworkGatewayName gw-hub -ResourceGroupName rg-hub
Get-AzEffectiveRouteTable -NetworkInterfaceName nic-app -ResourceGroupName rg-app
Giữ IP công khai cũ ở trạng thái ngắt kết nối thay vì xóa cho đến khi khung khôi phục đóng lại, và ghi lại các sửa đổi phía đối tác và tường lửa để có thể hoàn nguyên theo thứ tự.
- Ngữ cảnh được ghim vào đăng ký sở hữu cổng
- IP công khai cũ được giữ, các phụ thuộc đã ghi
- Mọi kết nối xanh và một yêu cầu thật đi qua
- Người dùng điểm-nối-điểm đã chuyển sang hồ sơ cập nhật
- Bản ghi DNS đã đổi và giá trị trước đó đã ghi lại