1.目的
本記事では、Interface型エンドポイントを用いて、Amazon S3にアクセスする方法を整理する。Interface型エンドポイントを作成するとエンドポイント固有のDNSが作成される。このエンドポイント固有のDNS名はパブリック DNS ドメインから解決できます。
2.作成手順
S3エンドポイントをVPCサービスから作成。タイプをInterface型のものを選択する。セキュリティグループは、要件に合わせて設定する。送信元を絞り、プロトコルHTTPS:443を許可するイメージ。
3.エンドポイントに割り当てられるDNS名の確認
・Interface型エンドポイントには「リージョン固有のDNSホスト名」と「ゾーンごとのDNSホスト名」が発行される。
・リージョンDNSホスト名は紐づいている全てのENIのプライベートIPアドレスを返す。ゾーンDNSホスト名は各AZ毎に生成され、そのゾーンにあるENIのプライベートIPアドレスを返す。
試しに、リージョンDNSをVPC内部のサーバから名前解決を試みると、、、
dig vpce-XXXXXXXXXXXXXXXXXXX.s3.ap-northeast-1.vpce.amazonaws.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.87.amzn1 <<>> vpce-04fc227a85d14d7d7-8slelhjt.s3.ap-northeast-1.vpce.amazonaws.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2612
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;vpce-04fc227a85d14d7d7-8slelhjt.s3.ap-northeast-1.vpce.amazonaws.com. IN A
;; ANSWER SECTION:
vpce-04fc227a85d14d7d7-8slelhjt.s3.ap-northeast-1.vpce.amazonaws.com. 60 IN A 172.31.48.202
vpce-04fc227a85d14d7d7-8slelhjt.s3.ap-northeast-1.vpce.amazonaws.com. 60 IN A 172.31.49.113
vpce-04fc227a85d14d7d7-8slelhjt.s3.ap-northeast-1.vpce.amazonaws.com. 60 IN A 172.31.50.240
たしかに、Private IPを返している。VPC外部(というかAWS外部)からnslookupを実施しても同様の結果が得られた。具体的には、ここのサイトを利用した。
Server: (当社Dnsサーバ)
Address: 157.65.26.10#53
Non-authoritative answer:
Name: vpce-XXXXXXXXXXXXXX.s3.ap-northeast-1.vpce.amazonaws.com
Address: 172.31.50.240
Name: vpce-XXXXXXXXXXXXXX.s3.ap-northeast-1.vpce.amazonaws.com
Address: 172.31.48.202
Name: vpce-XXXXXXXXXXXXXX.s3.ap-northeast-1.vpce.amazonaws.com
Address: 172.31.49.113
ちなみに、VPC内部からの名前解決は、VPCを構築した際に払い出されるAmazonProvidedDNS(VPC のネットワークアドレス +2 の IPアドレスを持つ。)によって実行される。VPC内部のEC2インスタンスから、以下コマンドを叩くことで確認できる。
cat /etc/resolv.conf
options timeout:2 attempts:5
; generated by /sbin/dhclient-script
search ap-northeast-1.compute.internal
nameserver 172.31.0.2
4.Interface型エンドポイントを経由したアクセス
endpoint-urlオプションでDNS名をつけることでアクセスすることができる。ここではBucket一覧を取得している。
aws s3 --endpoint-url https://bucket.XXXXXXXXXXXX.s3.ap-northeast-1.vpce.amazonaws.com ls
2021-02-17 01:48:26 XXXXXXXXXXXX
2021-02-17 00:24:53 XXXXXXXXXXXX
以上