Amazon EC2 Auto Scaling とは - Amazon EC2 Auto Scaling

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EC2 Auto Scaling とは

Amazon EC2 Auto Scaling は、アプリケーションの負荷を処理するために使用できる Amazon EC2インスタンスの数が正しいことを確認するのに役立ちます。Auto Scaling グループ と呼ばれるEC2インスタンスのコレクションを作成します。各 Auto Scaling グループでインスタンスの最小数を指定できます。Amazon EC2 Auto Scaling により、グループがこのサイズを下回ることはありません。各 Auto Scaling グループでインスタンスの最大数を指定できます。Amazon EC2 Auto Scaling により、グループがこのサイズを超えることはありません。必要な容量を指定すると、グループを作成するとき、またはそれ以降の任意の時点で、Amazon EC2 Auto Scaling は、グループにこの数のインスタンスがあることを確認します。スケーリングポリシーを指定すると、Amazon EC2 Auto Scaling はアプリケーションの需要が増減するとインスタンスを起動または終了できます。

例えば、次の Auto Scaling グループの最小サイズは 4 インスタンス、希望する容量は 6 インスタンス、最大サイズは 12 インスタンスです。定義するスケーリングポリシーによって、指定した条件に基づいて、インスタンスの最小数と最大数の間でインスタンス数が調整されます。

内の Auto Scaling グループの基本的なアーキテクチャ図VPC。

Amazon EC2 Auto Scaling の機能

Amazon EC2 Auto Scaling では、EC2インスタンスは Auto Scaling グループに整理されるため、スケーリングと管理の目的で論理単位として扱われます。Auto Scaling グループは、EC2インスタンスの設定テンプレートとして起動テンプレート (または起動設定) を使用します。

Amazon EC2 Auto Scaling の主な機能は次のとおりです。

実行中のインスタンスの状態のモニタリング

Amazon EC2 Auto Scaling は、EC2ヘルスチェックを使用してインスタンスのヘルスと可用性を自動的にモニタリングし、終了または障害が発生したインスタンスを置き換えて、希望する容量を維持します。

カスタムヘルスチェック

組み込みのヘルスチェックに加えて、アプリケーションに固有のカスタムヘルスチェックを定義して、期待どおりに応答していることを確認することができます。インスタンスがカスタムヘルスチェックに失敗すると、希望する容量を維持するために自動的に置き換えられます。

アベイラビリティーゾーン間で容量のバランスをとる

Auto Scaling グループには複数のアベイラビリティーゾーンを指定できます。Amazon EC2 Auto Scaling は、グループのスケールに応じて、アベイラビリティーゾーン間でインスタンスを均等に分散します。これにより、アプリケーションを 1 か所で障害から保護することで、高可用性と耐障害性を実現できます。

複数のインスタンスタイプと購入オプション

単一の Auto Scaling グループ内で、複数のインスタンスタイプと購入オプション (スポットインスタンスとオンデマンドインスタンス) を起動できるため、スポットインスタンスの使用を通じてコストを最適化できます。リザーブドインスタンスと Savings Plan sの割引を利用するには、グループ内のオンデマンドインスタンスと組み合わせて使用することもできます。

スポットインスタンスの自動交換

グループにスポットインスタンスが含まれている場合、Amazon EC2 Auto Scaling は、スポットインスタンスが中断された場合に代替スポット容量を自動的にリクエストできます。容量の再調整により、Amazon EC2 Auto Scaling は中断のリスクが高いスポットインスタンスをモニタリングし、事前に置き換えることもできます。

負荷分散

Elastic Load Balancing のロードバランシングとヘルスチェックを使用して、アプリケーショントラフィックを正常なインスタンスに均等に分散させることができます。インスタンスが起動または終了されるたびに、Amazon EC2 Auto Scaling はロードバランサーからインスタンスを自動的に登録および登録解除します。

スケーラビリティ

Amazon EC2 Auto Scaling には、Auto Scaling グループをスケーリングするいくつかの方法もあります。自動スケーリングを使用すると、ピーク負荷を処理する容量を追加し、需要が低いときに容量を削除することで、アプリケーションの可用性を維持し、コストを削減できます。必要に応じて Auto Scaling グループのサイズを手動で調整することもできます。

インスタンスの更新

インスタンスの更新機能は、 AMIまたは 起動テンプレートを更新するときに、ローリング方式でインスタンスを更新するメカニズムを提供します。Canary デプロイと呼ばれる段階的なアプローチを使用して、グループ全体にロールアウトする前に、少数のインスタンスで新しいテンプレートAMIまたは起動テンプレートをテストすることもできます。

ライフサイクルフック

ライフサイクルフックは、新しいインスタンスの起動時またはインスタンスの終了前に呼び出されるカスタムアクションを定義するのに役立ちます。この機能は、イベント駆動型アーキテクチャの構築に特に役立ちますが、ライフサイクルを通じてインスタンスを管理するのにも役立ちます。

ステートフルワークロードのサポート

ライフサイクルフックは、シャットダウン時に状態を永続化するためのメカニズムも提供します。ステートフルなアプリケーションの継続性を確保するために、スケールイン保護ポリシーまたはカスタム終了ポリシーを使用して、実行時間が長いプロセスのインスタンスが早期に終了しないようにすることもできます。

Amazon EC2 Auto Scaling の利点の詳細については、「」を参照してくださいアプリケーションアーキテクチャの Auto Scaling の利点

Amazon EC2 Auto Scaling の料金

Amazon EC2 Auto Scaling では追加料金は発生しないため、簡単に試して、 AWS アーキテクチャにどのようなメリットがあるかを確認してください。料金は、使用した AWS リソース (EC2インスタンス、EBSボリューム、 CloudWatch アラームなど) に対してのみ発生します。

使用を開始する

まず、最初の Auto Scaling グループの作成チュートリアルを完了して Auto Scaling グループを作成し、そのグループのインスタンスが終了したときにどのように応答するかを確認します。

Auto Scaling グループの使用

Auto Scaling グループは、以下のインターフェイスのいずれかを使用して、作成、アクセス、および管理することできます。

  • AWS Management Console – Auto Scaling グループへのアクセスに使用できるウェブインターフェイスを提供します。にサインアップしている場合は AWS アカウント、 にサインインし AWS Management Console、ナビゲーションバーの検索ボックスを使用して Auto Scaling グループ Auto Scaling を検索し、Auto Scaling グループ を選択します。

  • AWS Command Line Interface (AWS CLI) — さまざまな のコマンドセットを提供し AWS サービス、Windows、macOS、Linux でサポートされています。開始するには、 を使用するための準備 AWS CLI を参照してください。詳細については、AWS CLI コマンドリファレンスの「autoscaling」を参照してください。

  • AWS Tools for Windows PowerShell – PowerShell 環境でスクリプトを作成するユーザー向けに、幅広い AWS 製品セットのコマンドを提供します。使用を開始する方法については、『AWS Tools for Windows PowerShell ユーザーガイド』を参照してください。詳細については、「AWS Tools for PowerShell Cmdlet Reference」を参照してください。

  • AWS SDKs – 言語固有のAPIオペレーションを提供し、署名の計算、リクエストの再試行処理、エラー処理など、接続の詳細の多くを処理します。詳細については、「」を参照してくださいAWS SDKs

  • クエリ API — HTTPSリクエストを使用して呼び出す低レベルのAPIアクションを提供します。クエリの使用はAPI、 にアクセスする最も直接的な方法です AWS サービス。ただし、この方法では、リクエストに署名するハッシュの生成やエラー処理など、低レベルの詳細な作業をアプリケーションで処理する必要があります。詳細については、「Amazon EC2 Auto Scaling APIリファレンス」を参照してください。

  • AWS CloudFormation – CloudFormation テンプレートを使用した Auto Scaling グループの作成をサポートします。詳細については、「AWS CloudFormationで Auto Scaling グループを作成する」を参照してください。

にプログラムで接続するには AWS サービス、 エンドポイントを使用します。Amazon EC2 Auto Scaling への呼び出しのエンドポイントの詳細については、「 エンドポイント」の「Amazon EC2 Auto Scaling エンドポイントとクォータAWS 全般のリファレンス」および「 シークレットの Amazon Web Services での開始方法」の「中国での Amazon Web Services のエンドポイントとクォータ。