9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure 環境に P2S VPN (basic SKU) でつなげる (GUI / Azure Portal 編)

9
Last updated at Posted at 2023-11-13

こんにちは駆け出しアーキテクトのやまぱんです。
以前にこんな記事を書きました。

じゃあ次は P2S もやってみようということで今回は P2S 環境を作ります。
ただし、今回は VPN ゲートウェイ の SKU を basic で作ります。

現在の VPNGW のデプロイ可能状況です。
✅ Basic VPN Gateway + Basic Public IP (Dynamic) → 作成可能( 9 月 30 日まで)
❌ Basic VPN Gateway + Standard Public IP (Static) → 非対応(そのうち対応するかも?)
❌ VpnGw1+ VPN Gateway + Basic Public IP (Dynamic) → 作成負荷
✅ VpnGw1-5Az + VPN Gateway + Standard Public IP (Static) → 作成可能(今後のメイン商用 VPNGW)

Basic Public IP 廃止・ standard Public IP 移行に伴うものであり、Basic VPNGW は standard Public IP に対応していないです。いかドキュメントによれば、そのうち Basic SKU の VPNGW + standard Public IP の組み合わせがサポートされる予感はします。

ref:)
https://learn.microsoft.com/ja-jp/azure/vpn-gateway/gateway-sku-consolidation#is-the-vpn-gateway-basic-sku-retiring

いいえ。VPN Gateway Basic SKU は廃止されません。 PowerShell または CLI 経由で、Basic ゲートウェイ SKU を使用して VPN ゲートウェイを作成できます。 現在、VPN Gateway Basic SKU では、Basic SKU パブリック IP アドレス リソースのみがサポートされています (これは廃止予定ではありません)。 Standard SKU パブリック IP アドレス リソースのサポートを VPN Gateway Basic SKU に追加する作業を行っています。

参考

誰かの役に立てば幸いです。
コメントなどあれば是非いただければと思います👸

Azure VPN Gateway の接続方法

そもそも Azure VPN Gateway の接続方法は以下の3種類あります。

  • S2S / Site to Site 接続
    他クラウド環境と接続したり、オンプレミス環境と接続する
  • V2V / VNet to VNet 接続
    Vnet 同士 の VPN 接続
  • P2S / Point to Site 接続 (今回はこちら)
    クライアント PC と Azure の仮想ネットワークとの接続

前置き

vpngw の SKU

・ VPN Gateway の価格
https://azure.microsoft.com/ja-jp/pricing/details/vpn-gateway/

2023-11-13_20h58_26.png

ただ、SKU : VpnGw1 でも一時間当たり 28.4250 円、一か月あたり20,466 円
一方、SKU: basic だと一時間当たり、5.39 円、一か月あたり3,880 円
と結構な違いがあります。

basic SKU だと、S2SVPN は構成できないのですが、今回の P2SVPN は構成することができます。
なので今回は SDGs の為にも、basic SKU を利用して P2S を構成します。
ただし、basic の VPN ゲートウェイは Azure Portal からはデプロイできません。
そのため Azure PowerShell や Azure 公式認定の IaC ツールである bicep などを用いてデプロイする必要があります。

basic SKU の VPN ゲートウェイは Azure Portal からはデプロイできない。
(VPN ゲートウェイで basic SKU を使う場合は完全 GUI でのデプロイは出来ない。)

完全 GUI でのデプロイは出来ないので、(GUI / Azure Portal 編) と書いてありながらも、一部 PowerShell で実施している箇所があります。

・ Gateway の SKU

【参考】こちらの記事では basic SKU 以外の VPN ゲートウェイを GUI ・ Azure Portal でデプロイされてて完全 GUI で実施されています~

https://qiita.com/dessin/items/32492d563279d4cc2bf4#vpn-gateway%E3%81%AE%E4%BD%9C%E6%88%90

やりたいこと

おうちの Windows PC と Azure のネットワーク(Vnet-Hub) をつなげたい。
ついでに Azure 上の Windows VM は DNS サーバーにし、Ubuntu VM は Web サーバーにして、おうちから名前解決して Private IP で Web サイトにアクセスしたい。

As is と To be

As is

Bastion および Bastion Subnet は VM 接続に便利なのでデプロイしてますが必須ではありません。
作業開始前 は こんな感じの環境
2023-11-13_21h40_56.png

以下をクリックすることで上記の bastion がないバージョンのシンプルな環境をデプロイできます。
Deploy to Azure

デプロイするときはパラメーターファイルをコピーして、適宜編集して貼り付けると同じような構成になります。(参考)

To be

作業完了後 は こんな感じの環境になってることが理想
2023-11-13_21h31_40.png

手順

VPN ゲートウェイ(basic sku) の作成

早速です。

先に述べたように Azure Portal からは Basic SKU を選択することができません。
2023-11-13_22h18_02.png
Azure Portal からでは Basic SKU がない!

なので今回は Azure PowerShell を用いて作成します。
下記に既存の Vnet に対して Basic sku の VPN ゲートウェイ をデプロイする Azure PowerShell スクリプトを置いてます。
https://github.com/aktsmm/Scripts/tree/main/ps/AzVPNGateway
これを使って、まず basic SKU の VPN ゲートウェイ をデプロイします。
少し待ちますが、10 分もあればできました。

アドレスプールの入力

[作成した VPN ゲートウェイ] → [ポイント対サイトの構成] と遷移して、"アドレス プール" を入力して、[保存] をクリックします。
image.png

結構時間がかかります。
私の場合 1 時間ちょっとまちました。

ここで入力するアドレスプールが Vnet のアドレス空間と重複していると下記のようなエラーがでます。
image.png
今回は 10.200.0.0/24 を入力しました。
image.png

ルート証明書の作成と Azure へのアップロード

クライアント側で PowerShell を立ち上げて下記のコマンドを実行します。

PowerShell
# 自己署名ルート証明書の作成
$cert = New-SelfSignedCertificate -Type Custom `
            -KeySpec Signature `
            -Subject "CN=P2SRootC" `
            -KeyExportPolicy Exportable `
            -HashAlgorithm sha256 `
            -KeyLength 2048 `
            -CertStoreLocation "Cert:\CurrentUser\My" `
            -KeyUsageProperty Sign `
            -KeyUsage CertSign

# クライアント証明書の作成
New-SelfSignedCertificate -Type Custom `
    -DnsName P2SRootC `
    -KeySpec Signature `
    -Subject "CN=P2SChildC" `
    -KeyExportPolicy Exportable `
    -HashAlgorithm sha256 `
    -KeyLength 2048 `
    -CertStoreLocation "Cert:\CurrentUser\My" `
    -Signer $cert `
    -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")

[Windows + R キー]  → [certmgr.msc] を入力して OK

こんな感じで作成した自己署名ルート証明書とクライアント証明書が確認できます。
image.png

  • 作成した自己署名ルート証明書を探し、右クリックして ”すべてのタスク” → ”エクスポート” を選択します
  • 次へをクリックします
  • いいえ、秘密キーをエクスポートしませんをクリックします
  • Base 64 encoded X.509 をクリックします
  • エクスポート先を選択してクリックします
  • エクスポートした証明書を VS Code やメモ帳で開き VPN ゲートウェイに登録します。
    image.png

その後、[保存]を押す、数分まって画面を再読み込みすると VPN クライアントのダウンロードが可能になるので、ダウンロードする。

P2S VPN 接続(クライアント側)

image.png
上記のようなフォルダがダウンロードされますので展開します。

下記の "CRT_0 ファイル" の名前を変更して拡張子を .cer に変更し、ダブルクリックしてサーバー証明書をインストールします。
image.png

image.png

image.png

つぎに展開したフォルダ内の [WindowsPowershell] を選択して、スクリプトを実行します。
image.png

その後、クライアント側の VPN メニューに下記がでるので「接続」する
image.png

接続確認

ipconfig

クライアント側で ipconfig を打つと VPN に使われる NIC が追加されているのがわかる
image.png

ping による疎通確認

クライアント側から Azure 上の Ubuntu/Web サーバ (10.100.1.4)に対して ping の疎通確認
image.png

FQDN による Web サーバーへのアクセス確認

ここでは設定や説明を省いていますが、ローカルのクライアント PC から Azure 上の IaaS で立てた DNS サーバー(10.100.1.5)に設定した web.ksk.yamapan.tokyo の名前解決をして、Ubuntu/Web サーバ (10.100.1.4) にアクセスし、http ページが表示されることも確認済です。(DNS 周りが気になる方は、参考をご覧ください。)
image.png

参考

P2S 接続してる方の記事です

Web サーバや DNS 周りについて

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?