【AWS 学習】インターネットゲートウェイとNATゲートウェイの違いについて(+エンドポイントの違い)

AWS
この記事は約4分で読めます。
スポンサーリンク

はじめに

AWS SAAというAWSの資格を勉強していて「インターネットゲートウェイとNATデートウェイって何が違うの?」「ゲートウェイとかエンドポイントって何が違うの?」となったのでまとめてみました.

スポンサーリンク

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

VPC内のリソース(内)からインターネット(外)へアクセスするためのゲートウェイ(出入口)のこと.
IGWはVPCコンポーネントの一つであり,VPCにアタッチされることにより動作する.

また公式には,

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

https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Internet_Gateway.html

と書かれている.

つまりIGWには,外->内へはVPCのルートテーブルを参照してAWSリソースへアクセスし,内->外へは1対1のNATを論理的に行う(プライベートアドレスをグローバルアドレスに変換する)といった役割をもつ.

スポンサーリンク

NATゲートウェイとは

プライベートサブネットからインターネットへ接続するための機能で,パブリックサブネットに配置して利用する.
プライベートサブネットにある複数のEC2インスタンスがもつプライベートアドレスをNATゲートウェイでパブリックアドレスへ変換することができる.

ただし多対1の変換なので,戻りの変換(パブリックアドレスからプライベートアドレスへの変換)ができなくなってしまう.
これを回避するためにTCP/UDPポート(通信プロトコルの一種)も一緒に変換し(Dynamic NAPTという),インターネットへアクセスする.

まとめると,「プライベートサブネットからインターネットアクセスするときに必要なゲートウェイ(一方通行)」であり,インターネットからプライベートサブネットへのアクセスはできない.

NATインスタンスとの違い

NATゲートウェイに似た機能として「NATインスタンス」がある.機能としてはNATゲートウェイとほとんど同じだが,いくつか異なる点がある.

まず「作成方法」.
NATゲートウェイはVPC->NATゲートウェイで作成するが,NATインスタンスはEC2->インスタンスで作成する.

次に「管理方法」.
NATゲートウェイはマネージド型だが,NATインスタンスは自分で管理する.

最後に「コスト」.
マネージド型という利点もあることから,運用にかかるコスト(料金)はNATゲートウェイ>NATインスタンスとなっている.

上記のようにいくつか違いはあるが,マネージド型という利点からNATゲートウェイを選択することが多い.
またNATインスタンスを利用する場合,NATゲートウェイと同じくインターネット(外)からのトラフィックを受信しないように設定する必要がある.これは「送信元/送信先チェック」という機能を無効にすることで可能となる.

スポンサーリンク

VPCエンドポイントについて

「VPCのエンドポイント?インターネットゲートウェイと同じじゃない?」と勘違いしがちなVPCエンドポイント.

VPCエンドポイントとは,グローバルIP(インターネットから参照できるIP)をもつAWSリソースに,VPC内のAWSリソースからアクセスするための出口のことである.


つまりVPCエンドポイントを用いることで,インターネットを経由しなくてもVPC外のAWSリソースにアクセスすることができる(VPC内のEC2からS3へアクセスなど).
またプライベートサブネットからVPCエンドポイントを通じてアクセスすることも可能である.

またVPCエンドポイントには2種類ある.

  • ゲートウェイ型
    • 通信先としてS3とDynamoDBが対応している.
    • ルートテーブルの送信先にAWSリソース,ターゲットにVPCを設定することで,特定のAWSリソースへのアクセスが可能となる.
    • 送信先のAWSリソースはグローバルIPのため,ネットワークACLにより外部との通信が制限されている場合,ゲートウェイ型で通信はできない.
  • インターフェース型
    • 通信先として(S3とDynamoDB以外にも)さまざまなAWSリソースに対応している.
    • 各AWSリソースのエンドポイントとENIをPrivate Linkと呼ばれるものでリンクし,通信を行う.
    • アクセス制御はセキュリティグループで行う.

まとめ

AWSのサービスを理解するにはネットワーク関連の基礎知識が必須なので,色々勉強しないといけないなあと感じてます(by フロントエンド担当より)

参考記事

インターネットゲートウェイ - Amazon Virtual Private Cloud
インターネットゲートウェイをアタッチすることで、VPC からインターネットにアクセスできるようになります。
【図解/AWS】インターネットGWとNAT-GWの違い〜各メリット、パブリックサブネットとは〜
インターネットゲートウェイとNAT ゲートウェイの違いインターネットゲートウェイと NAT ゲートウェイはともに NAT 機能を提供する、インターネット接続時に利用されるオブジェクトです。今回はインターネット gateway と NAT g
【図解】初心者にも分かる TCP/UDP 〜違いや共通点,使い分け,ポート番号,具体例について〜
TCP/IP とはTCP/IP とは、レイヤー 3 の IP とレイヤー 4 の TCP/UDP を組み合わせて通信を行う取り決め(プロトコル)のことで、現在のインターネット通信の一般的な通信モデルです。更に上位レイヤー(http, dns
おーよしの紹介
院卒Webエンジニアマン

「プログラミング」や「開発技術」,「ガジェットの紹介」について情報発信してます.これからのIT時代を生き抜くため,自分のスキルを磨き続けます.

oyoshiをフォローする
このエントリーをはてなブックマークに追加
AWSプログラミング資格開発
スポンサーリンク
にほんブログ村に参加中(^~^)
PVアクセスランキング にほんブログ村
おーよしのDevLog

コメント

タイトルとURLをコピーしました