カテゴリー
AWS S3 VPC Endpoint

AWS S3へのアクセスがEndPoint経由で行われているか確認する

経緯

VPCにエンドポイントを作成して、S3にアクセスする設定にしたものの、本当にエンドポイント経由でアクセスされているか確認したかったので、検証してみました。

確認する方法は、

  • S3のサーバーアクセスログ
  • CloudTrailのデータイベントの記録

がありますが、今回はCloudTrailで検証していきます。

CloudTrailの設定は省略させていただきます。(データイベントの記録を有効化してください)

※CloudTrailコンソールのイベント履歴には、データイベントは記録されませんので、S3バケットに保存しているログで確認ください。

確認

EC2インスタンスからS3へファイルのアップロード

下記のコマンドを実行して、S3にファイルをアップロードします。

aws s3 cp test.txt s3://bucketname/

暫くして、CloudTrailのログを確認します。

sourceIPAddressがEC2インスタンスのプライベートIPアドレスとなっている事が確認できました。

eventVersion: "1.08",
userIdentity: {},
eventTime: "2021-06-19T05:09:24Z",
eventSource: "s3.amazonaws.com",
eventName: "PutObject",
awsRegion: "ap-northeast-1",
sourceIPAddress: "10.0.0.236",
userAgent: "[aws-cli/1.18.147 Python/2.7.18 Linux/4.14.232-176.381.amzn2.x86_64 botocore/1.18.6]",
requestParameters: {
bucketName: "bucketname",
Host: "bucketname.s3.ap-northeast-1.amazonaws.com",
key: "test.txt"
},
responseElements: {
x-amz-server-side-encryption: "aws:kms",
x-amz-server-side-encryption-aws-kms-key-id: "arn:aws:kms:ap-northeast-1:xxxxxxxx:key/xxxxxxxx"
},