ラボの概要
オートスケーリングでは、定義した条件に従って Amazon Elastic Compute Cloud (Amazon EC2) の容量を自動的にスケールアップまたはスケールダウンできます。Auto Scaling では、使用中の Amazon EC2 インスタンスの数を、需要が急上昇したときはシームレスに増やしてパフォーマンスを維持し、需要が落ちたときに自動的に減らすことにより、コストを最小化することができます。Auto Scaling は、使用量が時間、日、週の単位で変化するアプリケーションに特に適しています。
ただし、Auto Scaling は、サーバーを縮小、拡張するだけではなく、応答しないサーバーを負荷分散が処理するのと似たような方法で、障害を処理するメカニズムでもあります。このラボでは、Amazon EC2 インスタンスに関連付けられたロードバランサーを自動的に起動、監視、更新するように Auto Scaling を設定する方法を紹介します。
Auto Scaling に関して重要なことが 2 つあります。まず、Auto Scaling は「クラウドの温度 (容量)」を設定する方法です。 ポリシーを使用して「サーモスタットを設定」すると、Auto Scaling は見えない所で必要に応じて Amazon EC2 リソースを増やしたり減らしたりという制御を行い、「温度」(容量) を維持します。
Auto Scaling の設定項目は以下のように構成されています。
-
需要の増加に応じて作成されるサーバーを定義する起動テンプレート。
-
起動テンプレートを使用して新しいサーバーインスタンスを作成するタイミングと、どのアベイラビリティーゾーン (AZ) とロードバランサーコンテキストで作成するかを定義する Auto Scaling グループ起動テンプレート。
次に、Auto Scaling では同じインスタンスタイプのサーバーを起動する必要があります。Auto Scaling はサーバー A が 64 ビットのエクストララージインスタンスであっても、32 ビットのスモールインスタンスであっても特に差異がないものとして扱います。実際に、これはクラウドコンピューティングの基本原則です。代替可能なリソースのフリートを使用して水平に拡張します。個別のリソースはフリート自体に対しては二次的です。
目標
このラボを修了すると、以下のことができるようになります。
- コマンドラインツールを使用して新しい起動設定を作成する
- コマンドラインツールを使用して新しい Auto Scaling group を作成する
- インスタンスのリソース使用量が上昇または低下しすぎたときにトリガーされる Auto Scaling 通知を設定する
- リソースの使用状況の変化に対応して現在実行中のインスタンスの数を増減するためのポリシーを作成する
技術知識の前提条件
このラボを正常に完了するには、Linux サーバー管理に関する基本的な知識があり、Linux コマンドラインツールを使用できることが必要です。また、新しい Amazon EC2 サーバーインスタンスの作成および Elastic Load Balancing の設定の基本をよく理解している必要があります。
アイコンキー
このラボでは、さまざまな種類の手順と注記への注意を促すため、各種アイコンが使用されています。以下のリストは、各アイコンの目的を説明したものです。
- 警告: 特記事項または重要な情報を表す (この情報を読み忘れても、機器やデータに問題が発生するというわけではありませんが、特定のステップを繰り返す必要が生じる可能性があります)。
- コマンド: 実行する必要があるコマンドを表す。
- 想定される出力: 出力のサンプルであり、コマンドまたは編集済みファイルの出力を確認するときに使用する。
- 詳細: 詳細情報が記載されている場所を示す。
- 注意: ヒントや重要なガイダンス。
- 更新: ウェブブラウザのページやリストを更新して、新しい情報を表示する必要があることを示す。
- タスク完了: ラボのまとめや要点を示す。