Contenu connexe
Similaire à アカツキはどのようにAWSを活用しているか #jawsug (20)
アカツキはどのようにAWSを活用しているか #jawsug
- 5. 構築
• CloudFormation + Chef + Capistrano
• CloudFormation template
• https://gist.github.com/yusuket/
40e2ec7811cf1cd3d703
( yusuket の public gist )
- 8. デプロイ
• デプロイ内容をどうやって決めているか?
• Gitのタグ
# 検証が終わった環境から、本番用の production/yyyymmddhhmmss タグを作る
git tag production/yyyymmddhhmmss
!
# git tag 結果は文字列の昇順にソートされているので、
# 最後に表示される production タグをもとにデプロイする
git tag | grep "^production" | last
※Capistranoでの実装: http://hackerslab.aktsk.jp/technology/2014-04-29-faster-deploy/
- 10. デプロイ
• データの更新も同時に実施
• Assets on Cloud パターン (静的コンテンツ)
• Rails だと、asset_sync Gem を使うと簡単
※ http://d.hatena.ne.jp/lettas0726/20130320/1363773153
- 12. リスト取得
def s3_md5_list(bucket, platform)
obj = bucket.objects.with_prefix("#{platform}/
md5_list/").sort_by{|o| o.last_modified}[-1]
return [] if obj.nil?
obj.read.each_line.map do |line|
line.chomp.split("t")
end
end
• 直接S3上のファイルを操作できる AWS-SDK
が素晴らしい
- 14. RDS
• 2014/4 全国TV-CM開始!
• RDS Master DB Instance type は既に
db.cr1.8xlarge (最大サイズ)
• CPU使用率は30%弱
• ユーザ数は最大3~4倍を想定。普通に考えてCPUリ
ソースが枯渇する
- 20. RDS
• Commit 時の REDO ログと binlog の fsync() を
止める
• srv_sync_log_buffer_in_background() によっ
て、1秒置きにログは fsync() されている
• 障害時に最大1秒間のデータが消失する可能性
がある!(Master DB では普通やらない)
- 22. RDS
• 結果、CPU使用率は 5% 程度に
• WriteIOPSも少し下がった
• TV-CM乗り切った
• パラメータは戻す予定。余程のことが無い限
り、参考にしない方が良いと思います