Azure ファイル共有にアクセスするためのネットワーク エンドポイントを構成する

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

  • パブリック IP アドレスを持つパブリック エンドポイント。 アクセスはプロトコルやネットワークルールによって異なります。 NFSクライアントは許可されたサブネットからサービスエンドポイントを使用します。
  • プライベート エンドポイント。仮想ネットワーク内に存在し、その仮想ネットワークのアドレス空間内からのプライベート IP アドレスを持ちます。

クラシック ファイル共有 (Microsoft.Storage リソース プロバイダーで作成) の場合、Azure ストレージ アカウントにはパブリック エンドポイントとプライベート エンドポイントがあります。 Microsoft.FileShares リソース プロバイダーで作成されたファイル共有の場合は、ストレージ アカウント レベルではなく、ファイル共有レベルでパブリック エンドポイントとプライベート エンドポイントを作成します。

この記事では、プライベートエンドポイントの設定方法と、両方のリソースプロバイダーのパブリックエンドポイントアクセスの制限について説明します。 クラシックファイル共有のガイダンスは、クラシックSMBファイル共有をサポートするAzure File Syncで使われるストレージアカウントにも適用されます。 ファイル同期ネットワークの要件については、「Azure File Syncプロキシおよびファイアウォール設定の設定」をご覧ください。

このガイドを読む前に、Azure Files のネットワークに関する考慮事項を確認してください。

前提条件

エンドポイントの作成と設定

ストレージ アカウントをクラシック共有または個別の Microsoft.FileShares リソース用に設定することで、ファイル共有へのネットワーク アクセスを制限できます。 仮想ネットワークへのアクセスを制限するには、以下のいずれかの方法を用いてください。

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

ファイル共有のプライベート エンドポイントを作成するときは、次のAzureリソースをデプロイします。

  • プライベート エンドポイント: プライベート エンドポイントを表すAzure リソース。 このリソースは、ターゲット リソースとネットワーク インターフェイスの間のコネクタと考えることができます。
  • ネットワーク インターフェイス (NIC): 指定された仮想ネットワークとサブネット内にプライベート IP アドレスを保持するネットワーク インターフェイス。 このリソースは、仮想マシン (VM) をデプロイするときにデプロイするリソースと同じです。 ただし、VM に割り当てる代わりに、プライベート エンドポイントが VM を所有します。
  • プライベートドメインネームシステム(DNS)ゾーン:これらのステップは、仮想ネットワークに接続されたAzureプライベートDNSゾーンを作成し、プライベートエンドポイント用のAレコードを追加します。 クライアントがファイルシェアのホスト名をプライベートエンドポイントのIPアドレスに解決すれば、自社のDNSインフラを使うこともできます。

注

パブリッククラウドAzure、両方のリソースプロバイダーがプライベートDNSゾーンprivatelink.file.core.windows.netを使用しています。 クライアント ホスト名は異なっています。例については、「接続の確認」を参照してください。 他のAzureクラウドのクラシックファイル共有の場合は、そのクラウドのストレージエンドポイントのサフィックスを使いましょう。 Microsoft.FileShares を展開する前に地域の利用可能性を確認してください。

Classic と Microsoft.FileShares の比較

プライベートエンドポイントの作成プロセスは、クラシックなファイル共有モデルを使うか新しいファイル共有モデルを使うかによって若干異なります。 従来のファイル共有の場合、ファイル共有を含むストレージアカウント用のプライベートエンドポイントを作成します。 Microsoftで作成されたファイル共有用です。FileSharesは、ファイル共有自体のためにプライベートエンドポイントを作成します。

両方の体験で多くのステップは同じです。 異なるのはリソース参照、グループID、DNSレコード名のみであり、以下の表に示されています。

クラシック ファイル共有 (Microsoft.Storage) ファイル共有 (Microsoft.FileShares)
プライベート エンドポイント ターゲット ストレージ アカウント ファイル共有
リソース コマンドレット Get-AzStorageAccount Get-AzFileShare
グループID(サブリソース) file FileShare
DNS A レコード名 ストレージ アカウント名 ホスト名プレフィックス (たとえば、 fs-xxxxxxxxxxxxxxxxx)

プライベート エンドポイントを作成するリソース グループに移動します。 [ + 作成 ] を選択し、 プライベート エンドポイントを検索します。 プライベート エンドポイント リソースを選択し、[ 作成] を選択します。

ウィザードには、完了する複数のページがあります。

[ 基本 ] ページで、プライベート エンドポイントのサブスクリプション、リソース グループ、名前、ネットワーク インターフェイス名、リージョンを選択します。 プライベート エンドポイントを作成する仮想ネットワークと同じリージョンにプライベート エンドポイントを作成する必要があります。 その後、[次へ: リソース] を選択します。

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

Resource ページで、Resource type のドロップダウン メニューから Microsoft.Storage/storageAccounts を選択します。 リソースでは、接続したい特定のストレージアカウントを選択してください。 ターゲットサブリソースについてはfileを選択します。 [次へ: Virtual Network] を選択します。

新しいプライベートエンドポイントのリソースタイプ、リソース、ターゲットサブリソースを選択する方法を示すスクリーンショットです。

リソース ページで、リソースの種類 のドロップダウン メニューから Microsoft.FileShares/fileShares を選択します。 リソースでは、接続したい特定のファイル共有を選択します。 ターゲット サブリソースには、FileShare が自動的に設定されます。 [次へ: Virtual Network] を選択します。

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

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

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

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

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

プライベートエンドポイントに名前と値の組み合わせでタグ付けしやすくする簡単な方法を示すスクリーンショットです。

[作成] を選択してプライベート エンドポイントを作成します。

接続を検証する

仮想ネットワーク内のクライアントから、またはプライベートエンドポイントを解決するためにDNSが設定された接続ネットワークからチェックを実行します。 リソースプロバイダー間の違いについては 、DNS解決を参照してください。 シェアをマウントするには元のホスト名を使い、privatelink の名前を使わないでください。

PowerShell、コマンドライン、または Windows、Linux、macOS のターミナルから以下の DNS ルックアップを実行します。

<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

ファイル共有のホスト名を使いましょう。 ファイル共有の [概要] タブで、右上の JSON ビュー を選択します。 JSON ビューのプロパティで、 hostName の値をコピーします。 形式は fs-xxxxxxxxxxxxxxxxx.xx.file.storage.azure.netのようになります。

nslookup <file-share-host-name>

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

Server:  UnKnown
Address:  10.2.4.4

Non-authoritative answer:
Name:    <hostNamePrefix>.privatelink.file.core.windows.net
Address:  192.168.0.5
Aliases:  <hostNamePrefix>.<zone>.file.storage.azure.net

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

パブリック ネットワーク アクセスを無効にするか、選択したネットワークに対してのみ有効のままにできます。 これらは別々の構成です。 プライベートエンドポイントはどちらの設定でも動作を続けます。

クラシック ファイル共有の場合は、ストレージ アカウントでパブリック アクセスを構成してください。 Microsoft.FileShares の場合。ファイルシェアは、それぞれのファイル共有で設定してください。 クラシックファイル共有は、プロトコルの制限を前提に ネットワークセキュリティ境界を利用することもできます。 強制モードでは、ペリメーターがサービスエンドポイントを通るNFSトラフィックをブロックします。

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

パブリックネットワークアクセスを無効にすると、クライアントはサービスエンドポイントを含めてパブリックエンドポイント経由で接続できません。 クライアントはプライベートエンドポイント経由で接続可能です。 この設定ではクライアントからのアウトバウンドトラフィックを制限しません。

注

クラシックなファイル共有では、既存の信頼されたサービスやリソースインスタンスの例外は、パブリックネットワークアクセスを無効にしても有効のまま維持できます。 プライベートエンドポイントのみへのアクセスが必要な場合は、これらの例外を確認してください。 Azure Storage ネットワークのセキュリティ制限を参照してください。

クラシックファイル共有のパブリックネットワークアクセスを無効にするには、以下の手順に従ってください:

  1. パブリックエンドポイントへのすべてのインバウンドアクセスを制限したいストレージアカウントに行ってください。
  2. サービスメニューの セキュリティ+ネットワークの「 ネットワーク」を選択してください。
  3. [ パブリック ネットワーク アクセス] で、[管理] を選択 します。
  4. 無効を選択し、次に進行を選択します。
  5. 保存を選びます。

ストレージアカウントでパブリックネットワークアクセスを無効にする方法を示すスクリーンショットです。

パブリック アクセスを無効にするファイル共有に移動します。 サービス メニューの [設定] で [構成] を選びます。 [パブリック ネットワーク アクセス] を [無効] に設定し、[保存] を選択します。

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

選択したサブネットからのクライアントを許可するには、パブリック ネットワーク アクセスを有効にし、それらのサブネット上でサービス エンドポイントを有効にし、サブネットをリソースのネットワーク ルールに追加します。 プライベートエンドポイントの有無にかかわらず、サービスエンドポイントを利用できます。 従来のSMBやFileRESTアクセスもIPアドレスルールを使用できます。NFSアクセスは許可されたサブネットが必要です。

PowerShellやCLIの例は、すでにパブリックネットワークアクセスが有効になっていることを前提としています。 Microsoft.FileSharesの例は、クライアント サブネットにすでにMicrosoft.Storageサービス エンドポイントがあることを前提としています。 そのエンドポイントを設定するには、「 サブネット上のサービスエンドポイントを有効にする」をご覧ください。

クラシックなファイル共有の場合は、パブリックエンドポイントを特定のネットワークに制限する手順に従ってください。

  1. パブリックエンドポイントを特定のネットワークに制限したいストレージアカウントに行ってください。
  2. サービスメニューの セキュリティ+ネットワークの「 ネットワーク」を選択してください。
  3. [ パブリック ネットワーク アクセス スコープ] で、[ 選択したネットワークから有効にする] を選択します。 この選択により、パブリック エンドポイントの制限を制御するためのさまざまな設定が表示されます。
  4. 仮想ネットワークの「仮想ネットワークを追加」を選択し>既存の仮想ネットワークを追加して、パブリックエンドポイントを通じてストレージアカウントへのアクセスを許可すべき仮想ネットワークを選択します。 仮想ネットワークとその仮想ネットワークのサブネットを選び、[有効化] を選びます。 この目的で新しい仮想ネットワークを作成したい場合は、「仮想ネットワークを追加」>「新しい仮想ネットワークを追加」を選び、詳細を入力してから「作成」を選択してください。
  5. SMBやFileRESTへのアクセスには、 IPv4アドレス を使って許可したいパブリックインターネットIPアドレスを指定します。 IPアドレスのルールはNFSへのアクセスを許可しません。
  6. サービス統合が信頼されたサービス アクセスを必要とする場合は、信頼された Microsoft サービスにこのリソースへのアクセスを許可チェック ボックスを選択してください。
  7. 保存を選びます。

ストレージアカウントのパブリックエンドポイントを選択したネットワークに制限する方法を示すスクリーンショットです。

パブリック アクセスを制限するファイル共有に移動します。 サービス メニューの [設定] で [ 構成] を選択します。 [ パブリック ネットワーク アクセス] で、 選択した仮想ネットワークから [有効] を選択し、共有へのアクセスが許可されている仮想ネットワークとサブネットを追加して、[ 保存] を選択します。

特定のストレージアカウントへのアウトバウンドアクセスを制限してください

ファイル共有のネットワークルールは、受信アクセスを制御します。 それらは、クライアントがアクセスできる他のストレージ リソースを制限しません。 クラシックなファイル共有では、サブネット内のクライアントがサービスエンドポイント経由でアクセスできるストレージアカウントを制限するために、オプションでサービス エンドポイント ポリシーを使うことができます。 このポリシーは、Azure Firewallやネットワーク仮想アプライアンスを迂回するトラフィックの宛先をフィルタリングします。 他のアウトバウンドパスを制限したり、宛先のネットワークルールや認可要件を置き換えたりするわけではありません。 詳細については、「 サービスエンドポイントポリシーでアウトバウンドアクセスを制限する」をご覧ください。

Important

サービス エンドポイント ポリシーは現在、Microsoft.FileShares のファイル共有ではサポートされていません。 クライアント サブネットのポリシーは、サービス エンドポイントを通じてこれらのファイル共有へのアクセスをブロックします。それらのサブスクリプションまたはリソース グループを許可していてもです。 この制限は、classic と Microsoft.FileShares の両方のファイル共有にアクセスするサブネットにも適用されます。 そのサブネット内のクライアントは、Microsoft.FileShares のファイル共有にアクセスするために プライベート エンドポイント を使わなければなりません。

サービスエンドポイントポリシーは、関連するサブネット内のクライアントに許可されるストレージ宛先を定義します。 それらのクライアントがサービス エンドポイントを通じて他のストレージ アカウントにアクセスできないようにします。 次の点に留意してください。

  • サブネット内のクライアントが使用するすべてのストレージアカウントを追加してから、ポリシーをサブネットに関連付けてください。 このリストには、サブネット内の他のワークロードが使用するストレージアカウントが含まれます。
  • サービスエンドポイントポリシーは仮想ネットワークと同じリージョンおよびサブスクリプション内でなければなりません。
  • ポリシーは Microsoft.Storage サービスに対して含めることができるポリシー定義は 1 つのみです。 より多くのストレージ アカウントを許可するには、それらのリソース ID を同じポリシー定義に追加してください。 リソースグループやサブスクリプション内のすべてのストレージアカウントを許可することもできます。
  • サブネットにポリシーを関連付けた後、そのポリシーはすべての地域のストレージアカウントへのトラフィックに適用されます。
  • これらのステップは、サブネットにサービスエンドポイントポリシーがないことを前提としています。 すでに関連付けられているポリシーは、関連付けを置き換えるのではなく、それらのポリシーを見直して更新してください。 PowerShellやCLIの例は、既存の関連付けが見つかると停止します。

サービスエンドポイントポリシーを作成しサブネットに関連付けるには、以下の手順に従ってください。 詳細な手順については、「 サービスエンドポイントポリシーの作成および関連付け」を参照してください。

  1. Azureポータルの上部にある検索ボックスに「Service endpoint policy」と入力します。 検索結果で [サービス エンドポイント ポリシー] を選びます。
  2. [+ 作成] を選択します。
  3. [基本] タブで、サブスクリプションと仮想ネットワークの地域を選択します。 リソースグループを選択し、ポリシーの名前を入力します。
  4. [次へ: ポリシー定義] を選びます。
  5. + リソースを追加を選択します。 サービス については、Microsoft.Storage を選択してください。 [範囲] では [単一のアカウント] を選択し、ファイル共有を含むストレージ アカウントを選択します。 [] を選択し、[] を追加します。 このステップをサブネット内のクライアントが使用する各ストレージアカウントごとに繰り返します。
  6. [ 確認と作成] を選択し、[ 作成] を選択します。
  7. 新しいサービス エンドポイント ポリシーに移動してください。 サービスメニューの 設定から 「関連サブネット」を選択してください。
  8. + サブネットの関連付けを編集を選択し、仮想ネットワークとサブネットを選択してから、適用を選択します。

サービス エンドポイント ポリシーを持つサブネットから Microsoft.FileShares ファイル共有にアクセスするには、ファイル共有用のプライベート エンドポイントを作成します。 サービスエンドポイントのポリシーは、プライベートエンドポイントを経由するトラフィックには適用されません。

関連項目