LoginSignup
14
8

More than 1 year has passed since last update.

Azure Files にカンタン P2S VPN 接続!

Posted at

はじめに

社内ネットワークで、445 番 ポート(SMB)が開放されていないこと、しばしばありますよね。
今回は、そんな場合でも Point-to-Site (P2S) VPN を使用して、外部に SMB ポートを開放せず、Azure Files をマウントする手順をご紹介します。

この記事のゴール

Azure Files に対し、P2S VPN を構成し、Private Endpoint を使用してマウントするまでをゴールとします。

前提条件

  • Windows 10
  • Azure Subscription を保有していること
  • Azure PowerShell Module をインストール済みであること
>ver

Microsoft Windows [Version 10.0.19043.1165]

全体構成

VPN Gateway に証明書をインポートし、クライアントから Private IP アドレスによるマウントを行います。

実際の構成は下図の通りです。

image.png

手順

では、ここから実際の手順を見ていきます。

1. 仮想ネットワークの作成

まずは、仮想ネットワークを作成します。今後は、この仮想ネットワーク内に、VPN Gateway や Azure Files にアタッチする Private Endpoint を作成します。

詳細な作成手順は、こちらの Docs を参考にしてください。

なお、「3. GatewaySubnet の作成」で VPN Gateway をデプロイするための専用サブネットを作成しますが、この段階では Subnet01 のみを作成してください。

仮想ネットワーク作成時の最終的な検証が完了すると、下図のようになります。

image.png

2. Azure Files の作成

マウント対象となる Azure Files を作成します。

詳細な作成手順は、こちらの Docs を参考にしてください。

今回は、以下のような設定をしました。リソース設定時、「詳細設定」以降のブレードは既定のままとしています。

image.png

2-1. File Share の作成

実際にマウントする File Share を作成します。今回は、images という名前で作成します。

image.png

2-2. Azure Files に対する Private Endpoint の作成

images に対して Private IP アドレスを使用して接続するために、Private Endpoint を作成します。

Azure Portal で、下記スクショの通りにリソースを構成します。

image.png

image.png

image.png

image.png

image.png

image.png

Private Endpoint の作成が完了すると、Azure Portal からは下図のようにリソースを確認することができます。

image.png

3. GatewaySubnet の作成

VPN Gateway を Azure にデプロイするには、あらかじめ GatewaySubnet という専用のサブネットを作成する必要があります。

「1. 仮想ネットワークの作成」で作成した仮想ネットワークに移動し、下図のように「+ ゲートウェイサブネット」から GatewaySubnet を作成します。

image.png

4. VPN Gateway の作成

VPN Gateway を作成します。以下の設定値に気を付けて作成してください。

  • ゲートウェイの種類:VPN
  • VPNの種類:ルートベース

今回は、以下の設定を行いました。

image.png

※なお、VPN Gateway のデプロイには 1 時間弱かかります。この手順も後半に差し掛かるので、この辺で一旦コーヒーブレイクしましょう。。!

5. root 証明書、クライアント証明書の作成

さて、しっかり休憩できたでしょうか?後半戦も頑張っていきましょう!

ここでは、VPN 接続時に使用する証明書を作成します。

参考手順はこちらです。

# ルート証明書を作成
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature -Subject "CN=P2SRootCert" -KeyExportPolicy Exportable -HashAlgorithm sha256 -KeyLength 2048 -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign
# クライアント証明書を作成
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.msc から、作成した証明書を確認できます。

image.png

image.png

6. VPN Gateway にクライアントプールを設定

「4. VPN Gateway の作成」にてデプロイした VPN Gateway に対し、クライアントプールを設定します。

クライアントプールは、その名の通り、クライアントが接続時に使用する IP アドレスの範囲を指定します。既存の仮想ネットワーク、オンプレミス側のネットワークセグメントと重複しないように設定する必要があります。

今回は、「172.16.0.0/24」とします。

image.png

7. root 証明書を Azure にアップロード

「5. root 証明書、クライアント証明書の作成」にて作成した root 証明書を Azure にアップロードします。
Azure に証明書をアップロードするには、作成した証明書を Base64 エンコードする必要があります。

image.png

途中の選択肢は下記を設定してください。

  • 「いいえ、秘密鍵をエクスポートしません」
  • 「Base64 encoded X.509」

エクスポートしたファイルを任意のエディタで開き、改行コードを消去して 1 行にします。
今回はサクラエディタを使用しました。

image.png

上記の青く囲われている部分(-----BEGIN CERTIFICATE----- から -----END CERTIFICATE----- まで)をコピーし、Azure Portal から VPN Gateway に証明書をセットします。

image.png

8. 接続用の VPN Client の設定

いよいよ、VPN Client をダウンロードし、ローカルに展開します。

image.png

8-1. サーバ証明書のインストール

VpnServerRoot をダブルクリックして、サーバ証明書をインストールします。
image.png

image.png

image.png

image.png

image.png

image.png

8-2. VPN Client のインストール

VPNClientSetupAmd64 をダブルクリックして、 VPN Client をインストールします。

image.png

「VPN の設定」から、上記で構成した VPN へ接続します。

image.png

「接続」をクリックします。

image.png

image.png

image.png

9. Windows Explorer からマウント

「ネットワークドライブの割り当て」をクリックします。

image.png

「別の資格情報を使用して接続する」を選択し、「完了」をクリックします。

image.png

資格情報を入力します。今回は、Azure AD 認証を有効化していないため、アクセスキーを用いた認証を行います。

以下の値を入力してください。

  • Email: localhost\<Storage アカウント名>
  • Password: アクセスキー(Azure Portal から確認可能)

image.png

image.png

接続できました。あとは、通常のファイルサーバと同様の操作感で、Azure Files をご利用いただけます。

まとめ

今回は、Azure Files に対し、P2S VPN を構成し、Private Endpoint を使用してマウントするまでの手順を確認しました。
SMB ポートの開放をできない場合、お役立ていただければと思います。

参考

14
8
1

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
14
8