ブログをGitHub PagesからAWS S3に移行しました
2月からブログがアクセスできない状態になっておりました。
先週、ブログをGitHub Pagesから、AWS S3のウェブホスティングに移行して、再びアクセスできるようになりました。 本来なら、ついでにTLS化(SSL化)するべきなのですが、最低限の手間で済むように、今回はHTTPのままで移行しました。
さてアクセス不能になった原因についてです。
従来はGitHub Pagesで独自ドメインでブログを公開していました。 先日、GitHubの契約を、有料プラン(月7ドル)から無料に変更したのですが、それが原因のようです。 調べてみると、無料プランでは、privateリポジトリのGitHub Pagesがサポートされなくなっていました。
ブログ自体はJekyllを記述して、それをGitHub Pagesで公開していました。 でも考えてみれば、Jekyllは静的サイトジェネレータですから、Jekyllが生成したサイトのファイル一式をS3にアップロードすれば、そのままウェブでアクセスできるはずです。
調べてみると、やり方はとても簡単でJekyllでサイトを生成した後に、_siteの中身をまるごとS3バケットにミラーリングするだけでした。こんな感じです。
$ jekyll build
$ cd _site
$ aws s3 sync . s3://blog.kondoyoshiyuki.com/ --delete
S3への移行自体はとても簡単でしたが、S3のバケットを公開するための手順で手間どってしまいました。 「S3バケットを誰でもアクセスできるようにする」ためには、コンソールでデフォルトの設定を数か所変更する必要がありました。
これは、「S3バケットを意図せずにグローバルアクセス可能にしてしまう」事故を防ぐためなんでしょうね。