0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS VPCエンドポイント入門 5種類とPrivateLinkの関係を整理する

0
Last updated at Posted at 2026-09-10

AWS VPCエンドポイント入門 5種類とPrivateLinkの関係を整理するのアイキャッチ

はじめに

private subnetからS3やAWS APIへ接続したいとき、どのVPCエンドポイントを選ぶべきか迷っていないでしょうか。

または、ECR、CloudWatch Logs、SSMへつなぐためにVPCエンドポイントを増やしたものの、どれが必要で、どれが料金に効くのか分からなくなっていないでしょうか。

AWS公式ドキュメントとAWS::EC2::VPCEndpointの現行仕様では、VPCエンドポイントの種類は5つです。この記事では、5種類の役割とAWS PrivateLinkとの関係に絞って整理します。

この記事でわかること

  • そもそもVPCエンドポイントとAWS PrivateLinkとは何か
  • VPCエンドポイントを使う理由
  • VPCエンドポイント5種類の違い
  • Gateway endpointだけがAWS PrivateLinkを使わない理由
  • 接続要件から5種類を選ぶ基準
  • CloudFormationでS3 Gateway Endpointを作る最小例

そもそもVPCエンドポイントとは

VPCエンドポイントは、 VPC内から、対応するAWSサービスや共有されたリソースへ、インターネットを経由せずに接続するための「接続口」 です。AWS上で作成・設定するネットワーク用のリソースであり、自分でサーバーを立てて動かすものではありません。

まず、VPCはAWS上に作る「自分たち用のネットワークの区画」だと考えてください。EC2はその区画の中に配置できます。一方、S3などのAWSサービスは、EC2と同じサブネットの中に置くものではありません。そのため、EC2からサービスを使うには、そこへ届く通信経路が必要です。

例えば、プライベートサブネットのEC2から、同じリージョンのS3へファイルを読み書きしたいとします。S3のGateway endpointを使うと、S3向けの経路をルートテーブルへ追加し、NAT GatewayやInternet Gatewayを使わずにアクセスできます。

エンドポイントを作っても、S3そのものが利用側のVPC内へ移動するわけではありません。VPC側に接続口や経路を用意して、必要なサービスへアクセスできるようにします。接続口の実体や設定方法は、エンドポイントの種類によって異なります。

AWS PrivateLinkとは

AWS PrivateLinkは、 VPCと、対応するサービスやリソースを、インターネットを経由せずプライベートに接続するAWSの技術 です。AWSサービスのほか、別のAWSアカウントが提供するサービスなどへの接続にも使えます。

会社の建物にたとえると、VPCエンドポイントは「建物の中に設ける、外部サービス用の受付」です。PrivateLinkは「その受付とサービスの提供元をつなぐAWS側の仕組み」に当たります。利用者が設定する接続口と、その接続を支える技術という関係です。

具体例として、EC2からSecrets Managerに保存したデータベースのパスワードを取得する場面を考えます。Secrets Manager用のInterface endpointを作ると、EC2はその接続口を通じてPrivateLinkでSecrets ManagerのAPIへアクセスできます。この通信のために、EC2へパブリックIPアドレスを付けたり、NAT Gatewayを用意したりする必要はありません。

この例では、VPCエンドポイントが「利用側に用意する接続口」、PrivateLinkが「その接続を実現する技術」、Secrets Managerが「接続先のサービス」です。PrivateLinkという名前のサーバーを自分で構築するわけではありません。

VPCエンドポイントとPrivateLinkは同じ意味ではない

ここで押さえたいのは、 すべてのVPCエンドポイントがPrivateLinkを使うわけではない という点です。AWS公式の分類では、Gateway endpointだけがPrivateLinkを使わず、残りの4種類はPrivateLinkを使います。

  • 先ほどのS3の例: Gateway endpointを使い、PrivateLinkは使わない
  • Secrets Managerの例: Interface endpointを使い、PrivateLinkも使う

つまり、「VPCエンドポイントを作る」と「PrivateLinkを使う」は、いつも同じ意味になるわけではありません。接続先に合わせてエンドポイントの種類を選び、その種類がどの仕組みで通信するかを確認します。

なお、プライベート接続は通信経路の話です。接続口を作るだけでサービスを操作する権限が付くわけではなく、IAMなどによる認可や、種類に応じたSecurity Group・DNSの設定も必要です。

先に結論

AWS PrivateLinkの公式資料CloudFormationのVpcEndpointTypeで定義される5種類について、役割を筆者が要約したものが次の表です。

種類 ざっくり言うと 代表的な用途
Gateway endpoint ルートテーブルでS3/DynamoDBへ向ける S3、DynamoDB
Interface endpoint サブネットにendpoint network interfaceを作り、PrivateLinkで接続する AWSサービス、SaaS、独自endpoint service
Gateway Load Balancer endpoint ルートテーブルを使って仮想アプライアンス群へ通信を通す Firewall、IDS/IPS、トラフィック検査
Resource endpoint 共有されたresource configurationへ直接つなぐ RDS、IPアドレス、ドメイン名など
Service-network endpoint 1つのendpointからVPC Lattice service networkへつなぐ 複数のserviceやresourceへのアクセス

GatewayだけはAWS PrivateLinkを使いません。残りの4種類はAWS PrivateLinkを使います。

「Gatewayが5種類」ではなく、AWS公式で5種類として列挙されているのは「VPCエンドポイント」です。NAT Gateway、Internet Gateway、virtual private gatewayなどは別の記事で扱います。

前提

  • 対象読者: VPC EndpointとPrivateLinkの関係、5種類の使い分けで迷う人
  • 想定資格: AWS Certified Solutions Architect - Associate、SysOps Administrator - Associate
  • 使う環境: AWS VPC、private subnet、CloudFormation
  • 扱わない範囲: 詳細な料金試算、VPC Latticeの構築手順、Transit Gateway集中型設計
  • 仕様確認日: 2026-09-10

用語の短い説明

用語 短い説明
VPC Endpoint VPCをendpoint service、resource、service networkへプライベートに接続する入口
Endpoint network interface Interface、GWLB、Resource、Service-network endpointなどでサブネットに作られる、利用者が直接管理できないENI
Resource configuration VPC Latticeで、共有するIPアドレス、ドメイン名、RDSなどのresourceを表す設定
Service network VPC Latticeで複数のserviceやresourceをまとめる論理的な境界
AWS PrivateLink VPCとserviceやresourceをプライベートに接続する仕組み

構成で見る5種類

以下は公式の5種類を、接続目的から選べるよう筆者が図にしたものです。

5種類の違い

AWS公式のendpoint分類PrivateLink料金をもとに、設定と料金の観点を筆者が整理しています。

種類 主な接続対象 主な設定 主な料金観点
Gateway S3、DynamoDB Route table、endpoint policy Gateway endpoint自体の追加料金なし
Interface 対応AWSサービス、SaaS、独自endpoint service Subnet、Security Group、Private DNS Endpointを配置したAZごとの時間料金、データ処理料金
GatewayLoadBalancer GWLB背後の仮想アプライアンス Subnet、Route table Endpointの時間料金、データ処理料金
Resource 共有されたresource configuration Subnet、Security Group、DNS Resourceごとの時間料金、データ処理料金
ServiceNetwork VPC Lattice service network Subnet、Security Group、DNS PrivateLinkとVPC Latticeの現行料金を個別確認

料金、対象サービス、対応リージョン、quotaは変わる可能性があります。設計時は必ず公式ドキュメントと料金ページで確認してください。

1. Gateway endpoint

Gateway endpointはS3とDynamoDB向けです。選択したroute tableへAWS管理のprefix listを宛先とする経路が追加され、Internet GatewayやNATデバイスを経由せずに接続できます。

  • Gateway endpoint自体の追加料金はない
  • AWS PrivateLinkは使わない
  • S3とDynamoDBはInterface endpointにも対応するため、接続元やDNS要件によって使い分ける
  • Endpoint policyはIAM policyやS3 bucket policyを置き換えるものではない

2. Interface endpoint

Interface endpointは、指定した各subnetにprivate IPを持つendpoint network interfaceを作ります。対応するAWSサービス、他アカウントのendpoint service、SaaSなどへAWS PrivateLinkで接続します。

  • Private DNSを使うには、VPCのDNS hostnamesとDNS resolutionを有効にする
  • EndpointのSecurity Groupで、ワークロードから必要な通信を受け入れる
  • Endpointを配置したAZごとの時間料金とデータ処理料金を確認する
  • Endpoint policyをサポートしないAWSサービスもある

3. Gateway Load Balancer endpoint

Gateway Load Balancer endpointは、Firewall、IDS/IPS、監視などの仮想アプライアンスへ通信を通すためのendpointです。PrivateLinkでGWLB endpoint serviceへ接続し、route tableで検査経路を組みます。

1つのGWLB endpointで選択できるのは1つのAZの1 subnetです。複数AZで同一AZ内の経路を維持する場合は、AZごとにendpointを設計します。

4. Resource endpoint

Resource endpointは、VPC Latticeのresource configurationで表されたresourceへprivateに接続します。IPアドレス、ドメイン名、RDS databaseなどを対象にでき、resource提供のためにNLBを用意する必要はありません。

別アカウントから共有されたresource configurationを使う場合は、AWS Resource Access Managerで共有を受諾します。1つのResource endpointに関連付けられるresource configurationは1つです。

5. Service-network endpoint

Service-network endpointは、VPC Lattice service networkに関連付けられた複数のserviceやresourceへ、1つのendpointからアクセスするための種類です。

VPC Lattice service用には、endpointを作る各AZで連続した/28の未使用IPv4アドレスが必要です。多数のresourceを扱う場合もIPアドレスを消費するため、subnetの空き容量を先に確認します。

CloudFormation例: S3 Gateway Endpoint

S3へprivate subnetからアクセスするだけなら、Gateway endpointを検討します。以下はAWS標準パーティションを想定した構成例です。実AWS環境でのデプロイ・疎通確認は未実施のため、VPC、ルートテーブル、バケット名を環境に合わせて調整してください。

s3-gateway-endpoint.yml
AWSTemplateFormatVersion: "2010-09-09"

Parameters:
  VpcId:
    Type: AWS::EC2::VPC::Id
    Description: Endpointを作成するVPC

  PrivateRouteTableId:
    Type: String
    Description: S3向け経路を追加するprivate subnet側のルートテーブル

Resources:
  S3GatewayEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      # Gateway型はS3やDynamoDBで使う
      VpcEndpointType: Gateway
      VpcId: !Ref VpcId
      ServiceName: !Sub com.amazonaws.${AWS::Region}.s3
      RouteTableIds:
        - !Ref PrivateRouteTableId
      PolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: Allow
            Principal: "*"
            Action:
              - s3:GetObject
            Resource:
              # 公開用の例。実運用では対象バケットを明確に絞る
              - arn:aws:s3:::example-private-bucket/*

このendpoint policyは「このendpointを通して許可する範囲」を制御し、この設定だけでS3への権限が付与されるわけではありません。IAM policyやbucket policyなどによる認可も必要ですが、両方へ常にAllowを書く必要があるという意味ではありません。同一アカウントの基本的な評価ではidentity-based policyとresource-based policyのAllowを組み合わせ、明示的Denyを優先します。クロスアカウントアクセス、SCP、permissions boundaryなどの条件も別途確認します。

デプロイ前にAWS CloudFormation APIへ送り、テンプレートの基本構文を確認します。これはresourceの作成や疎通確認ではありません。

# 実リソースを作る前にテンプレートの構文だけ確認する
aws cloudformation validate-template \
  --template-body file://s3-gateway-endpoint.yml \
  --region ap-northeast-1

Interface型でよく出るサービス

Interface endpointは、private subnetの中からAWS APIへ出したいときに検討します。

用途
EC2管理 Systems Manager、SSM Messages。EC2 Messagesの要否はリージョンとSSM Agentの仕様を確認
コンテナ ECR API、ECR Docker、CloudWatch Logs
ログ CloudWatch Logs
秘密情報 Secrets Manager、Systems Manager Parameter Store

たとえば、private subnetのEC2をSession Managerで管理したい場合は、SSM系のInterface endpointを検討します。必要なendpointはリージョンや機能で異なるため、固定リストをそのまま作らずSystems Manager公式資料で確認します。

ECRからimage layerを取得する構成では、ECR用Interface endpointだけでなくS3への経路も必要になる場合があります。ECSやECRの公式手順で、Fargate platform versionやpull-through cacheなどの条件も確認してください。

接続要件から選ぶ

要件 先に検討する候補
S3へ大量にアクセスする S3 Gateway endpointを先に検討
DynamoDBへアクセスする DynamoDB Gateway endpointを検討
対応するAWS APIへprivateに接続する Interface endpoint
共有されたRDS、IP、ドメイン名へ直接つなぐ Resource endpoint
VPC Latticeの複数serviceやresourceへつなぐ Service-network endpoint
Firewallなどで通信をinline検査する Gateway Load Balancer endpoint
AWS APIだけへ閉じたい Interface endpointを検討

Endpointを増やせば正解ではありません。特にInterface endpointはサービス数と配置AZ数に応じて増えやすいため、Endpointの時間・データ処理料金と実際の通信量を確認します。Internetへの出口や、VPC間・オンプレミス間のネットワーク全体を接続する経路が必要なら、Gateway、VPC Peering、VPNなどを検討します。VPC Endpointは、別VPCなどにある特定のserviceやresourceへ接続する用途では利用できます。

試験で意識する観点

  • AWS公式のVpcEndpointTypeは5種類で、Gateway endpointはその1種類
  • S3とDynamoDBはGateway endpointとInterface endpointの両方に対応する
  • Interface endpointはPrivateLinkを使い、ENIとSecurity Groupが関係する
  • Gateway Load Balancer endpointは仮想アプライアンスによるinline検査に使う
  • Resource endpointとService-network endpointはVPC Latticeのresource sharingと関係する
  • VPC Endpointは特定のserviceやresourceへの接続に使い、Internetへの出口やVPC間全体のルーティングとは区別する
  • コスト、可用性、セキュリティをセットで比較する

実務チェックリスト

  • private subnetから必要なAWSサービスを列挙した
  • S3/DynamoDBはGateway endpointを検討した
  • Interface endpointのサービス数とAZ数を見積もった
  • 仮想アプライアンス経由ならGateway Load Balancer endpointを検討した
  • Resource endpointとService-network endpointのどちらが粒度に合うか確認した
  • Private DNSを有効にするか確認した
  • 対象サービスがEndpoint policyをサポートするか確認した
  • Endpoint policy、IAM policy、resource policyを組み合わせて権限を確認した
  • Service-network endpointで必要なsubnetの空きIPを確認した
  • 月次でEndpointの料金を見る担当を決めた

参考・確認先

関連記事

まとめ

  • VPCエンドポイントはGateway、Interface、GatewayLoadBalancer、Resource、ServiceNetworkの5種類
  • Gateway endpointだけはPrivateLinkを使わず、S3とDynamoDBへroute tableで接続する
  • 残り4種類はPrivateLinkを使い、接続先と目的で選ぶ
  • EndpointはSecurity Groupやpolicyだけでなく、料金、AZ、DNS、subnetの空きIPも見る

おわりに

VPC Endpointは、AWSのネットワーク設計を一段実務寄りにしてくれるテーマです。
Wealthy Designでは、クラウドのコスト、セキュリティ、運用性をまとめて説明できるエンジニアリングを大切にしています。

会社の取り組みは、会社サイトにまとめています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?