本ブログをAmazon S3に移行しました

nanoc を使ってスタティックなHTMLとして構築している本ブログを、レンタルサーバから Amazon S3 (以下S3)に移行しました。移行にあたってnanoc3.3から提供されている新しいデプロイ機能を利用したのでまとめておきます。

はじめに

S3を使ったWebサイトのホスティングについては以下の本家ドキュメントなどを参照してください。

nanoc-deploy gemよりnanoc3.3以降の利用がおすすめ

nanocのバージョンが3.3未満であっても nanoc-deploy gemを使えばS3にデプロイすることは可能ですが、実用的な速度を得られなかったのでnanoc3.3以降の利用をおすすめします。(nanoc-deploy gemはリージョンなどを指定する術がなく(リージョンによるが)ファイルアップロードの度にリダイレクトが発生してしまう)
なおnanoc3.3以降に追加されたS3(などのクラウド)へのデプロイ機能は、この nanoc-deployを統合したもの のようです。

fog gemが必要

fog gemが必要なのでインストールしてください。

$ gem install fog

設定ファイルの書き方

S3にデプロイする場合、nanocの設定ファイル(config.yaml)に以下のような記述が必要です。regionまたはhostオプションを指定しないと(nanoc-deployと同様に)デプロイが遅くなるのでご注意ください。
kind以外のオプションはFog::Storageのコンストラクタに渡されるので、詳細は FogのRDoc などを参照してください。

deploy:
  s3:
    kind: fog
    provider:              aws
    bucket:                YOUR_BUCKET_NAME
    aws_access_key_id:     YOUR_AWS_ACCESS_KEY_ID
    aws_secret_access_key: YOUR_AWS_SECRET_ACCESS_KEY
    region:                ap-northeast-1

デプロイ

デプロイの実行は3.3から追加されたdeployコマンドで行います。上記設定ファイルに指定したデプロイ先(ここでは"s3")の指定が必要です。

$ nanoc deploy --target s3

関連エントリ

blog comments powered by Disqus