0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS SAA備忘録記事①-Auto Scaling-

Posted at

はじめに

AWS Solution Architect Associate(SAA)試験を勉強して、様々なサービスで、Auto Scaling機能が提供されていることに気づきました。
Auto ScalingはAWSの大きな強みの一つですが、どのサービスが対応しているのか、そしてそれぞれどのように機能するのかを整理しておくことは重要だと思いました。
本記事では、AWSの各種リソースにおけるAuto Scaling機能について、覚えやすい分類とともに解説します。

コンピューティング系

EC2

EC2は最も基本的なAWSのコンピューティングリソースで、Auto Scalingの代表的な利用例。
EC2 Auto Scaling
設定した条件に基づいてEC2インスタンスの数を自動的に増減できる。

  • ターゲット追跡スケーリング
    特定のメトリクス(CPU使用率など)のターゲット値を維持
  • ステップスケーリング
    閾値に応じて段階的にインスタンス数を調整する
  • シンプルスケーリング
    基本的な閾値ベースのスケーリング
  • スケジュールドスケーリング
    特定の時間帯に応じてスケーリング(例:業務時間内はより多くのインスタンスを維持)

ECS(コンテナ)

ECSはDockerコンテナを実行するためのサービスで、コンテナベースのアプリケーションに対してAuto Scalingを提供。

  • サービスのAuto Scaling
    ECSのタスク数を自動的に調整
  • クラスターのAuto Scaling
    ECSクラスターのEC2インスタンス数を調整(キャパシティープロバイダー)
  • Fargate
    サーバーレスコンテナ実行環境でも自動スケーリングが可能

EKS(Kubernetes)

EKSはマネージドKubernetesサービスで、Kubernetesのネイティブ機能とAWSのAuto Scaling機能を組み合わせている。

  • Horizontal Pod Autoscaler (HPA)
    ポッド数の自動調整
  • Cluster Autoscaler
    ワーカーノード(EC2インスタンス)数の自動調整
  • AWS Load Balancer Controller
    Ingress/Serviceリソースに基づくロードバランサーの自動設定

アプリケーション系

AppStream 2.0(デスクトップストリーミング)

AppStream 2.0はアプリケーションとデスクトップのストリーミングサービス。

  • フリート自動スケーリング
    ユーザー需要に応じてストリーミングインスタンスの数を調整
  • 使用状況ベースのスケーリング
    実際の使用状況に基づいて容量を調整

Amazon EMR(ビッグデータ処理)

EMRはHadoopエコシステムを利用した大規模データ処理サービス。

  • インスタンスグループのAuto Scaling
    作業負荷に応じてクラスター内のインスタンス数を調整
  • マネージドスケーリング
    Amazon EMRが自動的にクラスターリソースを最適化
  • スポットインスタンス統合
    コスト最適化のためにスポットインスタンスを活用したスケーリング

Lambda(サーバーレス関数)

Lambdaはサーバーレスでコードを実行するサービスで、自動スケーリングができる。

  • 同時実行数の自動調整
    リクエスト数に応じて自動的に関数のインスタンスを増減
  • プロビジョンド同時実行数
    レイテンシーを最小限に抑えるため、事前に容量を確保(ただし自動スケーリングではない)
  • コールドスタートの最小化
    予測可能なワークロードで同時実行数を最適化

データベース系

DynamoDB(NoSQL)

DynamoDBはフルマネージドNoSQLデータベースサービス。

  • オンデマンドキャパシティモード
    アクセスパターンに応じて自動的にスケーリング
  • Auto Scaling
    プロビジョンドキャパシティモードでの自動的な読み取り/書き込み容量の調整
  • グローバルテーブル
    複数リージョンにまたがる自動レプリケーションとスケーリング

RDS(リレーショナルDB)

RDSは様々なリレーショナルデータベースエンジンを提供するマネージドサービス。

  • ストレージの自動スケーリング
    データベースストレージの自動拡張
  • 読み取りレプリカのAuto Scaling
    読み取りレプリカの数を自動調整
  • RDS Proxy
    データベースコネクションプーリングによる効率的なスケーリング
    アプリケーションからのデータベース接続を最小限に抑えることができる。

Aurora(RDSの発展系)

Auroraは高性能なリレーショナルデータベースで、通常のRDSよりも高度なスケーリング機能を持っている。

  • Aurora Serverless
    需要に応じて自動的にデータベースキャパシティを調整
    サーバーを常時起動しないので柔軟性が高い
  • Aurora Replica Auto Scaling
    リードレプリカの数を自動調整
  • Aurora容量範囲
    最小・最大容量の設定範囲内で自動スケーリング

まとめ

SAAの勉強を通じて、AWSの多様なAuto Scaling機能を学びました。
各カテゴリで提供される自動スケーリングは、クラウドの「必要な時に必要なだけ」という価値を実現しており、それを加味して、有効に使っていきたいと思いました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?