本記事ではAzure Filesにおけるオンプレミス環境DNSでの名前解決の構成について紹介します。
以下3つの構成を対象としています。
- Azure FilesへパブリックIPアドレスでアクセスする構成
- 内部DNSに専用のゾーンを作成してAzure FilesへプライベートIPアドレスでアクセスする構成
- クライアントのhostsに記述してAzure FilesへプライベートIPアドレスでアクセスする構成
環境
オンプレミスとAzureのハイブリッド環境で、VM1がオンプレミス環境の内部DNSを参照しています。
今回は以下の図をベースに名前解決の構成について紹介します。
名前解決の構成
Azure Files へパブリックIPアドレスでアクセスする構成
Azure Filesなどのパブリックサービスはリソース作成時にFQDNが生成され、そのFQDNにパブリックIPアドレスが割り当てられます。
これにより、クライアントがFQDN宛に通信をするために名前解決を行うと、パブリックIPアドレスが返されるので、インターネットを介してパブリックIPアドレス宛に通信することになります。
Azure Files へプライベートIPアドレスでアクセスする構成
プライベートエンドポイントとは
プライベートエンドポイントは、仮想ネットワーク内のプライベートIPアドレスを使用するネットワークインターフェースです。
プライベートエンドポイントを使用することで、対象のサービス(今回はAzure Files)へプライベートIPアドレスを付与することができ、プライベートネットワーク内で通信が完結するため、セキュアに対象のサービスへ接続することが可能になります。
今回は、プライベートエンドポイント経由でアクセスするために、以下の図の通りAzure Filesにプライベートエンドポイントを接続し、プライベートIPアドレスとして10.0.0.10を割り当てました。
内部DNSにゾーンを作成する構成
プライベートエンドポイントを構成すると、リソース作成時に生成されたFQDNに対してprivatelinkを含むCNAMEレコード「privatelink.file.core.windows.net」が構成されます。
この仕組みを使って社内のDNSサーバーに「privatelink.file.core.windows.net」ゾーンを作成し、そこにAzure FilesのAレコードを作成しておきます。
そうすると、以下のように名前解決が行われ、VM1はプライベートIPアドレスでAzure Filesにアクセスすることが可能になります。
- VM1が「<name>.file.core.windows.net」を内部DNSに問い合わせ
- 内部DNSが公開DNSに問い合わせ
- 公開DNSが「<name>.privatelink.files.core.windows.net」を回答
- 内部DNSがプライベートIPアドレス「10.0.0.10」を回答
- VM1がプライベートエンドポイント経由でAzure Filesへアクセス
この時、「<name>.file.core.windows.net」の名前解決はインターネット上の公開DNSによって行われます。一方、「<name>.privatelink.files.core.windows.net」はゾーンを作成した社内DNSで行われることになります。
そのため、プライベートエンドポイントを利用する場合にも、内部DNSは公開DNSに対して名前解決の通信ができるように構成する必要があります。
hostsファイルに記述する構成
VM1のhostsファイルにAzure FilesのプライベートIPアドレスとFQDNを記載します。
これにより、Azure FilesのFQDN宛に通信するために名前解決を行うと、hostsファイルに記述してあるプライベートIPアドレスを参照し、インターネットを介さずプライベートIPアドレス宛に通信することになります。
なお、この構成でhostsファイルにAzure Filesの情報を記述していない機器からAzure FilesのFQDN宛の通信が発生した場合、公開DNSよりパブリックIPが返され、インターネットを介してパブリックIPアドレス宛に通信することになります。
もし、インターネットを介したアクセスをさせたくない場合は、Azure Filesのネットワーク設定よりパブリックアクセスを無効化することによって、プライベートネットワーク内からのみアクセス可能な構成にすることができます。
最後に
他にも、AzureリソースであるプライベートDNSゾーンを使ってプライベートエンドポイント経由でアクセスする環境を構成することも可能です。
社内のDNSサーバーにゾーンを作成することができない環境などの場合の選択肢として考えられますが、オンプレミス環境からAzureのプライベートDNSゾーンを利用するためにはオンプレミスとAzureのDNSを中継する仕組みを構成する必要があるなど、構成のハードルはやや高めの印象です。
以上、Azure Filesにおけるオンプレミス環境DNSでの名前解決の構成についてご紹介しました。
本記事が参考になれば幸いです。