AWS PrivateLinkとVPCエンドポイントの実践|インターネットを通らないAWSサービスへの安全なアクセス

現場実践|AWSのVPCエンドポイント設計
AWS PrivateLinkとVPCエンドポイントの実践|インターネットを通らないAWSサービスへの安全なアクセス
「EC2からS3にアクセスするとNAT GWの費用がかかる」「インターネットを通らずにAWSサービスにアクセスしたい」——VPCエンドポイント(ゲートウェイ型・インターフェイス型)とAWS PrivateLinkの仕組みと設定方法を解説します。
💡 VPCエンドポイントを使えばEC2からS3・DynamoDBにインターネット(NAT GW)を通らずにアクセスできます。NAT GWのデータ処理コストを削減しつつセキュリティも向上する、コスト最適化とセキュリティ強化が同時に実現できます。
1. VPCエンドポイントの2種類
| ゲートウェイ型 | インターフェイス型(PrivateLink) | |
|---|---|---|
| 対応サービス | S3とDynamoDBのみ | 100以上のAWSサービス(EC2・SSM・ECR等) |
| 料金 | 無料 | 時間課金+データ処理料金(有料) |
| 仕組み | ルートテーブルにエントリを追加 | VPC内にENI(プライベートIP)を作成 |
| セキュリティ | エンドポイントポリシーで制限可能 | セキュリティグループで制御可能 |
2. S3ゲートウェイエンドポイントの設定
# Terraform でS3ゲートウェイエンドポイントを作成
resource "aws_vpc_endpoint" "s3" {
vpc_id = aws_vpc.main.id
service_name = "com.amazonaws.ap-northeast-1.s3"
vpc_endpoint_type = "Gateway"
# プライベートサブネットのルートテーブルに追加
route_table_ids = [
aws_route_table.private_1a.id,
aws_route_table.private_1c.id
]
# バケットポリシーで特定バケットのみアクセス許可
policy = jsonencode({
Version = "2012-10-17"
Statement = [{
Effect = "Allow"
Principal = "*"
Action = ["s3:GetObject", "s3:PutObject"]
Resource = "arn:aws:s3:::my-bucket/*"
}]
})
}3. NAT GWのコスト削減効果
プライベートサブネットのEC2からS3へのアクセスが多い環境では、S3ゲートウェイエンドポイントを設定するだけでNAT GWのデータ処理コストが大幅に削減できます。S3ゲートウェイエンドポイント自体は無料なので、設定するだけで純粋なコスト削減になります。ログファイルのS3保存・バックアップのS3転送が多い環境では特に効果が大きいです。
4. SSM・ECRへのインターフェイス型エンドポイント
完全にプライベートな環境(インターネット接続なし)でEC2をSystems Managerで管理したい場合は「ssm」「ssmmessages」「ec2messages」の3つのインターフェイス型エンドポイントが必要です。ECSでFargateを使う場合はECR・CloudWatch Logsへのエンドポイントも必要になります。
📌 この記事のポイント
- S3・DynamoDBへのアクセスはゲートウェイ型エンドポイント(無料)を使ってNAT GWのコストを削減する
- インターフェイス型(PrivateLink)は100以上のAWSサービスに対応するが時間課金が発生する
- インターネット完全遮断の環境でSSMを使うにはssm・ssmmessages・ec2messagesの3エンドポイントが必要
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




