awsのinternet gatewayとは何か特徴と設定方法を詳しく解説

目次

はじめに

目的

本章では、本ドキュメントの目的と読み方を説明します。本書はAWSのインターネットゲートウェイ(Internet Gateway, IGW)を中心に、VPC内のリソースがインターネットとやりとりする仕組みを分かりやすく解説することを目的としています。クラウド上でのネットワーク設計の理解に役立ててください。

本書で学べること

  • IGWの基本的な役割と動作イメージを理解できます。
  • 設定や構成で押さえておくべきポイントが分かります。
  • 他のゲートウェイやVPCエンドポイントとの違いが分かります。
    具体例を交えて実務に即した理解を目指します。

想定読者

クラウド初心者から中級者を想定しています。ネットワークやAWSに不慣れな方でも読み進めやすいよう、専門用語は必要最小限に留め、具体例で補います。

読み進め方

まず本章で全体の位置づけをつかんでください。続く章で概念、特徴、設定手順、比較、VPCエンドポイントとの関係を順に説明します。実際の設定を行う前に第2〜第4章を一通り読むことをおすすめします。

前提条件

AWSアカウントやVPCの基本概念(サブネットやルートテーブルなど)に触れたことがあると理解が早まります。ただし、本書は初めての方でも追えるよう配慮しています。

インターネットゲートウェイの基本概念

概要

インターネットゲートウェイ(IGW)は、VPC内のリソースがインターネットと通信するための出入口です。VPCは初期状態で外部と接続されないため、IGWがないと外部とのやり取りができません。

主な役割

  • 双方向通信の実現:VPC内からインターネットへ送信し、外部から応答を受け取れます。
  • パブリックIPの利用:インスタンスにパブリックIPを付けると、インターネットから到達可能になります。
  • パブリックサブネットの定義:サブネットのルートテーブルにIGWへのルートがあれば、そのサブネットはパブリックになります。

具体例

たとえばウェブサイトを公開する場合、ウェブサーバーを配置するサブネットのルートにIGWを設定し、サーバーにパブリックIPを割り当てます。これでブラウザからアクセスできるようになります。AWS側でIGWは管理されるため、可用性やスケールを個別に設定する必要はありません。

注意点

IGWはVPC全体の出口入口を提供しますが、アクセス制御はセキュリティグループやネットワークACLで行います。したがって、公開するリソースと内部用リソースを分けて設計することが重要です。

インターネットゲートウェイの特徴

基本的な役割

インターネットゲートウェイ(IGW)は、VPC内のパブリックIPを持つリソースとインターネット間で双方向の通信を可能にします。例えば、EC2にパブリックIPを付与すると、そのサーバーはIGW経由で外部と通信し、外部からの接続も受けられます。

NATゲートウェイとの違い

NATはプライベートサブネットからのアウトバウンド通信を許可しますが、インバウンド接続は許可しません。一方IGWはインバウンドも受け入れますので、公開WebサイトやパブリックAPIを運用する場合に使います。

設定上の重要点

IGWをVPCにアタッチするだけでは通信しません。ルートテーブルに「0.0.0.0/0 → Internet Gateway」を追加し、パブリックサブネットのルートに適用する必要があります。また、対象のインスタンスにはパブリックIP(またはElastic IP)が割り当てられている必要があります。

運用面のポイント

IGWはAWSが管理するスケール可能で冗長性のあるサービスです。VPCごとに1つのIGWをアタッチして使います。セキュリティグループやネットワークACLで受信制御を行い、不要なポートは閉じることが大切です。

実例

公開Webサーバーを作る場合は、サブネットをパブリックに設定し、IGWへのルートを追加、EC2にパブリックIPを付与します。これで外部からHTTP/HTTPSでアクセスできます。

インターネットゲートウェイの設定手順

以下はAWS環境でインターネットゲートウェイ(IGW)を設定し、VPC内リソースをインターネットと通信させる手順です。コンソール操作とCLIの例を併記します。

1. VPCの作成

  • 例: CIDRブロックを10.0.0.0/16に設定。コンソールで「VPCを作成」から行います。CLI例: aws ec2 create-vpc –cidr-block 10.0.0.0/16

2. サブネットの作成

  • パブリック用に例として10.0.1.0/24を作成し、アベイラビリティゾーンを選択します。サブネットの「パブリックIPの自動割当」を有効にすると便利です。

3. インターネットゲートウェイの作成とVPCへのアタッチ

  • コンソールで「インターネットゲートウェイを作成」してから、作成したVPCにアタッチします。CLI例: aws ec2 create-internet-gateway → aws ec2 attach-internet-gateway –internet-gateway-id igw-xxxx –vpc-id vpc-xxxx

4. ルートテーブルの編集とパブリックサブネットの定義

  • ルートテーブルに0.0.0.0/0 → IGWを追加します。該当ルートテーブルをサブネットに関連付けると、そのサブネットがパブリックになります。

5. EC2インスタンスの起動

  • 起動時にパブリックサブネットを選び、パブリックIPを割り当てます。セキュリティグループでSSH(22)やHTTP(80)など必要なポートを許可してください。接続確認はSSHやcurlで行います。

6. Elastic IPの紐づけ(必要な場合)

  • 固定のパブリックIPが必要ならElastic IPを確保してEC2に関連付けます。CLI例: aws ec2 allocate-address → aws ec2 associate-address

補足: セキュリティ設定の確認

  • セキュリティグループはアウトバウンドを許可し、必要なインバウンドのみ開けます。ネットワークACLも確認して不必要なブロックがないか確認してください。

以上の手順でVPC内リソースがインターネットと通信可能になります。作業は小さな単位で確認しながら進めると安全です。

他のゲートウェイとの比較

概要

インターネットゲートウェイ(IGW)はパブリックサブネット上のリソースに対して双方向の通信を提供します。一方、NATゲートウェイはプライベートサブネット内のリソースからの外向き通信だけを可能にし、内部のプライベートIPをパブリックIPに変換します。Egress-only Internet GatewayはIPv6向けに外向き通信のみを許可します。Transit Gatewayは複数のVPCやオンプレミスを一元的に接続します。

主な違い(簡単な例付き)

  • 通信の向き
  • IGW:双方向(例:Webサーバーが外部からアクセス可)
  • NAT:アウトバウンドのみ(例:プライベートなサーバーがOS更新を取得)
  • Egress-only:IPv6でアウトバウンドのみ
  • Transit:VPC間やオンプレミスとの双方向中継

  • IP変換と公開性

  • NATはプライベートIPをパブリックIPに変換します。IGWはリソースにパブリックIPが必要です。

  • ユースケース

  • パブリックな公開サービス:IGW
  • 内部サーバーの外向き通信:NAT
  • IPv6のみの外向き通信:Egress-only
  • 多数のVPCを接続・管理:Transit Gateway

コストとスケーラビリティ

IGWは設定が簡単で低コストです。NATはトラフィック量で課金され、負荷対策が必要になることがあります。Transit Gatewayは大規模環境向けで管理が楽ですが費用は高めです。

VPCエンドポイントとの関係

概要

VPCエンドポイントは、VPC内のリソースがインターネットを経由せずにAWSサービスへ接続できる仕組みです。インターネットゲートウェイやNATゲートウェイ、パブリックIPを使う必要がなく、通信経路をすべてプライベートに保てます。このためセキュリティとコンプライアンスを高めやすくなります。

種類と使い分け

  • Gatewayエンドポイント:主にS3やDynamoDB向けで、ルートテーブルにエントリを追加して利用します。転送はVPC内部で処理されます。
  • Interfaceエンドポイント(PrivateLink):多くのAWSサービスやサードパーティ製品に対応し、ENI(ネットワークインターフェース)をサブネットに作成して通信します。

用途で選びます。S3など大量データを扱う場合はGateway、APIやサービス単位で細かく制御したい場合はInterfaceが向きます。

ルーティングとセキュリティ

Gatewayはルートテーブル経由で特定プレフィックスをエンドポイントに向けます。InterfaceはENIが作るプライベートIPを経由します。どちらもエンドポイントポリシーでアクセスを制限できます。Interfaceではセキュリティグループで通信をさらに絞れます。

設定時の注意点

プライベートDNSを有効にするとサービスの標準エンドポイント名で透過的に接続できますが、名前解決を把握しておく必要があります。また、すべてのサービスがエンドポイント対応とは限らない点に注意してください。

具体例

  • プライベートサブネットのEC2からS3へアクセスする場合、Gatewayエンドポイントを追加すればNAT不要で通信できます。
  • RDSやLambdaからSecrets ManagerやKMSを使う場合、Interfaceエンドポイントを作りセキュリティグループでアクセス元を限定すると安全です。

まとめ

インターネットゲートウェイは、AWSのVPCとインターネットをつなぐ基本的な出入口です。パブリックサブネットのインスタンスに対して双方向通信を可能にし、ルートテーブルでIGWへの経路を設定することで動作します。

主なポイント

  • 役割: VPC内からインターネットへの送受信を仲介します。外部と直接やり取りするサーバーはIGW経由で通信します。
  • ルート設定: パブリックサブネットには0.0.0.0/0をIGWに向けるルートを追加します。これで送信先がインターネット時はIGWに流れます。
  • セキュリティ: パブリックIPを付与したリソースはセキュリティグループやネットワークACLでしっかり制御してください。不要な公開は避けるのが安全です。
  • 他ゲートウェイとの併用: プライベートサブネットからのアウトバウンドはNATゲートウェイを使い、複数VPCやオンプレと接続する場合はTransit Gatewayなどと組み合わせます。

運用上のおすすめ

  • 必要なリソースだけにパブリックアクセスを許可する。ログとルート設定を定期的に確認する。コストやセキュリティ要件に応じてNATやTransit Gatewayを組み合わせると柔軟かつ安全な構成になります。
よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次