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