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

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

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. New instance template をクリックし、表1の情報を入力する。
  3. 情報を入力したら、**「インスタンス・テンプレートの作成 (Create instance template)」**をクリックします。
インスタンステンプレートの選択
フィールド
Location 場所は、リージョン (特定の地理的領域) およびゾーン (リージョン内のフォールト・トレラント・データ・センター) で構成されます。 仮想サーバーインスタンスを作成する地域、リージョン、ゾーンを選択します。
名前 仮想サーバー・インスタンスには、名前が必要です。
リソース・グループ インスタンスのリソース・グループを選択します。
画像

「イメージの変更」 をクリックしてイメージを選択します。 「イメージの選択」ページでは、ストック・イメージ、カスタム・イメージ、カタログ・イメージ、スナップショット、または既存のボリュームを選択できます。 インスタンスをプロビジョニングする地理的な場所でサポートされている場合は、* x86またはs390x建築。 イメージを選択したら、 「保存」 をクリックします。

  • ストック・イメージ: 使用可能なストック・イメージから選択できます。 詳しくは、 x86 仮想サーバー・イメージ および s390x 仮想サーバー・イメージ を参照してください。
  • カスタム・イメージ: カスタム・イメージは、カスタマイズして IBM Cloud Object Storageにアップロードするイメージにすることができます。その後、 IBM Cloud VPCにインポートできます。 ブート・ボリュームから作成されたカスタム・イメージを使用することもできます。 カスタム・イメージについて詳しくは、 カスタム・イメージの概要 を参照してください。
  • カタログ・イメージ: カタログ・イメージは、プライベート・カタログにインポートされるカスタム・イメージです。 カタログ・イメージについて詳しくは、 プライベート・カタログでカスタム・イメージを使用する際の VPC の考慮事項 を参照してください。
  • スナップショット: 使用可能なスナップショットから選択できます。 詳細については、'Block StorageVPC用スナップショットについて.
    を参照のこと 既存のボリューム: 既存のボリュームから選択できます。 指定されたボリュームは接続解除されている必要があり、インスタンス・プロファイルと同じアーキテクチャーのオペレーティング・システムを持っている必要があります。
プロフィール クリックプロフィールを変更利用可能なものすべてから選択するvCPUおよび RAM の組み合わせ。 平衡型、コンピュート、メモリー、GPU というプロファイル・ファミリーがあります。 詳しくは、プロファイルを参照してください。
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) を指定できます。 ユーザー・タグを指定することもできます。
データ・ボリューム インスタンスのプロビジョン時に含める 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. 情報を入力したら、**「インスタンス・グループの作成 (Create instance group)」**をクリックします。
インスタンスグループの選択
フィールド
名前 仮想サーバー・インスタンスには、名前が必要です。
リソース・グループ インスタンスのリソース・グループを選択します。
リージョン 仮想サーバー・インスタンスを作成する場所を選択します。
配置グループ インスタンスの配置グループを選択します。 配置グループを追加すると、インスタンスは配置グループのポリシーに従って配置されます。 詳しくは、配置グループについてを参照してください。
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-3-minimal-amd64-1 を選択します。 イメージ 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 という名前のインスタンス・テンプレートを _us-south-1_に作成する場合は、 bx2-2x8 プロファイルを使用し、カスタム・イメージの _r008-54e9238a-feaa-4f90-9742-7424cb2b9ff1_ your 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

プライベート・カタログから共有されるイメージからインスタンス・テンプレートを作成する場合は、 --image_ID--catalog-offering または 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

例えば、最初にインスタンス・テンプレート ID 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 および 1 メンバーを使用して my-instance-group という名前のインスタンス・グループを作成する場合、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 is 1 initially

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

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 (使用率 %)、memory (使用率 %)、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

例えば、オプション --metric-type cpu と --metric-value = 50 を指定して、インスタンス・グループ ID 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 およびマネージャー ID 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 でスケーリング・ポリシーを作成する場合、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 を実行して、スケーリング・ポリシーの作成に関するヘルプを表示できます。

次のステップ

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