オートスケールのためのインスタンス・グループの作成

Auto Scale for VPC を使用すると、インスタンス・グループを作成して、必要に応じてスケーリングすることができます。 定義するターゲット使用率メトリックに基づいて、指定されたインスタンスの可用性を実現するために、インスタンス・グループではインスタンスが動的に追加または削除されます。

プライベート・カタログでカスタム・イメージを使用する場合は、インスタンス・グループを作成する前に、まず globalcatalog-collection.instance.retrieve に対するサービス間ポリシーを作成する必要があります。 詳しくは、 インスタンス・グループを使用するプライベート・カタログでのカスタム・イメージの使用 を参照してください。

Auto scale for VPC

Auto Scale for VPC を使用すると、環境の要求に応じて仮想サーバー・インスタンスを動的に作成することで、パフォーマンスとコストを改善できます。 CPU、メモリー、およびネットワークの使用量などのメトリックについて、目標とする平均使用率を定義したスケーリング・ポリシーを設定します。 定義したポリシーによって、インスタンス・グループの仮想サーバー・インスタンスがいつ追加/除去されるかが決まります。

例として、架空の会社、Acme Web Retailer が、オートスケールのためのインスタンス・グループをセットアップするとしましょう。 彼らは、インスタンス数を最低3つ、最高7つに維持したいと定めています。 CPU 使用量について、同社のインスタンスの所定の平均使用率を 70% として、動的スケーリング・ポリシーを作成します。 集計期間は 10 分に設定したので、インスタンス・グループ・マネージャーは、各インスタンスを 10 分間モニターしてから平均使用率を計算します。 インスタンス全体のターゲット使用率を満たすために調整が必要になった場合は、インスタンス・グループのマネージャーが、必要に応じて追加のインスタンスをプロビジョン/回収します。

オートスケールでは、次の計算式を使用して、任意の時点で実行されているインスタンス数を決定します。

Σ(Current average utilization of each instance)/target utilization = membership count

Acme Web Retailer で、集計ウィンドウの終了時点で 4 つの仮想サーバーインスタンスが稼働している場合、計算式はこの例のようにになります: VSI1 + VSI2 + VSI3 + VSI4 / 70% = メンバーシップ数。 4 台の実行インスタンスの CPU 使用率が、80%、70%、65%、85% であるため、次の計算が行われます。

80% + 70% + 65% + 85% / 70% = 4.29

この計算を基に、インスタンス・グループ・マネージャーは、4.295 に切り上げ、インスタンスをもう 1 台プロビジョンします。 これで Acme Web Retailer 社のインスタンスは合計 5 台になり、このグループのインスタンス全体の同社の所定の平均 CPU 使用率が維持されます。

インスタンスグループに追加されるインスタンスを示す画像
は、新しい
を追加する*

インスタンス・グループがスケールアップしてインスタンスを作成するときには、インスタンス・グループに定義されているサブネットの中からランダムにサブネットが選択されます。 インスタンス・グループがスケールダウンしてインスタンスを削除するときには、先入れ先出し (FIFO) 方式が使用されます。 まず古いインスタンスから削除されます。 インスタンスグループ内のインスタンスがいついかなる時点で障害を起こした場合でも、そのインスタンスは新しいインスタンスに置き換えられます。

インスタンス・グループは、インスタンス間で着信要求のバランスを取るために、ロード・バランサーを使用して構成することができます。 ロード・バランサーを使用して、インスタンス・グループ内のインスタンスに関連付けられたプール・メンバーに固有のヘルス・チェックを構成できます。 インスタンスがヘルス・チェックで不合格になると、インスタンス・グループ内に新規インスタンスが作成され、障害のあるメンバーシップが置き換えられます。 新規インスタンスが使用可能になると、ヘルス・チェックで不合格になったインスタンスが削除されます。

モニター・サービスは、ヘルス・チェックがアクセスするインスタンスについて、同じ正常性情報を反映します。

UI を使用したオートスケールのセットアップ

インスタンス・グループを作成する前に、IBM Cloud VPC を作成する必要があります。

オートスケーリング用のインスタンスグループを作成するには、以下のタスクを完了する必要があります。

  1. グループのインスタンスをプロビジョンするために使用されるインスタンス・テンプレートを作成します。
  2. 類似した仮想サーバー・インスタンスで構成される、単一リージョン内のインスタンス・グループを作成します。
  3. スケール方式 (静的または動的) を選択し、スケーリング・ポリシーを作成します。

インスタンス・テンプレートの作成

自動スケーリングのためにインスタンス・グループを作成するには、インスタンス・テンプレートが必要です。 インスタンス・テンプレートは、 インスタンス・グループのために作成される仮想サーバー・インスタンスの詳細を定義します。 例えば、イメージ・テンプレートのプロファイル (vCPU および メモリー)、イメージ、接続されるボリューム、およびネットワーク・インターフェースを指定します。 インスタンス・グループのために作成されるすべての仮想サーバー・インスタンスは、 インスタンス・グループで定義されているインスタンス・テンプレートを使用します。

インスタンス・テンプレートに定義するリソースはすべて、インスタンス・グループと同じリソース・グループのものでなければなりません。

インスタンス・テンプレートを作成するには、以下の手順を実行します。

  1. IBM Cloud コンソールで、Navigation Menu アイコン menu icon Infrastructure VPC icon Compute > Instance templates に進みます。
  2. [新しいインスタンステンプレート ] をクリックし、表1に記載されている情報を入力してください。
  3. 情報の入力が完了したら、「 インスタンステンプレートを作成 」をクリックしてください。
インスタンステンプレートの選択
フィールド
ロケーション 場所は、リージョン (特定の地理的領域) およびゾーン (リージョン内のフォールト・トレラント・データ・センター) で構成されます。 仮想サーバーインスタンスを作成する地理的エリア、地域、およびゾーンを選択してください。
名前 仮想サーバー・インスタンスには、名前が必要です。
リソース・グループ インスタンスのリソース・グループを選択します。
画像

「イメージの変更」 をクリックしてイメージを選択します。 「イメージの選択」ページでは、ストック・イメージ、カスタム・イメージ、カタログ・イメージ、スナップショット、または既存のボリュームを選択できます。 インスタンスをプロビジョニングする地理的ロケーションがサポートしている場合は、以下のいずれかを選択できます:

  • x86 アーキテクチャ

  • 非推奨 s390x アーキテクチャ

イメージを選択したら、 Save をクリックします。

  • ストック画像 :利用可能なストック画像から選択することができます。 詳細は以下を参照:

  • x86 仮想サーバーイメージ

  • 非推奨s390x 仮想サーバーイメージ

  • カスタムイメージ :カスタム・イメージ:カスタム・イメージは、自分でカスタマイズして IBM Cloud Object Storage にアップロードした画像を、 IBM Cloud VPC にインポートすることができます。 ブート・ボリュームから作成されたカスタム・イメージを使用することもできます。 カスタムイメージの詳細については、 カスタムイメージを使い始めるを 参照してください。

  • カタログ画像 :カタログイメージは、プライベートカタログにインポートされるカスタムイメージです。 カタログイメージの詳細については、 プライベートカタログでカスタムイメージを使用する際のVPCの考慮 事項を参照してください。

  • スナップショット :利用可能なスナップショットから選択できます。 詳細については、 「VPC 向け Block Storage スナップショットについて」を 参照してください。

  • 既存のボリューム :既存のボリュームから選択できます。 指定されたボリュームはアタッチされておらず、インスタンス・プロファイルと同じアーキテクチャのオペレーティング・システムを持っている必要があります。
    s390x アーキテクチャーは非推奨。 オンプレミスの展開モデルに移行できます。 詳しくは Linux on IBM Z and LinuxONE. 非推奨の詳細については、 サービス非推奨のお知らせを ご覧ください。

プロフィール 利用可能なすべての vCPU とRAMの組み合わせから選択するには、 プロファイルの変更をクリックします。 プロファイルファミリーは、バランス、コンピュート、メモリー、ウルトラ・ハイ・メモリー、ベリー・ハイ・メモリー、ストレージ最適化、GPU、フレックス、コンフィデンシャル・コンピュート、高周波数である。

使用するプロファイルが、インスタンスの作成を計画しているゾーンで利用可能であることを確認します。

詳細は プロファイルを 参照。

仮想サーバーのネットワークインターフェースの数がプロファイルの制限を超えるため、一部のプロファイルが使用できない場合があります。 より多くのプロファイルから選択するために、ネットワーク・インターフェイスを削除することができます。 詳細については、 仮想サーバーのサイズ変更を 参照してください。

選択した画像に、そのプロファイルと互換性のない使用許可表現が含まれているため、プロファイルによっては使用できない場合があります。 このような場合は、希望するプロファイルに適合する使用許可表現を持つ画像を選択してください。 詳しくは、 カスタム画像への使用許可表現の追加を 参照してください。

スレッド/コア 「コアあたりのスレッド数」を設定することで、ワークロードを最適化するための柔軟性が得られます。 すべてのプロファイルで「コアあたりのスレッド数」が表示されますが、これを編集できるのは「 High Frequency 」プロファイルファミリーのみです。 「高周波」プロファイルの場合、デフォルト値は 2 ですが、1 に調整することも可能です。
SSH 鍵 既存の SSH 公開鍵を選択するか、 「SSH 鍵の作成」 をクリックして新規 SSH 鍵を作成する必要があります。 RSA SSH 鍵のみを作成できます。 のためにED25519 SSH キーの場合は、キー情報をアップロードする必要があります。 SSH 鍵の作成について詳しくは、 UI を使用した SSH 鍵の作成 を参照してください。 SSH 鍵は、実行中になったインスタンスにセキュアに接続するために使用されます。

注:** 英数字の組み合わせは100文字までです。 SSH 鍵は RSA か Ed25519 のどちらかである。 Ed25519 は、オペレーティング・システムがこの鍵タイプをサポートしている場合にのみ使用できます。 ED25519 Windows または VMware のイメージでは使用できません。

詳細については、 SSHキーを使い始める

ブート・ボリューム すべてのプロファイルのデフォルトのブート・ボリューム・サイズは 100 GB です。 第一世代のボリューム・プロファイルを使用している場合は最大 250 GB、 sdp プロファイルを使用している場合は最大 32,000 GB と、イメージの必要性に応じてより大きなブート・ボリューム容量を指定できます。 ユーザー・タグを指定することもできます。
データ・ボリューム インスタンスのプロビジョン時に含める 2 次データ・ボリュームを 1 つ以上追加できます。 ボリュームを追加するには、 「作成」 をクリックします。 ボリュームに対して、お客様管理の暗号化とユーザー・タグを指定できます。
Virtual Private Cloud インスタンスを作成する IBM Cloud VPC を指定します。 既存の VPC を使用することも、新規 VPC を作成することもできます。 新規 VPC を作成するには、**「新規 VPC (New VPC)」**をクリックします。
ネットワーク・インターフェース IBM Cloud VPC へのネットワーキング接続を定義します。 デフォルトでは、インスタンス・テンプレートに新しいオプション 「仮想ネットワーク・インターフェースを使用したネットワーク接続 (Network attachment with a virtual network interface)」 が選択されています。 あるいは、レガシー・オプションの 「インスタンス・ネットワーク・インターフェース」 を選択することもできます。 仮想サーバーのプロビジョン時に選択したどのタイプのネットワーク・インターフェース・オプションも、仮想サーバーのライフサイクルを通して持続します。 ネットワークインターフェースの種類を選択した後、編集アイコン 編集アイコン をクリックすると、サブネットや関連するセキュリティグループなど、ネットワークインターフェースの詳細を更新することができます。
ユーザー・データ 一般的な構成タスクを自動的に実行するユーザー・データや、スクリプトを実行するユーザー・データを追加することができます。 詳しくは、ユーザー・データを参照してください。
メタデータ デフォルトでは無効になっていますが、このテンプレートから作成されたインスタンスが、自身に関するメタデータを収集できるようにします。 トグルをクリックして、メタデータサービスを有効にしてください。 詳細については、 VPCのメタデータについてを 参照してください。
専用ホストに追加 仮想サーバー インスタンスを専用ホストに追加して、単一テナント スペースにインスタンスを作成できます。 専用インスタンスをプロビジョンするには、専用ホストを使用可能にしておくか、作成する必要があります。
配置グループに追加 インスタンスの配置グループを選択できます。 配置グループを有効にするには、トグルをクリックします。 次に、インスタンスの配置グループを選択または作成します。 配置グループを追加すると、インスタンスは配置グループの戦略に従って配置されます。 詳しくは、配置グループについてを参照してください。
ダイナミックなボリューム帯域割当 トグルをクリックして、接続されたデータボリュームに対する プールされたボ リューム帯域幅割り当てを 有効にします。 この機能は、一部の コンピュートプロファイルで サポートされています。
ホスト障害時の自動再始動 この設定は、デフォルトで有効になっています。 ホスト障害の自動再始動を無効にするには、トグルをクリックします。 詳しくは、『ホスト障害リカバリー・ポリシー』を参照してください。

重要: インスタンスグループでは、以下の設定を持つインスタンステンプレートはサポートされていません:

  • 2 次ネットワーク・インターフェースはサポートされていません。 1 つのインスタンス・グループで、1 つのインスタンス・テンプレートに対して 1 つの 1 次ネットワーク・インターフェースのみがサポートされます。
  • 1 次インターフェースに割り当てられた 1 次 IP アドレスまたは浮動 IP アドレスはサポートされません。

インスタンステンプレートを作成すると、そのテンプレートを使用して仮想サーバーインスタンスをプロビジョニングできることを確認するための検証手順が実行されます。

インスタンス・グループの作成

インスタンス・グループは、類似した仮想サーバー・インスタンスの集合です。 グループ内で維持するインスタンスの数を定義します。 静的なインスタンス数を設定することも、必要に応じてインスタンスを動的にスケーリングすることもできます。

ロード・バランサーを含めてインスタンス・グループのインスタンス間に着信要求を分散させ、特定のヘルス・チェックを構成する場合は、インスタンス・グループを作成する前に、ロード・バランサーを作成しておく必要があります。 詳しくは、以下のトピックを参照してください。

ロード・バランサー・プールのヘルス・チェックについて詳しくは、以下のトピックを参照してください。

すべてのネットワーク・ロード・バランサー・オファリングがインスタンス・グループとの統合をサポートするわけではありません。 ネットワーク負荷分散プールにインスタンスグループをアタッチする前に、 負荷分散 の詳細の属性 instance_groups_supported がであることを確認してください true

  1. インスタンス・グループを作成するために必要な IBM Cloud Identity and Access Management (IAM) の権限が付与されていることを確認します。 詳細については、VPC インフラストラクチャ サービスの IAM アクセスの管理
  2. IBM Cloud コンソールで、ナビゲーションメニュー アイコン メニューアイコン インフラストラクチャ VPC アイコン コンピュート > インスタンスグループ に進みます。
  3. **「新規インスタンス・グループ (New instance group)」**をクリックして、表 2 の情報を入力します。
  4. インスタンス・グループの作成の一環として動的スケーリング・ポリシーを作成する場合は、スケーリング・ポリシーの作成を参照してください。 インスタンスグループを作成した後でも、 後からポリシーを追加 することができます。
  5. 情報の入力が完了したら、「 インスタンスグループを作成 」をクリックしてください。
インスタンスグループの選択
フィールド
名前 仮想サーバー・インスタンスには、名前が必要です。
リソース・グループ インスタンスのリソース・グループを選択します。
リージョン 仮想サーバー・インスタンスを作成する場所を選択します。
配置グループ インスタンスの配置グループを選択します。 配置グループを追加すると、インスタンスは配置グループのポリシーに従って配置されます。 詳しくは、配置グループについてを参照してください。
Subnets インスタンス・グループを作成するサブネットを選択します。 アプリケーションの可用性を最大化するには、別のゾーンのサブネットを選択します。  オートスケーリングインスタンスグループのパフォーマンスを最大限に引き出すには、サブネットサイズを32以上にするようにしてください。
ロード・バランサーを使用します (Use a load balancer) ロード・バランサーを使用してインスタンス・グループのインスタンス間で着信要求を分散させる場合は、このチェック・ボックスを選択します。 事前にロード・バランサーを構成し、このインスタンス・グループに選択するサブネットに関連付け、1 つ以上のバックエンド・プールを作成しておく必要があります。
インスタンス・テンプレート 自動スケーリング・インスタンス・グループ内の仮想サーバー・インスタンスをプロビジョニングするために使用するインスタンス・テンプレートを選択します。 グループ内のすべての仮想サーバー・インスタンスは、同じインスタンス・テンプレートを使用してプロビジョンされます。
スケーリング方式 動的または静的のいずれのスケーリング方式を使用するかを選択します。 動的スケーリング方式を使用すると、指定したメトリック・ターゲットに基づいてインスタンスが追加または削除されます。 静的スケーリング方式では、維持したいインスタンスの数を固定で指定することができます。
インスタンス・グループ・サイズ 静的グループの場合は、このインスタンス・グループ内に常時保持するインスタンスの数を入力します。 動的グループの場合は、グループのインスタンスの最小数と最大数を入力します。 インスタンス数は、定義した目標メトリクスに基づいて、その範囲内で自動的にスケーリングされます。
集計期間 (秒) 動的グループの場合に、この値で、インスタンス・グループ・マネージャーが各インスタンスをモニターして平均使用率を求める期間が決まります。
クールダウン期間 (秒) 動的グループの場合、クールダウン期間は、スケーリングが行われた後に、それ以降のスケーリング・アクションを休止する時間 (秒単位) です。

スケーリング・ポリシーの作成

動的スケーリング方式では、特定のメトリクス(CPU使用率(%)など)と、そのメトリクスで達成したい目標使用率を定義します。 このメトリックと平均ターゲット使用率の両方によって、インスタンス・グループがグループの仮想サーバー・インスタンスをいつ動的に追加または除去する必要があるかが決定されます。

スケーリング・ポリシーを追加するには、**「VPC の新規インスタンス・グループ (New instance group for VPC)」**ページの以下のフィールドに情報を入力します。 インスタンス・グループが既に作成された後にポリシーを追加する必要がある場合は、ポリシーの追加を参照してください。

スケーリング・ポリシーの選択
フィールド
メトリック・タイプ グループのインスタンスを追加/除去するために使用するターゲット使用率値を関連付けるメトリックのタイプを選択します。 「CPU 使用率 (%)」、「RAM 使用率 (%) (RAM utilization (%))」、「ネットワーク入力 (Mbps) (Network in (Mbps))」、「ネットワーク出力 (Mbps) (Network out (Mbps))」のいずれかのメトリックを選択できます。 複数のターゲット・メトリック・ポリシーを定義できますが、メトリックのタイプごとに 1 つのポリシーのみを定義できます。
平均ターゲット使用率 選択したメトリックで達成する平均使用率を指定します。 このターゲット値によって、インスタンス・グループ・マネージャーが、グループ内のインスタンスをいつスケールアップまたはスケールダウンする必要があるかが定義されます。 集計期間が経過するたびに、インスタンス・グループのマネージャーが、すべてのインスタンスの現在の使用率を合計し、その値をこのターゲット使用率値で除算し、メンバーシップ数を決定します。

CLI を使用したオートスケールのセットアップ

IBM Cloud VPC CLI を使用して、必要に応じて自動スケーリングするためのインスタンス・グループを IBM Cloud に作成できます。

開始前に

IBM Cloud® の CLI 環境IBM Cloud VPC をセットアップしておきます。

CLI を使用してオートスケール・インスタンス・グループを作成するには、以下のタスクを実行する必要があります。

  1. インスタンス・グループ・リソースを作成するために必要な IBM Cloud Identity and Access Management (IAM) 権限が付与されていることを確認します。 詳細については、*を参照してください。VPC インフラストラクチャ サービスの IAM アクセスの管理
  2. グループのインスタンスをプロビジョンするために使用されるインスタンス・テンプレートを作成します。
  3. 類似した仮想サーバー・インスタンスで構成される、単一リージョン内のインスタンス・グループを作成します。
  4. インスタンス・グループ・マネージャーを作成して、スケーリング・ポリシーを適用できるようにします。
  5. 定義したターゲット使用率メトリックに基づいてグループのインスタンスを動的に追加/削除するスケーリング・ポリシーを作成します。

インスタンス・テンプレートの作成

インスタンス・テンプレートに定義するリソースはすべて、インスタンス・グループと同じリソース・グループのものでなければなりません。

インスタンス・テンプレート作成のための情報の収集

インスタンス・テンプレートを作成する準備ができましたか? ibmcloud is instance-template-create コマンドを実行する前に、インスタンス・テンプレートやコマンドのオプション (使用するプロファイルやイメージなど) について詳しく知っておく必要があります。 コマンドの実行準備には、以下の手順に従ってください。

インスタンスの作成を計画しているゾーンで、使用するプロファイルが利用可能であることを確認します。

インスタンス・テンプレートに必要な以下の詳細情報を収集します。

必要なインスタンステンプレートの詳細
インスタンス・テンプレートの詳細情報 リスト表示するコマンド
VPC ibmcloud is vpcs
ゾーン ibmcloud is zones
プロフィール ibmcloud is instance-profiles
サブネット ibmcloud is subnets
画像 ibmcloud is images

インスタンステンプレートを作成するために必要な情報を特定するには、次のコマンドを使用します。

  1. ご使用のアカウントに関連付けられているリージョンをリストします。

    ibmcloud is regions
    

    以下の例を参照してください。

    $ ibmcloud is regions
    Listing regions under account Test Account as user test.user@ibm.com...
    Name       Endpoint                              Status
    au-syd     https://au-syd.iaas.cloud.ibm.com     available
    br-sao     https://br-sao.iaas.cloud.ibm.com     available
    ca-tor     https://ca-tor.iaas.cloud.ibm.com     available
    eu-de      https://eu-de.iaas.cloud.ibm.com      available
    eu-es      https://eu-es.iaas.cloud.ibm.com      available
    eu-gb      https://eu-gb.iaas.cloud.ibm.com      available
    jp-osa     https://jp-osa.iaas.cloud.ibm.com     available
    jp-tok     https://jp-tok.iaas.cloud.ibm.com     available
    us-east    https://us-east.iaas.cloud.ibm.com    available
    us-south   https://us-south.iaas.cloud.ibm.com   available
    
  2. ターゲット領域に切り替えます。

    ibmcloud target -r <region-name>
    
  3. 対象地域に関連付けられているゾーンを一覧表示してください。

    ibmcloud is zones
    

    次の例では、コマンドは リージョン us-south で実行され、出力にはそのリージョン内にある利用可能なゾーンが表示されます。

    $ ibmcloud is zones
    Listing zones in target region us-south under account Test Account as user test.user@ibm.com...
    Name         Region     Status
    us-south-1   us-south   available
    us-south-2   us-south   available
    us-south-3   us-south   available
    
  4. ご使用のアカウントに関連付けられている IBM Cloud VPC をリストします。

    ibmcloud is vpcs
    

    この例の場合、以下の出力のような応答が表示されます。

    ID                                          Name                                  Default          Status      Tags
    0738-xxx1xx23-4xx5-6789-12x3-456xx7xx123x   my-vpc                                yes              available   -
    0738-xxxx1234-5678-9x12-x34x-567x8912x3xx   my-other-vpc                          no               available   -
    

    IBM Cloud VPC がない場合は、ibmcloud is vpc-create コマンドを使用して作成できます。 IBM Cloud VPC の作成について詳しくは、IBM Cloud VPC の CLI リファレンスを参照してください。

  5. インスタンス・テンプレートを作成するために使用できるプロファイルをリストします。

    ibmcloud is instance-profiles
    

    この例の場合、以下の出力のような応答が表示されます。

    Name           Architecture   Family     vCPUs   Memory(G)   Network Performance (Gbps)   GPUs
    bx2-2x8        amd64          balanced   2       8           4                            -
    bx2-4x16       amd64          balanced   4       16          8                            -
    bx2-8x32       amd64          balanced   8       32          16                           -
    bx2-16x64      amd64          balanced   16      64          32                           -
    bx2-32x128     amd64          balanced   32      128         64                           -
    bx2-48x192     amd64          balanced   48      192         80                           -
    cx2-2x4        amd64          compute    2       4           4                            -
    cx2-4x8        amd64          compute    4       8           8                            -
    cx2-8x16       amd64          compute    8       16          16                           -
    cx2-16x32      amd64          compute    16      32          32                           -
    cx2-32x64      amd64          compute    32      64          64                           -
    mx2-2x16       amd64          memory     2       16          4                            -
    mx2-4x32       amd64          memory     4       32          8                            -
    mx2-8x64       amd64          memory     8       64          16                           -
    
  6. IBM Cloud VPC に関連付けられているサブネットをリストします。

    ibmcloud is subnets
    

    この例の場合、以下の出力のような応答が表示されます。

    ID                                          Name                     Status
    0076-2249dabc-8c71-4a54-bxy7-953701ca3999   subnet1                  available
    0767-173bn4aa-060b-47e7-am45-b3395a593897   subnet2                  available
    

    オートスケーリングインスタンスグループのパフォーマンスを最大限に引き出すには、サブネットサイズを32以上にするようにしてください。

    サブネットがない場合は、ibmcloud is subnet-create コマンドを使用してサブネットを作成できます。 サブネットの作成について詳しくは、IBM Cloud VPC の CLI リファレンスを参照してください。

  7. インスタンス・テンプレートを作成するために使用できるイメージをリストします。 インスタンスは、ストック・イメージ、アカウントのカスタム・イメージ、またはプライベート・カタログからアカウントと共有されたイメージを使用して作成できます。 使用する予定のイメージに基づいて、以下のいずれかのコマンドを実行します。

    • インスタンスのアカウントからストック・イメージまたはイメージを選択します。

    使用可能なイメージをすべてリストするには、次のコマンドを実行します。

    ibmcloud is images
    

    非推奨のイメージには、最新のサポートは含まれていません。

    画像を選択してください ibm-debian-11-11-minimal-amd64-4。 イメージ ID を取得するには、次のコマンドを実行します。

    image=$(ibmcloud is images | grep -i "debian.*available.*amd64.*public" | cut -d" " -f1)
    

    イメージ ID を変数として保存します。これは、後でインスタンスをプロビジョンするときに使用します。

    • インスタンス用にプライベートカタログから共有されている画像を選択してください

    利用可能なすべての画像を一覧表示するには、次のコマンドを実行してください。

    ibmcloud is catalog-image-offerings
    

    このコマンドは、使用可能なイメージの offering_crnoffering_version_crn の両方を返します。 インスタンスの作成時に、 offering_crn を使用してカタログ製品オファリングの最新バージョンでプライベートカタログイメージからインスタンスをプロビジョニングするか、 offering_version_crn を使用してカタログ製品オファリングの特定のバージョンからインスタンスをプロビジョニングすることができます。

    offering_crnoffering_version_crn を変数に保存します。これらの変数は、後でインスタンスをプロビジョンするときに使用します。

    offering_crn="crn:v1:bluemix:public:globalcatalog-collection:global:a/a1234567:0b322820-dafd-4b5e-b694-6465da6f008a:offering:136559f6-4588-4af2-8585-f3c625eee09d"
    offering_version_crn="crn:v1:bluemix:public:globalcatalog-collection:global:a/a1234567:0b322820-dafd-4b5e-b694-6465da6f008a:version:136559f6-4588-4af2-8585-f3c625eee09d/8ae92879-e253-4a7c-b09f-8d30af12e518"
    

上記の値が判明したら、これらの値を使用して instance-template-create コマンドを実行します。 収集した情報に加えて、インスタンスの名前を指定する必要があります。

以下の例では、アカウントのストック・イメージまたはカスタム・イメージを使用してインスタンス・テンプレートを作成します。

ibmcloud is instance-template-create INSTANCE_TEMPLATE_NAME VPC ZONE_NAME PROFILE_NAME SUBNET --image-id IMAGE_ID

たとえば、 my-instance-template というインスタンス テンプレートを作成する場合、カスタム イメージ を使用する プロ bx2-2x8 ファイルを指定すると us-south-1_r008-54e9238a-feaa-4f90-9742-7424cb2b9ff1_ 、コマンド instance-template-create は次の例に似ています。

ibmcloud is instance-template-create my-instance-template r006-680c56cb-7fbb-41e6-833b-029beb7b6ba3 us-south-3 bx2-2x8 0076-2249dabc-8c71-4a54-bxy7-953701ca3999 --image-id r008-54e9238a-feaa-4f90-9742-7424cb2b9ff1

ここで、

  • INSTANCE_TEMPLATE_NAMEmy-instance-template です。
  • VPCr006-680c56cb-7fbb-41e6-833b-029beb7b6ba3です。
  • ZONE_NAMEus-south-3 です。
  • PROFILE_NAMEbx2-2x8 です。
  • SUBNET_ID0076-2249dabc-8c71-4a54-bxy7-953701ca3999 です。
  • --image_IDr008-54e9238a-feaa-4f90-9742-7424cb2b9ff1 です。

この例では、次のような出力が表示されます。 以下の応答は、使用する値によって異なることに留意してください。

ID                             0738-c3809e5b-8d48-4629-b258-33d5b14fa84f
Name                           my-instance-template
CRN                            crn:v1:bluemix:public:is:us-south-3:a/a1234567::instance-template:0738-c3809e5b-8d48-4629-b258-33d5b14fa84f
Resource group                 Default
VPC ID                         r006-680c56cb-7fbb-41e6-833b-029beb7b6ba3
Image ID                       r008-54e9238a-feaa-4f90-9742-7424cb2b9ff1
Profile                        bx2-2x8
Primary Network Interface ID   Name      Subnet ID                                   Security Groups
                               primary   0076-2249dabc-8c71-4a54-bxy7-953701ca3999   r006-9fd0b586-6876-4e8a-a0a1-586aeff5167c

プライベートカタログから共有されたイメージからインスタンステンプレートを作成する場合は、 を または --catalog-offering のいずれ --image_ID かで catalog-offering_version 置き換えてください。

ibmcloud is instance-template-create コマンドの他の例については、VPC の CLI リファレンスを参照してください。

インスタンステンプレートを作成すると、そのテンプレートを使用して仮想サーバーインスタンスをプロビジョニングできることを確認するための検証手順が実行されます。 さらに詳しい情報が必要な場合は、 ibmcloud is help instance-template-create を実行すると、インスタンステンプレートの作成に関するヘルプが表示されます。

インスタンス・グループの作成

インスタンステンプレートを作成したら、インスタンスグループを作成できます。 instance-group-create コマンドを実行する前に、インスタンス・グループの名前と、コマンドのオプションの値 (使用するインスタンス・テンプレートなど) を決めておく必要があります。

ロード・バランサーを含めてインスタンス・グループのインスタンス間に着信要求を分散させ、特定のヘルス・チェックを構成する場合は、インスタンス・グループを作成する前に、ロード・バランサーを作成しておく必要があります。 詳しくは、以下を参照してください

ロードバランサー プールのヘルス チェックに関する詳細については、以下のトピックを参照してください。

以下の情報を収集します。

必要なインスタンスグループの詳細
インスタンス・グループの詳細 説明
インスタンス・テンプレート 前のタスクで作成したインスタンス・テンプレートの ID
サブネット ID 前のタスクの ibmcloud is subnets コマンドの結果から選択する必要がある各サブネットのコンマで区切られた ID
--membership-count インスタンスグループに所属しているメンバーの数

上記の値が判明したら、これらの値を使用して instance-group-create コマンドを実行します。 収集した情報に加えて、インスタンス・グループの名前を指定する必要があります。

ibmcloud is instance-group-create INSTANCE_GROUP_NAME --instance-template INSTANCE_TEMPLATE --subnet-ids IDS --membership-count MEMBERS

たとえば、「 my-instance-group 」という名前のインスタンスグループを作成し、インスタンステンプレートID 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 で、初期メンバー _が1人の_インスタンスグループを作成する場合、 instance-group-create コマンドは次の例のような形になります。

ibmcloud is instance-group-create my-instance-group --instance-template 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 --subnet-ids 0076-2249dabc-8c71-4a54-bxy7-953701ca3999,0767-173bn4aa-060b-47e7-am45-b3395a593897 --membership-count 1

ここで、

  • INSTANCE_GROUP_NAMEmy-instance-group
  • --instance-template72251a2e-d6c5-42b4-97b0-b5f8e8d1f479
  • --subnet IDs0076-2249dabc-8c71-4a54-bxy7-953701ca3999 および 0767-173bn4aa-060b-47e7-am45-b3395a593897
  • --membership-count 最初は1です

この例では、次のような出力を示す応答が表示されます:

ID                  r006-4f7d0010-33f5-40bf-9f21-ab5bee04fd71
Name                my-instance-group
Status              healthy
Instances           1
Instance Template   72251a2e-d6c5-42b4-97b0-b5f8e8d1f479
Subnets             Name       Subnet ID
                    subnet-1   0076-2249dabc-8c71-4a54-bxy7-953701ca3999
                    subnet-2   0767-173bn4aa-060b-47e7-am45-b3395a593897

Resource group      ID                                 Name
                    11caaa983d9c4beb82690daab08717e9   Default

ibmcloud is instance-group-create コマンドの他の例については、VPC の CLI リファレンスを参照してください。

さらに詳しい情報が必要な場合は、 ibmcloud is instance-group-create --help を実行すると、インスタンスグループの作成に関するヘルプが表示されます。

インスタンス・グループ・マネージャーの作成

次は、インスタンス・グループ・マネージャーを作成できます。作成すると、次のタスクと最後のタスクでスケーリング・ポリシーを適用できるようになります。 ibmcloud is instance-group-manager-create コマンドを実行する前に、コマンドのオプションの値 (操作するインスタンス・グループなど) を決めておく必要があります。

以下の情報を収集します。

インスタンスグループ管理者の詳細が必要
インスタンス・グループ・マネージャーのオプション 説明
INSTANCE_GROUP 前のタスクで作成したインスタンス・グループの ID
--max-members 管理対象インスタンスグループに含まれるメンバーの最大数。範囲:1~100

上記の値が判明したら、これらの値を使用して instance-group-manager-create コマンドを実行します。

ibmcloud is instance-group-manager-create INSTANCE_GROUP --max-members MAX_MEMBERS

たとえば、インスタンスグループ ID 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 およびオプション --max-members _=20_ でインスタンスグループマネージャーを作成する場合、 instance-group-manager-create コマンドは次の例のようなものになります。

ibmcloud is instance-group-manager-create 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 --max-members 20

ここで、

  • INSTANCE_GROUP72251a2e-d6c5-42b4-97b0-b5f8e8d1f479
  • --max-members20

この例では、次のような出力を示す応答が表示されます:

ID                     r006-bcf54494-f63a-41a7-8368-9f7d002c9020
Status                 enabled
Max Membership Count   20

ibmcloud is instance-group-manager-create コマンドの他の例については、VPC の CLI リファレンスを参照してください。

さらに詳しい情報が必要な場合は、 ibmcloud is instance-group-manager-create --help を実行すると、インスタンスグループマネージャの作成に関するヘルプが表示されます。

スケーリング・ポリシーの作成

これで、オートスケールを最大限に利用できるようになりました。 動的スケーリング方式では、CPU使用率(%)などの特定のメトリクスと、そのメトリクスで達成したい目標使用率を定義します。 このメトリックと平均ターゲット使用率の両方によって、インスタンス・グループがグループの仮想サーバー・インスタンスをいつ動的に追加または除去する必要があるかが決定されます。 このターゲット値によって、オートスケール・マネージャーが、グループ内のインスタンスをいつスケールアップまたはスケールダウンする必要があるかが定義されます。 集計期間が経過するたびに、オートスケールのマネージャーが、すべてのインスタンスの現在の使用率を合計し、指定されたターゲット使用率の値で合計値を除算して、メンバーシップ数を決定します。

group-manager-policy-create コマンドを実行する前に、インスタンス・グループとグループ・マネージャーを指定してから、メトリック・タイプの値と平均ターゲット使用率を指定する必要があります。

以下の情報を収集します。

インスタンスグループマネージャポリシーの詳細
インスタンス・グループ・マネージャーのポリシーのオプション 説明
INSTANCE_GROUP インスタンス・グループの ID
MANAGER マネージャーの ID
--metric-type 評価対象のメトリクスの種類: CPU(使用率%)、メモリ(使用率%)、network_in(Mbps)、network_out(Mbps)
--metric-value 評価対象の指標目標値

インスタンス テンプレートを作成するために必要な情報を特定するには、次のコマンドを使用します。

  1. スケーリングポリシーを作成するために、利用可能なインスタンスグループを一覧表示します。

    ibmcloud is instance-groups
    

    この例では、次のような出力を示す応答が表示されます:

    ID                                          Name                     Status           Instances
    72251a2e-d6c5-42b4-97b0-b5f8e8d1f479        my-instance-group        healthy          1
    72271a2e-d6c7-64b6-99c7-ac7426ew3495        my-other-instance-group  healthy          1
    
    
  2. スケーリングポリシーを作成するために利用可能なインスタンスグループマネージャーを一覧表示します。

    ibmcloud is instance-group-managers 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479
    

    ここで、

    • INSTANCE_GROUP2251a2e-d6c5-42b4-97b0-b5f8e8d1f479

    この例では、次のような出力を示す応答が表示されます:

    ID                                          Status    Aggregation Window   Cooldown   Max Membership Count   Min Membership Count
    72b27b5c-f4b0-48bb-b954-5becc7c1dcb3        enabled   90                   300        20                     1
    
    

これらの値がわかったら、以下のコマンドを実行してスケーリング・ポリシーを作成します。

ibmcloud is instance-group-manager-policy-create INSTANCE_GROUP MANAGER --metric-type METRIC_TYPE --metric-value METRIC_VALUE

たとえば、インスタンスグループID 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 およびマネージャーID 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 でスケーリングポリシーを作成し、オプションとして --metric-type cpu および --metric-value = _50を_指定する場合、 ibmcloud is instance-group-manager-policy-create コマンドは次の例のようなものになります。

ibmcloud is instance-group-manager-policy-create 2251a2e-d6c5-42b4-97b0-b5f8e8d1f479 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 --metric-type cpu --metric-value 50

ここで、

  • INSTANCE_GROUP2251a2e-d6c5-42b4-97b0-b5f8e8d1f479
  • MANAGER72b27b5c-f4b0-48bb-b954-5becc7c1dcb3
  • --metric-typeCPU
  • --metric-value50

この例では、次のような出力を示す応答が表示されます:

ID             r006-5f5c1127-da5c-4c7a-a8ae-9a539b56fa56
Metric Type    cpu
Metric Value   50
Policy Type    target

この応答によると、平均CPU使用率が50%に達した時点で、オートスケールマネージャーはグループ内のインスタンス数を増やす必要があることが示されています。 同様に、オートスケールマネージャーは、平均CPU使用率が50%未満に低下した場合、グループ内のインスタンス数を削減します。

ibmcloud is instance-group-manager-policy-create コマンドの他の例については、VPC の CLI リファレンスを参照してください。

複数のターゲット・メトリック・ポリシーを定義できますが、メトリックのタイプごとに 1 つのポリシーのみを定義できます。 さらに詳しい情報が必要な場合は、 ibmcloud is instance-group-manager-policy-create --help を実行すると、スケーリングポリシーの作成に関するヘルプが表示されます。

次のステップ

アクティビティ追跡イベントを 使用して、インスタンス・グループ・イベントに関連する特定の詳細を見つけることができます。 詳しくは、インスタンス・グループのイベントを参照してください。