クラウドネットワーキング

VPCエンドポイント ぶいぴーしーえんどぽいんと

VPCAWSプライベートネットワークS3PrivateLinkセキュリティ
VPCエンドポイントについて教えて

簡単に言うとこんな感じ!

クラウドの中にある自分専用ネットワーク(VPC)から、S3やDynamoDBといったAWSのサービスに「インターネットを通らずに」直接つなぐための専用出入口だよ。外の道を使わず、社内の専用通路だけで目的地に行けるイメージ!


VPCエンドポイントとは

VPC(Virtual Private Cloud) とは、クラウド上に作る「自分専用の仮想プライベートネットワーク」のことです。その中にいるサーバーやアプリが、S3(ストレージ)やDynamoDB(データベース)などAWSの各種サービスを利用したいとき、通常であればいったんインターネット経由でアクセスすることになります。

VPCエンドポイントは、このインターネット経由のルートを使わずに、AWSのバックボーンネットワーク(内部ネットワーク)を通じて直接サービスへアクセスするための「専用の入口(エンドポイント)」です。社内ビルの専用通路を使って隣のビルに移動するようなイメージで、外の公道(インターネット)を一切通らずに済みます。

これにより、セキュリティの向上(通信がインターネットに出ない)・コスト削減インターネットゲートウェイNATゲートウェイの転送コストが不要)・低レイテンシ(内部ネットワークなので高速)という三つのメリットが同時に得られます。特に機密データを扱うシステムでは必須の設計として広く採用されています。


VPCエンドポイントの種類と仕組み

VPCエンドポイントには主に2種類あります。用途と対応サービスが異なるので、選定のポイントを押さえておきましょう。

種類別名対応サービス例仕組み
ゲートウェイ型Gateway EndpointS3、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エンドポイント:2種類の比較 ゲートウェイ型 Gateway Endpoint 対応: S3 / DynamoDB のみ 料金: 無料 仕組み: ルートテーブル変更 DNS不要 💡 まずこちらを検討! S3/DynamoDBなら迷わず設定 インターフェイス型 Interface Endpoint / PrivateLink 対応: ほぼ全AWSサービス 料金: 有料(時間+転送量) 仕組み: ENI(仮想NIC)生成 プライベートDNS解決可能 💡 高セキュリティ要件に CloudWatch・SSMなど幅広く対応

セキュリティポリシー(エンドポイントポリシー)

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を配置する
  • ルートテーブル — ゲートウェイ型エンドポイントはルートテーブルへの追記で動作する