Azure-да үш түрлі нысан шлюз мекенжайы деп аталады. Жеке мекенжай GatewaySubnet-тен бөлінеді. Жария мекенжай — шлюздің IP конфигурациясы сілтейтін бөлек жария IP ресурсы. Жазылым мен бұлттық орта — shell қайсысын болса да табуға қолданатын контекс. Біреуін өзгертсеңіз, қалған екеуі орнында қалады, сондықтан мекенжай жұмысы жиі жарты жолда тоқтайды.

Бұл өзгерістерді төрт кезеңмен жасаймын: нысандарды түгендеу, жария IP қолданыстағы шлюзде көше ме әлде шлюз қайта салына ма деп шешу, ескі мекенжай қолда болғанда өзгерісті қолдану, содан кейін бірдеңені жоймас бұрын әр туннельді екі жақтан тексеру. Адамдар өткізіп жіберетін кезең — түгендеу.

Үш нысанның қайсысын шын мәнінде өзгертіп жатырсыз

Порталды ашпас бұрын нысанды атаңыз. VPN шлюзі жеке мекенжайын дәл GatewaySubnet деп аталуы тиіс қосымша желіден алады және Azure оны сол префикстен бөледі; оны бекітуге арналған жалпы өріс жоқ. Мекенжай тұрақты болып көрінеді, себебі қосымша желі тұрақты. Қосымша желіні қайта мекенжайлаңыз немесе шлюзді қайта салыңыз — ол олармен бірге жылжиды.

Жария мекенжайды өңдеуге болады, бірақ өңдеудің заңдылығын SKU ережелері шешеді. Basic шлюз Basic динамикалық жария IP-мен жұптасады, VpnGw SKU-лары Standard статикалық қажет етеді, ал аймақтық резервті шлюз сол аймақтары бар Standard жария IP қажет етеді. Қате SKU туннель құламас бұрын қабылданбайды.

ObjectWhere it livesWhat a change forces
Private addressGatewaySubnet prefix, assigned at deploymentSubnet resize or rebuild, then routes, NSGs and peer review
Public addressPublic IP resource referenced by the IP configurationGateway reprovision, peer and allowlist edits, new client profiles
Subscription contextYour PowerShell or CLI sessionNothing in Azure, and it clears most not-found errors

Бірдеңе қозғалмас бұрын түгендеу

Алдымен жазылымды дәлелдеңіз, өйткені онсыз қалған түгендеу пайдасыз. Шлюзді, оның IP конфигурацияларын және онда аяқталатын әр байланысты жазып алыңыз, нәтижені өзгеріс жазбасының жанында сақтаңыз.

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-лері атаулардан маңыздырақ. Байланыс шлюзге және жергілікті желі шлюзіне сілтемелер ұстайды, және бұл ID-лер ешкім есінде сақтамайтын скрипттерде, ескертулерде және саясат тағайындауларында кездеседі. Azure-дан тыс тұрғанды да тізімдеңіз: мекенжайға баратын DNS атауы, серіктестің рұқсат тізімі, ескі IP-ді бекітіп тұрған филиал firewall-ы.

Жұмыс істеп тұрған шлюздегі жария IP-ді ауыстыру

Алдымен ауыстырушы мекенжайды сол аймақта және шлюзге сәйкес аймақтар жиынымен жасаңыз, ескі ресурсты орнында қалдырыңыз. Содан кейін IP конфигурациясын қайта жасап, жаңартуды бір шақырумен жіберіңіз. Бұл шақыру бүкіл конфигурациялар жинағын алмастырады, сондықтан белсенді-белсенді шлюзге екеуі де керек, әйтпесе бір туннель қалады, екіншісі жоғалады.

$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

Шлюз қайта дайындалғанда туннельдер құлайды. Қарсы жаққа кесте керек: серіктес firewall ескі мекенжайды біреу өңдегенше ұсынады, ал қарсы ұшы алдыңғы IP-ді күтетін байланыс Azure қаншалықты сау көрінсе де төменде қалады. Терезеден бұрын DNS TTL-ін төмендетіңіз.

Point-to-site клиенттеріне жаңа профиль керек, өйткені жүктелген пакет соңғы нүктені тасымалдайды. Шлюз алдындағы теңшелетін DNS атауы қайта таратудан құтқарады: атауды сақтаңыз, жазбаны өзгертіңіз.

Шлюзді басқа жазылымға көшіру

Ресурстарды көшіру жиынды жылжытады, ал шлюз жалғыз өзі оның ең пайдасыз мүшесі. Виртуалды желі, жария IP ресурстары, жергілікті желі шлюздері және байланыстар бірге жүреді, өйткені әрқайсысы басқасына сілтеме ұстайды. Мақсатты жазылым сол tenant-те болуы керек, Microsoft.Network сонда тіркелуі керек, және екі жақта да жазу құқығы қажет.

Валидация кез келген өзгеріске дейін жүреді, сондықтан қабылданбаған көшіру ресурстарды орнында қалдырады. Сондықтан қайта салудан бұрын көшіруді бір рет байқап көруге тұрарлық: сәтті көшіру жария IP-ді өзімен алып кетеді, сондықтан серіктестер мен рұқсат тізімдері жұмысын жалғастырады, ал қайта салынған шлюз сол мекенжайды сирек қайтарады.

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

Валидация сәтсіздігін қайталаудың орнына оқыңыз. Кәдімгі себептер — қалдырылған тәуелділік, көшірілмейтін ресурс түрі немесе ресурс топтарының біріндегі құлып. Көшіру мүмкін болмаса, мақсатта қайта салып, ауысыңыз: сынақ қосымша желісінен маршруттауды және аутентификацияны растаңыз, ескі байланыстарды жоюдың орнына тоқтатыңыз, содан кейін ескі жолды кейінгі терезеде алып тастаңыз.

Шлюз жоғалғандай көрінсе, контексті тексеріңіз

Табылмады қатесі әдетте ауқым қатесі. Бірнеше жазылымы бар аккаунт cmdlet-ті қатеге бағыттайды, ал хабарлама ресурсты кінәлайды. Нысанды толық ресурс ID-сімен іздеңіз: ID өз жазылымын тасымалдайды, сондықтан ол шешілсе, ештеңе жоғалмаған және әдепкі контекстіңіз қате.

Тағы екі сәйкессіздік осылай оқылады. Коммерциялық бұлт шлюзі үкіметтік немесе Қытай ортасына бағытталған сессияда болмайды, ал ескірген модуль нұсқалары API қайтаратын ресурс пішіндерін жіберіп алады. Жазылымды бекітіңіз, ортаны сәйкестендіріңіз, содан кейін іс ашыңыз.

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

Тазалау алдында екі жақтан тексеріңіз

Қосылған — күй, дәлел емес. Әр байланыс бойынша туннель күйін, динамикалық маршруттау болса BGP пирінің күйін және жұмыс қосымша желісіндегі тиімді маршруттарды тексеріңіз. Содан кейін туннельге тәуелді қосымшадан бір нақты сұрау өткізіңіз. Қажетті префикс маршрут кестесінде болмаса да байланыс өзін қосылған деп хабарлай алады.

Get-AzVirtualNetworkGatewayBGPPeerStatus -VirtualNetworkGatewayName gw-hub -ResourceGroupName rg-hub
Get-AzEffectiveRouteTable -NetworkInterfaceName nic-app -ResourceGroupName rg-app

Ескі жария IP-ді жоюдың орнына қайтару терезесі жабылғанша ажыратылған күйде ұстаңыз, және серіктес пен firewall өңдеулерін ретімен қайтаруға болатындай жазыңыз.

  • Контекст шлюзге тиесілі жазылымға бекітілген
  • Ескі жария IP сақталған, тәуелділіктері жазылған
  • Әр байланыс жасыл және ол арқылы бір нақты сұрау
  • Point-to-site пайдаланушылары жаңартылған профильге көшірілді
  • DNS жазбасы өзгертілді және бұрынғы мәні жазылды

Қатысты мақалалар