VPCエンドポイント ぶいぴーしーえんどぽいんと
VPCエンドポイントとは
VPC(Virtual Private Cloud) とは、クラウド上に作る「自分専用の仮想プライベートネットワーク」のことです。その中にいるサーバーやアプリが、S3(ストレージ)やDynamoDB(データベース)などAWSの各種サービスを利用したいとき、通常であればいったんインターネット経由でアクセスすることになります。
VPCエンドポイントは、このインターネット経由のルートを使わずに、AWSのバックボーンネットワーク(内部ネットワーク)を通じて直接サービスへアクセスするための「専用の入口(エンドポイント)」です。社内ビルの専用通路を使って隣のビルに移動するようなイメージで、外の公道(インターネット)を一切通らずに済みます。
これにより、セキュリティの向上(通信がインターネットに出ない)・コスト削減(インターネットゲートウェイやNATゲートウェイの転送コストが不要)・低レイテンシ(内部ネットワークなので高速)という三つのメリットが同時に得られます。特に機密データを扱うシステムでは必須の設計として広く採用されています。
VPCエンドポイントの種類と仕組み
VPCエンドポイントには主に2種類あります。用途と対応サービスが異なるので、選定のポイントを押さえておきましょう。
| 種類 | 別名 | 対応サービス例 | 仕組み |
|---|---|---|---|
| ゲートウェイ型 | Gateway Endpoint | S3、DynamoDB | ルートテーブルにエントリを追加するだけ。無料 |
| インターフェイス型 | Interface Endpoint / PrivateLink | その他ほぼ全AWSサービス・サードパーティ | VPC内にENI(仮想NIC)を作成。有料 |
ゲートウェイ型の仕組み
[ EC2インスタンス (VPC内) ]
│
│ ルートテーブル経由(インターネット不使用)
▼
[ Gateway Endpoint ]
│
▼
[ Amazon S3 / DynamoDB ]
ルートテーブル(通信の経路表)にエントリを追加するだけで動作します。追加料金がかからないため、S3やDynamoDBへのアクセスには真っ先に導入を検討すべき設定です。
インターフェイス型(PrivateLink)の仕組み
PrivateLink は、AWSが提供するプライベート接続の仕組みで、インターフェイス型エンドポイントの基盤技術です。VPC内に ENI(Elastic Network Interface) という仮想ネットワークカードを生成し、プライベートIPアドレスを割り当てます。これにより、VPC内から見ると「ローカルのサービス」に接続しているように見えます。
[ EC2インスタンス (VPC内) ]
│
│ プライベートIPで通信
▼
[ ENI(インターフェイス型エンドポイント) ]
│
│ AWSバックボーンネットワーク
▼
[ CloudWatch / Secrets Manager / など ]
歴史と背景
- 2013年以前: AWSのVPC内からS3にアクセスするには、NATゲートウェイまたはインターネットゲートウェイを経由するしかなく、コストとセキュリティリスクが課題だった
- 2015年: AWSがS3向けのゲートウェイ型VPCエンドポイントをリリース。インターネットを経由せずS3へアクセス可能になる
- 2017年: DynamoDBもゲートウェイ型エンドポイントに対応
- 2017年11月: AWS PrivateLink(インターフェイス型エンドポイントの基盤)が発表。EC2 APIやElastic Load Balancingなど多数のサービスに対応開始
- 2018年以降: 対応サービスが急速に拡大。Secrets Manager、CloudWatch、SSM、KMSなどセキュリティ関連サービスが続々対応
- 現在: ほぼすべてのAWSサービスがPrivateLinkに対応。金融・医療・官公庁など規制の厳しい業界でのクラウド活用を支える標準的なアーキテクチャとして定着
ゲートウェイ型 vs インターフェイス型の比較
どちらを使うべきか迷ったときの判断基準を図で整理します。
セキュリティポリシー(エンドポイントポリシー)
VPCエンドポイントには、エンドポイントポリシー(IAMポリシーと同じJSON形式)を設定できます。「このエンドポイントからはこのS3バケットにしかアクセスできない」という制限をかけることができ、万が一EC2が侵害されても被害を限定できます。
{
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-secure-bucket/*"
}
]
}
実務での活用シーン
| シーン | 使い方 |
|---|---|
| 機密データの保管 | Lambda/EC2からS3へ、インターネット非経由でアクセス |
| コスト削減 | NATゲートウェイ経由のS3転送コストをゼロにする |
| セキュリティ監査対応 | 「インターネットに出ない」構成を証明できる |
| マルチアカウント構成 | PrivateLinkで他アカウントのサービスに安全接続 |
| SaaS連携 | サードパーティSaaSがPrivateLinkに対応していれば安全接続可能 |
関連用語
- VPC — AWS上の仮想プライベートネットワーク。VPCエンドポイントはその中から使う
- NATゲートウェイ — プライベートサブネットからインターネットへ出るための出口。VPCエンドポイントで代替できる場合がある
- セキュリティグループ — VPC内の通信を制御するファイアウォール機能
- IAM — エンドポイントポリシーはIAMポリシーと同じ書式で記述する
- S3 — ゲートウェイ型エンドポイントの代表的な接続先
- PrivateLink — インターフェイス型エンドポイントの基盤技術
- サブネット — インターフェイス型エンドポイントはサブネット単位でENIを配置する
- ルートテーブル — ゲートウェイ型エンドポイントはルートテーブルへの追記で動作する