AWS S3で Octopress (静的ページ) のホスティング

なんとなしにさくらのVPSを使ってこのブログを置いていたのですが、Octopressに移行したし、が完全に無駄なのでS3へ移動しまーす\(^o^)/

とりあえず、AWSアカウントは(記憶にないが)作っていたようなので、それを利用。

やったこと。

S3バケットを作成する

SlideShareにて公開されているスライド(Amazon S3による静的Webサイトホスティング)がとても分かりやすく、ここで何かを残す必要がない。。

OctopressのRakefileにS3 deployタスクを追加

まずは、デプロイターゲットの設定

## -- S3 Deploy Configs -- ##
s3_bucket      = "senta.me"  # Enter your S3 bucket name here
s3_cache_secs  = "3600" # Number of seconds to keep objects in cache - 3600 = 1 hour
s3_delete      = true # True if you want to remove deleted files in you public-directory from the S3 bucket
document_root  = "blog/"
deploy_default = "s3"

s3cmdを使ったデプロイタスク

desc "Deploy website via s3cmd"
task :s3 do
  puts "## Deploying website via s3cmd"
  ok_failed system("s3cmd sync --acl-public #{"--delete-removed" unless s3_delete == false}  --add-header \"Cache-Control: max-age=#{s3_cache_secs}\"  public/* s3://#{s3_bucket}/#{document_root}")
end

ググってコピペでだいたいOKでしたが、/blogディレクトリ以下のみOctopressで管理しているため、S3へのデプロイ時も同様に blogディレクトリ以下のみ同期するよう、 document_root を使い指定するよう変更しました。

Route 53にNSを移行

今までははお名前.comのNSを使っていたのですが、これもRoute 53に移行。(そもそも、Route 53使わずにS3で独自ドメインが使えるのか不明…。。)
この設定もSlideShareのスライドのママ。

1つ追加した設定は、www付きのドメインでもwwwなしでも同じBucketを参照できるよう、エイリアスを設定したくらい。

できた!

めっちゃ簡単でした!
すごいよ!あまぞんさんすごいよ!これで月10円とか…? さ よ う な ら VPS (・ω<)

参考

SHOTA

I'm WEB developer

Tokyo, Japan http://senta.me/