【AWS】VPC Endpointとは?Gateway型とInterface型の違い・使い分けを初心者向けに解説

  • URLをコピーしました!

前の記事では、 Security GroupとNetwork ACL(NACL)を使って VPC内の通信を制御する仕組みを学びました。

ここまでで、 VPC内のネットワークを構成するための 重要な要素がかなり見えてきました。

NETWORK Subnet
ROUTING Route Table
INTERNET IGW / NAT
SECURITY SG / NACL

では、プライベートサブネットにあるEC2から Amazon S3などのAWSサービスへアクセスするとき、 必ずNAT Gatewayやインターネットゲートウェイを 経由する必要があるのでしょうか。

QUESTION AWSサービスへ
インターネットを経由せずに接続できない?

そこで登場するのが、 VPC Endpoint(VPCエンドポイント)です。

☁ AWS INTERMEDIATE

この記事はAWS中級講座のレッスン7です。 VPC Endpointを使ってAWSサービスへ プライベートに接続する仕組みを学びます。

AWS中級講座を見る →
LESSON GOAL この記事のゴール

VPC Endpointの役割を理解し、 Gateway型とInterface型の違いを 説明できるようになることを目指します。

目次

VPC Endpointとは?

VPC Endpointは、 VPCから対応するAWSサービスやリソースなどへ プライベートに接続するための仕組みです。

たとえば、 プライベートサブネットにあるEC2から Amazon S3へアクセスする場合を考えてみましょう。

VPC
PRIVATE SUBNET EC2
PUBLIC SUBNET NAT Gateway
GATEWAY Internet Gateway
AWS SERVICE Amazon S3

VPC Endpointを利用すると、 このようなNAT GatewayやIGWを利用する経路とは別に、 AWSサービスへプライベートにアクセスする経路を構成できます。

PRIVATE SUBNET EC2
VPC ENDPOINT Endpoint
AWS SERVICE Amazon S3
POINT VPC Endpointを利用すると、 IGWやNAT Gatewayを必要としない プライベートな接続経路を構成できる

まずはGateway型とInterface型を覚えよう

VPC Endpointには複数のタイプがありますが、 AWSのネットワークを学ぶうえで特に重要なのが 次の2つです。

GATEWAY ENDPOINT Gateway型

主にS3・DynamoDBへの プライベートアクセス

VS
INTERFACE ENDPOINT Interface型

AWS PrivateLinkを利用して 対応サービスへ接続

GATEWAY S3 / DynamoDB
INTERFACE PrivateLink / ENI

Gateway Endpointとは?

Gateway Endpointは、 Amazon S3やAmazon DynamoDBへ プライベートにアクセスするために利用できます。

Gateway Endpointでは、 ルートテーブルが重要な役割を持ちます。

PRIVATE SUBNET EC2
ROUTE TABLE S3 → vpce-xxxxx
GATEWAY ENDPOINT VPC Endpoint
AWS SERVICE Amazon S3

Gateway Endpointを作成して 対象のルートテーブルを関連付けると、 AWSサービスのプレフィックスリストを宛先とした エンドポイントへのルートが追加されます。

Destination Target
10.0.0.0/16 local
pl-xxxxxxxx vpce-xxxxxxxx

ここでの pl-xxxxxxxxは、 S3などのAWSサービスが使用するIPアドレス範囲を表す AWS管理のプレフィックスリストです。

GATEWAY ENDPOINT Gateway型は 「ルートテーブルに経路を追加する」 と覚える

Gateway型ではS3とDynamoDBを覚える

AWS学習では、 Gateway Endpointと対応サービスの組み合わせが重要です。

S3 OBJECT STORAGE Amazon S3
DB DATABASE Amazon DynamoDB
MUST REMEMBER Gateway Endpoint
= S3 / DynamoDB

また、Gateway Endpointには 追加料金がありません。

Interface Endpointとは?

Interface Endpointは、 AWS PrivateLinkを利用して、 対応するAWSサービスなどへ プライベートに接続する仕組みです。

Gateway型とは異なり、 Interface Endpointを作成すると、 選択したサブネットに ENI(Elastic Network Interface) が作成されます。

VPC
PRIVATE SUBNET
RESOURCE EC2
INTERFACE ENDPOINT ENI Private IP
↓ AWS PrivateLink
AWS SERVICE Supported Service

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

EC2などのリソースは、 このプライベートIPを持つENIを通して 対応サービスへアクセスします。

INTERFACE ENDPOINT Interface型 = AWS PrivateLink + ENI(プライベートIP)

なぜInterface型ではENIが作られる?

Interface Endpointを理解するときは、 「VPC内にサービスへの入口を作る」 と考えると分かりやすいでしょう。

APPLICATION EC2 10.0.1.10
PRIVATE ENTRY POINT Endpoint ENI 10.0.1.50
SERVICE AWS Service

VPC内にプライベートIPを持つ ネットワークインターフェイスが作られるため、 VPC内のリソースから見ると、 プライベートな接続先として利用できます。

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

Interface EndpointのENIには、 Security Groupを関連付けます。

SOURCE EC2
SECURITY GROUP TCP / 443
ENDPOINT ENI

たとえばHTTPSを利用して AWSサービスへアクセスする場合、 EC2側からInterface EndpointのENIへ TCP/443の通信が許可されるように設定します。

前の記事で学んだSecurity Groupが、 ここでも登場するわけです。

Private DNSとは?

Interface Endpointでは、 Private DNSも重要なポイントです。

通常、AWSサービスへアクセスするときは、 サービスのDNS名を利用します。

APPLICATION EC2
DNS NAME Service DNS
PRIVATE DNS Endpoint ENI

Private DNSを有効にすると、 対応サービスの通常のDNS名を利用しながら、 Interface Endpointの プライベートIPへ名前解決できるようになります。

PRIVATE DNS アプリケーション側の接続先を 大きく変更せずに Interface Endpointを利用しやすくなる

Gateway型とInterface型の違い

ここまでの違いを一覧で整理してみましょう。

項目 Gateway型 Interface型
主な接続先 S3 / DynamoDB PrivateLink対応サービスなど
仕組み ルートテーブル ENI
PrivateLink 使用しない 使用する
Security Group Endpoint自体には設定しない 設定する
追加料金 なし あり

図で覚えるGateway型とInterface型

GATEWAY
EC2 Route Table Gateway Endpoint S3 / DynamoDB
INTERFACE
EC2 Endpoint ENI AWS PrivateLink AWS Service

VPC EndpointとNAT Gatewayの違い

VPC Endpointを学ぶと、 NAT Gatewayとの違いが分かりにくくなることがあります。

NAT GATEWAY 外部への出口

プライベートサブネットから インターネットなどへ アウトバウンド通信する

VPC ENDPOINT 特定サービスへの経路

対応するAWSサービスなどへ プライベートに接続する

たとえば、 プライベートサブネットのEC2が Amazon S3だけにアクセスするのであれば、 S3用のGateway Endpointを利用することで、 S3通信のためにNAT Gatewayを経由する必要はありません。

Endpoint Policyでアクセス先を制御できる

VPC Endpointでは、 Endpoint Policyを利用して エンドポイント経由で利用できるAWSサービスの操作や リソースなどを制御できます。

RESOURCE EC2
ENDPOINT POLICY Access Control
AWS SERVICE Amazon S3

たとえば、 VPC Endpointを経由して 特定のS3バケットだけにアクセスさせる、 といったアクセス制御を設計できます。

IMPORTANT

Endpoint Policyだけですべての権限が決まるわけではありません。 IAMポリシーやS3バケットポリシーなどと組み合わせて 最終的なアクセス可否が決まります。

あなたならどちらを選ぶ?

次の構成を考えてみましょう。

REQUIREMENT プライベートサブネットのEC2から
Amazon S3へアクセスしたい

NAT GatewayやIGWを経由せず、 できるだけシンプルに接続したい。

どちらか選択してください

S3とGateway Endpointの関係を思い出してみましょう。

Gateway Endpointの通信経路を追ってみよう

EC2からAmazon S3へアクセスする場合を 順番に追ってみます。

01 EC2

S3へ通信

02 Route Table

宛先を確認

03 Gateway Endpoint

S3経路を選択

04 Amazon S3

通信が到達

ROUTE S3 Prefix List → VPC Endpoint

この通信では、 S3宛ての通信がGateway Endpointへルーティングされるため、 NAT GatewayやIGWを利用する必要がありません。

確認問題:VPC Endpoint

QUESTION 01

Gateway Endpointの代表的な接続先はどれですか?

正解:B

Gateway Endpointでは、 Amazon S3とAmazon DynamoDBを 重要な組み合わせとして覚えておきましょう。

QUESTION 02

Interface Endpointの特徴として正しいものはどれですか?

正解:C

Interface EndpointはAWS PrivateLinkを利用し、 選択したサブネットに プライベートIPを持つENIが作成されます。

QUESTION 03

Gateway Endpointの通信経路で重要なものはどれですか?

正解:A

Gateway Endpointでは、 対象サービスへの経路が ルートテーブルに追加されます。

YOUR SCORE 0 / 3

3問に挑戦してみましょう。

まとめ

01

VPC Endpointを利用すると、 対応するAWSサービスなどへ プライベートに接続できる

02

Gateway Endpointでは S3・DynamoDBを覚える

03

Gateway型では ルートテーブルが重要

04

Interface Endpointでは AWS PrivateLinkを利用する

05

Interface型では プライベートIPを持つENIが作成される

06

Gateway Endpointは 追加料金なし、 Interface Endpointは料金が発生する

07

Endpoint Policyによって エンドポイント経由のアクセスを制御できる

次はAWSの代表的なサーバー「EC2」へ

ここまでのAWS中級講座では、 VPCを中心としたネットワークについて学んできました。

01 VPC
02 Subnet
03 IGW / NAT
04 Endpoint

ここからは、 このVPC内に配置する代表的なAWSリソースについて 学んでいきます。

まず理解しておきたいのが、 AWSの代表的な仮想サーバーサービスである Amazon EC2です。

NEXT CONCEPT Amazon EC2

次の記事では、 EC2とは何か、インスタンス・AMI・インスタンスタイプなど EC2を理解するための基本を学びます。

NEXT LESSON AWS INTERMEDIATE 08

Amazon EC2の基本を理解する

VPC内のネットワークを理解したら、 次はそのネットワーク上で動作する AWSの代表的なコンピューティングサービスを学びましょう。

次の記事では、 Amazon EC2の基本を 初心者向けに整理していきます。

Amazon EC2の基本を理解する
AWS INTERMEDIATE

AWS中級講座へ戻る

AWS中級講座の記事一覧から、 学習したいレッスンを確認できます。

← AWS中級講座へ戻る
目次