初めに
インフラ及びAWS初心者です。
PHPの環境をAWS上に作成するために一から学んでいるので、得た知識をまとめていきます。
参考文献
Amazon Web Services基礎からのネットワーク&サーバー構築改訂
キーワード
- リージョン
- アベイラビリティーゾーン(AZ)
- VPC
- インターネットゲートウェイ
- サブネット
- ルートテーブル
リージョンとAZ
リージョンとは、AWSの世界各地に分散されたデータセンターのこと。日本だと「東京リージョン」と「大阪リージョン」の二つがある。
アベイラビリティーゾーン(AZ)は、データセンターの最小単位。一つのリージョンは複数のAZで構成されている。
ポイント
- AZ同士は距離が離れており、一つのAZで障害が起きても他のAZに影響がないような作りになっている
- システム複数AZに冗長化させることで耐障害性を高めることができる
VPCとは
「Virtual Public Cloud」の略。リージョン上に作成する仮想ネットワークのこと。
クラウド上にLANを作成するイメージ。
ポイント
-
作成時にVPC内で使用するLANの範囲を指定する必要がある
- 例)「10.0.0.0/16」と指定した場合、「10.0.0.0 ~ 10.0.255.255」の範囲のIPアドレスを利用することができる。
- このLANの範囲をCIDRブロックと呼ぶこともある
-
複数AZにまたがるVPCを作成することは可能だが、複数リージョンにまたがるVPCを作成することはできない
- 例)耐障害性を高めるために、
- 東京リージョンと大阪リージョンを跨がせよう! ⇒
- 東京リージョン内で複数のAZを跨がせよう! ⇒
- 例)耐障害性を高めるために、
インターネットゲートウェイとは
VPCをインターネットにつなげるために利用する。
VPCは初期状態だとLANのようなプライベートなネットワークのため、インターネットにつなげるには回線を引いてくる必要がある。その役割はインターネットゲートウェイ。
サブネットとは
VPCをさらにCIDRブロックで分割した領域のことをサブネットと呼ぶ。
- 例)CIDRブロックが「10.0.0.0/16」VPC上に、「10.0.1.0/24」のサブネットを作成する場合を考える
- VPC全体の「10.0.0.0 ~ 10.0.255.255」の範囲から、「10.0.1.0 ~ 10.0.1.255」の領域を扱うサブネットを作成するという意味になる
ポイント
- サブネットを作成する目的は、「外側からアクセス可能な領域とアクセス不可能な領域を分ける」ため
- サブネットごとに異なるネットワーク制限を書けることができるため、パブリックな領域とプライベートな領域を分けることができる
- 例)Webサーバはアクセスできていいけど、DBサーバはアクセスさせたくないので、別のサブネットに分ける
ルートテーブルとは
通信の宛先をどこに接続させるかを決めたための設定。
ルートテーブルは自由に作成でき、作成したルートテーブルをサブネットに紐づけることでサブネット内の通信の行方を決める。
ポイント
- VPC作成時に以下の内容のデフォルトのルートテーブルが作成される
- 宛先IPがVPCのCIDRブロックに含まれている場合、接続先はVPC内部に飛ばす
- CIDRブロックが「10.0.0.0/16」VPCの場合、宛先が「10.0.0.0/16」の通信はVPC内部に飛ぶ
- デフォルトルートテーブルのみVPCに紐づき、全てのサブネットで参照される
- 宛先IPがVPCのCIDRブロックに含まれている場合、接続先はVPC内部に飛ばす
- インターネットへ通信を行うためには、新しくルートテーブルを作成してサブネットに紐づける必要がある
- 例)宛先が「0.0.0.0」の場合、インターネットゲートウェイへ飛ばす
- 「0.0.0.0」はデフォルトルートと呼ばれる全てのIPアドレスが宛先の通信のこと
- 例)宛先が「0.0.0.0」の場合、インターネットゲートウェイへ飛ばす
- ルートテーブルとサブネットは1対多の関係
- 一つのルートテーブルは複数のサブネットで使いまわすことができる
- 一つのサブネットに紐づけることのできるルートテーブルは一つのみ
終わりに
前に一回読んだのですが、もう一度読み直して理解を深めようと思います。