AWS VPCの概要

#はじめに
AWSソリューションアーキテクトアソシエイト資格取得のための勉強をアウトプットしていきます。

#Amazon Virtual Private Cloud(VPC)とは

###VPC は、AWS アカウント専用の**仮想ネットワーク**
・任意のIPアドレス範囲を洗濯して仮想ネットワークを構築できる。
・他のVPCと論理的区別される
***ポイント***
<font color="Red">VPCはAZは跨げるが、リージョンは跨げない！</font>
#インターネット接続から学ぶVPC
<img width="1206" alt="スクリーンショット 2020-03-02 12.10.51.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/9defd5a7-6f3f-0f99-80ce-1907034bad73.png">

##VPCの設計
<img width="907" alt="スクリーンショット 2020-03-02 22.22.14.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/66d9379e-32e6-2d22-f123-0f282f6f4adf.png">


##IPアドレスとCIDRとは
https://qiita.com/avicii2314/items/380d207a1ad58be27093

##ElasticIPアドレスとパブリックIPアドレス
###パブリックIPアドレス
・インスタンス起動時に自動的に割り当てられるグローバルIPアドレス。
外部から public DNSに ping して確認が可能。VPC内で変換されるため、インスタンス内ではグローバルIPアドレスは確認できない。(プライベートアドレスのみ)

・インスタンス停止→起動で変わってしまう。

###ElasticIPアドレス
Elastic IP アドレスは、動的なクラウドコンピューティングのために設計された静的 IPv4 アドレスです。Elastic IP アドレスは、AWS アカウントに関連付けられます。Elastic IP アドレスを使用すると、アドレスをアカウント内の別のインスタンスに迅速に再マップして、インスタンスやソフトウェアのエラーを隠すことができます。

Elastic IP アドレスは、インターネットからアクセス可能なパブリック IPv4 アドレスです。インスタンスにパブリック IPv4 アドレスがない場合、Elastic IP アドレスとインスタンスを関連付けてインターネットとの通信を有効にすることができます (ローカルコンピュータからインスタンスに接続するなど)。

現在、IPv6 に対する Elastic IP アドレスはサポートされていません。


#1.サブネット
EC2インスタンスなどを起動するためのVPC内部に作るアドレスレンジです。
CIDR範囲で分割したネットワークサグメント。
サブネットは必ずいずれかのアベイラビリティゾーンに配置される必要があります。

・サブネットは一つのVPC内では**２００個**まで作成可能。
・サブネット分割範囲は**/24**、VPCにCIDR **/16**がおすすめ
***ポイント***
<font color="Red">・サブネットはAZは跨げない、サブネットを選択することはAZを選択すること。</font>
<font color="Red">・個々のサブネットは一つの仮想ルータがあり、このルータにはルートテーブルとネットワークACLの設定を持っている。</font>
<img width="932" alt="スクリーンショット 2020-03-02 12.41.01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/14e55d58-4ec6-7fda-af0b-8541022576c0.png">
<img width="1132" alt="スクリーンショット 2020-03-02 13.09.10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/8e771f5d-53e9-f2ca-fe44-986edcd712ca.png">

#2.インターネットゲートウェイとNATゲートウェイ
<img width="615" alt="スクリーンショット 2020-03-02 21.57.29.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/f4631a21-2efd-6642-e4a4-d904d1c8d666.png">

###インターネットゲートウェイとは
・VPCとインターネットとの接続するためのゲートウェイです。**各VPCに一つだけアタッチ**（取り付ける）する事ができる。

・**パブリックサブネット**からインターネットに接続するにはインターネットゲートウェイが必要になる。
・オンプレミスやVPNや専用線で通信するためのゲートウェイを**VGW（バーチャルプライベートゲートウェイ）**という。
###NATゲートウェイとは
・**プライベートサブネット**のインスタンスをインターネット接続するためのゲートウェイ。
・**パブリックサブネット**に配置する！！
・自動的にENI（Elastic Network Interface）がアタッチされる。
＊ENIとは
仮想的なプライベート環境にEC2を使ってサーバーを立ち上げることができます。こうした環境において、VPCに対してネットワークインターフェースを追加する役割を担うのがENIです。ENIは、物理的な環境におけるNIC（Network Interface Card）のことです。

#セキュリティグループとネットワークACL
###セキュリティグループ
・EC2やELB,RDSなど**インスタンス単位**の通信制御に利用する。
・通信の制御として、**インバウンド**（内向き、外部からVPCへ）と**アウトバウンド**(外向き、内部から外部へ)の両方の制御が可能。プロトコルやポート範囲、送受信先のCIDRかセキュリティグループを指定できる。

・ステートフルなファイアウォールのこと。デフォルトで許可されているのは同じセキュリティグループ内通信のみ（外からの通信は禁止）。そのため例えば、WEB公開する場合はインターネット(0.0.0.0/0)から80ポートを**許可**する。
<img width="1222" alt="スクリーンショット 2020-03-02 19.46.40.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/1135aec8-8b87-b0d7-3d0c-2c5f39fb061c.png">

###ネットワーク ACL
・ステートレスなファイアウォールのこと。**サブネット単位**で適用され、デフォルトでは全ての送信元IPを許可する。
・明示的にトラフィックを設定しないと通信遮断してしまう。
<img width="1229" alt="スクリーンショット 2020-03-02 22.05.45.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/6e70f58c-f4cf-8cb4-7119-afc42ae48279.png">

**ポイント**
・前後の状態に**依存しない**のが**ステートレス(stateless)**で、前後の状態を**保持している**のが**ステートフル(stateful)**という意味
・セキュリティグループは**インスタンス範囲**の通信制御！
・ネットワークACLは**サブネット範囲**の通信制御！
<img width="953" alt="スクリーンショット 2020-03-03 10.25.10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/39886af2-e2a0-d9ac-986c-f3b47c124acd.png">

##比較
<img width="1222" alt="スクリーンショット 2020-03-02 19.47.03.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/1d9f0836-a73b-852d-9fe7-1db505d77171.png">

#VPCエンドポイント
<img width="1129" alt="スクリーンショット 2020-03-02 22.14.37.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/b34f7b8d-f347-153a-cab4-ca5c8b267805.png">

VPC エンドポイントでは、AWS PrivateLink を使用する、サポートされている AWS サービスや VPC エンドポイントサービスに VPC をプライベートに接続できます。

インターネットゲートウェイ、NAT デバイス、VPN 接続、または AWS Direct Connect 接続は必要ありません。VPC のインスタンスは、サービスのリソースと通信するためにパブリック IP アドレスを必要としません。VPC と他のサービス間のトラフィックは、Amazon ネットワークを離れません。

エンドポイントは仮想デバイスです。これらは水平にスケールされ、冗長で、可用性の高い VPC コンポーネントです。これにより、ネットワークトラフィックに可用性リスクや帯域幅の制約を課すことなく、VPC 内のインスタンスとサービス間の通信が可能になります。

VPC エンドポイントには 2 種類あります。**インターフェイスエンドポイント**と**ゲートウェイエンドポイント**です。サポートされるサービスにより要求される VPC エンドポイントを作成します。

**インターフェイスエンドポイント**
<img width="1193" alt="スクリーンショット 2020-03-02 22.15.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/a74b1009-1797-3218-2dec-9ca56ee5b922.png">

**ゲートウェイエンドポイント**
<img width="1193" alt="スクリーンショット 2020-03-02 22.15.55.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/a91ecf28-7440-a13c-2162-e1295372c5f3.png">

##比較
<img width="1165" alt="スクリーンショット 2020-03-02 22.16.05.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/924b5d7e-6175-3df7-d8d2-3a8b2acc6ca5.png">

#VPC Flow Logsとは
VPC Flow Logsはネットワークトラフィックを取得しCloudWatchでモニタリングできるようにする機能
<img width="1334" alt="スクリーンショット 2020-03-02 22.52.37.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/895ff346-ed6d-f709-3fdf-72d6662daa7d.png">


#VPCとプライベートネットワーク（オンプレミス）接続
<img width="1192" alt="スクリーンショット 2020-03-02 22.25.21.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/17b5729e-66e7-97e9-10eb-bd32eb1c71e2.png">

<img width="585" alt="スクリーンショット 2020-03-02 22.39.25.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/f22fe9c9-d2ff-3119-4adf-fd374764ad51.png">

##Direct Connectとは
クライアントのデータセンターやオフィスの専用線などを介してAWSへプライベートに接続するサービス！
###メリット
・安価なアウトバウンドトラフィック料金
・ネットワーク信頼性向上
・ネットワーク帯域幅の向上
###仕組み
Direct Connectロケーションに物理的に自社オンプレ環境を接続する事でAWS環境との専用接続線を実現する。

##Direct Connect gateway
Direct Connect GatewayがHubになり、同一アカウントに所属する**複数のリー ジョン**の**複数のロケーション**から**複数リージョン**の**複数のVPC**に接続できる機能。
・簡単にいうとリージョン間のネットワーク接続がリージョン間をまたいでできる！！
<img width="1311" alt="スクリーンショット 2020-03-02 22.43.43.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/de2e3080-739c-a4d4-49c8-147d9ac5c26d.png">

##VPNとの比較
<img width="1311" alt="スクリーンショット 2020-03-02 22.47.10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/b75caf7b-de06-e07c-7b49-fd73f7453b89.png">

#VPC Peering
VPC Peeringにより２つのVPC間でのトラフィックルーティングが可能
<img width="1309" alt="スクリーンショット 2020-03-02 22.57.57.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/92a03275-959a-e807-86e7-e3f365999420.png">


#VPC設定上限
<img width="659" alt="スクリーンショット 2020-03-02 22.54.36.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/287ae01b-1d23-77a2-c5ec-e02f4112bd11.png">

#最後に
今回はイメージしやすいようにBlackBeltをたくさん参考にさせていただきました！
次回は、IAMについてまとめていきたいと思います！
IAM偏
https://qiita.com/avicii2314/items/47d8604a8575c23d2e90