AWSを使い始めたエンジニアがVPCやセキュリティグループの設定でつまずく原因の多くは、ネットワークの基礎知識が曖昧なままAWSに入ってしまうことです。
この記事では、AWS初心者エンジニア(実務経験あり)を対象に、VPC・セキュリティグループ・NATゲートウェイを理解するための前提知識を体系的に整理します。
オンプレミスのネットワーク概念がAWSのどの機能と対応しているかを明確にしながら、EC2への接続に必要なSSH・鍵認証の基本まで解説します。
1. IPアドレス・サブネットマスク・CIDR表記
インターネット上の機器を識別するための「住所」がIPアドレスです。現在広く使われるIPv4は32ビット(4オクテット)で表現され、例えば 10.0.0.1 のように書きます。
IPアドレスには「ネットワーク部(どのネットワーク?)」と「ホスト部(そのネットワーク内のどの機器?)」の2つの役割があります。その境界を示すのがサブネットマスクです。

CIDR(Classless Inter-Domain Routing)は、IPアドレスの後ろに /24 のようにスラッシュとビット数を付けてネットワーク範囲を表す記法です。例えば 192.168.1.0/24 は上位24ビットがネットワーク部であることを示し、アドレス範囲は 192.168.1.0 〜 192.168.1.255 になります。
CIDR別のホスト数の目安は以下のとおりです。
| CIDRプレフィックス | ホスト数 | 主な用途 |
|---|---|---|
| /16 | 65,536 | VPC全体 |
| /24 | 256 | サブネット(中規模) |
| /28 | 16 | サブネット(最小) |
AWSとの対応:VPCとサブネットのCIDRは /16〜/28 の範囲で指定します。サブネット1つあたり先頭4つ・末尾1つの計5アドレスがAWSに予約されるため、実際に使えるホスト数は「2^(32-プレフィックス長) – 5」になります。
2. パブリックIP / プライベートIPの違い
IPアドレスはパブリックIPとプライベートIPの2種類に大別されます。パブリックIPはインターネット上で直接使えるアドレスであるのに対し、プライベートIPは組織内ネットワーク専用のアドレスで、外部から直接到達できません。
RFC1918で定められたプライベートIPアドレス範囲は以下のとおりです。

AWSとの対応:AWSのVPCはRFC1918に準拠したプライベートIPアドレス範囲を推奨しています。外部から直接アクセスさせたくないDBやバックエンドサーバーは、プライベートサブネット(プライベートIPのみ)に配置するのが基本設計です。
3. デフォルトゲートウェイとルーティング
ルーティングとは、パケットの宛先IPアドレスを見て「どこへ転送するか」を決めることです。宛先がルーティングテーブルのどのエントリにも一致しない場合、デフォルトゲートウェイ(0.0.0.0/0)に転送されます。デフォルトゲートウェイは、宛先が自分のネットワーク外だったときにまず送る先の機器です。

AWSとの対応:AWSではサブネットごとにルートテーブルを設定します。パブリックサブネットは 0.0.0.0/0 をインターネットゲートウェイ(IGW)へ、プライベートサブネットは 0.0.0.0/0 をNATゲートウェイへルーティングするのが標準構成です。
4. DNS(ドメイン名前解決)の仕組み
DNS(Domain Name System)は、ドメイン名(例:example.com)をIPアドレスに変換する仕組みです。「インターネットの電話帳」とも呼ばれます。主なDNSレコードの種類は以下のとおりです。

🔑 AWSとの接続ポイント
AWSにはRoute 53というマネージドDNSサービスがあります。また、VPC内ではAWS提供のDNSサーバー(VPC CIDR + 2のアドレス)が自動的に機能し、EC2インスタンスに自動でプライベートDNS名(例: ip-10-0-1-5.ap-northeast-1.compute.internal)が付与されます。
5. ポート番号とプロトコル(TCP/UDP)
ポート番号はサーバー上の「部屋番号」であり、1台のサーバーが複数のサービスを同時に提供するための識別子です。TCPは接続型・信頼性が高く再送制御ありのプロトコル(HTTP/HTTPS・SSH・メール等)、UDPは非接続型・高速で再送なしのプロトコル(DNS・動画ストリーミング等)です。
AWSでよく使うポート番号は以下のとおりです。

TCP と UDP の違いは以下のとおりです。

🔑 AWSとの接続ポイント
AWSのセキュリティグループのインバウンドルールでは「プロトコル+ポート番号+送信元CIDR」の組み合わせでアクセス許可を設定します。EC2でWebサーバーを公開する際は ポート80・443をインターネット(0.0.0.0/0)へ許可、SSH接続は ポート22を自分のIPのみに制限 するのが基本です。
6. NATの仕組み
NAT(Network Address Translation)は、プライベートIPとパブリックIPを相互変換する技術です。複数の端末がひとつのグローバルIPを共有してインターネットに接続できます。NATの特徴として、アウトバウンド(内→外)の通信は可能ですが、外部からの接続開始は不可(プライベートIPが隠蔽される)という点が挙げられます。

🔑 AWSとの接続ポイント
AWSのNATゲートウェイはこのNATを実現するマネージドサービスです。プライベートサブネット内のEC2がパッケージ更新などでインターネットに出る際に必要です。重要なのは「アウトバウンドは可能、外部からの接続開始は不可」という点です。これがプライベートサブネットのセキュリティの要です。
7. ファイアウォールの概念(セキュリティグループ・NACLの前提)
ファイアウォールは、IPアドレス・ポート番号・プロトコルを条件に通信を「許可」または「拒否」するフィルタリング機能です。ステートフルとステートレスの2種類があり、AWSではそれぞれ異なるサービスに対応しています。


ステートフルは通信の往復を追跡し戻りパケットを自動許可しますが、ステートレスは各パケットを独立に判定するため戻りにも明示的なルールが必要です。
二重防御の構造:インターネット → [NACL(サブネット入口)] → [SG(インスタンス入口)] → EC2 という二段構えのセキュリティ設計になっています。
⚠️ 重要な違い:SGは「許可のみ」、NACLは「拒否も可能」
セキュリティグループは許可ルールしか作れません(デフォルト全拒否)。NACLは許可・拒否の両方のルールを番号順に評価します。細かいトラフィック制御はセキュリティグループで行い、NACLはサブネット全体のガードレールとして使うのが推奨パターンです。
8. LAN/WAN・セグメント分割の概念
LAN(Local Area Network)は同一建物・組織内のネットワーク、WAN(Wide Area Network)は離れた場所をつなぐ広域ネットワークです。ネットワークをセグメントに分割することで、セキュリティ向上(被害範囲の局所化)・トラフィック制御(不要な通信の遮断)・管理効率化(役割ごとの分離管理)といったメリットが得られます。

AWSとの対応:AWSのVPCは「クラウド上のLAN」です。パブリックサブネット(Webサーバー層)→ プライベートサブネット(アプリ層・DB層)という三層構成がAWSの標準的な設計パターンです。
9. SSH・鍵認証の仕組み
SSH(Secure Shell)は、ネットワーク越しにサーバーを安全に操作するプロトコルです。通信内容が暗号化されるため、パスワードやコマンドが盗聴されません。AWSのEC2は公開鍵認証のみを使用します。
公開鍵認証の流れは以下のとおりです。
- クライアントが接続要求(ポート22)を送る
- サーバーがチャレンジ(乱数)を送付する
- クライアントが秘密鍵でチャレンジに署名して返送する
- サーバーが公開鍵で検証し、成功すればログインを許可する

秘密鍵はネットワーク上を流れないため安全です。EC2への接続コマンド例を示します。
# 鍵ファイルのパーミッション設定(必須)
chmod 400 my-key.pem
# EC2へのSSH接続
ssh -i my-key.pem ec2-user@<パブリックIP>
# 踏み台サーバー経由の接続(ProxyJump)
ssh -i my-key.pem -J ec2-user@<踏み台IP> ec2-user@<プライベートIP>セキュリティの注意点:秘密鍵(.pemファイル)は絶対に第三者に渡さないでください。また、セキュリティグループのポート22を 0.0.0.0/0 に開放せず、固定IPのみ許可する設定を推奨します。プライベートサブネット内のEC2には踏み台サーバー(Bastion Host)経由でアクセスする設計が基本です。
AWSとの対応:EC2作成時にキーペアを生成します。公開鍵はEC2へ自動配置され、秘密鍵(.pem)はダウンロードして手元で管理します。紛失した場合は再取得できないため厳重に保管してください。
まとめ:ネットワーク基礎とAWS機能の対応関係
この記事で解説したネットワーク基礎知識とAWS機能の対応関係を整理します。
| ネットワーク基礎 | 対応するAWS機能・概念 |
|---|---|
| IPアドレス・CIDR | VPC・サブネット設計の基礎 |
| パブリック/プライベートIP | サブネット役割分担の基礎 |
| ルーティング | ルートテーブル・IGW・NATゲートウェイの前提 |
| DNS | Route 53・VPC内DNSの動作理解 |
| ポート・プロトコル | セキュリティグループのルール設定 |
| NAT | NATゲートウェイの前提知識 |
| ファイアウォール | SG(ステートフル)とNACL(ステートレス)の二重防御 |
| LAN/WAN・セグメント分割 | VPCの三層構成設計 |
| SSH・鍵認証 | EC2接続の標準手順・キーペア管理 |
これらの基礎知識を押さえた上でAWSの各サービスを触ると、設定値の意味が格段に理解しやすくなります。次のステップとして、実際にVPCを構築しながら各概念を手を動かして確認することをおすすめします。


コメント