Azure Stack上の仮想ネットワークと任意の場所のネットワークとをVPN接続で接続することができます。やり方はいろいろとありますが、簡単にできるものの一つとしてWindows ServerでのVPN接続があります。Azure StackとのVPN接続は(私の調べる限り)Windows Server 2012 R2では接続できず、Windows Server 2016以上が必要なようです。下記に方法を紹介します。
まずは、接続対象となる仮想ネットワークを作成します。

仮想ネットワークに対して「仮想ネットワークゲートウェイ」を作成します。このゲートウェイとVPNを接続することになります。



次に「ローカルゲートウェイネットワーク」を作成します。これは今回ですとWindows Server 2016に対応します。


次に「接続」を作成します。

接続の種類は「サイト対サイト(IPsec)」になります。


次はWindows Server 2016側の構成を行います。こちらはきちんとドキュメント、スクリプトが確認できませんでした。私は主に下記のコマンドレットを実行して構成しました。ここでAzure Stackの仕様にあわせるように細かくオプションを設定することがWindows Server 2012 R2ではできませんでした。
Install-WindowsFeature RemoteAccess -IncludeManagementTools
Add-WindowsFeature -name Routing -IncludeManagementTools
Install-RemoteAccess -VpnType VpnS2S
Add-VpnS2SInterface -Name $SP_AzureGatewayIpAddress -Protocol IKEv2 -Destination $SP_AzureGatewayIpAddress -AuthenticationMethod PSKOnly -SharedSecret $SP_PresharedKey -Persistent -IPv4Subnet @($SP_Subnet) -AuthenticationTransformConstants GCMAES256 -CipherTransformConstants GCMAES256 -EncryptionMethod AES256 -PfsGroup PFS2048 -SALifeTimeSeconds 14400 -SADataSizeForRenegotiationKilobytes 819200 -MMSALifeTimeSeconds 28800 -CustomPolicy
あとはルーティングテーブルを設定してあげればOKです。
