コンサルでデータサイエンティスト

仕事でPythonを書いてます。機械学習、Webマーケティングに興味があります。趣味は旅です。

【AWS ソリューションアーキテクト試験用まとめ】AWSオートスケーリング

はじめに

AWS 認定ソリューションアーキテクトプロフェッショナル(SAP)試験の勉強に向けた頭の整理として、以下の内容について用語レベルでまとめていきます。
勉強の進捗に合わせて記事の内容をアップデートする場合があります。

※この項目分類については、UdemyのUltimate AWS Certified Solutions Architect Professional 2020コースを参考にしています。

f:id:hktech:20201206010537p:plain

AWSオートスケーリングとは

  • AWSオートスケーリングとは、アプリケーションを監視に応じて自動でリソースを調整する機能。
  • EC2, ECS, DynamoDB, Auroraのレプリカなどのサービスのスケーリングに活用可能。

オートスケーリングポリシー

  • シンプル/ステップスケーリング:Cloud Watchのメトリック監視に連動してインスタンスを増加・減少させる
  • ターゲットトラッキング:メトリックと値を設定することで、平均CPU使用率を40%に維持・リクエストカウントを一定にするなどのカスタムスケーリング設定が可能。

RAMを指標としたスケーリングを実施したい場合はカスタムCloudWatchメトリックの設定が必要。

オートスケーリングのプロセス

オートスケーリングにより下記の操作を自動化可能

  • Launch:EC2インスタンスをグループに追加する
  • Terminate:EC2インスタンスをグループから削除する
  • HealthCheck:インスタンスの状態をチェック(EC2 or ELBヘルスチェック)
  • ReplaceUnhealthy: Unhealthyなインスタンスを停止し再作成
  • AZRebalance: AZ間のインスタンス数を均等化する
  • AlarmNotification: CloudWatchからの通知を受け取る
  • ScheduledActions: スケジュールに応じた操作を行う
  • AddToLoadBalancer: インスタンスをロードバランサまたはターゲットグループに追加