チュートリアル:初めての Auto Scaling グループの作成 - Amazon EC2 Auto Scaling

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

チュートリアル:初めての Auto Scaling グループの作成

このチュートリアルでは、を使用して Amazon EC2 Auto Scaling を実践的に紹介します。 AWS Management Console EC2 インスタンスと 1 つのインスタンスを含む Auto Scaling グループを定義する起動テンプレートを作成します。Auto Scaling グループを起動したら、インスタンスを終了し、インスタンスがサービスから削除されて置き換えられたことを確認します。一定数のインスタンスを維持するために、Amazon EC2 Auto Scaling は Amazon EC2 のヘルスチェックと到達可能性チェックを自動的に検出して応答します。

にサインアップすると AWS、無料利用枠を使用して Amazon EC2 Auto Scaling AWS を無料で開始できます。無料利用枠を使用し、t2.micro インスタンスを 12 か月間無料で起動して利用できます (t2.micro が利用できないリージョンでは、無料利用枠で t3.micro インスタンスを使用できます)。無料利用枠に含まれないインスタンスを起動する場合は、そのインスタンスの通常の Amazon EC2 使用料がかかります。詳細については、「Amazon EC2 料金表」を参照してください。

チュートリアルのための準備

このチュートリアルは、EC2 インスタンスの起動について知識があり、キーペアとセキュリティグループを既に作成していることを前提としています。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Amazon EC2 での設定」を参照してください。

Amazon EC2 Auto Scaling の使用を開始するには、のデフォルト VPC を使用できます。 AWS アカウントデフォルト VPC には、各アベイラビリティーゾーンのデフォルトのパブリックサブネットと、VPC にアタッチされたインターネットゲートウェイが含まれます。Amazon Virtual Private Cloud (Amazon VPC) コンソールの VPC のページで VPC を表示できます。

ステップ 1: 起動テンプレートを作成する

このステップでは、Amazon EC2 Auto Scaling が自動的に作成する EC2 インスタンスのタイプを指定する起動テンプレートを作成します。使用する Amazon Machine Image (AMI) の ID、インスタンスタイプ、キーペア、セキュリティグループなどの情報を含めます。

起動テンプレートを作成するには
  1. Amazon EC2 コンソールを開き、起動テンプレートページに移動します

  2. 上部のナビゲーションバーで、[ AWS リージョン] を選択します。作成する起動テンプレートと Auto Scaling グループは、指定するリージョンに関連付けられます。

  3. [起動テンプレートの作成] を選択します。

  4. [起動テンプレート名] を使用する場合、my-template-for-auto-scaling を入力します。

  5. [Auto Scaling ガイダンス] で、チェックボックスを選択します。

  6. [Application and OS Images (Amazon Machine Image)] (アプリケーションおよび OS イメージ (Amazon マシンイメージ)) で、[Quick Start] (クイックスタート) リストから Amazon Linux 2 (HVM) のバージョンを選択します。AMI はインスタンスの基本設定テンプレートとして機能します。

  7. [インスタンスタイプ] で、指定した AMI と互換性のあるハードウェア設定を選択します。

  8. (オプション) [Key pair (login)] (キーペア (ログイン)) で、既存のキーペアを選択します。キーペアは Amazon EC2 インスタンスを SSH に接続するときに使用します。インスタンスへの接続は、このチュートリアルには含まれていません。このため、SSH を使用してインスタンスに接続する予定の場合を除き、キーペアを指定する必要はありません。

  9. [Network settings] (ネットワーク設定) で、[Advanced network configuration] (高度なネットワーク設定) を展開し、以下を実行します。

    1. [Add network interface] (ネットワークインターフェイスを追加) を選択して、プライマリネットワークインターフェイスを追加します。

    2. [パブリック IP の自動割り当て] では、インスタンスがパブリック IPv4 アドレスを受け取るかどうかを指定します。デフォルトでは、EC2 インスタンスがデフォルトのサブネットで起動された場合、またはパブリック IPv4 アドレスを自動的に割り当てるように設定されたサブネットでインスタンスが起動された場合、Amazon EC2 はパブリック IPv4 アドレスを割り当てます。インスタンスに接続する必要がない場合は、[Disable] を選択します。

    3. セキュリティグループ ID には、Auto Scaling グループの VPC として使用する予定の同じ VPC 内のセキュリティグループを選択します。セキュリティグループを指定しないと、インスタンスは VPC のデフォルトのセキュリティグループに自動的に関連付けられます。

    4. [終了時に削除] で [はい] を選択すると、インスタンスが削除されたときにネットワークインターフェースが削除されます。

  10. [起動テンプレートの作成] を選択します。

  11. 確認ページで、[Auto Scaling グループの作成] を選択します。

ステップ 2: 単一インスタンスの Auto Scaling グループを作成する

次の手順を使用して、起動テンプレートの作成後に中断したところから続行します。

Auto Scaling グループを作成する
  1. [Choose launch template or configuration (起動テンプレートまたは設定の選択)] ページで、Auto Scaling グループの名前my-first-asg に入力します。

  2. [次へ] をクリックします。

    [インスタンス起動オプションの選択] ページが表示され、Auto Scaling グループに使用させたい VPC ネットワーク設定を選択したり、オンデマンドインスタンスとスポットインスタンスを起動するためのオプションを選択したりできます。

  3. Network セクションで、VPC を選択したデフォルトの VPC に設定したままにするか AWS リージョン、独自の VPC を選択します。デフォルトの VPC は、インスタンスへのインターネット接続を提供するように自動的に設定されます。この VPC には、リージョンの各アベイラビリティーゾーンのパブリックサブネットが含まれます。

  4. [Availability Zones and subnets] (アベイラビリティゾーンとサブネット) で、含める各アベイラビリティーゾーンからサブネットを選択します。複数のアベイラビリティーゾーンのサブネットを使用することで、高可用性を得られます。詳細については、「VPC サブネットを選択する場合の考慮事項」を参照してください。

  5. [Instance type requirements] (インスタンスタイプの要件) セクションでは、このステップを簡略化するためにデフォルト設定を使用します。(起動テンプレートを上書きしないでください。) このチュートリアルでは、起動テンプレートで指定されたインスタンスタイプを使用して、オンデマンドインスタンスを 1 つだけ起動します。

  6. このチュートリアルの残りの部分はデフォルトのままにして、[Skip to review (スキップして確認)] を選択します。

    注記

    グループの初期サイズは、希望するキャパシティーによって決まります。デフォルト値は 1 インスタンスです。

  7. [Review (確認)] ページでグループの情報を確認し、[Auto Scaling グループの作成] を選択します。

ステップ 3: Auto Scaling グループを検証する

Auto Scaling グループを作成し、グループによって EC2 インスタンスが起動されたことを確認する準備が整いました。

ヒント

以下の手順では、Auto Scaling グループについて [Activity history] (アクティビティ履歴) と [Instances] (インスタンス) の各セクションを調べます。どちらのセクションにも、名前付きの列がすでに表示されているはずです。非表示の列を表示する、または表示される行の数を変更するには、各セクションの右上隅にある歯車アイコンを選択して設定モーダルを開き、必要に応じて設定を更新してから、[Confirm] (確認) を選択します。

Auto Scaling グループが EC2 インスタンスを起動したことを確認するには
  1. Amazon EC2 コンソールで Auto Scaling グループのページを開きます。

  2. 作成した Auto Scaling グループの横にあるチェックボックスを選択します。

    [Auto Scaling groups] (Auto Scaling グループ) ページの下部にスプリットペインが開きます。使用可能な最初のタブは [詳細] タブで、Auto Scaling グループに関する情報が表示されます。

  3. 2 番目のタブ [アクティビティ] を選択します。[アクティビティ履歴] で、Auto Scaling グループに関連付けられているアクティビティの進行状況を表示できます。[ステータス] 列には、インスタンスの現在のステータスが表示されます。インスタンスが起動している間、ステータス列には [Not yet in service] と表示されます。ステータスは、インスタンスが起動されると Successful に変わります。[Refresh] ボタンを使用して、インスタンスの現在のステータスを表示することもできます。

  4. [インスタンス管理] タブの [インスタンス] で、インスタンスのステータスを表示できます。

  5. インスタンスが正常に起動したことを確認します。インスタンスの起動には短時間かかります。

    • [ライフサイクル] 列には、インスタンスの状態が表示されます。最初、インスタンスの状態は Pending です。インスタンスがトラフィックを受信できるようになったら、そのステータスは InService です。

    • Health ステータス列には、インスタンスの Amazon EC2 Auto Scaling ヘルスチェックの結果が表示されます。

ステップ 4: Auto Scaling グループのインスタンスを終了します

これらのステップを使用して Amazon EC2 Auto Scaling の機能 (具体的には、必要に応じて新しいインスタンスを起動する方法) を詳しく確認できます。このチュートリアルで作成した Auto Scaling グループの最小サイズは、1 インスタンスです。そのため、実行中のインスタンスを終了する場合、Amazon EC2 Auto Scaling はその代わりとなる新しいインスタンスを起動する必要があります。

  1. Amazon EC2 コンソールで Auto Scaling グループのページを開きます。

  2. Auto Scaling グループの横にあるチェックボックスを選択します。

  3. [インスタンス管理] タブの [インスタンス] で、インスタンスの ID   を選択します。

    そうすると、Amazon EC2 コンソールの [Instances] (インスタンス) ページが開きます。インスタンスはここで終了できます。

  4. [Actions]、[Instance State]、[Terminate] の順に選択します。確認を求めるメッセージが表示されたら、[Yes、Terminate] (はい、終了する) を選択します。

  5. ナビゲーションペインの 自動スケーリング で、[Auto Scaling Groups] (Auto Scaling グループ) を選択します。Auto Scaling グループを選択し、[アクティビティ] タブを選択します。

    Instances ページからインスタンスを終了する場合、インスタンスを終了してから新しいインスタンスが起動するまでに 1 ~ 2 分かかります。アクティビティ履歴で、スケーリングアクティビティが開始すると、最初のインスタンスの削除のエントリおよび新しいインスタンスの起動のエントリが表示されます。新しいエントリが表示されるまで [更新] ボタンを使用してください。

  6. [インスタンス管理] タブの [インスタンス] セクションには、新しいインスタンスのみが表示されます。

  7. ナビゲーションペインの [Instances] (インスタンス) で、[Instances] (インスタンス) を選択します。このページには、終了したインスタンスと実行中の新しいインスタンスの両方が表示されます。

ステップ 5: 次のステップ

作成したばかりの基本インフラストラクチャを削除したい場合は、次のステップに進んでください。それ以外の場合は、ベースとしてこのインフラストラクチャを使用し、次の 1 つ以上を試すことができます。

また、ターゲット追跡スケーリングポリシー を読んでおくことで、Auto Scaling の概念に慣れておくこともできます。アプリケーションの負荷が変化した場合、Auto Scaling グループは、グループの希望する容量を最小容量制限と最大容量制限の間で調整することで、自動的にスケールアウト (インスタンスを追加する) およびスケールイン (インスタンスの数を減らして実行する) ことができます。これらの制限の設定に関する詳細については、「Auto Scaling グループのスケーリング制限を設定する」を参照してください。

ステップ 6: クリーンアップする

スケーリングインフラストラクチャを削除することも、Auto Scaling グループのみを削除して起動テンプレートを後で使用できるように残しておくこともできます。

AWS 無料利用枠外でインスタンスを起動した場合、不要な課金を避けるためにインスタンスを終了する必要があります。インスタンスを終了すると、それに関連付けられたデータも削除されます。

Auto Scaling グループを削除するには
  1. Amazon EC2 コンソールで Auto Scaling グループのページを開きます。

  2. Auto Scaling グループ (my-first-asg) の横にあるチェックボックスを選択します。

  3. [削除] をクリックします。

  4. 確認を求められたら、delete を入力して指定された Auto Scaling グループの削除を確認し、[Delete] (削除) を選択します。

    [Name (名前)] 列のロードアイコンに、Auto Scaling グループが削除されたことが示されます。削除が行われると、[Desired] (必要)、[Min] (最小)、[Max] (最大) 列には、Auto Scaling グループのインスタンス数として 0 と表示されます。インスタンスを終了し、グループを削除するには数分かかります。リストを更新して、現在の状態を確認します。

起動テンプレートを維持する場合は、この手順をスキップします。

起動テンプレートを削除するには
  1. Amazon EC2 コンソールの起動テンプレートページを開きます。

  2. 起動テンプレートを選択します (my-template-for-auto-scaling)。

  3. [アクション]、[テンプレートの削除] の順に選択します。

  4. 確認を求められたら、Delete を入力して指定した起動テンプレートの削除を確認し、[Delete] (削除) を選択します。