「インターネットに出られない」は最強の防御?プライベートサブネットの真実を紐解く
インフラエンジニアの道を歩み始めると、必ず耳にするのが「パブリックサブネット」と「プライベートサブネット」という言葉ですよね。
「なぜわざわざインターネットに出られない場所を作るの? 不便じゃないの?」
そんな疑問を抱くのは、あなたがシステムの安全性を真剣に考えている証拠です。今回は、クラウドという広大な世界において、プライベートサブネットがなぜ「鉄壁の要塞」と呼ばれるのか、その仕組みを郵便配達に例えて優しく解説していきます。
—
1. そもそも「サブネット」ってなんだろう?
クラウド上のネットワークは、巨大なマンションのようなものです。そのマンションの各部屋に、10.0.1.0/24 といった「部屋番号(IPアドレス)」が割り振られています。
このマンション内で、「誰でも出入りできるエントランスがあるエリア」がパブリックサブネット、そして「住人しか入れない、エントランスを通らずに外には出られないエリア」がプライベートサブネットです。
郵便配達でイメージしてみよう
- パブリックサブネット: 誰でも手紙(パケット)を届けられるし、住人が外に手紙を出すこともできる。
- プライベートサブネット: 外部からは郵便配達員すら入れない。住人が外に手紙を出したいときは、一度「転送センター(NATゲートウェイ)」を通さないと外に出られない。
この「勝手に外に出られない」という制約こそが、セキュリティの要(かなめ)なのです。
—
2. なぜインターネットを「遮断」するのか?
もし、データベースサーバーがインターネットに直接繋がっていたらどうなるでしょう? 世界中の悪意あるハッカーから「パスワードを当てる攻撃」や「脆弱性を突く攻撃」を24時間受け続けることになります。
プライベートサブネットに置くことで、「外からは物理的に見えない(アクセスできない)」状態を作れます。これが「ゼロトラスト」や「多層防御」の第一歩です。
プライベートサブネットの3つの鉄則
1. 外部からの直接アクセスを拒否する: インターネットゲートウェイ(出口)へのルートを持たせない。
2. 必要なときだけ外に出る: OSのアップデートなど、どうしても外との通信が必要な時だけ、NATゲートウェイを経由する。
3. 踏み台を経由する: 管理者がメンテをする際は、安全な「踏み台サーバー」を通るルートを確保する。
—
3. 実践:Terraformで「遮断された世界」を作る
では、実際にコードレベルではどうなっているのでしょうか。クラウド構築のスタンダードである Terraform を例に、プライベートサブネットの骨組みを見てみましょう。
# プライベートサブネットの定義
resource "aws_subnet" "private_subnet" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.2.0/24"
availability_zone = "ap-northeast-1a"
tags = {
Name = "my-private-subnet"
}
}
# ルートテーブル:ここがポイント!
# インターネットゲートウェイへのルートをあえて書かないことで、
# 「外には出られない」状態を強制します。
resource "aws_route_table" "private_rt" {
vpc_id = aws_vpc.main.id
# ルートを空にすることで、このサブネット内のリソースは
# VPC内での通信しかできなくなります。
}
この設定を見て「えっ、本当にこれでいいの?」と思うかもしれません。そう、「何もしないこと」こそが、最強のセキュリティ設定なのです。
—
4. でも、アップデートはどうするの?(NATゲートウェイの登場)
「じゃあ、OSのセキュリティアップデートはどうやってダウンロードするの?」という疑問が湧きますよね。ここで登場するのが NATゲートウェイ です。
これは「一方通行の出口」です。
- 中から外へ: 「アップデートちょうだい!」というリクエストは通る。
- 外から中へ: 「こんにちは、誰かいませんか?」という外部からのアクセスは、NATゲートウェイが「許可されていない通信だ」として遮断する。
まさに、中から外へゴミ出しに行くための「秘密の裏口」のような存在ですね。
—
5. まとめ:一歩ずつ堅牢なインフラへ
ネットワークの世界は、目に見えないパケットが飛び交う不思議な場所です。最初は難しく感じるかもしれませんが、こうして「郵便配達」や「マンション」に例えてみると、少し身近に感じませんか?
- パブリック: 誰でも入れる玄関口。
- プライベート: 外部から見えない、守られた居住空間。
- NATゲートウェイ: 安全を確認しながら外と通信するための裏口。
まずはこの構成を理解するだけで、あなたのインフラの守りは格段に固くなります。焦らず、一歩ずつ。次は「セキュリティグループ(ファイアウォール)」の設定について学んでいくと、さらに世界が広がりますよ!
これからも、一緒に現場で役立つ知識を深めていきましょう。エンジニアの旅は、ここからが面白いんですから。
コメント