【AWS】VPCエンドポイントとは?Gateway型・Interface型の違いと使い分けを徹底解説

  • URLをコピーしました!

Amazon VPC内のEC2などからAmazon S3やAWSの各種サービスへアクセスするとき、必ずしもインターネットを経由する必要はありません。

AWSには、VPCとAWSサービスをプライベートに接続するためのVPCエンドポイント(VPC Endpoint)という仕組みがあります。

VPCエンドポイントを利用すると、インターネットゲートウェイ(IGW)やNAT Gatewayを経由せず、VPCから対応するAWSサービスへアクセスできます。

しかし、VPCエンドポイントを学習すると、

  • Gateway型とInterface型は何が違う?
  • S3にはどちらを使う?
  • AWS PrivateLinkとは何?
  • Interface EndpointではなぜENIが作成される?
  • NAT Gatewayとは何が違う?
  • Endpoint Policyは何のために使う?

といった疑問が出てきます。

最初に結論を整理すると、SAA学習では次のように覚えると分かりやすいでしょう。

Gateway Endpoint
主にAmazon S3とAmazon DynamoDBへのプライベートアクセスに利用する。

Interface Endpoint
AWS PrivateLinkを利用し、対応するさまざまなAWSサービスへプライベートに接続する。

本記事では、VPCエンドポイントの基本からGateway型・Interface型の違い、ルートテーブル・ENI・Private DNS・Endpoint Policy、NAT Gatewayとの違いまで初心者向けに解説します。

目次

📚 SAA試験対策ボックス

試験頻出度★★★★★
重要度★★★★★
関連分野VPC / S3 / DynamoDB / AWS PrivateLink / NAT Gateway / データ保護
重要キーワードVPC Endpoint / Gateway Endpoint / Interface Endpoint / PrivateLink / ENI / Private DNS / Endpoint Policy

この記事で覚えること

  • VPCエンドポイントを使う目的
  • Gateway EndpointとInterface Endpointの違い
  • S3・DynamoDBとGateway Endpointの関係
  • Interface EndpointとAWS PrivateLinkの関係
  • Interface EndpointでENIが作成される理由
  • VPCエンドポイントとNAT Gatewayの違い
  • Endpoint Policyによるアクセス制御
  • プライベート接続によるデータ保護の考え方

VPCエンドポイントとは?

VPCエンドポイントとは、VPCと対応するAWSサービスやエンドポイントサービスをプライベートに接続するための仕組みです。

例えば、プライベートサブネットに配置されたEC2からAmazon S3へアクセスするケースを考えてみましょう。

VPCエンドポイントを利用しない構成では、要件やネットワーク構成によってNAT Gatewayなどを利用してS3のパブリックエンドポイントへアクセスすることがあります。


Private EC2
     ↓
NAT Gateway
     ↓
Internet Gateway
     ↓
Amazon S3

これに対してVPCエンドポイントを利用すると、


Private EC2
     ↓
VPC Endpoint
     ↓
Amazon S3

という構成にできます。

この場合、S3へアクセスするためにNAT GatewayやInternet Gatewayを経由する必要がありません。

重要ポイント

VPCエンドポイントは、VPCから対応サービスへプライベートにアクセスするための仕組みです。

なぜVPCエンドポイントを使うのか?

VPCエンドポイントを利用する代表的な理由は、次の3つです。

① インターネット経由を避けられる

対応するAWSサービスへの通信をプライベートに行えるため、対象サービスへアクセスするためだけにインターネット接続経路を用意する必要がなくなります。

② プライベートサブネットからAWSサービスへアクセスできる

EC2をプライベートサブネットへ配置したまま、S3や対応するAWSサービスへアクセスできます。

③ アクセス経路を限定できる

VPCエンドポイントやサービス側のリソースポリシーなどを組み合わせることで、データへアクセスできる経路を限定できます。

これはデータ保護やガバナンスの観点でも重要です。

VPCエンドポイントの種類

VPCエンドポイントには複数の種類がありますが、SAA学習で特に重要なのが、

  • Gateway Endpoint
  • Interface Endpoint

です。

まず大まかな違いを整理しましょう。

比較項目Gateway EndpointInterface Endpoint
代表的な接続先S3 / DynamoDBPrivateLink対応サービス
仕組みルートテーブルを利用ENIを作成
プライベートIPエンドポイントENIを作成しないENIにプライベートIPを割り当て
Security Groupエンドポイント自体には設定しない設定可能
AWS PrivateLink使用しない使用する
料金Gateway Endpoint自体の追加料金なしエンドポイント時間・データ処理などの料金が発生

Gateway Endpointとは?

Gateway Endpointは、Amazon S3とAmazon DynamoDBへのプライベートアクセスに利用できるVPCエンドポイントです。

Gateway Endpointでは、エンドポイントを作成して対象となるVPCのルートテーブルへ関連付けます。

例えば、プライベートサブネット内のEC2からS3へアクセスする場合を考えます。


VPC
│
├─ Private Subnet
│      │
│      └─ EC2
│
├─ Route Table
│      │
│      └─ S3 → Gateway Endpoint
│
└─ Gateway Endpoint
       │
       ↓
   Amazon S3

Gateway Endpointを関連付けたルートテーブルには、対象サービスへの経路が追加されます。

EC2からS3への通信は、この経路を利用してGateway Endpointへ送られます。

Gateway EndpointではPrefix Listが使われる

Gateway Endpointのルートでは、S3やDynamoDBのIPアドレスを1つずつ指定するわけではありません。

AWSが管理するPrefix List(プレフィックスリスト)を宛先として利用します。

イメージとしては、


Destination
S3 Prefix List
      ↓
Target
VPC Endpoint

というルートが作成されます。

AWS側でサービスのIPアドレスが変更された場合でも、AWS管理プレフィックスリストを利用することで、利用者が個々のIPアドレスを管理する必要を減らせます。

📘 SAA試験ポイント

S3 / DynamoDB + Route Tableという組み合わせが問題文に登場したら、Gateway Endpointを思い出しましょう。

Gateway Endpointは無料?

Gateway Endpoint自体には、追加の時間料金やデータ処理料金はありません。

そのため、プライベートサブネットのEC2からS3へ大量のデータを転送する構成では、NAT Gatewayを経由する構成と比較してコスト面でも有利になる場合があります。

もちろん、S3やEC2など利用する各サービス自体の料金や、構成に応じたデータ転送料金は別途考える必要があります。

📘 SAAでよくある要件

「プライベートサブネットのEC2からS3へアクセスしたい。インターネット経由を避け、NAT Gatewayのコストも削減したい」

この場合は、S3 Gateway Endpointが有力な選択肢です。

Interface Endpointとは?

Interface Endpointは、AWS PrivateLinkを利用して、対応するAWSサービスやエンドポイントサービスへプライベートに接続するVPCエンドポイントです。

Gateway Endpointとの大きな違いは、Interface Endpointを作成すると、選択したサブネットにENI(Elastic Network Interface)が作成されることです。


Private EC2
     │
     │ Private IP
     ▼
Interface Endpoint
     │
     │ ENI
     │ Private IP
     ▼
AWS PrivateLink
     │
     ▼
AWS Service

EC2から見ると、VPC内に存在するプライベートIPアドレスへアクセスするような構成になります。

Interface EndpointとENIの関係

Interface Endpointを理解するうえで、ENIは非常に重要です。

Interface Endpointを作成すると、指定したサブネットごとにエンドポイントネットワークインターフェイスが作成されます。

そのENIにはサブネットのIPアドレス範囲からプライベートIPアドレスが割り当てられます。


VPC 10.0.0.0/16

Private Subnet
10.0.1.0/24

      EC2
10.0.1.10
      │
      ↓
Interface Endpoint ENI
10.0.1.x
      │
      ↓
AWS PrivateLink
      │
      ↓
AWS Service

このため、Gateway Endpointのようにルートテーブルへサービス向けの経路を追加する方式とは仕組みが異なります。

Gateway Endpoint
Route Tableで覚える

Interface Endpoint
ENI + Private IPで覚える

Interface EndpointではSecurity Groupを設定できる

Interface EndpointのENIには、Security Groupを関連付けることができます。

例えばHTTPSを利用するサービスへアクセスする場合、


EC2
 │
 │ TCP 443
 ▼
Security Group
 │
 ▼
Interface Endpoint ENI

のように、Interface Endpointへの通信をSecurity Groupで制御できます。

Security Groupはステートフルなアクセス制御であり、必要な通信だけをInterface Endpointへ許可できます。

AWS PrivateLinkとは?

Interface Endpointを理解するためには、AWS PrivateLinkも押さえておきましょう。

AWS PrivateLinkは、VPCと対応するサービスをプライベートに接続するための技術です。

Interface Endpointは、このAWS PrivateLinkを利用します。


Consumer VPC
     │
     │ Interface Endpoint
     ▼
AWS PrivateLink
     │
     ▼
Service

通信のためにパブリックIPアドレスやInternet Gateway、NAT Gatewayを必須としないことが大きな特徴です。

Private DNSとは?

Interface Endpointでは、Private DNSも重要です。

対応するAWSサービスではPrivate DNSを有効にすることで、通常利用しているAWSサービスのDNS名を、VPC内からInterface EndpointのプライベートIPアドレスへ名前解決できるようになります。

概念的には、


EC2
 ↓
AWSサービスのDNS名
 ↓
Route 53 Resolver
 ↓
Interface Endpointの
Private IP
 ↓
ENI
 ↓
AWS PrivateLink
 ↓
AWS Service

となります。

これにより、アプリケーション側で接続先URLを大きく変更せずに、Interface Endpointを利用できるケースがあります。

📘 SAA試験ポイント

Interface Endpoint + Private DNS + ENI + PrivateLink

この関係をまとめて理解しておきましょう。

Gateway型とInterface型の通信経路を比較

ここまでの内容を1つの図として考えると、次のようになります。

最も重要なのは、Gateway型とInterface型ではプライベート接続を実現する仕組みそのものが異なることです。

Gateway EndpointとInterface Endpointの違い

項目Gateway EndpointInterface Endpoint
代表的なサービスS3 / DynamoDBPrivateLink対応サービス
通信方式Route TableENI
Private IPエンドポイントENIなしあり
Security Groupエンドポイントには設定しない設定可能
Private DNSInterface型とは仕組みが異なる重要
AWS PrivateLink使用しない使用する
エンドポイントポリシー利用可能サービスが対応している場合に利用可能
料金エンドポイント自体に追加料金なし料金あり

VPCエンドポイントとNAT Gatewayの違い

SAAでは、VPCエンドポイントとNAT Gatewayの使い分けも重要です。

NAT Gatewayは、プライベートサブネット内のリソースからVPC外のパブリックな宛先へアウトバウンド通信を行うために利用できます。


Private EC2
     ↓
NAT Gateway
     ↓
Internet Gateway
     ↓
Internet

一方、VPCエンドポイントは、対応する特定のサービスへプライベートに接続するために利用します。


Private EC2
     ↓
VPC Endpoint
     ↓
AWS Service
項目VPC EndpointNAT Gateway
主な目的対応サービスへのプライベート接続プライベートサブネットから外部へのアウトバウンド接続
Internet Gateway対象サービスへの通信では不要インターネットアクセスでは必要
接続先対応するAWSサービスなどインターネット上の幅広い宛先
アクセス制御Endpoint Policyなどを利用可能ルートやSecurity Group、NACLなどで設計

📘 SAAの判断方法

インターネット全般へアクセス
→ NAT Gateway

対応するAWSサービスへプライベートアクセス
→ VPC Endpoint

Endpoint Policyとは?

VPCエンドポイントでは、対応する場合にEndpoint Policyを設定できます。

Endpoint Policyは、VPCエンドポイントを経由してどのリソースやアクションへアクセスできるのかを制御するためのポリシーです。

例えばS3 Gateway Endpointで、


EC2
 ↓
VPC Endpoint
 ↓
Bucket-A → 許可
Bucket-B → 許可しない

のように、エンドポイントを通じて利用できるS3リソースを限定する設計が可能です。

注意

Endpoint Policyだけですべてのアクセス権限が決まるわけではありません。

IAM PolicyやS3 Bucket Policyなど、他のアクセス制御も合わせて評価されます。

S3 Bucket PolicyとVPC Endpointを組み合わせる

データ保護・ガバナンスの観点では、S3 Bucket PolicyとVPC Endpointを組み合わせたアクセス制御も重要です。

例えば、機密データを保存したS3バケットに対して、


Private EC2
      ↓
指定VPC Endpoint
      ↓
S3 Bucket

というアクセス経路のみを許可する設計を検討できます。

S3のBucket Policyでは、VPC Endpointに関する条件キーを利用してアクセス元を制限できます。

これにより、認証・認可だけでなく、「どのネットワーク経路からデータへアクセスできるか」まで制御できます。

VPCエンドポイントがデータ保護に有効な理由

① パブリックな経路への依存を減らせる

対応サービスへの通信でInternet GatewayやNAT Gatewayを必須としない構成にできます。

② アクセス経路を制限できる

Endpoint Policyやサービス側のリソースポリシーを組み合わせることで、許可するアクセス経路を限定できます。

③ Private Subnetを維持できる

AWSサービスへアクセスするためだけにEC2へPublic IPを付与する必要がありません。

④ 最小権限設計と組み合わせられる

IAM Policy、Endpoint Policy、Bucket Policyなどを組み合わせることで、ID・リソース・ネットワーク経路の複数レイヤーからアクセスを制御できます。

データガバナンスで考える多層アクセス制御

例えば、機密データを保存するS3バケットを考えてみましょう。


IAM Policy
   ↓
「誰がアクセスできる?」

VPC Endpoint Policy
   ↓
「このエンドポイント経由で何を許可する?」

S3 Bucket Policy
   ↓
「このバケットはどこからのアクセスを許可する?」

Amazon S3
   ↓
Data

このように、AWSでは複数のアクセス制御を組み合わせてデータを保護できます。

IAM
誰が何をできるか

VPC Endpoint
どのプライベート経路を利用するか

Resource Policy
対象リソースが誰・どこからのアクセスを受け入れるか

Interface Endpointは高可用性も考える

Interface Endpointは指定したサブネットにENIを作成します。

高可用性が求められる構成では、複数のアベイラビリティーゾーンを考慮してInterface Endpointを配置することが重要です。


VPC

AZ-a
└─ Private Subnet
      └─ Interface Endpoint ENI

AZ-c
└─ Private Subnet
      └─ Interface Endpoint ENI

のように、利用するAZごとにエンドポイントネットワークインターフェイスを配置する設計を検討します。

🔥 SAAでよくある判断パターン

パターン① Private EC2からS3へプライベートアクセス

要件:

  • Internet Gatewayを経由したくない
  • NAT Gatewayを使いたくない
  • コストを抑えたい

答えの候補:Gateway Endpoint for Amazon S3

パターン② Private EC2からDynamoDBへアクセス

答えの候補:Gateway Endpoint for DynamoDB

パターン③ Private EC2からPrivateLink対応AWSサービスへ接続

問題文に、

  • PrivateLink
  • ENI
  • Private IP
  • Private DNS

などが登場した場合は、Interface Endpointを考えます。

パターン④ S3への通信でNAT Gatewayコストを削減したい


Before

EC2
 ↓
NAT Gateway
 ↓
S3


After

EC2
 ↓
Gateway Endpoint
 ↓
S3

答えの候補:S3 Gateway Endpoint

パターン⑤ S3バケットへのアクセス経路を特定VPC Endpointに限定したい

答えの候補:

  • VPC Endpoint
  • Endpoint Policy
  • S3 Bucket Policy

などを要件に応じて組み合わせます。

パターン⑥ Private Subnetから一般的なWebサイトへアクセスしたい

VPC Endpointは一般的なインターネットアクセスを提供するものではありません。

答えの候補:NAT Gateway

⚠ 初心者が間違えやすいポイント

① VPC Endpointを使えばインターネット全体へアクセスできる

誤りです。

VPC Endpointは、対応するAWSサービスやエンドポイントサービスなどへの接続に利用します。

② Gateway EndpointとInterface Endpointは同じ仕組み

誤りです。

Gateway Endpointはルートテーブルを利用する方式で、Interface EndpointはENIとAWS PrivateLinkを利用します。

③ S3へプライベート接続するなら必ずInterface Endpoint

誤りです。

S3ではGateway Endpointを利用できます。

要件によってはS3のInterface Endpointを利用するケースもありますが、SAAではまずGateway Endpointの代表的な用途としてS3を理解しておくことが重要です。

④ Interface Endpointはルートテーブルへサービス経路を追加して利用する

Gateway Endpointと混同しています。

Interface EndpointではENIとプライベートIPアドレスを利用して接続します。

⑤ VPC Endpointを使えばIAMは不要

誤りです。

VPC Endpointはネットワーク接続の仕組みです。

AWSサービスに対する認証・認可ではIAMなどのアクセス制御が引き続き重要です。

⑥ Endpoint Policyを設定すればBucket Policyは無視される

誤りです。

Endpoint Policyだけでアクセス可否が決まるわけではありません。

IAM PolicyやResource Policyなど、関係するポリシーを含めてアクセスが評価されます。

Gateway型とInterface型の覚え方

Gateway Endpoint

「S3・DynamoDBへの道をルートテーブルに作る」

  • S3
  • DynamoDB
  • Route Table
  • Prefix List
  • Gateway Endpoint自体は追加料金なし

Interface Endpoint

「VPC内にAWSサービスへのプライベートな入口を作る」

  • ENI
  • Private IP
  • Security Group
  • Private DNS
  • AWS PrivateLink

VPC Endpoint・NAT Gateway・Internet Gatewayを整理

サービス目的代表的な用途
Internet GatewayVPCとインターネット間の通信Public Subnetのインターネット接続
NAT GatewayPrivate Subnetから外部へのアウトバウンド通信OSアップデートや外部Web APIへのアクセスなど
Gateway Endpoint対応サービスへのプライベート接続S3 / DynamoDB
Interface EndpointPrivateLinkを利用したプライベート接続PrivateLink対応AWSサービスなど

🔥 SAA試験頻出ポイント

  • VPC Endpointは対応サービスへのプライベート接続に利用する
  • Gateway Endpointの代表例はS3とDynamoDB
  • Gateway EndpointではRoute Tableが重要
  • Gateway EndpointではAWS管理Prefix Listが利用される
  • Gateway Endpoint自体に追加料金はない
  • Interface EndpointはAWS PrivateLinkを利用する
  • Interface EndpointではENIが作成される
  • ENIにはPrivate IPが割り当てられる
  • Interface EndpointにはSecurity Groupを関連付けられる
  • Interface EndpointではPrivate DNSが重要
  • VPC EndpointとNAT Gatewayは目的が異なる
  • Endpoint Policyでエンドポイント経由のアクセスを制御できる
  • S3 Bucket Policyと組み合わせてアクセス経路を制限できる
  • Interface Endpointは高可用性を考慮して複数AZへの配置を検討する

まとめ

VPCエンドポイントは、VPCから対応するAWSサービスなどへプライベートに接続するための重要なネットワーク機能です。

特にSAAでは、Gateway EndpointとInterface Endpointの違いを明確に理解しておきましょう。


Gateway Endpoint

S3 / DynamoDB
      ↑
Gateway Endpoint
      ↑
Route Table
      ↑
     EC2


Interface Endpoint

AWS Service
      ↑
AWS PrivateLink
      ↑
Interface Endpoint
ENI / Private IP
      ↑
     EC2

Gateway Endpoint
S3 / DynamoDB + Route Table

Interface Endpoint
PrivateLink + ENI + Private IP + Security Group + Private DNS

さらに、VPCエンドポイントは単なる通信経路としてだけではなく、Endpoint PolicyやS3 Bucket Policyなどと組み合わせることで、「誰がアクセスできるか」だけでなく「どの経路からデータへアクセスできるか」まで制御するために利用できます。

SAAでは、Gateway型・Interface型の名称だけを暗記するのではなく、「接続先は何か」「Route TableかENIか」「NAT Gatewayを使う必要があるのか」「どのようにデータへのアクセスを制限するのか」を要件から判断できるようにしておきましょう。

目次