Amazon S3のVPCエンドポイント選定
はじめに
SHIFTでインフラエンジニアをしている長野です。
AWSの設計でVPCとS3でプライベートな接続をしたいとき、VPCエンドポイントを使用します。しかし、S3のVPCエンドポイントはゲートウェイ型とインターフェイス型の2種類あり、どちらかを選定しなければなりません。
私が選定する際に公式のドキュメントや他の方の記事を読んだところ、それぞれの特徴が書かれているに留まり、どちらを選定すべきか悩んでしまったことがありました。
この記事では、2種類の違いとユースケースを紹介します。S3のVPCエンドポイント選定で悩まれている方の一助になればと思います。
VPCエンドポイントの種類
ゲートウェイ型
最初に登場したVPCエンドポイントです。 2021年1月まで、S3で使用するVPCエンドポイントはゲートウェイ型のみでした。
対応サービスは「S3」と「DynamoDB」
オンプレミスからのアクセスを許可しない
別のAWSリージョンからのアクセスを許可しない
グローバルIPアドレスを使用する
無課金で利用できる
VPCとの境界に配置される
インターフェイス型(AWS PrivateLink for Amazon S3)
S3に対応を開始したのは2021年2月からです。それまではゲートウェイ型のみでした。AWS PrivateLinkと混在されますが、AWS PrivateLinkはインターフェイス型のエンドポイントを使用してプライベートな接続をするものと理解して良いでしょう。
50以上のサービスに対応
オンプレミスからのアクセスを許可する
別のAWSリージョンからのアクセスを許可する
プライベートIPアドレスを使用する
課金が必要
ENIが作成され、VPC内に配置される
ユースケース
インターフェイス型を選定するケース
以下のケースではインターフェイス型を選定する必要があります。
1.リージョンを跨いで接続をする
リージョンを跨いでの接続をゲートウェイ型は許可していません。リージョン間でVPCピアリング接続をして、インターフェイス型を選定する必要があります。
2.オンプレミスからプライベートな接続をする
通信元がオンプレミスの場合、ゲートウェイ型は許可していません。オンプレミスとAWSの通信は専用線やVPNを経由し、インターフェイス型を選定することでプライベートな接続ができます。
3.既にゲートウェイ型を使用している状態であれば、インターフェイス型を追加して併用する設計も可能
ゲートウェイ型はインターフェイス型と互換性があります。既にゲートウェイ型を使用して構築しているリージョンとは別のリージョンで新たに構築する必要がある場合、インターフェイス型を追加して両方のリージョンのS3と接続することができます。
インターフェイス型のケースに該当しなければゲートウェイ型を選定して良い
プライベートな通信をするのであれば、ゲートウェイ型の選定で良いです。 グローバルIPアドレスを使用しているので、インターネットを経由しているのでは?と疑われますが、AWS内でのみ使用しているため、インターネットに出ることはありません。また、インターフェイス型は課金が発生しますので、敢えて選定する必要はありません。
最後に
インターフェイス型は2021年から登場しているため、長くAWSを扱っている方の場合、 S3のVPCエンドポイントは、ゲートウェイ型を指していると思われます。チームで設計を進めていたり、エンドポイント関連の問い合わせの際、認識齟齬が発生する可能性があります。種類が判別できるよう、"インターフェイスエンドポイント"、"ゲートウェイエンドポイント"と明確に分けて呼ぶようにして、どちらを指しているかを明確にすると良いでしょう。
お問合せはお気軽に
SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/
SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/
SHIFTの導入事例
https://service.shiftinc.jp/case/
お役立ち資料はこちら
https://service.shiftinc.jp/resources/
SHIFTの採用情報はこちら
PHOTO:UnsplashのConny Schneider