Auto Scalingでコスト最適化&高可用性
こんにちは.
1週間ぶりの更新です.
新しい案件を獲得したのですが,
開発環境は
AWSでした.
というか論理詰めで持って行きました.
本当にAWSが多いです.
クラウドベンダー一強と言っても過言では無い!!
やっぱりAmazonってすごいですよね.
今,サイバーマンデーっていうキャンペーンらしいんですけど,
ゲーミングチェアを買ってしまいました.
5000円OFFでゲット出来て,少しお特な気持ちになりました :)
とまあ,Amazon最強って話は置いておいて,
コスト最適化をしてくれるサービスなんですが,
クライアント様にインフラコンサルなんかする時,話せると信頼度が一気に増します.
企業目線でサーバー費用を安くしてくれるエンジニアなら需要有り!!
この記事をインプットして,是非スキルの一環として持ち帰ってください
Auto Scaling チュートリアル
一言で言えば,
コスト最適化です
起動したインスタンスは複数のアベイラビリティゾーンで均等に配置される.
これならアベイラビリティゾーンの異常がおきてもへっちゃらな仕様.
EC2やECS,DynamoDBに対して行われます.
もう少し詳しくお話をすると,
需要に応じてインスタンスを自動的に増減させることが出来ます.
また,異常なインスタンスをヘルスチェックしてくれ,自動で切り離します.
もっと言うと,各サービスに対してイメージは以下の通り
EC2 -> インスタンス増減
EC2 スポットフリート -> 料金や容量の条件で中断されたインスタンスの自動置き換え
ECS -> 負荷に応じてサービス数を増減
DynamoDB -> 読み込み・書き込み容量を増減
Aurora -> リードレプリカの数を動的に増減
といった役割を持っています.
私たちがやることは,Auto scalingの中の
起動設定
Auto Scaliingグループ
これらの設定が必要になってきます
例えば,マネジメントコンソールからEC2を立ち上げると,
毎回左のダッシュボードに出てきます
さあ,具体的にみてみよう.
起動設定
どのようなインスタンスを起動しますか?
という設定ページ.
インスタンス設定とほぼ同じです.
おさらい
AMI ... 仮想空間を作るための核(linuxあたり選ぶのが無難)
インスタンスタイプ ... ユースケースに合わせてメモリやストレージを比較して選択
キーペア ... 安全にインスタンスにアクセス出来る鍵
SG ... ファイアウォールのルール設定(詳しくはこちら)
IAMロール ... 管理者権限
Auto Scalingグループ
ここでインスタンス数を維持したり,自動でスケーリングをしています.
やり方は,起動設定後にグループに名前を付け、実行するインスタンスの数を指定します.
注意点はリージョンを跨いでグループ設定出来ない事です.
スケーリングのプラン
プランは3つあります
手動スケーリング...バッチ処理など高負荷な処理への対応
動的スケーリング...アクセス予測が出来ない時,cloud watchに基づいて対応
スケジュールスケーリング ... アクセス予測が可能な時,日時指定などして対応
ELB配下のインスタンスをAuto Scalingにする
使用するELBを選択
⏬
ヘルスチェックのタイプをEC2 or ELBに設定
EC2の場合 ... ステータスがrunning以外になった時に異常とみなされる
ELBの場合 ... EC2の場合 + ELBヘルスチェックが異常な時,ひっかかる
ちなみに,Auto ScalingされたEC2を停止すると
ステータスは「Terminate」になります.異常と判断されない様にです.
これだけ覚えておけば完璧でしょう!!
コストパフォーマンス向上の為,是非お使いのインスタンスに設定してみてください.