Amazon EC2 Auto Scaling (日本語)
ユーザーガイド

Amazon EC2 Auto Scaling の使用開始

Amazon EC2 Auto Scaling を使用する場合、特定の構成要素を使用して開始する必要があります。このチュートリアルでは、Amazon EC2 Auto Scaling の基本インフラストラクチャを設定するプロセスについて説明します。

アプリケーションで使用する Auto Scaling グループを作成するには、AWS クラウドでの実行を想定してアプリケーションを徹底的に確認します。以下の情報を記録します。

  • サーバーの起動と設定に要する時間。

  • アプリケーションのパフォーマンスと最も関連性が高いメトリクス。

  • Auto Scaling グループに含めるアベイラビリティーゾーンの数。

  • 使用できる既存リソース (セキュリティグループ、Amazon マシンイメージ (AMI) など)。

  • 容量をスケーリングしますか、または、常時実行中のサーバーを一定数確保しますか。 Amazon EC2 Auto Scaling は両方を同時に実行できます。

アプリケーションの理解度が上がるほど、Auto Scaling アーキテクチャの効率化を進めることができます。

以下の手順で説明している設定テンプレートでは、EC2 インスタンスを定義し、インスタンスが異常になった場合でもインスタンスを一定数確保するための Auto Scaling グループを作成します。また、オプションでこの基本インフラストラクチャを削除します。

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

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

このステップでは、Amazon EC2 Auto Scaling によって作成される EC2 インスタンスのタイプを指定する起動テンプレートを作成します。使用する Amazon マシンイメージ (AMI) の ID、インスタンスタイプ、キーペア、セキュリティグループ、ブロックデバイスマッピングなどの情報を含めます。

Auto Scaling グループの起動テンプレートを作成するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションバーで、リージョンを選択します。作成した Amazon EC2 Auto Scaling リソースは、指定したリージョンに紐付けられます。

  3. ナビゲーションペインで、[インスタンス]、[テンプレートの起動] を選択します。

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

    
                        起動テンプレートへようこそ画面
  5. [新しいテンプレートの作成] を選択します。起動テンプレートの名前 (my_template など) と説明を入力します。

  6. [AMI ID] で、[クイックスタート] リストから Amazon Linux 2 (HVM) のバージョンを選択します。Amazon マシンイメージ (AMI) はインスタンスの基本設定テンプレートとして機能します。

  7. [インスタンスタイプ] で、指定した AMI と互換性のあるハードウェア設定を選択します。無料利用枠の Linux サーバーは t2.micro インスタンスです。

    注記

    アカウントを作成してから 12 か月未満の場合は、特定の使用制限内でt2.micro インスタンスを使用できます。詳細については、「AWS 無料利用枠」を参照してください。

  8. (オプション) [キーペア名] には、インスタンスに接続するときに使用するにキーペアの名前を入力します。

  9. (オプション) [ネットワークタイプ] で、[VPC] を選択します。

  10. ネットワークインターフェイスの一部としてセキュリティグループを設定するには、[Security Groups (セキュリティグループ)] をスキップします。両方の場所でセキュリティグループを指定することはできません。

  11. [ネットワークインターフェイス] で、[自動割り当てパブリック IP]、[セキュリティグループ ID]、[終了時に削除] を設定します。VPC でインスタンスを起動するには、その VPC 用に作成されているセキュリティグループを指定する必要があります。その他のフィールドを空白のままにしておくと、インスタンス用に選択可能な IP アドレスを持つプライマリネットワークインターフェイスを作成できます。

  12. (オプション) [ストレージ (ボリューム)] で、指定した AMI によって指定されるボリュームに加えて、インスタンスにアタッチするボリュームを指定します。

  13. (オプション) [タグ] には、インスタンスおよびボリュームに関連付けるタグを 1 つ以上指定します。

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

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

起動テンプレートを現在使用していない場合は、代わりに起動設定を作成することができます。

起動設定は、Amazon EC2 Auto Scaling によって作成される EC2 インスタンスのタイプを指定する点で、起動テンプレートと似ています。起動設定は使用する Amazon マシンイメージ (AMI) の ID、インスタンスタイプ、キーペア、セキュリティグループ、ブロックデバイスマッピングといった情報を定義して作成します。

起動設定を作成するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションバーで、リージョンを選択します。作成した Auto Scaling リソースは、指定したリージョンに紐付けられます。

  3. ナビゲーションペインの [Auto Scaling] で、[Auto Scaling グループ] を選択します。

  4. [Auto Scaling にようこそ] ページで [Auto Scaling グループの作成] を選択します。

  5. [Auto Scaling グループの作成] ページで、[Launch Configuration (起動設定)] を選択後、新しい起動設定を選択して、[次のステップ] を選択します。

  6. [AMI の選択] ステップには、Amazon マシンイメージ (AMI) と呼ばれる基本設定のリストがあります。このリストは、インスタンスのテンプレートとして機能します。Amazon Linux 2 AMI に対して [選択] を選択します。

  7. [インスタンスタイプの選択] ステップで、インスタンスのハードウェア設定を選択します。デフォルトの t2.micro インスタンスを維持することをお勧めします。[Next: Configure details (次へ: 詳細の設定)] を選択します。

  8. [詳細の設定] ステップで、以下を実行します。

    1. [Name] に起動設定の名前を入力します (例: my-first-lc)。

    2. [Advanced Details] で、IP アドレスの種類を選択します。VPC のインスタンスに接続する場合は、パブリック IP アドレスを割り当てるオプションを選択する必要があります。インスタンスに接続する必要があるときに、デフォルト VPC があるかどうかがわからない場合は、[Assign a public IP address to every instance] を選択します。

    3. [Skip to review] を選択します。

  9. [Review (レビュー)] ステップで、[セキュリティグループの編集] を選択します。手順に従って既存のセキュリティグループを選択して、[Review] を選択します。

  10. [Review (レビュー)] ステップで、[起動設定の作成] を選択します。

  11. [Select an existing key pair or create a new key pair (既存のキーペアを選択するか、新しいキーペアを作成する)] ステップを、手順に従って完了します。このチュートリアルではインスタンスに接続しません。このために、インスタンスに接続する場合を除いて、[Proceed without a key pair] を選択できます。

  12. [Create launch configuration] を選択します。起動設定が作成され、Auto Scaling グループを作成するウィザードが表示されます。

ステップ 2: Auto Scaling グループを作成する

Auto Scaling グループは EC2 インスタンスの集合で、Amazon EC2 Auto Scaling の中心です。Auto Scaling グループを作成するときは、インスタンス用のサブネット、開始するインスタンスの最初の数などの情報を含めます。

起動テンプレートを作成したら、以下の手順に従って、中断していた作業を続行します。

起動テンプレートを使用して Auto Scaling グループを作成するには

  1. [Auto Scaling グループ詳細の設定] ステップで、以下を実行します。

    1. [グループ名] に、Auto Scaling グループの名前 (例: my-first-asg) を入力します。

      
                                Auto Scaling グループ作成画面
    2. [起動テンプレートのバージョン] で、スケールアウト時に Auto Scaling グループで使用する起動テンプレートのバージョン (デフォルト、最新、または特定のバージョン) を選択します。

    3. [フリートの構築] で、[Adhere to the launch template (起動テンプレートに準拠する)] を選択します。

    4. [Group size] は、このチュートリアルのデフォルト値である 1 インスタンスのままにしておきます。

    5. [ネットワーク] は、選択した AWS リージョンのデフォルトの VPC に設定したままにするか、独自の VPC を選択します。

    6. [サブネット] で、VPC のサブネットを選択します。

      注記

      インスタンスのアベイラビリティーゾーンを選択できます。そのためには、対応するデフォルトのサブネットを選択します。

    7. [Next: Configure scaling policies] を選択します。

  2. [Configure scaling policies] ページで、[Keep this group at its initial size] を選択し、[Review] を選択します。

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

  4. [Auto Scaling グループの作成ステータス] ページで [Close] を選択します。

ステップ 3: Auto Scaling グループを確認する

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

Auto Scaling グループによって EC2 インスタンスが起動されたことを確認するには

  1. [Auto Scaling Groups] ページで、先ほど作成した Auto Scaling グループを選択します。

  2. [Details] タブに Auto Scaling グループに関する情報が表示されます。

    
                        Auto Scaling グループの詳細
  3. [Activity History] タブでは、[Status] 列にインスタンスの現在のステータスが表示されます。インスタンスが起動している間、ステータス列には [In progress] と表示されます。ステータスは、インスタンスが起動されると Successful に変わります。[Refresh] ボタンを使用して、インスタンスの現在のステータスを表示することもできます。

  4. [Instances] タブでは、[Lifecycle] 列にインスタンスのステータスが表示されます。Auto Scaling グループが EC2 インスタンスを起動し、そのライフサイクル状態が InService であることがわかります。[Health Status] 列には、インスタンスの EC2 インスタンスのヘルスチェックの結果が表示されます。

    
                        Auto Scaling グループのインスタンス

(オプション) Auto Scaling グループのインスタンスを終了する

Amazon EC2 Auto Scaling に関する詳細を確認するには、必要に応じて以下の実験を試すことができます。Auto Scaling グループの最小サイズは、1 インスタンスです。そのため、実行中のインスタンスを終了する場合、Amazon EC2 Auto Scaling はその代わりとなる新しいインスタンスを起動する必要があります。

  1. [Instances] タブで、インスタンスの ID を選択します。これは、[Instances] ページのインスタンスを示します。

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

  3. ナビゲーションペインで、[Auto Scaling グループ] を選択します。Auto Scaling グループを選択し、[アクティビティ履歴] タブを選択します。Auto Scaling グループのデフォルトのクールダウンは 300 秒(5 分)であるため、スケーリングアクティビティが表示されるまでに約 5 分かかります。スケーリングアクティビティが開始すると、最初のインスタンスの削除のエントリおよび新しいインスタンスの起動のエントリが表示されます。[Instances] タブには、新しいインスタンスのみが表示されます。

    
                            Auto Scaling グループのアクティビティ履歴
  4. ナビゲーションペインで、[インスタンス] を選択します。このページには、終了したインスタンスと実行中のインスタンスの両方が表示されます。

自動スケーリングの基本インフラストラクチャを削除する場合は、次のステップに進みます。それ以外の場合は、ベースとしてこのインフラストラクチャを使用し、次の 1 つ以上を試すことができます。

ステップ 4: (オプション) スケーリングインフラストラクチャを削除する

スケーリングインフラストラクチャを削除するか、Auto Scaling グループのみを削除し、起動テンプレートを維持して後で使用することができます。

Auto Scaling グループを削除するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [Auto Scaling] で、[Auto Scaling グループ] を選択します。

  3. Auto Scaling グループを選択します。

  4. [ Actions] で、[Delete ] を選択します。確認を求めるメッセージが表示されたら、[Yes, Delete] を選択します。

    [Name] 列に、Auto Scaling グループが削除されたことが示されます。[Desired (必要)]、[Min (最小)]、および [Max (最大)] 列には、Auto Scaling グループのインスタンス数として 0 と表示されます。

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

起動テンプレートを削除するには

  1. ナビゲーションペインで、[インスタンス]、[テンプレートの起動] を選択します。

  2. 起動テンプレートを選択します。

  3. [アクション]、[テンプレートの削除] の順に選択します。確認を求めるメッセージが表示されたら、[起動テンプレートの削除] を選択します。

起動設定を維持する場合は、この手順をスキップします。

起動設定を削除するには

  1. ナビゲーションペインの [Auto Scaling] で、[Launch Configurations (起動設定)] を選択します。

  2. 起動設定を選択します。

  3. [Actions]、[Delete launch configuration] の順に選択します。確認を求めるメッセージが表示されたら、[Yes, Delete] を選択します。