Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

【AWS入門】③サブネット, DHCP, ルーティング, NATをそれぞれ徹底解説


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210714061839p:plain

おはようございます。Shotaです。

今回も前回と同様にAmazon VPCについて徹底解説します。

今回の記事で解説するのは次の通りです。

  • サブネットとDHCP
  • ルーティングとNAT


これら2つのポイントに絞って徹底解説します。



サブネットとDHCP


サブネットとは

サブネットとは、大きなネットワークを小さく分割したネットワークです。ネットワークを分割することで直接通信できる範囲を限定し、ファイアウォールを設定してセキュリティの協会を作る目的で使います。AWSの場合、そのサブネットをどこのアベイラビリティゾーンに置くのかを設定します。言い換えれば、サブネットは物理的な場所を特定します。

VPCでは、まず最初にユーザの使用できる範囲でネットワークの範囲を作成し、さらにその下に用途に応じてサブネットを作成します。

サブネットで分ければ、サブネットごとに役割を変えることができます。通常のネットワークではサブネットの通信はルーターが必要ですが、VPCの場合はルーターがなくても互いに通信できます。


ネットワークの範囲とCIDR表記

ネットワークやサブネットの範囲を分けるには、CIDR(サイダー)という表記を利用します。プレフィックス表記とも呼びます。

/20/24のように、ネットワークを数字を使って表記します。これは、255.255.255.0255.255.240.0のようなサブネットマスク表記で記述することもありますが、AWSではCIDRを利用しています。

CIDRはIPアドレスの数を表しています。


IPアドレスの割り振りとDHCP

ネットワーク上でIPアドレスが割り振られているのは、EC2インスタンスやRDSインスタンスなどです。AWSVPCは非常に特殊なので、ルーターやインターネットゲートウェイIPアドレスには先頭の予約アドレスなどが使われています。

ネットワークやサブネットで使用するIPアドレスの範囲は管理者が設定できますが、個々のホストにIPアドレスを設定するのはDHCPによって自動的に行われます。

VPC上にはDHCPサーバが稼働しており、接続したインスタンスにはそのサブネットの範囲におけるいずれかのIPアドレスが割り当てられています。VPCで通常使用するIPアドレスは、プライベートIPアドレスです。


ルーティングとNAT


ネットワークとルーティング

ネットワークとは、複数のパソコンをお互いに通信できるように接続した状態を指します。パソコンが一般的に普及する前は、パソコン同士を一対一で直接つなぐ形式でのネットワークがありましたが、現在ではLANやWAN、インターネットの形でルーターを介したデータのやり取りがほとんどです。

会社や学校のようにたくさんのパソコンがある環境では、パソコンを一対一で繋ぐのは現実的ではありません。そこで、一旦ルータにデータを送信してルータから目的の相手へ送信してもらう仕組みにします。これをルーティングと呼びます。


IPアドレスゲートウェイ

郵便屋さんが手紙や書類を届けるように、ルータ経由でパソコンにデータを届けるためには相手を識別させる宛先が必要です。この宛先になるのがIPアドレスです。IPアドレスは、クライアントパソコンやサーバだけではなく、ルーターなどのネットワーク内すべてのホストに対して設定されます。

相手に何らかのデータを送信する際は、宛先のIPアドレスを指定します。すると、そのデータはまずネットワーク同士を接続しているルーターに届けられます。ルーターは自分のネットワーク内のホスト宛なら、データをそのホストに届けますが、そうでなければ更に別のルーターに転送します。

ルーターはネットワークの門となる位置にあることから、Gateway(ゲートウェイ)とも呼ばれます。ゲートウェイのうち、「自分以外の全ての接続されているもの」のことをデフォルトゲートウェイと呼びます。


IPマスカレード

同じ会社内のパソコンにデータを送信したい場合は、ルーターが宛先を知っています。では、離れた場所に住んでいる友人にデータを送信する場合はどうするかというと、Webサービスを利用することが大半です。

言い換えれば、LAN内以外は基本的にインターネットを経由することになります。

現在、LAN内の機器はすべてプライベートIPアドレスが振られる傾向にあります。しかし、インターネット上ではグローバルIPアドレスがないと識別してもらえないのでゲートウェイがプライベートIPアドレスグローバルIPアドレスを変換し、同じ家庭内の人や社内の人は一つのグローバルIPアドレスを共同で利用します。

この変換を担当するのがIPマスカレード(NAPT)です。


NAT(Network Address Translation)

IPマスカレードを使うと中から外で出ていけますが、外から入ってくることはできません。IPマスカレードは、中から外へのリクエストに対し、外から中へのレスポンスは返しますが、外からのリクエストには回答しません。

しかし、これらはクライアントのケースです。サーバをLANの中に置く場合は、当然外からのリクエストに応える必要があります。この場合は、IPマスカレードの設定でサーバだけを双方向に通信できるようにします。

ところが、IPマスカレードでは一つのグローバルIPアドレスしか認識できないので、複数台で設定する場合はグローバルIPアドレスが複数設定できるNAT(Network Address Translation)を使います。

IPマスカレードとNATはよく似ていますが、IPマスカレードは1対多であるのに対し、NATは多対多です。また、IPマスカレードはポート番号(どのソフトウェアに通信を送るのかを識別する番号)の変換もしますが、NATはポート番号の変換はしないという違いがあります。


まとめ

今回の記事では主に以下の内容について解説しました。

  • サブネット
  • DHCP
  • ルーティング
  • NAT(Network Address Translation)


今日の記事はこれで終了です。

【参考資料・サイト】

サブネットとは?|サブネット化の仕組み cloudflare株式会社のブログ

https://www.cloudflare.com/ja-jp/learning/network-layer/what-is-a-subnet/