【入門】AWSネットワークの基礎サービスまとめ

本サイトで紹介している商品・サービス等の外部リンクには、プロモーションが含まれています。

AWSのネットワーク設定は一見複雑で、初心者にとってはハードルが高いと感じるかもしれません。

そこで、本記事ではAWSのネットワークの基本について、初心者にもわかりやすく解説します。

目次

対象サービス

  • VPC
  • インターネットゲートウェイ
  • サブネット
  • ルートテーブル
  • NATゲートウェイ
  • VPCエンドポイント

VPC

VPC (Virtual Private Cloud) は、AWS上に仮想的なネットワーク環境を構築するための基盤となるサービスです。VPCを利用することで、AWS上でプライベートネットワークを作成することができます。

VPCを作成するときに、そのVPCのCIDRブロックを指定する必要があります。RFC1918で定義されているプライベートIPアドレスの範囲から設定することが推奨されています。

RFC 1918 の範囲CIDR ブロックの例
10.0.0.0 – 10.255.255.25510.0.0.0/16
172.16.0.0 – 172.31.255.255172.31.0.0/16
192.168.0.0 – 192.168.255.255192.168.0.0/20

インターネットゲートウェイ

インターネットゲートウェイ (Internet Gateway, IGW) は、VPC内部のリソースをインターネットと通信可能にするためのコンポーネントです。

簡単に言うと、VPCをインターネットに接続するための門の役割を果たします。

VPC内のリソースからインターネットへのアウトバウンド通信(送信)と、インターネットからのインバウンド通信(受信)を可能にします。

サブネット

サブネットは、VPCのネットワークをさらに小さな単位に分割する仕組みです。

サブネットの基本概念

  1. IPアドレス範囲の分割
    • サブネットは、VPCで指定したCIDRブロックをさらに小さな範囲に分割して作成します。
    • 例: VPCのCIDRが 10.0.0.0/16 の場合、サブネットを 10.0.0.0/2410.0.1.0/24 などに分けます。
  2. アベイラビリティゾーン (AZ)
    • 各サブネットは特定のアベイラビリティゾーン(AZ)に作成されます。
    • 例: VPCが東京リージョンの場合、サブネットはap-northeast-1aap-northeast-1c に作成します。
  3. パブリックサブネットとプライベートサブネット
    • サブネットはインターネットアクセスの有無で「パブリック」と「プライベート」に分類されます。

サブネットの種類

  1. パブリックサブネット
    • ルートテーブル(後述)にインターネットゲートウェイへのルートが設定されているサブネットのことを指します。
    • パブリックサブネット内のリソースは、インターネットにアクセスできます。
  2. プライベートサブネット
    • インターネットゲートウェイへのルートが無いサブネットを指します。
    • インターネットやVPC外のサービスにアクセスするには、NATゲートウェイ(後述)やVPCエンドポイント(後述)が必要です。

サブネットは、インターネットゲートウェイへのルートの有無によって便宜的に「パブリックサブネット」や「プライベートサブネット」と呼ばれていますが、これらはあくまで用途による名称であり、そのような正式なサービスが存在するわけではありません。

ルートテーブル

ルートテーブルは、VPC・サブネット内でネットワークトラフィックの経路を定義する設定です。

インターネットゲートウェイやNATゲートウェイなど、トラフィックがどこに向かうかルーティングします。

ルートテーブルの基本構成

ルートテーブルには以下の要素が含まれます。

  1. 宛先
    • トラフィックの宛先をCIDR形式で指定します。
    • 例: 0.0.0.0/0 は全てのIPアドレス、10.0.0.0/16 はVPC内部のアドレスを示します。
  2. ターゲット
    • トラフィックの行き先を指定します。
    • 例: インターネットゲートウェイ (igw-xxxxxx)、NATゲートウェイ (nat-xxxxxx)、あるいはオンプレミス向けの仮想プライベートゲートウェイ (vgw-xxxxxx)。 
  3. ルート
    • 宛先とターゲットの組み合わせです。
    • 例: 宛先-0.0.0.0/0 ターゲット-インターネットゲートウェイ (igw-xxxxxx) の場合、すべてのトラフィックはインターネットゲートウェイにルーティングされます。

ルートテーブルの例

宛先ターゲット
10.0.0.0/16Local
172.31.0.0/16pcx-11223344556677889
10.0.0.11/32i-11223344556677889
0.0.0.0/0igw-11223344556677889
  • VPC(10.0.0.0/16)のCIDRブロック宛のトラフィックは、local(VPC内)にルーティングされます。
  • 172.31.0.0/16への通信はVPCピアリング接続(pcx-11223344556677889)に送信し、別のVPC(172.31.0.0/16)にルーティングします。
  • 10.0.0.11/32への通信はEC2インスタンス(i-11223344556677889) に送信されます。
  • 上記以外のすべてのトラフィック(0.0.0.0/0)はインターネットゲートウェイ(igw-11223344556677889)に送信されます。

ルートテーブルに複数のルートがある場合、トラフィックと一致する最も明確なルートが優先されます (最長プレフィックス一致) 。
上記の例でいうと、10.0.0.11/32 > 10.0.0.0/16 > 0.0.0.0/0の順で評価されます。

NATゲートウェイ

NATゲートウェイは、プライベートサブネット内のリソースが VPC 外のサービスに接続するためのコンポーネントです。

NATゲートウェイの特徴

  1. アウトバウンド通信の提供
    • プライベートサブネット内のリソースが、インターネット経由でVPC外のリソースにアクセス可能にします。
    • S3などのVPC外にあるAWSリソースにも、NATゲートウェイ経由でアクセスすることができます。
  2. インバウンド通信をブロック
    • NATゲートウェイを介して行われる通信は、外部からの直接アクセスを受け付けません。これにより、プライベートサブネット内のリソースがセキュアに保護されます。
  3. ElasticIP
    • NATゲートウェイには、固定のElasticIPが割り当てられます。これにより、アウトバウンド通信の送信元IPアドレスを固定化できます。

NATゲートウェイの設定手順

  1. NATゲートウェイの作成
    • NATゲートウェイをパブリックサブネットに作成します。
    • NATゲートウェイは、アベイラビリティゾーン単位で動作します。耐障害性を高めるためには、各AZにNATゲートウェイを作成します。
    • 作成時にElasticIPを割り当てます。
  2. ルートテーブルの設定
    • プライベートサブネットのルートテーブルに、NATゲートウェイへのルートを設定します。

プライベートサブネットのルートテーブルの例

宛先ターゲット
10.0.0.0/16Local
0.0.0.0/0nat-11223344556677889
  • VPC(10.0.0.0/16)のCIDRブロック宛のトラフィックは、local(VPC内)にルーティングされます。
  • 上記以外のすべてのトラフィック(0.0.0.0/0)はNATゲートウェイ(nat-11223344556677889)に送信され、IP変換されVPC外にルーティングされます。

NATゲートウェイのコスト

2024年11月現在、東京リージョンでのNATゲートウェイのコストは以下の通りです。

  1. 時間単位: 1時間あたり0.062USD
  2. データ処理量: NATゲートウェイを通過するデータ量1GBあたり0.062USD

NATゲートウェイは設置しているだけでもコストが発生し、データの送受信(IN/OUT)両方が課金対象となるため、予想以上にコストが高くなるケースがあります

料金を削減したい場合は、まずNATゲートウェイを使用しない方法を検討しましょう。

例えば、VPC外のAWSリソース(例: S3やECR)にプライベートサブネットからアクセスする場合、NATゲートウェイの代わりにVPCエンドポイント(後述)を利用することで、コスト削減が可能です。

シングルAZ構成
マルチAZ構成

VPCエンドポイント

VPCエンドポイントは、VPC外のリソース(例: S3、DynamoDB、ECR など)にインターネットを経由せずにプライベートサブネット内からアクセスするための仕組みです。

前述したNATゲートウェイも似たような機能を持っていますが、VPCエンドポイントの方がコストを抑えられるケースが多いため、特別な要件がない限りはVPCエンドポイントを選択するのがおすすめです。

VPCエンドポイントの種類

VPCエンドポイントには、以下の2種類があります。

  1. インターフェイスエンドポイント
    • VPC内にプライベートIPアドレスを持つENI(Elastic Network Interface) を作成して、VPC外のサービスと通信します。
    • インターネットを経由せず、VPCとAWSサービス間の接続を確立します。この構成はPrivateLinkと呼ばれています。
    • セキュリティグループを設定します。HTTPS(443番ポート)の許可が必要です。
  2. ゲートウェイエンドポイント
    • ルートテーブルを使ってAWSサービスにアクセスします。
    • 現時点ではS3、DynamoDBのみ対応しています。

まとめ

今回はAWSネットワークの基本的なサービスについて解説しました。

この記事が気に入ったら
フォローしてね!

コメント

コメントする

目次