Azure Files ネットワーク エンドポイントの構成

Azure Files では、Azure ファイル共有にアクセスするための次の主な 2 種類のエンドポイントが提供されます。

  • パブリック エンドポイント。パブリック IP アドレスを持ち、世界中のどこからでもアクセスできます。
  • プライベート エンドポイント。仮想ネットワーク内に存在し、その仮想ネットワークのアドレス空間内からのプライベート IP アドレスを持ちます。

パブリックおよびプライベート エンドポイントは、Azure ストレージ アカウントに存在します。 ストレージ アカウントは、複数のファイル共有だけでなく、BLOB コンテナーやキューなどのその他のストレージ リソースをデプロイできるストレージの共有プールを表す管理構造です。

この記事では、Azure ファイル共有に直接アクセスするためのストレージ アカウントのエンドポイントを構成する方法について説明します。 このドキュメントに記載されている詳細のほとんどは、Azure File Sync とストレージ アカウントのパブリック エンドポイントおよびプライベート エンドポイントとの相互運用方法にも適用されますが、Azure File Sync のデプロイに対するネットワークに関する考慮事項の詳細については、Azure File Sync プロキシとファイアウォールの設定の構成に関する記事を参照してください。

このハウツー ガイドを読む前に、「Azure Files のネットワークに関する考慮事項」を読むことをお勧めします。

適用対象

ファイル共有の種類 SMB NFS
Standard ファイル共有 (GPv2)、LRS/ZRS はい いいえ
Standard ファイル共有 (GPv2)、GRS/GZRS はい いいえ
Premium ファイル共有 (FileStorage)、LRS/ZRS はい はい

前提条件

エンドポイント構成

ストレージ アカウントへのネットワーク アクセスを制限するようにエンドポイントを構成できます。 ストレージ アカウントへのアクセスを仮想ネットワークに制限するには、次の 2 つの方法があります。

プライベート エンドポイントの作成

ストレージ アカウント用のプライベート エンドポイントを作成すると、次の Azure リソースがデプロイされます。

  • プライベート エンドポイント: ストレージ アカウントのプライベート エンドポイントを表す Azure リソース。 これは、ストレージ アカウントとネットワーク インターフェイスを接続するリソースと考えることができます。
  • ネットワーク インターフェイス (NIC) : 指定された仮想ネットワークおよびサブネット内のプライベート IP アドレスを保持するネットワーク インターフェイス。 これは、仮想マシンをデプロイするとデプロイされるリソースとまったく同じものですが、VM に割り当てられるのではなく、プライベート エンドポイントによって所有されます。
  • プライベート DNS ゾーン: 以前にこの仮想ネットワークに対してプライベート エンドポイントをデプロイしたことがない場合は、新しいプライベート DNS ゾーンが仮想ネットワークにデプロイされます。 この DNS ゾーン内のストレージ アカウントに対しては、DNS A レコードも作成されます。 この仮想ネットワークにプライベート エンドポイントを既にデプロイしてある場合は、ストレージ アカウントに対する新しい A レコードが、既存の DNS ゾーンに追加されます。 DNS ゾーンのデプロイは省略できますが、強くお勧めします。また、AD サービス プリンシパルまたは FileREST API を使用して Azure ファイル共有をマウントする場合は、必須です。

Note

この記事では、Azure パブリック リージョンを対象に、ストレージ アカウントの DNS サフィックス core.windows.net を使用しています。 この解説は、Azure ソブリン クラウド (Azure US Government クラウドや Azure China クラウドなど) にも当てはまります。ご利用の環境の適切なサフィックスに置き換えてください。

プライベート エンドポイントを作成するストレージ アカウントに移動します。 ストレージ アカウントの目次で [ネットワーキング][プライベート エンドポイント接続][+ プライベート エンドポイント] の順に選択して、新しいプライベート エンドポイントを作成します。

ストレージ アカウントの目次にある [プライベート エンドポイント接続] 項目のスクリーンショット。

表示されるウィザードには、設定するページが複数あります。

[基本] ブレードで、プライベート エンドポイントの目的のサブスクリプション、リソース グループ、名前、ネットワーク インターフェイス名、およびリージョンを選択します。 これらには任意の内容を指定でき、ストレージ アカウントと一致している必要はありませんが、プライベート エンドポイントは、そのプライベート エンドポイントを作成しようとしている仮想ネットワークと同じリージョン内に作成する必要があります。 その後、[次へ: リソース] を選択します。

新しいプライベート エンドポイントのプロジェクトとインスタンスの詳細を提供する方法を示すスクリーンショット。

[リソース] ブレードで、ターゲット サブリソースのファイルを選択します。 [次へ: Virtual Network] を選択します。

新しいプライベート エンドポイントを使用して接続するリソースを選択する方法を示すスクリーンショット。

[Virtual Network] ブレードでは、プライベート エンドポイントを追加する特定の仮想ネットワークとサブネットを選択できます。 新しいプライベート エンドポイントの動的または静的 IP アドレスの割り当てを選択します。 静的を選択した場合は、名前とプライベート IP アドレスも指定する必要があります。 必要に応じて、アプリケーション セキュリティ グループを指定することもできます。 完了したら、[次: DNS] を選びます。

新しいプライベート エンドポイントの仮想ネットワーク、サブネット、および IP アドレスの詳細を提供する方法を示すスクリーンショット。

DNS ブレードには、プライベート エンドポイントとプライベート DNS ゾーンを統合するための情報が含まれています。 サブスクリプションとリソース グループが正しいことを確認し、[次へ: タグ] を選択します。

プライベート エンドポイントをプライベート DNS ゾーンと統合する方法を示すスクリーンショット。

必要に応じて、タグを適用してリソースを分類できます。たとえば、[名前] の [環境] と [値] の [テスト] をすべてのテスト リソースに適用します。 必要に応じて名前と値のペアを入力し、[次へ: レビュー + 作成] を選択します。

簡単に分類できるように、名前と値のペアでプライベート エンドポイントにオプションでタグを付ける方法を示すスクリーンショット。

[確認および作成] をクリックしてプライベート エンドポイントを作成します。

接続を検証する

ご使用の仮想ネットワーク内に仮想マシンがある場合、または「Azure Files の DNS 転送の構成」で説明されているような DNS 転送を構成してある場合は、PowerShell、コマンド ライン、またはターミナル (Windows、Linux、または macOS で動作) から次のコマンドを実行して、ご使用のプライベート エンドポイントが正しく設定されていることをテストできます。 <storage-account-name> を適切なストレージ アカウント名に置き換える必要があります。

nslookup <storage-account-name>.file.core.windows.net

すべてが正常に動作した場合は、次のような出力が表示されます。192.168.0.5 は、仮想ネットワーク内のプライベート エンドポイントのプライベート IP アドレスです (Windows の場合に表示される出力)。

Server:  UnKnown
Address:  10.2.4.4

Non-authoritative answer:
Name:    storageaccount.privatelink.file.core.windows.net
Address:  192.168.0.5
Aliases:  storageaccount.file.core.windows.net

パブリック エンドポイント アクセスを制限する

パブリック エンドポイント アクセスを制限するには、まず、パブリック エンドポイントへの一般的なアクセスを無効にする必要があります。 パブリック エンドポイントへのアクセスを無効にしても、プライベート エンドポイントには影響しません。 パブリック エンドポイントが無効になったら、そこに引き続きアクセスできる特定のネットワークまたは IP アドレスを選択できます。 一般に、ストレージ アカウントのほとんどのファイアウォール ポリシーではネットワーク アクセスが 1 つ以上の仮想ネットワークに制限されます。

パブリック エンドポイントへのアクセスを無効にする

パブリック エンドポイントへのアクセスが無効にされている場合でも、そのプライベート エンドポイントを介してストレージ アカウントにアクセスできます。 それ以外の場合は、特に許可されているソースからのものでない限り、ストレージ アカウントのパブリック エンドポイントへの有効な要求は拒否されます。

パブリック エンドポイントへのすべてのアクセスを制限するストレージ アカウントに移動します。 ストレージ アカウントの目次で、 [ネットワーク] を選択します。

ページの上部で、[選択した仮想ネットワークと IP アドレスから有効] オプション ボタンを選びます。 これにより、パブリック エンドポイントの制限を制御するためのいくつかの設定が表示されるようになります。 [信頼されたサービスの一覧にある Azure サービスがこのストレージ アカウントにアクセスすることを許可します] を選び、Azure File Sync などの信頼できるファースト パーティの Microsoft サービスに、ストレージ アカウントへのアクセスを許可します。

ストレージ アカウントのパブリック エンドポイントへのアクセスを無効にするために必要な設定が表示された [ネットワーク] ブレードのスクリーンショット。

パブリック エンドポイントへのアクセスを特定の仮想ネットワークに制限する

ストレージ アカウントを特定の仮想ネットワークに制限すると、指定した仮想ネットワーク内からパブリック エンドポイントへの要求が許可されます。 これは、"サービス エンドポイント" と呼ばれる仮想ネットワークの機能を使用して実現できます。 これは、プライベート エンドポイントの有無に関係なく使用できます。

パブリック エンドポイントを特定の仮想ネットワークに制限するストレージ アカウントに移動します。 ストレージ アカウントの目次で、 [ネットワーク] を選択します。

ページの上部で、[選択した仮想ネットワークと IP アドレスから有効] オプション ボタンを選びます。 これにより、パブリック エンドポイントの制限を制御するためのいくつかの設定が表示されるようになります。 [+ 既存の仮想ネットワークを追加] を選び、パブリック エンドポイント経由でのストレージ アカウントへのアクセスを許可する特定の仮想ネットワークを選びます。 仮想ネットワークとその仮想ネットワークのサブネットを選び、[有効化] を選びます。

[信頼されたサービスの一覧にある Azure サービスがこのストレージ アカウントにアクセスすることを許可します] を選び、Azure File Sync などの信頼できるファースト パーティの Microsoft サービスに、ストレージ アカウントへのアクセスを許可します。

特定の仮想ネットワークがパブリック エンドポイント経由でストレージ アカウントへのアクセスを許可されている [ネットワーク] ブレードのスクリーンショット。

関連項目