Yoshihito Tech Blog

2025/04/17

VPCエンドポイントに設定するSGのアウトバウンドルールについて

概要

インターフェース型のVPCエンドポイントに設定するセキュリティグループにおいて、
アウトバウンドルールの設定は不要である。
なぜ不要なのかを調べたので、記事を書いた。

結論としては、
VPCエンドポイントとVPCエンドポイントサービスの通信は
PrivateLinkを介して行われるため、
VPCエンドポイントに設定するセキュリティグループのアウトバウンドルールは不要である。

VPCエンドポイントとは

そもそもVPCエンドポイントとは何か、について。
VPCエンドポイントとは、AWS VPC内にあるAWSリソースがインターネットを経由せずに
AWSサービスにアクセスできるようにするためのサービスである。
インターネットを経由せずにAWSサービスにアクセスできるため、

図で表すとこんな感じ。

VPCエンドポイント

VPCエンドポイントの種類

VPCエンドポイントには、以下の2種類がある。

インターフェース型エンドポイントは、AWSサービスに対して
Elastic Network Interface(ENI)を介して接続するためのエンドポイントである。
ゲートウェイ型エンドポイントは、S3やDynamoDBなどのAWSサービスに対して
VPCのルートテーブルを介して接続するためのエンドポイントである。

インターフェース型VPCエンドポイントの実態

インターフェース型VPCエンドポイントを作成すると、ENIが自動的に作成される。
このENIはVPCエンドポイントサービスと接続されるためのものである。
つまり、インターフェース型VPCエンドポイントの実態はENIであり、
VPC内のリソースはこのENIを介してVPCエンドポイントサービスに接続される。

図で表すとこんな感じ。

VPCエンドポイント

ENIとVPCエンドポイントサービスの通信

ENIとVPCエンドポイントサービスとの通信には、PrivateLinkが使用される。

PrivateLinkとは

PrivateLinkとは、VPC内のリソースがAWSサービスやVPCエンドポイントサービスに
アクセスするためのプライベートな接続を提供するサービス。
PrivateLinkはAWS管理のため、ユーザ側で管理や設定が不要のものとなる。

つまり、VPCエンドポイントから出る通信はAWS側で管理されるため、
ユーザ側でセキュリティグループのアウトバウンドルールを設定する必要がない。

VPCエンドポイント

上図から、
VPCエンドポイントに設定するセキュリティグループにおいて、
インバウンドルールは設定が必要であるが、
アウトバウンドルールは設定不要となるのである。  

まとめ

インターフェース型のVPCエンドポイントに設定するセキュリティグループにて、
アウトバウンドルールが設定不要である理由について解説した。

CloudFormationで作成する際、アウトバウンドルールについては特に明記する必要はないが
明記しないとデフォルト値の0.0.0.0/0が設定される。
※繰り返しになるがこの設定値に意味はない。

一般的に、0.0.0.0/0は全ての通信を許可ことを意味するので、
設定値だけ見ればセキュリティに検知される場合がある。
そのため、CloudFormationで作成する際、セキュリティ検知がされる場合は
127.0.0.1/32などの最低限の設定のみを記載すると良い。