【サービスを作ろう】はじめてのサーバ 〜VPCについて1〜

こんにちは!ドイです。

GWが終わり、身も心もスッキリしないような。。
ハイテンションな筋トレ動画を見つけたので、運動しつつ調子を戻したいと意気込むこの頃です。

さて、前回の記事ではEC2の立ち上げをしたかと思います。
こちらが前回の記事です。

tech.arms-soft.co.jp

インスタンスの詳細設定の際に、VPCの設定については知識量が膨大となるため、説明を省きました。今回は、VPC、及び周辺知識について勉強していきたいと思います。

リージョン/AZ(アベイラビリティーゾーン)

AWSでは、世界各地に物理的なデータセンターが用意されています。大きなまとまりをリージョンと言い、複数のデータセンターであるAZで構成されています。おそらく、EC2立ち上げの際などに、リージョンの選択をしたかと思います。

VPC(Virtual Private Cloud)

先ほどのリージョン/AZが物理的な物だったのに対し、こちらは論理的な区分となります。プライベートIPアドレスの技術を用いて、仮想ネットワークを作成します。
ここまでだと、分かったような、分かっていないような。概念が曖昧で理解が難しいようです;;少し細かい単位で、理解していこうと思います。

IPアドレス

ちょっと手を動かして、IPアドレスについて理解をしていきます。
お使いのPCで、設定からIPアドレスを確認できます(説明は省きます)。では次にブラウザから「IP 確認」と調べて、適当なサイトでIPアドレスを確認してみてください。先ほどの、設定から見たIPアドレスとは異なる数字の羅列が表示されているかと思います。
そもそもIPアドレスとは、身近な概念でいうと住所のようなものです。通信をする上で、どのPCからどのPCに通信すればいいのかという情報を持っています。先ほど調べていただいたIPアドレスですが、同じ住所でも意味合いが違います。

[パブリックIP]:インターネット利用時に割り振られるIPアドレスです。ブラウザから調べて、表示されていたIPアドレスがこれに当たります。先ほどの住所の概念を用いると、「〇〇県〇〇市〇〇町1-1 〇〇様」のように、特定の家を特定する情報だとイメージしてみてください。

[プライベートIP]:社内LANや各家庭のネットワーク機器から割り振られるIPアドレスです。PCの設定から確認したIPアドレスがこれに当たります。住所の概念を用いると、先ほどは特定の家でしたが、プライベートIPは、子ども部屋の〇〇子さん、居間にいるお母さんといった風に、特定の家の場所についての情報だと考えてみてください。プライベートIPは、パブリックIPの中で一意に割り当てられます。

ちなみにですが、先ほどブラウザから調べたIPアドレス(パブリックIP)は、固定でなく変動する場合があります。マン ションにお住まいの方など、調べてみてください。日によって、パブリックIPが変わっているかもしれません。マンションが管理しているルーターのDHCP(Dynamic Host Configuration Protocol)が自動的にIPアドレスを割り振っているのですが、IPを振り直している場合があります。昨日と今日でIPアドレスが異なっていたら不思議ですが、理由があるとわかると面白いですよね。

クラス

パブリックIPついて、深掘りします。
先ほど、パブリックIPを調べてもらったかと思いますが、ネットワークの規模を調べることができます。例えばパブリックIPが「192.169.×××.×××」の場合、クラスCの小規模ネットワークに当たるとわかります。
下記の表から抜けているIP(10.0.0.0〜や192.168.0.0〜)は、パブリックIPでなく、プライベートIPとして使用されます。

パブリックIPアドレス クラス 規模
1.0.0.0 ~ 9.255.255.255
11.0.0.0 ~ 126.255.255.255
クラスA 大規模ネットワーク(1600万台)
128.0.0.0 ~ 172.15.255.255
172.32.0.0 ~ 191.255.255.255
クラスB 中規模ネットワーク(65000万台)
192.0.0.0 ~ 192.167.255.255
192.169.0.0 ~ 223.255.255.255
クラスC 小規模ネットワーク(254台)

なぜクラスが256台でないのかと不思議に思いましたか? 0.0.0.0と1111.1111.1111.1111は特別な意味合いを持ち、256から2引いた数の254台になるそうです。
※省略しますが、ブロードキャストアドレスなどで調べるといいかもしれません。

もしクラスAのネットワークに、実際は100台のPCしか利用しない場合、使用していない分無駄になりそうですよね。

CIDR(サイダー)

先ほどのクラスの最後で述べた通り、クラスによる分類では無駄が出そうです。
CIDRでは、クラスの難点であった無駄をなくし、IPアドレスを効率的に利用することができます。

IPアドレスから「ネットワーク」と「特定のホスト」の情報を、「サブネットマスク」と呼ばれるものを見るとわかります。 サブネットマスクも、先ほどのIPアドレスと同様に、設定から確認することができます。(こちらも説明を省きます)

IPアドレスとサブネットマスクを10進数から2進数に変換します。双方を比較したときに、サブネットマスクの「1」に当たる部分は「どのネットワークか」「0」に当たる部分はホストの情報になります。さらに、IPアドレスのみではそこまでがサブネットマスクかわからないので、××××.××××.××××.××××/24のように、2進数表記の何桁目までが「ネットワーク」の情報だと伝えることができるのです。これをCIDR表記と言います。
クラスでは、IPアドレスが無駄になる可能性がありましたが、CIDR/サブネットマスクのでは、IPアドレスのネットワーク部分を自由に決められるので、無駄なく利用することができるのです。

IPアドレスについて調べている中で、IPv4やIPv6といった名前を見たかと思います。 こちら無料版なのですが、とても勉強になったため、おすすめです。

booth.pm

まとめ

今回は、VPCの中でもIPアドレスに特化して勉強しました。次回は、NATゲートウェイ、インターネットゲートウェイといった概念について学んでいきたいと思います。