mildscaling 20150725
TRANSCRIPT
![Page 1: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/1.jpg)
マイルドスケーリング (仮)をつくってみた
2015.07.25 JAWS-UG 上越妙高 アイレット cloudpack事業部 武川 努
1
![Page 2: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/2.jpg)
自己紹介
15年くらいIT関連で働いています
システム開発/サポート/プリセールス/翻訳/営業等々
AWSエンジニアは一年目
好きなAWSサービスはEnterprise Support
2
![Page 3: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/3.jpg)
本日のあらすじ
• 案件がやってきた
• 運用してみた
• マイルドスケーリングしてみた
3
![Page 4: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/4.jpg)
案件がやってきた
• 某有名サイトの移行と運用
• 弊社はサーバ環境の作成と運用担当
• アプリケーションは別会社が作成
• LAMP構成(CMSもあり)
• イベントがある時には負荷があがる
4
![Page 5: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/5.jpg)
構成図
5
![Page 6: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/6.jpg)
イベント
• 短かい時は2時間、長ければ半日
• 平日夜、土日日中
• 週に1,2回
• 最大負荷は通常アクセスの50倍
6
![Page 7: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/7.jpg)
イベント時構成図
7
![Page 8: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/8.jpg)
当初の運用
• イベント前に1時間以上かけて二人体制で手作業で実施 • EC2を起動 • RDSのリードレプリカを作成 • 同期ツールで同期、同期ができているかを手作業で確認 • 監視ツールに登録 • ELBにEC2を接続
• イベント中のインスタンス追加は職人芸
8
![Page 9: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/9.jpg)
Auto Scalingを使いたい
• 台数を指定するとEC2インスタンスのCreateとTerminateを自動で実施
• 時間とイベントによる増減が可能
• ELBに自動接続
• Lifecycle hookで独自処理の追加も可能
• サーバ停止の時は自動的に再作成
9
![Page 10: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/10.jpg)
AutoScaling導入時の課題
• ヘルスチェックに失敗するとTerminateする問題
• 監視ツール(Nagios)が動的追加削除に対応していない。設定変更 = 再起動
• ReadReplicaの作成/削除は対応していない
10
![Page 11: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/11.jpg)
運用作業の効率化
• コンソールの手作業からコマンドラインでスクリプトを順次作成 (shell,python)
• EC2の起動停止 • RDSリードレプリカの作成 • Nagios設定 • ELBへの接続
11
![Page 12: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/12.jpg)
運用作業の効率化
• コンソールの手作業からコマンドラインでスクリプトを順次作成 (shell,python)
• EC2の起動停止 • RDSリードレプリカの作成 • Nagios設定 • ELBへの接続
12
![Page 13: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/13.jpg)
13
作ったスクリプトを全てくみあわせる なづけて
![Page 14: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/14.jpg)
マイルドスケーリング(仮)
14
• インスタンスがTerminateしないのでマイルド • コマンドひとつで追加削除なので運用者にマイルド
![Page 15: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/15.jpg)
結果
• システム準備の作業が半分以下(ほとんどはリードレプリカの起動待ち)
• イベント時の運用対応が2人から0.5人程度に
• システムの他の部分に注力できるようになった
15
![Page 16: Mildscaling 20150725](https://reader030.vdocuments.net/reader030/viewer/2022020200/55d2f1a8bb61eb1e2f8b4598/html5/thumbnails/16.jpg)
まとめ
• インスタンスを捨ててもよいように作ってあればAutoScalingが一番の選択肢
• 起動/停止スクリプトをつかったマイルドスケーリングは監視とDBの連携も簡単に制御できるので便利
• 最初からつくればよかった
16