s3_website を使って静的サイトをホストした時に詰まったことをメモしておく。
https://github.com/laurilehmijoki/s3_website
s3_websiteとは
s3でwebサイトをホストするためのコマンドラインツール。s3とCloudFrontの設定をしたり、静的ファイルをs3アップロードしたりできる。
手順
初期設定のawsのアクセスIDや、シークレットキーを取得する方法はこちら。
githubのReadmeを参照。
https://github.com/laurilehmijoki/s3_website
詰まったポイント
1.CloudFront設定
なぜかs3_website cfg apply
だけでは、自動でcloudFrontの設定をしてくれなかったので--headless
と--autocreate-cloudfront-dist
をつけて実行。
s3_website cfg apply --headless --autocreate-cloudfront-dist
2.exapmleフォルダの中に、index.htmlというファイル構成にしていたのだが、s3_website push
ではアップロードできなかったので、s3_website.yml
の中の site:
をsite:./
と指定して、実行した。
疑問
CloudFrontの設定で、CNAMEを以下のように定義したのだけれど、この時点ではhttp://example.com にはアクセスできず、Route53のAレコードでexample.comとcloudFrontのドメインをマッピングするとアクセスできた。Route53を使わなくてもexample.comにアクセスできるようにできそうだけど、、、、。なぜできなかったのかをまた調べてみる。
cloudfront_distribution_config:
default_cache_behavior:
min_ttl: <%= 60 * 60 * 24 %>
aliases:
quantity: 1
items:
- example.com