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 անունը, գործընկերոջ թույլտվությունների ցանկը, մասնաճյուղի firewall-ը, որը ամրացնում է հին IP-ն։
Հանրային 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-ը պատուհանից առաջ։
Կետից-կետ հաճախորդներին նոր պրոֆիլ է պետք, քանի որ ներբեռնված փաթեթը կրում է վերջնակետը։ Դարպասի առջև սեփական 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-ն պահպանված է, կախվածությունները գրված
- Յուրաքանչյուր կապ կանաչ և մեկ իրական հարցում դրա միջով
- Կետից-կետ օգտատերերը տեղափոխված են թարմացված պրոֆիլ
- DNS գրառումը փոխված է, նախորդ արժեքը գրանցված