==============================================================
ネットワーク
==============================================================
■VPCの機能と設定
・VPC(Virtual Private Cloud)
・利用者ごとのプライベートなネットワークを提供、インターネットやオンプレなどの外部ネットワークへ接続可能
・利用するまでには以下設定が必要
①VPCの作成
・いずれかのリュージョンを選択
・一般的なネットワークアドレスを付与できる
クラスA:10.0.0.0-10.255.255.255
クラスB:172.16.0.0-172.31.255.255
クラスC:192.168.0.0-192.168.255.255
②サブネットの作成
・VPC内に作成
・複数のAZにまたがって作成できない
・サーバ機能に応じて作成する
・サブネットマスクと同じような役割
③ゲートウェイの作成
・VPCと外部ネットワーク間での通信を行うために必要
・オンプレとVPNや専用線で通信するためのゲートウェイ
④ルートテーブルの設定
・サブネットごとにインターネットへのアクセス可否などの制限を設定可能
・パブリックサブネット:インターネットとのアクセスを許可するサブネット
→デフォゲがIGW
・プライベートサブネット:インターネットとのアクセスを許可しないサブネット
→デフォゲがIGWでない
・例えば、DB用サブネットはプライベート、Webサーバ用サブネットはパブリック
オンプレの基幹システムと通信するサーバのサブネットはプライベートサブネットにし、Webサーバ用のIGWへのルーティングを設定
・ルートテーブルには、「10.0.0.0/16 local」はデフォルト設定で、削除不可
意味するところは、VPC内の通信はルートテーブルで制御できない
通常はサブネットで区切ればルータのルーティングが必要だけど、VPCの場合は同じサブネットであれば、通信可能になる
⑤NATインスタンスの作成
・プライベートサブネット内のサーバがパッチダウンロード等のためにインターネットへのアクセス、リュージョンサービスであるDynamoDBにアクセスする場合は、ルートテーブル設定ではアクセスできないためNAT(Network Address Translation)インスタンスを利用する
・NATインスタンスの実態は、EC2インスタンスであり、プライベートサブネット内のEC2インスタンスからのトラフィックを受け付け、プライベートIPをNATインスタンスに割り当てられているグローバルIPへ変換
・EC2インスタンスはデフォルトで「送信元/送信先チェック」という、通信が自身への宛先でなければ破棄する設定が有効のため、無効化する必要がある
■EC2インスタンスのIPアドレス
・VPCのサブネット内に起動するEC2インスタンスは、そのサブネット内のプライベートIPアドレスが1つ割り当てられる
・インターネットからアクセスする場合、グローバルIPアドレスを割り当てる
Public IP:EC2起動時にランダムで割り振られる動的グローバルIP
Elastic IP:アカウントに割り当てられる固定のグローバルIP、EC2インスタンスにアタッチ/デタッチが可能
・一般的に運用が求められる場合、Elastic IPを利用
・EC2インスタンスのプライベートIPとグローバルIPの紐づけはVPCの仮想ネットワークで行われているので、ipconfigやifconfigでもプライベートIPアドレスしか表示されない
■セキュリティグループとネットワークACL
・VPCが提供するファイアウォール機能
・セキュリティグループ
・EC2やRDSなどのインスタンスごとのファイアウォールで、インアウトバウンドのアクセス制御が可能
適用単位:インスタンス
作成可能ルール:許可のみ
デフォルトルール:インバウンド全拒否、アウトバウンド全許可
特徴:ステートフル
→アウトバウンドで許可されているトラフィックを保持しているので、戻りトラフィックの許可設定は不要
・ネットワークACL
・サブネットごとのファイアウォール
・セキュリティグループと同じような設定が可能
適用単位:サブネット
作成可能ルール:許可、拒否
デフォルトルール:インバウンド全許可、アウトバウンド全許可
特徴:ステートレス
→戻りトラフィックを通すためには、インアウト両方に許可設定が必要
■VPCピア接続
・2つのVPCを接続する機能、例えば開発環境と本番環境など
・ピア接続が確立するとプライベートIPでの通信が可能
・PCXというゲートウェイ相当が作成され、ルートテーブルの送信先をPCXへ設定する
・以下制約がある
・接続するVPCは同じリュージョン
・接続するVPCのプライベートネットワークアドレス空間の重複がない
・1対1での接続
・3つ接続する場合は、1つのVPCが2つのVPCへピア接続する必要がある