しかし、会社は固定IP環境ではなく、AzureのローカルネットワークゲートウェイのゲートウェイIPアドレスにはIPしか指定できません。
それであれば、多少接続が切れてしまうけども、IPが切り替わるたびにゲートウェイIPアドレスを設定してやればいいじゃないかー、ということで、ちょうど 札幌 Azure/Microsoft Learn もくもく会 24 がありましたので設定方法を探してみました。
# ローカルネットワークゲートウェイのゲートウェイIPを設定するよ.ps1
#
#
#
$UserName = "ユーザー名"
$Password = "パスワード"
$TenantId = "テナントID"
$SubscriptionId = "サブスクリプションID"
$ResourceGroupName = "リソースグループ名"
$LocalNetworkGatewayName = "ローカルネットワークゲートウェイの名前"
#
# Get external ip address
# なにかしらどこかから外部のIPを取得する。実際には自前で作ったサービスを使っています。
#
$ExternalIPAddress = (Invoke-WebRequest -Uri "https://www.myexternalip.com/raw").Content
#
# Login
#
$secureStringPassword = $Password | ConvertTo-SecureString -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential -ArgumentList $UserName, $secureStringPassword
Connect-AzAccount -Credential $credential `
-Tenant $TenantId `
-SubscriptionId $SubscriptionId
#
# Set GatewayIpAddress
#
$lgw = Get-AzLocalNetworkGateway -ResourceGroupName $ResourceGroupName -Name $LocalNetworkGatewayName
$lgw.GatewayIpAddress = $ExternalIPAddress
Set-AzLocalNetworkGateway -LocalNetworkGateway $lgw
あとはこれをIPが変わったときだけ動かせばOKだと思ってますが、そこまでは試していないのでうまくいかなかったらごめんなさい。