▪️目的
AWSでVPCを構築していると、
「プライベートサブネットにあるEC2からS3へアクセスしたい」
「インターネットを経由せずにAWSのサービスへ接続したい」
といったケースがあります。
例えば、以下のような構成です。
Private Subnet
│
↓
EC2
│
↓
S3
しかし、プライベートサブネットに配置したEC2は、基本的にインターネットから直接アクセスできません。
そこで利用できるのが**VPCエンドポイント(VPC Endpoint)**です。
VPCエンドポイントを利用すると、VPC内のリソースからAWSのサービスへ、インターネットゲートウェイやNAT Gatewayを経由せずに接続できる構成を作れます。
この記事では、AWS初心者向けにVPCエンドポイントの仕組みや種類、NAT Gatewayとの違い、代表的な利用例について解説します。
この記事を読むことで、以下の内容が分かるようになります。
- VPCエンドポイントとは何か
- なぜVPCエンドポイントが必要なのか
- Gateway型とInterface型の違い
- S3へ接続する仕組み
- NAT Gatewayとの違い
- VPC Endpointとルートテーブルの関係
- VPC Endpointを利用するメリット
▪️VPCエンドポイントとは?
VPCエンドポイントとは、VPCからAWSのサービスや対応するサービスへ、VPC内からプライベートに接続するための仕組みです。
通常、AWSのサービスへアクセスする場合、サービスによってはインターネット経由の通信を利用することがあります。
一方、VPCエンドポイントを利用すると、VPC内のリソースからAWSサービスへ直接接続する構成を作れます。
イメージすると、
EC2
│
│
↓
VPC Endpoint
│
↓
AWSサービス
となります。
例えば、プライベートサブネットにあるEC2からS3へアクセスする場合、
Private Subnet
┌────────────────┐
│ EC2 │
│ ↓ │
│ VPC Endpoint │
└──────┬─────────┘
↓
S3
という構成にできます。
▪️なぜVPCエンドポイントが必要なのか?
では、なぜVPCエンドポイントを使うのでしょうか?
大きな理由の一つが、インターネットを経由せずにAWSサービスへ接続できることです。
例えば、プライベートサブネットにあるEC2からS3へアクセスするとします。
VPCエンドポイントを使わない場合、構成によってはNAT Gatewayを利用して外部へ通信する方法があります。
Private Subnet
│
↓
EC2
│
↓
NAT Gateway
│
↓
Internet
│
↓
S3
一方、VPCエンドポイントを利用すると、
Private Subnet
│
↓
EC2
│
↓
VPC Endpoint
│
↓
S3
という構成にできます。
このように、AWSサービスへのアクセス経路をVPC内からプライベートに構成できます。
▪️VPCエンドポイントの種類
VPCエンドポイントには、大きく分けて以下の種類があります。
- Gateway endpoint
- Interface endpoint
それぞれ仕組みが異なります。
♦︎Gateway endpointとは?
Gateway endpointは、主にAmazon S3やAmazon DynamoDBへ接続するときに利用します。
Gateway endpointでは、ルートテーブルにVPCエンドポイントへのルートを設定します。
例えば、
Private Subnet
│
↓
EC2
│
↓
Route Table
│
↓
Gateway Endpoint
│
↓
S3
という構成です。
現在、Gateway endpointを利用できる代表的なAWSサービスは、
- Amazon S3
- Amazon DynamoDB
です。
Gateway endpointとルートテーブル
Gateway endpointを理解するうえでは、ルートテーブルとの関係が重要です。
例えば、プライベートサブネットに以下のようなEC2があるとします。
Private Subnet
│
EC2
このサブネットに関連付けられているルートテーブルに、S3向けのエンドポイントルートを設定します。
イメージすると、
Route Table
S3の宛先
↓
VPC Endpoint
となります。
そのため、EC2からS3へアクセスすると、ルートテーブルによってVPCエンドポイントへ通信を送ることができます。
♦︎Interface endpointとは?
もう一つがInterface endpointです。
Interface endpointでは、VPC内に**Elastic Network Interface(ENI)**を作成して、AWSサービスなどへプライベートに接続します。
イメージすると、
Private Subnet
┌─────────────────┐
│ │
│ EC2 │
│ ↓ │
│ Endpoint ENI │
│ │
└───────┬─────────┘
↓
AWSサービス
となります。
Interface endpointでは、VPC内のサブネットにエンドポイント用のENIが作成されます。
そのため、Security Groupを設定して通信を制御することもできます。
Interface endpointでは何に接続できる?
Interface endpointでは、AWS PrivateLinkを利用して、多くのAWSサービスへプライベートに接続できます。
例えば、
- Amazon CloudWatch
- AWS Systems Manager
- AWS Secrets Manager
- Amazon ECR
- AWS STS
など、さまざまなサービスがあります。
利用できるサービスは増減するため、実際に構築するときはAWS公式ドキュメントで対応状況を確認することが重要です。
▪️Gateway endpointとInterface endpointの違い
ここまでの内容を整理すると、以下のようになります。
| 項目 | Gateway endpoint | Interface endpoint |
|---|---|---|
| 主な対象 | S3 / DynamoDB | 多くのAWSサービスなど |
| 接続方法 | ルートテーブル | ENI |
| Security Group | 基本的に使用しない | 使用できる |
| AWS PrivateLink | 使用しない | 使用する |
| 主な用途 | S3/DynamoDBへの接続 | 各種AWSサービスへのプライベート接続 |
初心者の段階では、
S3・DynamoDB → Gateway endpoint
それ以外の多くのAWSサービス → Interface endpoint
というイメージを持っておくと理解しやすいでしょう。
▪️S3へのアクセスで考えてみる
具体例として、プライベートサブネットのEC2からS3へアクセスしてみましょう。
♦︎VPCエンドポイントを使わない場合
例えば、EC2からS3へアクセスするためにNAT Gatewayを利用する構成があります。
Internet
↑
│
NAT Gateway
↑
│
Private Subnet EC2
この場合、プライベートサブネットから外部への通信をNAT Gatewayへ送ります。
♦︎Gateway endpointを使う場合
S3向けのGateway endpointを作成すると、
Private Subnet
┌─────────────────┐
│ EC2 │
│ ↓ │
│ Route Table │
└───────┬─────────┘
↓
Gateway Endpoint
↓
S3
という構成にできます。
S3へのアクセスをVPCエンドポイント経由にすることで、NAT Gatewayを経由しない構成にできます。
▪️VPCエンドポイントとNAT Gatewayの違い
ここは非常に重要です。
NAT GatewayとVPCエンドポイントは、どちらもプライベートサブネットから外部・AWSサービスへ接続する場面で登場しますが、役割は異なります。
NAT Gateway
NAT Gatewayは、主にプライベートサブネットからインターネットへ外向きに接続するために利用します。
Private Subnet
↓
NAT Gateway
↓
Internet
例えば、
- OSのパッケージをダウンロードする
- 外部APIへアクセスする
- インターネット上のサービスへ接続する
などに利用できます。
VPCエンドポイント
VPCエンドポイントは、VPCから対応するAWSサービスなどへプライベートに接続するために利用します。
Private Subnet
↓
VPC Endpoint
↓
AWSサービス
例えば、
EC2
↓
S3
や、
EC2
↓
Secrets Manager
などの通信をプライベートに構成できます。
▪️NAT GatewayとVPCエンドポイントを組み合わせる
実際のAWS環境では、どちらか一方だけを使うとは限りません。
例えば、
┌──→ VPC Endpoint → S3
│
Private Subnet → EC2
│
└──→ NAT Gateway → Internet
という構成です。
EC2からS3へアクセスするときはVPCエンドポイントを利用し、外部のインターネットへアクセスするときはNAT Gatewayを利用します。
このように、通信先に応じて経路を分けることができます。
▪️VPCエンドポイントとSecurity Group
Interface endpointでは、エンドポイントのENIにSecurity Groupを関連付けることができます。
例えば、
EC2
↓
Interface Endpoint
という構成の場合、Interface endpoint側のSecurity Groupで、
HTTPS : 443
Source : EC2のSecurity Group
のように通信を許可できます。
このように、Interface endpointでもSecurity Groupを利用してアクセス制御できます。
▪️VPCエンドポイントポリシー
VPCエンドポイントでは、エンドポイントポリシーを設定できる場合があります。
これは、VPCエンドポイントを経由してAWSサービスへアクセスするときの権限を制御するために利用します。
例えばS3のGateway endpointでは、
このEndpoint経由では
特定のS3バケットだけアクセス可能
といった制御を検討できます。
IAMによる権限管理と組み合わせることで、より細かいアクセス制御を行えます。
▪️VPCエンドポイントを利用するメリット
VPCエンドポイントには、いくつかのメリットがあります。
① インターネットを経由しない構成を作れる
AWSサービスへの通信をVPC内からプライベートに構成できます。
セキュリティを考えるうえでも重要です。
② NAT Gatewayへの依存を減らせる
S3など、VPCエンドポイントに対応したAWSサービスへのアクセスをエンドポイント経由にすることで、NAT Gatewayを経由させる必要がなくなります。
その結果、NAT Gatewayの利用量や構成を見直せる場合があります。
③ AWSサービスへのアクセス経路を明確にできる
例えば、
S3 → VPC Endpoint
Internet → NAT Gateway
のように、通信先によって経路を整理できます。
④ セキュリティ設計に活用できる
プライベートサブネットからAWSサービスへ接続する経路をプライベートに構成することで、セキュリティ要件に対応しやすくなります。
▪️VPCエンドポイントを利用した構成例
例えば、AWS上にアプリケーションサーバーを構築するとします。
Internet
│
↓
ALB
│
↓
Application
EC2
│
┌─────────────┴─────────────┐
↓ ↓
VPC Endpoint NAT Gateway
↓ ↓
AWS Services Internet
この構成では、
- ユーザーからの通信 → ALB
- アプリケーション処理 → EC2
- AWSサービスへのアクセス → VPC Endpoint
- 外部インターネットへのアクセス → NAT Gateway
というように役割を分けられます。
▪️AWSのサービスを利用するだけなら必ずEndpointが必要?
ここは注意が必要です。
AWSサービスを利用するために、必ずVPCエンドポイントが必要というわけではありません。
サービスや通信経路によって、必要なネットワーク構成は異なります。
例えば、S3へアクセスする場合でも、Gateway endpointを使う方法だけではなく、別の構成が存在します。
また、Interface endpointを作成すればすべてのAWSサービスにアクセスできるわけでもありません。
そのため、実際の設計では、
- どのAWSサービスへ接続するのか
- どの通信経路を利用するのか
- インターネット接続が必要なのか
- セキュリティ要件は何か
- コストはどうなるか
などを考える必要があります。
▪️VPCエンドポイントを理解するポイント
VPCエンドポイントを理解するときは、以下の関係を押さえておきましょう。
Private Subnet
│
↓
EC2
│
├────→ NAT Gateway → Internet
│
└────→ VPC Endpoint → AWS Service
つまり、
「プライベートサブネットからどこへ通信するのか?」
によって、適切な通信経路を考えることが重要です。
▪️まとめ
今回はVPCエンドポイントについて解説しました。
VPCエンドポイントは、VPC内のリソースからAWSサービスなどへプライベートに接続するための仕組みです。
代表的な種類として、
- Gateway endpoint
- Interface endpoint
があります。
Gateway endpointは主にS3やDynamoDBで利用され、ルートテーブルを利用して通信をVPCエンドポイントへ向けます。
一方、Interface endpointではVPC内にENIを作成し、AWS PrivateLinkを利用して対応するサービスへプライベートに接続します。
また、NAT Gatewayとの違いも重要です。
NAT Gateway
Private Subnet
↓
Internet
VPC Endpoint
Private Subnet
↓
AWS Service
というように、それぞれ役割が異なります。
AWSでネットワークを設計するときは、
「この通信はどこを経由するのか?」
という視点を持つことが非常に重要です。
VPCエンドポイントを理解することで、プライベートサブネットからAWSサービスへ接続するネットワーク構成をより具体的に考えられるようになります。
次回は、AWSのセキュリティや暗号化を理解するうえで重要なAWS KMSについて解説します。
*「KMS」の記事はこちら
→「https://lovelabengineer.com/2026/10/09/awsのkmsとは?暗号化とkmsキーの仕組みを初心者向けに/」

No responses yet