Azure

【Azure】ポイント対サイト VPN接続とは?徹底解説!

  • このエントリーをはてなブックマークに追加



ポイント対サイトVPN接続(Point to site VPN)とは?

ポイント対サイトVPN接続(Point to site VPN)とはVPN接続の一種で、コンピューター(PC)とAzureの仮想ネットワーク間で接続するVPNの事です。

ポイント対サイトVPN接続を利用する事で、PCから仮想ネットワークへの通信をセキュアにする事が可能となります。

PCなどのコンピューターを”ポイント”、Azureの仮想ネットワークを”サイト”と表現します。

ユースケース

利用ケースは以下の様になります。

  • Azureの仮想ネットワークへ遠隔からセキュアにアクセスしたい場合
    • 例:リモートワークなどで自宅から仮想ネットワークにアクセスしたいケース

メリット/デメリット

メリット

  • 自宅などの遠隔から仮想ネットワークへ接続する通信をセキュアにする事が可能

デメリット

  • 多数のユーザーが想定される場合、サイト間VPN接続を利用した方が効率的な場合がある

ハンズオン概要

“test-vm”という仮想サーバーとVPNゲートウェイを作成します。

仮想サーバーはプライベートIPアドレスのみを保持し、VPNゲートウェイを経由する事でプライベートIPアドレスへのアクセスが可能な状態を目指します。

尚、VPN接続を利用する事でインターネットを経由した上でセキュアな通信が可能なわけですが、こちらを実現する為に、VPNゲートウェイにルート証明書、PCにクライアント証明書を作成する必要があります。

ハンズオンのフローは以下の様になります。

  1. ログイン
  2. 仮想ネットワークの作成
  3. VPNゲートウェイの作成
  4. 証明書の作成
  5. VPNゲートウェイの設定
  6. 仮想マシンの作成
  7. クライアントPCの設定及び接続

手順

※当ページでは2023年2月現在の仮想ネットワークについて解説しています。クラウドサービスは頻繁にアップデートが施されるため、仕様が若干異なる可能性があります。

ログイン

まずは、Azure公式ページからAzureにログインしましょう。

Azureアカウントを保持している方はSign inを、保持していない方はFree accountよりアカウントを作成しましょう。

仮想ネットワークの作成

検索バーに”仮想ネットワーク”と入力し、”仮想ネットワーク”を選択します。

作成ボタンを押下し、以下の条件で”test-vpn”という仮想ネットワークを作成します。

基本タブは以下の様に設定します。

IPアドレスタブは以下のように設定します。

基本タブとIPアドレスタブの設定が完了したら、セキュリティタブ、タグタブの設定はスキップして仮想ネットワークを作成します。

※仮想ネットワークの作成方法詳細については、【Azure】仮想ネットワークとは?使い方徹底解説!を参照してください。

VPN Gatewayの作成

検索バーに”仮想ネットワークゲートウェイ”と入力し、”仮想ネットワークゲートウェイ”を選択します。

VPNゲートウェイを作成する際は仮想ネットワークゲートウェイから作成します。

仮想ネットワークの設定を行っていきます。

基本タブにて以下の様に設定を行います。

  • サブスクリプション:任意のサブスクリプションを指定します。
  • 名前:任意の名前を付与します。今回は”test-vpn-gw”と命名します。
  • 地域:“Japan East”を選択します。
  • ゲートウェイの種類:“VPN”を選択します。
  • VPNの種類:“ルートベース”を選択します。ポリシーベースも選択肢として存在しますが、ポイント対サイトVPNではルートベースを選択します。
  • SKU:作成するVPNゲートウェイのSKUを指定します。今回はスタンダードである”VpnGw2AZ”を選択します。SKUに応じて可能な接続数やスループットなどが異なります。詳細についてはAzure公式ドキュメントを参照下さい。
  • 世代:“Generation2″を選択します。Generation1, Generation2どちらも同じ価格となりますが、Generation2の方がより高いパフォーマンスを発揮します。※世代毎の詳細についてはAzure公式ドキュメントを参照下さい。
  • 仮想ネットワーク:配置する仮想ネットワークを指定します。先程作成した”test-vpn”を選択します。
  • パブリックIPアドレス:“新規作成”を選択します。外部からアクセス可能な様にするためにパブリックIPアドレスを新規作成します。
  • パブリックIPアドレス名:任意の名前を付与します。今回は”test-vpn-ip”と命名します。
  • 可用性ゾーン:配置する可用性ゾーンを選択します。冗長化が必要な場合は”ゾーン冗長”を選択します。今回は可用性ゾーン1に配置するので”1″を選択します。
  • アクティブ/アクティブモードの有効化:複数のVPNゲートウェイをデプロイして可用性を向上させる場合に利用します。今回は”無効”を選択します。
  • BGPの構成:BGPを利用する際に有効化します。今回は”無効”を選択します。

証明書の作成

前述の通り、証明書なければ誰でも接続できる状態となってしまいます。
セキュアな通信を担保する為に、VPNゲートウェイ及びクライアントPCに証明書を付与する必要があります。VPNゲートウェイにはルート証明書を、クライアントPCにはクライアント証明書を付与します。

今回は自己署名証明書を利用します。まずはルート証明書を作成します。

ローカルPCでPowerShellを管理者として開きます。

開いたら以下のコマンドを実行します。

$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
-Subject “CN=P2SRootCert” -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation “Cert:\CurrentUser\My” -KeyUsageProperty Sign -KeyUsage CertSign

コマンドが実行されたら、Windows PCの検索機能より”certmgr.msc”と検索し、certmgrを開きます。開いたら、個人>証明書と辿ると作成された証明書が確認出来ます。

“P2SRootCert”を右クリック>全てのタスク>エクスポートを押下します。

エクスポ―トウィザードが開いたら”次へ”を押下します。

次の画面でも”次へ”を押下します。

次の画面では”Base 64 encoded X.509″を選択し”次へ”を押下します。

完了を押してウィザードを終了します。

次にクライアント証明書を作成します。

PowerShellにて以下のコマンドを実行します。

New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
-Subject “CN=P2SChildCert” -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”)

certmgrにて”P2SChildCert”が発行されているので先程の手順でエクスポートウィザードを開きます。

秘密鍵としてエクスポートする為に以下を選択します。

次の画面はデフォルトのまま”次へ”を押下します。

次の画面ではパスワードを設定します。

エクスポート先を指定します。

VPNゲートウェイの設定

追加でVPNゲートウェイの設定を行います。

先程作成したVPNゲートウェイのリソース画面に遷移し、ポイント対サイトの構成タブを開きます。

以下の様に設定します。

  • アドレスプール:今回は”192.168.1.0/24″を指定します。こちらのアドレスプールの中の1つのIPアドレスが接続される1つのPCに付与されます。※VPN Gatewayの最大同時接続数が128の為192.168.1.0/24のアドレス数で問題ありません。また、128個のIPアドレスの用意という観点で、クラスCのIPアドレス(192.168.xx.xx)を利用します。
  • トンネルの種類:VPNのプロトコルを指定します。今回はWindows OS用の”SSTP”を利用します。
  • 証明の種類:Azure certificateを選択します。
  • ルート証明書:先程作成したルート証明書を配置します。”名前”には任意の名前を付与します。”公開証明書データ”には作成したルート証明書の中身のデータをコピー&ペーストします。先程の”Azure.cer”をメモ帳で開き、”—–BEGIN CERTIFICATE—–“と”—–END CERTIFICATE—–“以外の部分をコピーします。

仮想マシンの作成

仮想マシンを作成します。Azure Portalのトップページの検索バーに”Virtual Machine”と入力し、”Virtual Machines”を選択します。

仮想マシンの管理画面に遷移したら、右上の作成より、”Azure仮想マシン”を選択します。

基本タブにて以下の様な設定を行います。

パブリック受信ポートは”なし”を選択し、プライベートIPアドレスのみを保持する状態を作ります。他のタブは変更せず仮想マシンを作成します。

※仮想マシン作成の詳細については、【Azure】Virtual Machines(VM)とは?使い方徹底解説!を参照下さい。

クライアントPCの設定及び接続

クライアント証明書をPCにインポートします。先程保存した”clientcert.pfx”をダブルクリックし、インポートを開始します。

最初の画面では現在のユーザーを選択します。

次にインポートする証明書ファイルのディレクトリを指定します。

次にクライアント証明書を作成した際に付与したパスワードを入力します。

次の画面はデフォルトのままで”次へ”を押下します。

こちらで設定完了です。次の画面で”完了”を押下します。ポップアップが表示されますが、”はい”を選択してインポートを完了させます。

次にVPNクライアントをAzureからダウンロードします。

Azure PortalのVPNゲートウェイの”ポイント対サイトの構成”タブから”VPNクライアントのダウンロード”を押下します。

ZIPファイルがダウンロードされるので展開します。展開したら、3つのフォルダから自分のPCのビット数(32 or 64)に合ったフォルダを開き、ダブルクリックしてexeファイルを実行します。

PCの右下ツールバー上のWifiマークを右クリックし、”ネットワーク設定とインターネット設定”を開きます。

VPNタブから”test-vpn”に接続します。

Windowsの検索バーより、”リモートデスクトップ接続”を検索し、開きます。

仮想マシンのプライベートIPアドレスを利用しRDP接続します。

ユーザー名、パスワードを入力して接続できれば成功です。

関連記事

【Azure】サイト間VPN接続とは?徹底解説!

  • このエントリーをはてなブックマークに追加

お問い合わせ

    このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシー利用規約が適用されます。

    コメントを残す

    *