ブログをGitHub PagesからAWS S3に移行しました

Updated:

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バケットを意図せずにグローバルアクセス可能にしてしまう」事故を防ぐためなんでしょうね。