これまであまり物理的なネットワークに触れてこなかったエンジニアを対象に、AWSを用いてネットワークの基礎知識を解説する連載。今回は、インターネットへの接続について解説し、AWSにおけるNATの設定手順を示す。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
これまであまり物理的なネットワークに触れられてこなかったSEやサーバ管理者、情シスなどの方を対象にネットワークの基本を「Amazon Web Services」(AWS)を用いて解説する本連載「AWSで学ぶクラウド時代のネットワーク基礎知識」。連載初回は、基本的なIPネットワークの概念を解説し、「Amazon Virtual Private Cloud」(VPC)の操作手順を示しました。第2回の本稿では、インターネットへの接続について解説し、AWSにおける「Network Address Translation」(NAT)の設定手順を示します。最後に、「Appendix」として環境構築の手順も記すので、必要な方はご参照ください。
インターネットは現代社会においては電気や水道などと同様に欠かせないライフラインの一つといえます。AWSをはじめ、さまざまなクラウドサービスを利用する場合もなくてはならない重要な通信手段です。
このインターネット上での通信は、連載初回で解説したインターネットプロトコルに基づきます。具体的には、通信するPCやスマートフォンなどがIPパケットを作成し、デフォルトゲートウェイのブロードバンドルーターに転送し、そこからインターネット上の多数のルーターが自身のルートテーブルを基に、宛先となるIPアドレス宛てにルーティングして転送することで最終的に宛先の端末に到達して通信する形となります。
ただしインターネットが急速に拡大して非常に広大なネットワークとなった結果、IPv4においてIPアドレスが枯渇する問題が発生しました。IPv4アドレスは32bitで構成されるので、40億個強(232=42億9496万7296)のIPアドレスが存在することになります。仮に個人にIPアドレスを割り当てる場合、現在全世界の人口は80億人近く、2人に1つしか割り当てられないことになります。
そこで128bitの「IPv6アドレス」を利用する「IPv6プロトコル」が開発されました。またIPv6までの対応策として、インターネット上でIPv4アドレスを効率的に利用できるようにネットワークの途中でアドレスを変換するNATという技術が開発されました。
現在はIPv6も利用されていますが、NATによってIPv4もまだまだ利用されている状況です。ただしIPv4アドレスは既に枯渇しているので、今後IPv6の利用が加速します。
NATによるIPv4アドレスの効率利用の方法について説明します。
皆さんが荷物を郵送することを考えてください。荷物を郵送する際には住所を指定しますが、これは家などの「場所」に対して割り当てられます。そこに住む「人」ごとに割り当てられるわけではありません。この考え方をインターネットの世界にも持ち込みます。
まず、前提として家内などのローカルなネットワーク(LAN:Local Area Network)では、各端末自身にインターネットでは利用できない「プライベートIPアドレス」を割り当てます。プライベートIPアドレスはローカルなネットワークでの利用を前提としており、他のネットワークと重なることを気にせずに利用できます。LAN内の端末間はこのプライベートIPアドレスで通信します。プライベートIPアドレスの具体的な範囲は下記の通りです。
インターネットに通信する場合、ブロードバンドルーターによってパケットの送信元IPアドレスをプロバイダーから割り当てられるインターネット上で利用できる「グローバルIPアドレス」または「パブリックIPアドレス」にNATで変換して通信します。
最近は1人1台あるいはそれ以上のPCやスマートフォンを持つことが当たり前です。小規模な家庭のLANでも10個以上のIPアドレスを利用するようになりました。対して、NATによってインターネット通信のためには各家庭に1つのグローバルIPアドレスがあればよく、グローバルIPアドレスの数を抑制できます。
ただし、ここで注意点が1つあります。インターネットに通信するに当たり、多くのプライベートIPアドレスが1つのグローバルIPアドレスに変換され通信されることになりますが、「戻ってきたパケットに対して、ブロードバンドルーターがどのプライベートIPアドレス(端末)に対して通信を返せばいいのか」が分からなくなるということです。
この注意点に対して、例えばポート番号を利用するTCP/UDPパケットなら、送信元IPアドレスに加え送信元ポート番号を他の通信と異なる値にすることで戻りの通信が「どの端末からの通信か」を判別できるようにします。このように、IPアドレスだけでなくポート番号も含めて変換することを、「Network Address Port Translation」(NAPT)や「IPマスカレード」といいます。
NATの具体的な動作についてご興味がある方は下記記事を参考にしてください(※以下の記事で出てくる「PAT」はCisco Systemsの用語で、「NAPT」「IPマスカレード」のことを指します)。
ここからは、AWS環境でのインターネット通信について解説します。第1回で作成した下記のVPC環境を基に説明します。
Copyright © ITmedia, Inc. All Rights Reserved.