システム構築する際、最初に必要なのはネットワーク構成の検討です。AWSのネットワーク構成には、Amazon VPCとサブネットを使います。
ネットワークエンジニアの方であれば、VPCやサブネットは簡単に理解できるのかもしれません。しかし、アプリケーションエンジニアだった私は、理解に苦労しました。
「Amazon VPCとサブネットを使ってみよう」と思ってAWSの公式HPを見てみると
こりゃ難しくて、お手上げだな
となりました。
公式HPを見てもさっぱり理解できないので、色々なサイトを見ながら徐々に理解していきました。
色々なサイトを見て理解していくのも大変なので、このページ1枚でAmazon VPCとサブネットの内容を5分でわかるようにまとめたいと思います。
ネットワーク系は抽象的な概念で、文字ではイメージがしづらいと思いますので、図で説明していきたいと思います。それでは早速解説していきます!
Amazon VPCとサブネットとは?
Amazon VPCは、AWS上で自分で構築できる仮想ネットワーク空間です。
サブネットは、VPC(仮想ネットワーク)を更に分割するために利用します。
具体的なイメージは下記の通りです。
①VPCで仮想ネットワークを作る
EC2やRDSを利用するシステムを構築する際、まずはVPCを作成する必要があります。
VPCを作成する際、「CIDR」というIPアドレスの範囲を考える必要があります。
CIDR
そもそもIPアドレスってなんだっけ?
IPアドレスはネットワーク上の住所で、2進数で8桁区切りの4セットの数値で、合計32桁あります。(例:192.168.0.1)
その数値はネットワークアドレス部とホストアドレス部に分かれます。
ネットワークアドレス部:どのネットワークかを示す
ホストアドレス部:どのホストかを示す
それを踏まえてCIDRとは
CIDRはネットワークアドレス部とホストアドレス部をどのように設定するか決めるためのものです。
CIDRの具体例は下記の通りです。
■CIDRの決め方
・ホストアドレスが実際に自分が割り振れるアドレス数となるため、「ホストアドレスをいくつにするのか」という観点で検討します。
・ネットワークアドレス部は「RFC1918」のレンジで決めることが推奨されています。推奨しないアドレスを利用すると、外部のサービスとアドレスが重複して想定外の動作となる可能性があります。
・作成したVPCと接続する環境と重複しないアドレス範囲を指定する必要があります。
「よくわからなくて決めづらい!という方は、下記の2択で選んでください。
①200個以内のサーバで足りる方は、「192.168.0.0/24」
②200個以上のサーバが必要な方は、「172.16.0.0/16」
②AZを指定してサブネットを作成
VPCを作成したら、続いてはサブネットを作成します。サブネットはAZを跨げないため、AZを指定して作成します。
AZの概要については、下記の通りです。
■AZ詳細
AZ詳細は下記にまとめていますので、詳しく知りたい方はご参照ください。
プライベートサブネットとパブリックサブネットの2つありますが別々のサービスではなく、どちらも同じサブネットというサービスです。
外からアクセスできるものがパブリックサブネット、
外からアクセスできないものがプライベートサブネットです。
サブネットはAZをまたぐことができないため、サブネットは4つが基本パターンとなります。(AZが3つの場合はサブネット6つ)
③EC2やRDSをサブネット内に配置
VPCとサブネットを作成したら、サブネット内にEC2やRDSを配置します。
この流れで、システムに配置するサーバ郡を作成していきます。
VPCやサブネットを利用するメリット
クラウドでなければ、「データセンターを用意して、ラックを配置し、ネットワーク機器を準備して・・・」という作業が必要になります。
そうなると「期間は数ヶ月、インフラエンジニアの人件費とハードウェア費用がかかる」形となりますが、それが一瞬で作れてしまうのが大きなメリットです。
価格
でもお高いんでしょう?
それが、VPCとサブネット自体は無料なんです。
VPCやサブネット上で稼働するサーバ自体は課金対象となりますが、VPCとサブネット自体にはお金がかからないのです。
また、同一リージョン内であれば、VPC間の通信もなんと無料です。
無料なので、理解して使わないともったいない!
終わりに
いかがでしたでしょうか。
VPCとサブネットはアプリケーションエンジニアにとって、実態が見えず捉えづらい概念です。
抽象的な概念は文字ではわかりづらいため、なるべくわかりやすいよう、図を多めにしてみました!
内容が伝われば嬉しいです。
VPCは作成しただけだと通信ができず、通信の出入り口であるゲートウェイ、VPCへの通信可否を制御するルートテーブルが必要となりますが、そちらはまた別途まとめたいと思います。
すべてを一気に覚えるのは難しいので、おすすめ構成を元に構築していただければと思います。
VPCとサブネットを活用したおすすめ構成は別ページでまとめていますので、下記をご参照ください。
参考URL
本ページは下記のサイトを参照させて頂きました。
https://www.sbbit.jp/article/cont1/51188
https://dev.classmethod.jp/articles/2018-aws-re-entering-vpc/
https://d1.awsstatic.com/webinars/jp/pdf/services/20201021_AWS-BlackBelt-VPC.pdf
https://techplay.jp/column/541
https://wa3.i-3-i.info/word11989.html
コメント