Amazon EC2 Auto Scaling の開始方法 - 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 インスタンスの起動について知識があり、キーペアとセキュリティグループを既に作成していることを前提としています。詳細については、次のガイドAmazon EC2の「 による の設定」を参照してくださいLinux インスタンス用 Amazon EC2 ユーザーガイド

開始するには、1 つの無料利用枠の対象となる Linux インスタンスを起動できます。AWS アカウントを作成したのが過去 12 か月以内で、Amazon EC2 の無料利用枠を使い切っていない場合、無料利用枠内で利用できるオプションを選択することで、このチュートリアルでは一切費用がかかりません。それ以外の場合、このチュートリアルに従うと、インスタンスが起動してから Auto Scaling グループを削除するまで (このチュートリアルの最終タスク)、およびインスタンスのステータスが terminated に変わるまで、標準の Amazon EC2 使用料が発生します。

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

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

注記

または、起動テンプレートを使用する代わりに、起動設定を使用して Auto Scaling グループを作成することもできます。起動設定手順については、「Create a launch configuration」を参照してください。

起動テンプレートを作成するには

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

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

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

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

  5. 名前 ( などmy_template) を入力し、起動テンプレートの最初のバージョンの説明を入力します。

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

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

    注記

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

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

  9. ネットワーキングプラットフォームを VPC に設定したままにします

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

  11. ネットワークインターフェイスは空のままにすることができます。設定を空にままにすると、インスタンス用に選択した IP アドレスを持つプライマリネットワークインターフェイスが作成されます (ネットワークインターフェイスの確立先のサブネットに基づきます)。代わりにネットワークインターフェイスを指定する場合は、セキュリティグループがその一部である必要があります。

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

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

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

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

起動設定を作成するには

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

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

  3. ナビゲーションペインの [AUTO SCALING] で、[起動設定] を選択します。

  4. [起動設定の作成] を選択し、起動設定の名前を入力します (例: my-first-lc )。

  5. Amazon マシンイメージ (AMI) には、AMI を選択します。特定の AMI を見つけるには、適切な AMI を見つけ、その ID を書き留めて、検索条件として ID を入力します。

    Amazon Linux 2 AMI の ID を取得するには:

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

    2. ナビゲーションペインの [Instances] で、[Instances] を選択し、[Launch instances] を選択します

    3. [Amazon マシンイメージの選択] ページの [クイックスタート] タブで、[Amazon Linux 2 AMI (HVM)] の横にある AMI の ID を書き留めます。この AMI は [Free tier eligible] と表示されていることに注意してください。

  6. [インスタンスタイプ] で、インスタンスのハードウェア設定を選択します。

    注記

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

  7. [追加設定] の [詳細設定] の [IP アドレスタイプ] で選択します。VPC のインスタンスにインターネット接続を提供するには、パブリック IP アドレスを割り当てるオプションを選択します。インスタンスがデフォルトの VPC で起動された場合、デフォルトではパブリック IP アドレスが割り当てられます。インスタンスにインターネット接続をする必要があるときに、デフォルト VPC があるかどうかがわからない場合は、[Assign a public IP address to every instance (すべてのインスタンスにパブリック IP アドレスを割り当てる)] を選択します。

  8. [Security groups] で、既存のセキュリティグループを選択します。[Create a new security group (新しいセキュリティグループの作成)] オプションを選択したままにすると、Linux を実行するAmazon EC2インスタンスに対してデフォルトの SSH ルールが設定されます。Windows を実行するAmazon EC2インスタンス用にデフォルトの RDP ルールが設定されます。

  9. [Key pair (login) (キーペア (ログイン))] で、指示に従って、[Key pair options (キーペアオプション)] の下のオプションを選択します。インスタンスへの接続は、このチュートリアルには含まれていません。このために、インスタンスに接続する場合を除いて、[Proceed without a key pair] を選択できます。

  10. [Create launch configuration] を選択します。

  11. 新しい起動設定の名前の横にあるチェックボックスをオンにし、[アクション]、[グループAuto Scalingの作成] の順に選択します

ステップ 2: Auto Scaling グループの作成

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

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

Auto Scalingグループを作成するには (コンソール)

  1. [起動テンプレートまたは設定の選択] ページの [Auto Scaling グループ名] に、Auto Scaling グループの名前を入力します。

  2. [] を選択します。

    [Configure settings (設定の指定)] ページが表示されます。このページでは、ネットワーク設定を指定し、複数のインスタンスタイプでオンデマンドインスタンスとスポットインスタンスを起動するためのオプションを選択できます (起動テンプレートを選択した場合)。

  3. [起動テンプレートのみ] [Purchase options and instance types (購入オプションとインスタンスタイプ)] を [Adhere to the launch template (起動テンプレートに従う)] に設定しておくと、Auto Scaling グループをすばやく作成して設定できます。

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

  5. [Subnets (サブネット)] で、追加するサブネットを各アベイラビリティーゾーンから選択します。複数のアベイラビリティーゾーンのサブネットを使用することで、高可用性を得られます。

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

    注記

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

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

ステップ 3: Auto Scalingグループの確認

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

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

  1. Auto Scalingグループページで、作成したAuto Scalingグループの横にあるチェックボックスをオンにします。

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

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

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

  4. インスタンスが正常に起動したことを確認します。インスタンスはすぐに起動します。

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

    [Health Status (ヘルスステータス)] 列には、インスタンスの EC2 インスタンスのヘルスチェックの結果が表示されます。

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

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

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

    Amazon EC2 コンソールの [インスタンス] ページが表示され、そこでインスタンスを終了できます。

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

  3. ナビゲーションペインの [AUTO SCALING] で、[Auto Scaling グループ] を選択します。Auto Scaling グループを選択し、[アクティビティ] タブを選択します

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

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

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

ステップ 4: 次のステップ

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

  • Auto Scaling グループを手動でスケールします。詳細については、「容量制限の設定」および「手動スケーリング」を参照してください。

  • リソース使用率の変化に応じて自動的にスケールする方法について説明します。負荷が増加すると、Auto Scaling グループは需要を処理するためにスケールアウト(インスタンスを追加)できます。詳細については、を参照してください ターゲット追跡スケーリングポリシー

  • Auto Scaling グループのスケールが変わるたびに通知するように SNS 通知を設定します。詳細については、を参照してください Amazon SNS通知によるモニタリング

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

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

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

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

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

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

  3. Auto Scaling グループの横にあるチェックボックスをオンにします。

  4. [Delete (削除)] を選択します。確認を求めるメッセージが表示されたら、[削除] を選択します。

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

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

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

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

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

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

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

起動設定を削除するには

  1. ナビゲーションペインの [AUTO SCALING] で、[起動設定] を選択します。

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

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