Amazon VPC入門 サブネット設計からインターネット接続まで現場で使えるネットワーク構築の基礎

Aws Basics

オンプレミスでネットワークを設計してきたエンジニアがAWSに移行するとき、最初に戸惑うのがVPC(Virtual Private Cloud)の設計です。物理スイッチやルーターを触ってきた経験があるからこそ、「クラウドのネットワークは何がどう違うのか」が気になるところでしょう。

この記事では、Amazon VPCの基本概念からサブネット設計、インターネットゲートウェイの設定、ルートテーブルの仕組みまで、オンプレのネットワークと比較しながら体系的に解説します。VPCの設計パターンを押さえておけば、EC2やRDSを配置するときの判断に迷わなくなります。

Amazon VPC入門 サブネット設計からインターネット接続まで現場で使えるネットワーク構築の基礎

Amazon VPCとは?オンプレのネットワークとの違い

Amazon VPCは、AWS上に自分専用の仮想ネットワークを構築するサービスです。オンプレミスでいえば、自社データセンター内のネットワーク一式をクラウド上に再現するイメージです。

オンプレミスのネットワーク構築では、物理的なスイッチ、ルーター、ファイアウォールを購入し、ラッキングして、ケーブルを配線します。障害が起きたらデータセンターに駆けつける必要がありました。VPCでは、これらがすべてソフトウェア定義(SDN)になります。マネジメントコンソールやAWS CLIから数分でネットワークを作成でき、物理機器のトラブルとは無縁です。

ただし、VPCにはオンプレとは異なるルールがあります。

CIDRブロックは後から縮小できない: VPC作成時に指定するIPアドレス範囲は拡張は可能ですが、縮小はできません。最初の設計が重要です
アベイラビリティゾーン(AZ)を意識したサブネット設計が必須: オンプレではVLANで論理分割しますが、VPCではAZごとにサブネットを配置します
デフォルトVPCが存在する: AWSアカウントを作成すると、各リージョンにデフォルトVPCが自動作成されます。本番環境ではカスタムVPCを作成して使うのが鉄則です

VPCの基本コンポーネントを理解する

VPCを正しく設計するために、まず主要なコンポーネントを押さえましょう。

1. CIDRブロック

VPCのIPアドレス範囲を決めるのがCIDRブロックです。RFC 1918で定義されたプライベートIPアドレス範囲から選ぶのが標準的です。

10.0.0.0/16: 65,536個のIPアドレスが使える。中〜大規模向け
172.16.0.0/16: 同上。オンプレとのVPN接続時にアドレス帯が被らないよう注意
192.168.0.0/16: 同上。小規模検証環境で使われることが多い

現場でよく採用されるのは10.0.0.0/16です。将来のサブネット追加やVPCピアリングを見越して、余裕のあるアドレス空間を確保しておきましょう。オンプレ側のネットワークと重複しないことが絶対条件です。

2. サブネット

VPCのCIDRブロックを細かく分割したものがサブネットです。オンプレミスでいうVLANに相当します。

AWSのサブネットには大きく2種類あります。

パブリックサブネット: インターネットゲートウェイへのルートを持つサブネット。Webサーバーや踏み台サーバーを配置します
プライベートサブネット: インターネットゲートウェイへの直接ルートがないサブネット。データベースやアプリケーションサーバーを配置します

各サブネットは1つのAZに紐づきます。高可用性を確保するためには、最低2つのAZにまたがってサブネットを配置するのが基本です。

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

VPCとインターネットを接続するためのコンポーネントです。オンプレでいうエッジルーターのインターネット回線接続部分に相当します。

IGWの特徴は、AWS側で完全に冗長化されているため、ユーザーが冗長構成を考える必要がないことです。オンプレでは回線の冗長化やルーターの二重化で苦労した方も多いでしょうが、IGWでは不要です。

4. ルートテーブル

サブネット内のトラフィックがどこに向かうかを制御するのがルートテーブルです。オンプレのルーティングテーブルと同じ概念です。

パブリックサブネットのルートテーブルには、0.0.0.0/0(デフォルトルート)の送信先としてIGWを指定します。プライベートサブネットのルートテーブルには、IGWへのルートを含めません。

5. NATゲートウェイ

プライベートサブネットのリソースがインターネットにアクセスする必要がある場合(OSのアップデートなど)に使用します。オンプレのNATルーターと同じ役割です。

NATゲートウェイはパブリックサブネットに配置し、プライベートサブネットのルートテーブルから参照させます。注意点として、NATゲートウェイには時間課金とデータ転送課金の両方がかかります。コスト管理の観点で、検証環境ではNATインスタンス(EC2ベース)で代用する選択肢もあります。

Amazon VPC入門 サブネット設計からインターネット接続まで現場で使えるネットワーク構築の基礎 - 解説

実践:VPCとサブネットをAWS CLIで作成する

ここからは、実際にVPCを構築する手順を見ていきます。マネジメントコンソールでも操作できますが、再現性を重視してAWS CLIで進めます。

1. VPCの作成

東京リージョン(ap-northeast-1)にVPCを作成します。

# AWS CLI: VPCを作成(CIDRブロック: 10.0.0.0/16) aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=my-production-vpc}]' \ --region ap-northeast-1

作成後、VPC IDが返されます。このIDはサブネット作成時に使います。

2. サブネットの作成

パブリックサブネットとプライベートサブネットを2つのAZに作成します。

# AWS CLI: パブリックサブネット(AZ-a) aws ec2 create-subnet \ --vpc-id vpc-xxxxxxxxx \ --cidr-block 10.0.1.0/24 \ --availability-zone ap-northeast-1a \ --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=public-subnet-1a}]' # AWS CLI: パブリックサブネット(AZ-c) aws ec2 create-subnet \ --vpc-id vpc-xxxxxxxxx \ --cidr-block 10.0.2.0/24 \ --availability-zone ap-northeast-1c \ --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=public-subnet-1c}]' # AWS CLI: プライベートサブネット(AZ-a) aws ec2 create-subnet \ --vpc-id vpc-xxxxxxxxx \ --cidr-block 10.0.11.0/24 \ --availability-zone ap-northeast-1a \ --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=private-subnet-1a}]' # AWS CLI: プライベートサブネット(AZ-c) aws ec2 create-subnet \ --vpc-id vpc-xxxxxxxxx \ --cidr-block 10.0.12.0/24 \ --availability-zone ap-northeast-1c \ --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=private-subnet-1c}]'

パブリックサブネットは10.0.1.0/24と10.0.2.0/24、プライベートサブネットは10.0.11.0/24と10.0.12.0/24としています。番号帯を分けておくと、後から見たときにどちらの種類かすぐに判別できます。

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

# AWS CLI: インターネットゲートウェイを作成 aws ec2 create-internet-gateway \ --tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=my-igw}]' # AWS CLI: VPCにアタッチ aws ec2 attach-internet-gateway \ --internet-gateway-id igw-xxxxxxxxx \ --vpc-id vpc-xxxxxxxxx

4. ルートテーブルの設定

パブリックサブネット用のルートテーブルを作成し、デフォルトルートをIGWに向けます。

# AWS CLI: パブリック用ルートテーブルを作成 aws ec2 create-route-table \ --vpc-id vpc-xxxxxxxxx \ --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=public-rt}]' # AWS CLI: デフォルトルートをIGWに向ける aws ec2 create-route \ --route-table-id rtb-xxxxxxxxx \ --destination-cidr-block 0.0.0.0/0 \ --gateway-id igw-xxxxxxxxx # AWS CLI: パブリックサブネットにルートテーブルを関連付け aws ec2 associate-route-table \ --route-table-id rtb-xxxxxxxxx \ --subnet-id subnet-xxxxxxxxx

プライベートサブネットにはVPCのメインルートテーブルが自動で関連付けられます。メインルートテーブルにはIGWへのルートを追加しないようにしてください。

現場で使えるサブネット設計パターン

VPCの設計パターンは、システムの規模と要件によって変わります。ここでは現場でよく使われる3つのパターンを紹介します。

パターン1: 2層構成(Web + DB)

最もシンプルな構成です。パブリックサブネットにWebサーバー、プライベートサブネットにDBを配置します。

サブネット種別 CIDR 配置するリソース
パブリック(AZ-a) 10.0.1.0/24 EC2(Webサーバー)、ALB
パブリック(AZ-c) 10.0.2.0/24 EC2(Webサーバー)、ALB
プライベート(AZ-a) 10.0.11.0/24 RDS(プライマリ)
プライベート(AZ-c) 10.0.12.0/24 RDS(スタンバイ)

パターン2: 3層構成(Web + App + DB)

アプリケーション層を分離する構成です。業務システムやマイクロサービスアーキテクチャでよく使われます。パブリックサブネットにはALBのみを配置し、アプリケーションサーバーもプライベートサブネットに配置することで、セキュリティを強化します。

パターン3: オンプレ接続構成

AWS Site-to-Site VPNやAWS Direct Connectを使ってオンプレミスとAWSを接続する構成です。オンプレとのIPアドレス帯の重複を避けるため、CIDR設計が特に重要になります。仮想プライベートゲートウェイ(VGW)をVPCにアタッチし、プライベートサブネットのルートテーブルにオンプレ側のCIDRへのルートを追加します。

料金の仕組み:VPC自体は無料、注意すべきはNAT

VPCの料金体系はオンプレとは大きく異なります。

VPC本体: 無料。何個作成しても課金されません
サブネット: 無料
インターネットゲートウェイ: 無料
NATゲートウェイ: 時間課金($0.062/時間)+ データ処理料金($0.062/GB)。東京リージョン、2026年3月時点
Elastic IPアドレス: 使用中のEIPは無料。未使用・追加EIPは$0.005/時間(2024年2月の料金改定後)。2026年3月時点
VPCピアリング: 接続自体は無料。AZ間のデータ転送に課金あり

コストの観点で最も注意すべきはNATゲートウェイです。24時間稼働させると月額約$45(時間課金のみ)。さらにデータ転送量が多ければ、簡単に月額$100を超えます。検証環境では、NATゲートウェイの代わりにNATインスタンスを使うか、必要なときだけ手動で起動するのも手です。

よくあるトラブルと対処法

EC2にパブリックIPがあるのにインターネットに出られない

最も多いトラブルです。以下の3点を順番に確認してください。

IGWがVPCにアタッチされているか: アタッチし忘れは意外と多い
ルートテーブルに0.0.0.0/0 → IGWのルートがあるか: サブネットに正しいルートテーブルが関連付けられているかも確認
セキュリティグループのアウトバウンドルール: デフォルトでは全許可ですが、カスタムルールで制限していないか確認

プライベートサブネットのEC2からyum/aptが使えない

NATゲートウェイが正しく設定されていないケースがほとんどです。NATゲートウェイがパブリックサブネットに配置されているか、プライベートサブネットのルートテーブルに0.0.0.0/0 → NATゲートウェイのルートがあるか確認しましょう。

VPCのCIDRが足りなくなった

VPCにはセカンダリCIDRブロックを追加できます(最大5つ)。既存のリソースに影響を与えずにアドレス空間を拡張できるので、設計段階で余裕を持たせておくのが安心です。

Amazon VPC入門 サブネット設計からインターネット接続まで現場で使えるネットワーク構築の基礎 - まとめ

本記事のまとめ

Amazon VPCはAWSのネットワーク基盤です。オンプレのネットワーク設計経験がある方なら、VLANがサブネットに、エッジルーターがIGWに、NATルーターがNATゲートウェイに置き換わったと考えれば理解しやすいでしょう。

やりたいこと AWSサービス/機能 オンプレ相当
仮想ネットワークを作る Amazon VPC データセンター内ネットワーク
ネットワークを分割する サブネット VLAN
インターネットに接続する インターネットゲートウェイ エッジルーター + ISP回線
内部からだけ外に出る NATゲートウェイ NATルーター
トラフィック経路を制御する ルートテーブル ルーティングテーブル

まずは検証用のカスタムVPCを1つ作り、パブリック/プライベートサブネットの2層構成を試してみてください。手を動かすことで、ルートテーブルとIGWの関係が体感できます。

VPCの設計、自信を持ってできますか?

VPCはAWSのすべてのサービスの土台です。ここを正しく設計できるかどうかで、その後の運用コストとセキュリティレベルが決まります。
オンプレの経験を活かしながら、現場で使えるクラウドスキルを体系的に身につけたい方へ、メルマガで実践的なクラウド活用ノウハウをお届けしています。

Linuxサーバーの基礎やEC2上でのサーバー構築については、姉妹サイトLinuxMaster.JPで詳しく解説しています。

コメント

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