ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

【AWS】vpc について勉強

VPC が苦手だったので少し勉強してみました。

VPC

AWSの VPC(Virtual Private Cloud)は、AWS上に構築できる仮想ネットワーク環境のことです。

基本構成

VPC には、以下の主要なコンポーネントがあります。

サブネット(Subnet)
  • VPC内で分割されたネットワークセグメント
  • パブリックサブネット(インターネットアクセス可能)とプライベートサブネット(インターネットアクセス不可)に分けるのが一般的
インターネットゲートウェイ(Internet Gateway, IGW)
  • VPCのサブネットからインターネットに接続するためのゲートウェイ
  • パブリックサブネットには必須
ルートテーブル(Route Table)
  • ネットワークのトラフィックをどこに送るかを決定するルールを定義
  • インターネットゲートウェイやNATゲートウェイを経由する設定を行う
NAT ゲートウェイ / NAT インスタンス
  • プライベートサブネットの EC2 からインターネットへアクセスするために利用
  • NAT ゲートウェイは AWS が管理するサービス
  • NAT インスタンスはユーザーが手動で管理する EC2 インスタンス
セキュリティグループ(Security Group, SG)
  • VPC 内のリソースに対する仮想ファイアウォール
  • インバウンド(受信)とアウトバウンド(送信)トラフィックを制御するルールを設定
ネットワークACL(NACL, Network Access Control List)
  • サブネットレベルでのトラフィック制御を行う
  • ステートレス(リクエストごとに許可/拒否を評価)で、より細かい制御が可能
VPC エンドポイント
  • AWS サービス(S3, DynamoDB など)にインターネットを経由せずにアクセスするためのゲートウェイ
  • セキュリティの向上や通信の最適化に役立つ

VPC の利用パターン

単一 VPC
  • 小規模環境では1つのVPCにすべてのリソースを配置
VPCピアリング
  • 別の VPC と直接通信するための接続方式
  • 例えば、異なる AWS アカウントのVPC同士を接続可能
Transit Gateway
  • 複数のVPCやオンプレミス環境を中央ハブを介して接続
  • 大規模環境でよく使用される
ハイブリッド接続(VPN / Direct Connect)
  • オンプレミスとAWSのVPCをVPNまたは専用線(Direct Connect)で接続

VPC を作成する方法

AWS マネジメントコンソールで作成
  • VPC の作成: IP アドレス範囲(CIDR ブロック)を指定して VPC を作成
  • サブネットの作成: パブリック・プライベートサブネットを作成
  • インターネットゲートウェイのアタッチ: VPC に接続してルートテーブルを設定
  • ルートテーブルの編集: インターネットゲートウェイや NAT ゲートウェイをルートとして設定
AWS CLI で作成
aws ec2 create-vpc --cidr-block 10.0.0.0/16
Terraform で作成
resource "aws_vpc" "my_vpc" {
  cidr_block = "10.0.0.0/16"
}