ネットワークの基本 ― エンドポイント・DNS・閉域化を理解する
本稿は、業務でネットワークまわりを扱う中で学んだ内容を、自分の整理も兼ねてまとめた記事です。「エンドポイントとは何か」「DNSの名前解決はどう動くか」「ネットワーク閉域化はなぜ・どうやって行うか」の3点を、専門用語が初めての方にもイメージしやすいよう、身近な例えを交えて説明します。
目次
- はじめに ― なぜこの3つをセットで理解する必要があるのか
- エンドポイントとは何か
- 2.1 定義:通信の「出入り口」
- 2.2 IPアドレスとポート番号の役割
- 2.3 具体例で見るエンドポイント(Web API/DB/クラウドサービス)
- DNSの基礎
- 3.1 DNSとは:名前をIPアドレスに変換する仕組み
- 3.2 名前解決の流れ(クライアント → キャッシュDNS → 権威DNS)
- 3.3 Aレコードとは
- 3.4 CNAMEレコードとは
- 3.5 AレコードとCNAMEの使い分け
- ネットワーク閉域化の基本
- 4.1 閉域化とは何か
- 4.2 なぜ閉域化するのか(セキュリティ・コンプライアンス上の理由)
- 4.3 閉域化の代表的な実現方法
- 仮想ネットワーク/プライベートサブネット
- VPNによる拠点間・拠点-クラウド間接続
- プライベートエンドポイント
- 4.4 閉域化のメリットとトレードオフ
- まとめ
- 参考文献
1. はじめに ― なぜこの3つをセットで理解する必要があるのか
「エンドポイント」「DNS」「閉域化」という言葉だけを見ると、それぞれ別の難しい話題に感じるかもしれません。ですが、これらは「手紙を届ける」ことに例えると、実は1本の線でつながっています。
- 手紙を届けるには、まず届け先の住所と部屋番号が必要です。ネットワークの世界では、これがエンドポイント(IPアドレス+ポート番号)にあたります。
- とはいえ、住所を数字の羅列(郵便番号のようなもの)でいちいち覚えるのは大変なので、普段は「〇〇さんの家」のような名前で呼びます。この「名前 → 住所」の変換を行っているのがDNSです。
- さらに、会社の重要な書類のように「誰でも読める郵便受けに入れるのではなく、社員しか入れない社内便で届けたい」という場合もあります。これがネットワークの世界の閉域化です。
つまり、「エンドポイント(住所)に、どの名前で、どの経路でたどり着くか」という流れを順番に理解すると、閉域化の設計(プライベートDNS、プライベートエンドポイントなど)も自然につながって見えてきます。本稿ではこの順番で基礎を整理します。
2. エンドポイントとは何か
2.1 定義:通信の「出入り口」
エンドポイントとは、一言でいうと「どこに接続すれば、そのサービスと話せるか」を示す接続先の情報です。難しく聞こえますが、実体はIPアドレスとポート番号の組み合わせにすぎません。
イメージとしては、次のような住所・部屋番号の考え方に近いです。
- IPアドレス=「マンションの住所」(例:
203.0.113.10) - ポート番号=「そのマンションの部屋番号」(例:
443)
つまり 203.0.113.10:443 は「住所 203.0.113.10 のマンションの、443号室(HTTPS用の部屋)」という意味になります。
IPアドレスで「どの建物(サーバー)か」を特定し、ポート番号で「その建物の中のどの部屋(アプリ)か」を特定します。この2つの組み合わせが「エンドポイント」だと覚えておけば十分です。
なお、クラウドの文脈ではもう少し広い意味で使われることもあります。「API エンドポイント」「VPC エンドポイント」のように、あるサービスにアクセスするための入り口全般を指す言葉としても使われます。呼び方は場面によって変わりますが、共通しているのは「通信の出入り口を指す言葉」という点です。
2.2 IPアドレスとポート番号の役割
- IPアドレス:ネットワーク上の機器(サーバー、PCなど)を一意に識別する「住所」。「どの建物に届けるか」を決める。
- ポート番号:同じ建物(ホスト)の中で動いている複数のサービスのうち、「どの部屋(アプリケーション)に届けるか」を決める番号(0〜65535の数字)。
代表的なポート番号(=よく使われる部屋番号)には以下のようなものがあります。
| ポート番号 | 用途 |
|---|---|
| 80 | HTTP |
| 443 | HTTPS |
| 22 | SSH |
| 3306 | MySQL |
| 5432 | PostgreSQL |
つまり通信は「IPアドレスで建物にたどり着き、ポート番号でその建物内のどの部屋かを特定する」という2段階で相手を特定しています。この組み合わせがエンドポイントです。
2.3 具体例で見るエンドポイント
言葉だけだとイメージしづらいので、実際によく出てくる場面で確認してみましょう。
-
Web API:
https://api.example.com/v1/usersにアクセスするとき、実際の通信は DNS で解決された IPアドレスの443番ポートに対して行われます。この IP:443 がエンドポイントです。 -
データベース:アプリケーションサーバーからDBに接続するとき、
db.internal.example.com:5432のような接続文字列を使います。これもホスト+ポートのエンドポイントです。 -
クラウドサービス:多くのクラウドサービスでは
storage.ap-northeast-1.example-cloud.comのような、地域(リージョン)ごとのサービスエンドポイントが用意されています。
このように、「アプリケーションがどこと通信するか」を表す最小単位がエンドポイントです。次章で解説するDNSは、この住所にあたるエンドポイントを、人間にとって覚えやすい名前で指し示すための仕組みです。
3. DNSの基礎
3.1 DNSとは:名前をIPアドレスに変換する仕組み
DNS(Domain Name System)は、example.com のようなドメイン名(人間が覚えやすい名前)と、203.0.113.10 のようなIPアドレス(機械が通信に使う住所)を対応づける仕組みです。よく「インターネットの電話帳」に例えられます。名前を調べると、対応する番号(住所)がわかる、というイメージです。
数字だらけのIPアドレスを人間がいちいち覚えて使うのは現実的ではありません。そこでDNSが「名前 → IPアドレス」の変換(名前解決)を代わりに行ってくれることで、私たちはドメイン名(〇〇.com のような名前)だけを覚えておけばよくなります。
3.2 名前解決の流れ
ブラウザで www.example.com にアクセスしたときの、大まかな名前解決の流れは次のとおりです。
クライアント(PC/ブラウザ)
│ ① www.example.com のIPは?
▼
キャッシュDNSサーバー(フルサービスリゾルバ)
│ ② キャッシュになければ問い合わせを転送
▼
ルートDNSサーバー ──→ .com のTLDサーバーの場所を回答
▼
.com TLDサーバー ──→ example.com の権威DNSサーバーの場所を回答
▼
example.com の権威DNSサーバー ──→ www.example.com のAレコード(IPアドレス)を回答
│
▼
キャッシュDNSサーバーが結果をキャッシュしつつクライアントに返答
│
▼
クライアントはそのIPアドレスに対して直接通信を開始
一見複雑に見えますが、ポイントは1つだけです。この一連の問い合わせ(再帰的な名前解決)を毎回フルで行うわけではなく、キャッシュDNSサーバーが「一度調べた答え」を一定時間(TTL:Time To Live、いわば「この答えの賞味期限」)保持しておくことで、同じ問い合わせが繰り返されるのを防いでいます。だからこそ、私たちは毎回このステップを意識せずに、瞬時にWebサイトへアクセスできています。[2]
3.3 Aレコードとは
Aレコード(Address record)は、DNSの「電話帳」に載っている情報の中でもっとも基本的なもので、ドメイン名をIPv4アドレスに直接対応づける登録内容です。
www.example.com. IN A 203.0.113.10
これは「www.example.com の住所は 203.0.113.10 です」という電話帳の1行だとイメージしてください。www.example.com にアクセスすると、DNSはこのAレコードを見て 203.0.113.10 というIPアドレスを返します。なお、IPv6アドレス(IPv4の次世代版の住所形式)に対応づける場合は AAAA レコードが使われます。[1][3]
3.4 CNAMEレコードとは
CNAMEレコード(Canonical Name record)は、あるドメイン名を別のドメイン名の別名(エイリアス)として定義する登録内容です。IPアドレスそのものではなく、「もう一つの名前」を指す点がAレコードとの違いです。
blog.example.com. IN CNAME hosting-provider.example.net.
これは電話帳でいうと「blog.example.com の連絡先は、hosting-provider.example.net を見てください」という、いわば“転送先の記載”です。実際に blog.example.com にアクセスすると、DNSはまず hosting-provider.example.net という名前を返し、さらにそのドメインのAレコードを調べて、最終的なIPアドレスにたどり着きます。名前解決が1段階増えるイメージです。[1][3]
CNAMEは、クラウドサービス(CDN、ロードバランサー、SaaSなど)を利用する際によく使われます。相手先のIPアドレスが変わる可能性があっても、CNAMEでドメイン名を指しておけば、利用者側は何も変更せずに追従できるためです。
3.5 AレコードとCNAMEの使い分け
| Aレコード | CNAMEレコード | |
|---|---|---|
| 指す先 | IPアドレス | 別のドメイン名 |
| 主な用途 | 自分で管理するサーバーのIPを直接指定 | 外部サービス(CDN、SaaSなど)のドメインへのエイリアス |
ゾーンの頂点(例:example.com 自体) |
使用できる | 原則使用できない(他のレコードと共存できないため) |
| IPアドレス変更時の運用 | DNS側でIPを変更する必要がある | エイリアス先が変わらなければ自分側の変更は不要 |
大まかな使い分けの目安としては、「自分でIPアドレスを直接管理・固定できるならAレコード」「相手側のIPが変わりうる外部サービスに委ねるならCNAME」と考えると整理しやすいです。
4. ネットワーク閉域化の基本
4.1 閉域化とは何か
ネットワーク閉域化とは、サーバーやサービスへの通信経路を、インターネットのような「誰でも入れる開かれた場所」から切り離し、特定の組織・拠点・システムの間だけで完結する、鍵付きの経路に限定することを指します。
たとえるなら、会社のビルの入り口を「誰でも入れる正面玄関」だけにするのではなく、「社員証がないと開かない裏口(専用の経路)」も用意し、重要な部屋(データベースなど)へはその裏口からしか行けないようにするイメージです。実際には、社内システムやデータベースをインターネットから直接アクセスできないようにし、社内ネットワークや専用線・VPN経由でしかアクセスできないようにする、といった構成が典型例です。
4.2 なぜ閉域化するのか
閉域化が求められる主な理由は以下のとおりです。
- 攻撃対象領域(アタックサーフェス)の縮小:そもそもインターネットという「誰でも見える場所」に出さなければ、外部からの直接攻撃(スキャン、不正アクセス試行など)を受けにくくなります。
- 情報漏えいリスクの低減:万一アプリケーション側に設定ミスや脆弱性があっても、外部から到達できる経路自体がなければ、被害につながりにくくなります。
- コンプライアンス・業界要件:金融・医療などの業界では、機密データを扱うシステムをインターネットから隔離することが、法律やガイドラインで求められる場合があります。
- 社内ポリシー:取引先や監査から「重要なDB・管理画面はインターネットに公開しない」ことを求められるケースも多くあります。
4.3 閉域化の代表的な実現方法
仮想ネットワーク/プライベートサブネット
クラウド上に、他の利用者とは仕切られた「自社専用の敷地」にあたる仮想ネットワークを作成し、その中にさらにインターネットへの出入り口を持たない、社内限定のエリア(プライベートサブネット)を用意する方法です。このエリア内のリソースには、インターネット側から直接到達できません。呼び方はクラウド事業者によって異なり、たとえばAWSでは「VPC(Virtual Private Cloud)」[6]、Azureでは「仮想ネットワーク(VNet)」[7]、GCPでは「VPC ネットワーク」[8]と呼ばれます。
VPNによる拠点間・拠点-クラウド間接続
オフィスなどの拠点と、クラウド上の仮想ネットワークやデータセンターとの間に、暗号化された「専用トンネル」(VPN:Virtual Private Network)を張る方法です。使っている回線自体は一般のインターネット回線でも、通り道が暗号化・限定されているため、論理的には専用線のような閉じた経路として通信できます。AWSの「Site-to-Site VPN」[9]、Azureの「VPN Gateway」[10]、GCPの「Cloud VPN」[11]などが代表例です。
プライベートエンドポイント
クラウドサービス(ストレージやデータベースなど)へのアクセスを、インターネットを経由せず、クラウド事業者のネットワーク内部だけで完結させる仕組みです。仮想ネットワーク内に専用のエンドポイントを作成すると、そのサービス専用のプライベートなDNS名・IPアドレスが発行され、外部に一切トラフィックを出さずにアクセスできます。同様の機能は各クラウドで提供されており、AWSでは「VPCエンドポイント(AWS PrivateLink)」[12]、Azureでは「Private Link/プライベートエンドポイント」[4][5]、GCPでは「限定公開の Google アクセス」や「Private Service Connect」[13]と呼ばれます。ここで2章・3章で扱った「エンドポイント(住所と部屋番号)」と「DNS(電話帳)」の知識が、そのままつながってきます。
4.4 閉域化のメリットとトレードオフ
閉域化にはセキュリティ上の明確なメリットがある一方で、以下のような「不便さ・コスト」というトレードオフも伴います。
- 運用の複雑さの増加:VPNやプライベートエンドポイントの設定・維持管理という手間が新たに必要になり、構成がシンプルなインターネット公開型に比べて運用の手間が増えます。
- アクセス経路の制約:社外からアクセスする場合はVPN接続や踏み台サーバーなどを経由する必要があり、開発・運用時の利便性が下がる場合があります。
- コスト:VPN機器やプライベートエンドポイントの利用には、追加の費用が発生することが多くあります。
そのため実務では、「なんでもかんでも閉域化する」のではなく、外部公開が必要なもの(Webフロントエンドなど)とそうでないもの(DB、管理画面、社内API)を切り分け、後者だけを閉域化するという設計が一般的です。
5. まとめ
- エンドポイントは、「住所(IPアドレス)+部屋番号(ポート番号)」の組み合わせで表される、通信の出入り口です。
- DNSは、人間が扱いやすいドメイン名と、通信に使われるIPアドレスを結びつける「電話帳」のような仕組みです。Aレコードはドメイン名をIPアドレスに直接対応づけ、CNAMEレコードはドメイン名を別のドメイン名の別名(エイリアス)として扱います。
- ネットワーク閉域化は、通信経路をインターネットという「誰でも入れる場所」から切り離し、特定の範囲内だけに限定することで、攻撃対象領域の縮小や情報漏えいリスクの低減を図る手法であり、仮想ネットワーク・VPN・プライベートエンドポイントなどによって実現されます。
- 閉域化されたクラウドサービスは、専用のプライベートエンドポイント(=住所+部屋番号)に対して、専用のDNS名(電話帳のエントリ)で名前解決が行われる、という形で、本稿で扱った3つのトピックはすべてつながっています。
6. 参考文献
- IETF, RFC 1035, Domain Names - Implementation and Specification. https://datatracker.ietf.org/doc/html/rfc1035
- Microsoft, DNS の名前解決の仕組み. https://learn.microsoft.com/ja-jp/windows-server/networking/dns/dns-top
- Microsoft, リソース レコードの種類 (A、CNAME など). https://learn.microsoft.com/ja-jp/previous-versions/windows/it-pro/windows-server-2003/cc772774(v=ws.10)
- Microsoft, Azure Private Link とは. https://learn.microsoft.com/ja-jp/azure/private-link/private-link-overview
- Microsoft, プライベート エンドポイントとは. https://learn.microsoft.com/ja-jp/azure/private-link/private-endpoint-overview
- AWS, Amazon VPC とは. https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html
- Microsoft, 仮想ネットワーク (VNet) の概要. https://learn.microsoft.com/ja-jp/azure/virtual-network/virtual-networks-overview
- Google Cloud, VPC ネットワークの概要. https://cloud.google.com/vpc/docs/vpc?hl=ja
- AWS, AWS Site-to-Site VPN とは. https://docs.aws.amazon.com/ja_jp/vpn/latest/s2svpn/VPC_VPN.html
- Microsoft, VPN Gateway とは. https://learn.microsoft.com/ja-jp/azure/vpn-gateway/vpn-gateway-about-vpngateways
- Google Cloud, Cloud VPN の概要. https://cloud.google.com/network-connectivity/docs/vpn/concepts/overview?hl=ja
- AWS, AWS PrivateLink とは. https://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/what-is-privatelink.html
- Google Cloud, Private Service Connect の概要. https://cloud.google.com/vpc/docs/private-service-connect?hl=ja
この記事は、学習過程で整理した情報です。もし理解に間違いがありましたら、ご指摘いただけますと幸いです。