Azure VPN шлюзунун жарыя IP'син алмаштыруу жана жазылууну көчүрүү
VPN шлюзунун жарыя IP'син алмаштыруу жана аны жазылуулар арасында көчүрүү боюнча нускама, каттоо, кайтаруу жана туннелдерди иштейт турган контекст текшерүүлөрү менен.
Azure'да үч башка объект шлюз дареги деп аталат. Жеке дарек GatewaySubnet'тен бөлүнөт. Жарыя дарек — шлюздун IP конфигурациясы көрсөткөн өзүнчө жарыя IP ресурсу. Жазылуу жана булут чөйрөсү — shell экөөнүн бирин табуу үчүн колдонгон контекст. Бирөөнү өзгөртсөңүз, калган экөө ордунда калат, ошондуктан дарек иши көп учурда жарым жолдо токтойт.
Бул өзгөртүүлөрдү төрт баскычта жасайм: объектилерди каттоо, жарыя IP учурдагы шлюзда көчөбү же шлюз кайра курулабы чечүү, эски дарек колдо болгондо өзгөртүүнү колдонуу, анан бир нерсени жок кылбастан мурун ар бир туннелди эки тараптан текшерүү. Адамдар өткөрүп жиберген баскыч — каттоо.
Үч объектинин кайсынысын чындыгында өзгөртүп жатасыз
Порталды ачпастан мурун объектини атаңыз. VPN шлюзу жеке дарегин так GatewaySubnet деп аталган кошумча тармактан алат жана Azure аны ошол префикстен бөлөт; аны бекитүү үчүн жалпы талаа жок. Дарек туруктуу көрүнөт, себеби кошумча тармак туруктуу. Кошумча тармакты кайра даректөө же шлюзду кайра куруу — ал алар менен бирге жылат.
Жарыя даректи оңдоого болот, бирок оңдоонун мыйзамдуулугун SKU эрежелери чечет. Basic шлюз Basic динамикалык жарыя IP менен жупташат, VpnGw SKU'лары Standard статикалык талап кылат, ал эми аймактык резервдүү шлюз ошол эле аймактары бар Standard жарыя IP талап кылат. Туура эмес SKU туннел кулашынан мурун четке кагылат.
| 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 |
Бир нерсе кыймылдабастан мурун каттоо
Алгач жазылууну далилдеңиз, анткени ансыз калган каттоо пайдасыз. Шлюзду, анын 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 жазуусу өзгөртүлдү жана мурунку мааниси жазылды