Amazon S3 が AWS PrivateLink をサポート


概要

今までは、Gateway型という形で用意されていました。
VPCの各種Gatewayと同じで、VPCひとつに設定してあげてそこから、S3にリクエストをとばしてあげるイメージです。
今まで例えば、DirectConnectでオンプレからAWSに接続している場合に、オンプレからS3にアップロードすることができませんでした。
AWS側で何かしらファイルを受け取って、S3に投げ込む必要がありましたが、今回、PrivateLink に対応したことにより、直接ファイルを投げ込むことができるようになりました。
また、PrivateLink ということはENIが作成されるので、セキュリティグループがつけられ、そこで通信の制御ができるという利点があります。今までポリシーベースで制御ができましたが、ネットワークレベルで制御できたほうがよい。

[Feb 2, 2021]Amazon S3 now supports AWS PrivateLink

PrivateLink の作成

[タイプ]に「Interface」ができています!

エンドポイントを作成する VPC および AZ を選択します。

インターフェース型のエンドポイントを作成する際はプライベート DNS を有効にしますが、 PrivateLink for S3 では利用できません。セキュリティグループを選択し [エンドポイントの作成] します。

確認

前述のとおり、PrivateLink for S3 ではプライベート DNS 名が利用できませんので、エンドポイント固有の DNS 名を利用する。

$ dig vpce-xxxxxxxx-xxxxxxx.s3.ap-northeast-1.vpce.amazonaws.com +short
10.0.1.139
10.0.2.145

AWS CLI の場合、Interface VPC Endpoint の DNS 名を使ってくれるようにプログラム側で指示してあげる必要があります。

aws s3 --endpoint-url https://bucket.<エンドポイントごと固有の値>.s3.ap-northeast-1.vpce.amazonaws.com ls s3://<バケット名>/

リンク

Amazon S3