Amazon S3の静的ウェブサイト化
Amazon S3のバケットを静的ウェブサイトとして公開する設定をした。
参考:Amazon S3 を使用して静的ウェブサイトをホスティングする - Amazon Simple Storage Service
推奨では「AWS Amplify ホスティング」を利用するように促されるが、簡易的な実験であるため 従来の方法で設定した。
エンドポイントについて
通常、公開設定した静的ウェブサイトの場合、以下のような「ウェブサイトエンドポイント」を使用する。
http://bucket-name.s3-website.Region.amazonaws.com/object-name
また、以下のような「REST API エンドポイント」も使用できるようだ。
https://bucket-name.s3.Region.amazonaws.com/object-name
公式サイトにも「ウェブサイトエンドポイントと REST API エンドポイントの主な違い」として記載がある。
参考:ウェブサイトエンドポイント - Amazon Simple Storage Service
しかし、Cosense的にどのような違いがあって、個人的にどちらが都合が良いのかわからないので比較してみた。
主な違いは以下の通り
ウェブサイトエンドポイント
/z80ab49z7qfc6njhiwwf/S3の静的ウェブサイト化(ウェブサイトエンドポイント)
ブラケティングしても画像が展開されない。
ファイル名の指定がないとindex.htmlが表示される。
存在しないファイル名を指定すると既定のエラー画面が表示される。
HTTPSに対応していない。
その影響でEdgeではファイルのダウンロードができない。
iPhoneのChromeでダウンロードできることは確認したが、他ブラウザーは未確認。
REST API エンドポイント
/z80ab49z7qfc6njhiwwf/S3の静的ウェブサイト化(REST API エンドポイント)
ブラケティングすると画像が展開される。
画像が表示されると言うことは、その都度S3からダウンロードされる可能性があるので、転送量に影響があるのでは?
関連ページのサムネとして表示された場合も、S3の転送量に影響するかも…
ファイル名の指定がない場合はindex.htmlが表示されるのではなく、XML形式のエラーが表示される。
存在しないファイル名を指定した場合も、XML形式のエラーが表示される。
HTTPSに対応している。
リンク先がhttpsなので、Edgeでもファイルのダウンロードができる。
自分の使い道だと「REST API エンドポイント」のほうが向いているようだ。