AWS初心者学習④ ~各種ゲートウェイについて~

今回はGWについて書きたいと思います。
一般ユーザにサービスを展開する際やオンプレ環境などの社内環境からアクセスするためには必要になってくるのでかなり重要です!


・インターネットゲートウェイ(IGW)

 

インターネットゲートウェイは、VPCインスタンスとインターネットとの間の通信可能にするための機能。冗長性と高い可用性を備えており、水平スケーリングも可能。そのため、ネットワークトラフィックの増加に伴う可用性のリスクや帯域幅の制約はない。各VPCに1つだけ配置可能。

 f:id:Tk24:20191128005820p:plain

インターネットゲートウェイが果たす役割は2つあります。1つは、インターネットでルーティング可能なトラフィック送信先VPCのルートテーブルに追加すること。もう1つは、パブリックIPv4アドレスが割り当てられているインスタンスに対してネットワークアドレス交換(NAT)を行うこと。 インターネットゲートウェイは、IPv4トラフィックおよびIPv6トラフィックをサポートしている。

 

インターネットにアクセスするために必要なこと
VPCのサブネットのインスタンスでインターネットのアクセスを有効にするには、以下を実行する必要がある。

VPCにインターネットゲートウェイをアタッチする
②サブネットのルーティングテーブルがインターネットゲートウェイにつながっていることを確認する
③サブネットのインスタンスに、グローバルに一意なIPアドレスが割り当てられていること
④ネットワークACLとSGのルールがインスタンス間で関連するトラフィックを許可していること

    

f:id:Tk24:20191128012136p:plain






・NATゲートウェイ

インスタンスグローバルIPを持たせたくない場合はNATゲートウェイを使用する。一応イメージ図を作成しましたが、使い方があっているのか自信がないのであくまで参考程度ということで。。

f:id:Tk24:20191128010727p:plain



・仮想プライベートゲートウェイ(VGW)

仮想プライベートゲートウェイは、VPCVPNやDirect Connectと接続するためのゲートウェイ。VGWも各VPCに1つだけ配置可能。
ルートテーブルでVGWターゲットに指定すると、その宛先アドレスとの通信はVGWから、VPNやDirect Connectを通してオンプレミスネットワーク基盤に向けられる。オンプレミスネットワークの宛先については、ルートテーブルに静的に記載する方法と、ルート伝番(プロパゲーション)機能で動的に反映する方法の2つがある。

f:id:Tk24:20191128010901p:plain

 

VPCエンドポイント

VPCエンドをポイントを使用することで、インターネットゲートウェイ、NATデバイスVPN接続、またはAWS Direct Connect接続は使わずに、AWSのサービスや他のVPCにアクセスすることができる。
VPCインスタンスは、サービスのリソースと通信するためにパブリックIPアドレスを必要とせず、VPCと他のサービス間のトラフィックは、Amasonネットワークを離れない。VPCエンドポイントは、インターフェイスエンドポイントとゲートウェイエンドポイントの2種類存在する。サポートされるサービスが違う。インターフェイスエンドポイントは色々なサービスと連携できるので、一先ずゲートウェイエンドポイントでサポートしているサービスを抑えておくことが効率よさそうです。ゲートウェイエンドポイントでサポートされているサービスは、以下になります。・Amason S3
・DynamoDB VPC エンドポイントはデフォルトでは、IAMユーザにはエンドポイントを使用するためのアクセス権限がないため注意!

 

f:id:Tk24:20191128012334p:plain

 


VPCピアリング接続

VPCピアリング接続は、2つのVPC間でプライベートなトラフィックのルーティングを可能にするネットワーキング接続。どちらのVPCインスタンスも、同じネットワークに存在しているかのように相互に通信できる。VPCピアリング接続は、自分のVPC間、別のAWSアカウントのVPCとの間、または別のリージョンとの間に作成できる。
個別のハードウェアには依存しないため通信の単一障害点や帯域幅ボトルネックは存在しない。

f:id:Tk24:20191128012418p:plain




VPCエンドポイントとVPCピアリングの違い

 

VPCエンドポイントとVPCピアリングどちらもVPC間の通信を行うことが可能で、個人的にややこしかったので調べました。
違いを簡単にいうと、VPC同士を通信させるか、VPC内のインスタンス同士を通信させるかの違いみたいです。VPCピアリングの説明にも書きましたが、VPCピアリングを使うと同じネットワーク内のインスタンスのように扱えます。

f:id:Tk24:20191128012448p:plain


そのため、インスタンス同士の通信に基本的にはVPCピアリングで通信をさせる方がよさそうですね!