はじめに
AWSのAutoScalingは
AWS 5つの設計原則と11のベストプラクティスの信頼性とパフォーマンス効率に該当します。
https://qiita.com/avicii2314/items/6553492a3f54cd8e15b2
Auto Scalingとは
- インスタンスの数を自動で増減できる
- インスタンスの数は最少、最大を指定する
- 増減のトリガーはCloudWatchのメトリックスを指定できる
- 増減のトリガーは時間を指定できる
Auto Scalingのコンポーネント
Loaunch Configuretions:起動設定
- Auto Scaling時に起動するEC2インスタンスを定義する
- AMI ID、インスタンスタイプ、ディスクサイズ、キーペア、セキュリティグループ,IAMロール等を指定(EC2インスタンス作成に指定する項目とニアイコール)
Auto Scaling Groups
- オートスケール対象のEC2インスタンスグループの管理単位
- EC2インスタンスの最少数、最大数、希望する数を指定
- 起動台数をAZ間でバランシングする
- AZ障害時は障害のない別のAZにその分のインスタン スを起動する
スケーリングプラン(スケーリングポリシー)
Auto Scalingをいつ、どのタイミグで実施するかの条件を指定
CloudWatchメトリックス(CPU使用率等)、スケジュール、現在のインスタンス数を維持、手動でのスケーリングでの指定が可能
使い捨てリソースの使用
サーバーなどのコンポーネントを一時的なリソースとして利用・設計する
スケーラビリティの確保
需要増にトラフィック量が処理できなくなる前に、処理サーバーを拡張することで対処する必要がある
スケーリングの種類
スケーリングタイプは垂直スケーリングと水平スケーリングの
2タイプ。Auto-scalingは水平スケーリング
垂直スケーリング
【拡張方法】
スケールアップ:メモリやCPUの追加・増強
【低減方法】
スケールダウン:メモリやCPUの削減・低性能化
水平スケーリング
【拡張方法】
スケールアウト:処理する機器/サーバー台数を増加する
【低減方法】
スケールイン:処理する機器/サーバー台数を低減する
ユースケース
負荷に基づいた利用
webサイトへのアクセス数の増減
ランダムに要求が発生するバッチ処理のジョブ数が増減
スケジュールに基づいた利用
毎月決まった時間に発生するバッチの処理
チケット販売などで販売時刻が決まっているwebサイト
正常なEC2インスタンスの台数を維持するための利用
数分のダウンタイムは許容される一台構成のシステム