オートスケールのためのインスタンス・グループの作成
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.29 を 5 に切り上げ、インスタンスをもう 1 台プロビジョンします。 これで Acme Web Retailer 社のインスタンスは合計 5 台になり、このグループのインスタンス全体の同社の所定の平均 CPU 使用率が維持されます。

インスタンス・グループがスケールアップしてインスタンスを作成するときには、インスタンス・グループに定義されているサブネットの中からランダムにサブネットが選択されます。 インスタンス・グループがスケールダウンしてインスタンスを削除するときには、先入れ先出し (FIFO) 方式が使用されます。 まず古いインスタンスから削除されます。 インスタンス・グループ内のインスタンスに障害が発生すると、新しいインスタンスに置き換えられる。
インスタンス・グループは、インスタンス間で着信要求のバランスを取るために、ロード・バランサーを使用して構成することができます。 ロード・バランサーを使用して、インスタンス・グループ内のインスタンスに関連付けられたプール・メンバーに固有のヘルス・チェックを構成できます。 インスタンスがヘルス・チェックで不合格になると、インスタンス・グループ内に新規インスタンスが作成され、障害のあるメンバーシップが置き換えられます。 新規インスタンスが使用可能になると、ヘルス・チェックで不合格になったインスタンスが削除されます。
モニター・サービスは、ヘルス・チェックがアクセスするインスタンスについて、同じ正常性情報を反映します。
UI を使用したオートスケールのセットアップ
インスタンス・グループを作成する前に、IBM Cloud VPC を作成する必要があります。
オートスケール用のインスタンスグループを作成するには、以下のタスクを完了する必要があります。
- グループのインスタンスをプロビジョンするために使用されるインスタンス・テンプレートを作成します。
- 類似した仮想サーバー・インスタンスで構成される、単一リージョン内のインスタンス・グループを作成します。
- スケール方式 (静的または動的) を選択し、スケーリング・ポリシーを作成します。
インスタンス・テンプレートの作成
自動スケーリングのためにインスタンス・グループを作成するには、インスタンス・テンプレートが必要です。 インスタンス・テンプレートは、 インスタンス・グループのために作成される仮想サーバー・インスタンスの詳細を定義します。 例えば、イメージ・テンプレートのプロファイル (vCPU および メモリー)、イメージ、接続されるボリューム、およびネットワーク・インターフェースを指定します。 インスタンス・グループのために作成されるすべての仮想サーバー・インスタンスは、 インスタンス・グループで定義されているインスタンス・テンプレートを使用します。
インスタンス・テンプレートに定義するリソースはすべて、インスタンス・グループと同じリソース・グループのものでなければなりません。
インスタンス・テンプレートを作成するには、以下の手順を実行します。
- IBM Cloud コンソールで、Navigation Menu アイコン
Infrastructure
Compute > Instance templates に進みます。
- New instance template をクリックし、表1の情報を入力する。
- 情報を入力したら、**「インスタンス・テンプレートの作成 (Create instance template)」**をクリックします。
フィールド | 値 |
---|---|
Location | 場所は、リージョン (特定の地理的領域) およびゾーン (リージョン内のフォールト・トレラント・データ・センター) で構成されます。 仮想サーバーインスタンスを作成する地域、リージョン、ゾーンを選択します。 |
名前 | 仮想サーバー・インスタンスには、名前が必要です。 |
リソース・グループ | インスタンスのリソース・グループを選択します。 |
画像 |
「イメージの変更」 をクリックしてイメージを選択します。 「イメージの選択」ページでは、ストック・イメージ、カスタム・イメージ、カタログ・イメージ、スナップショット、または既存のボリュームを選択できます。 インスタンスをプロビジョニングする地理的な場所でサポートされている場合は、* x86またはs390x建築。 イメージを選択したら、 「保存」 をクリックします。
|
プロフィール | クリックプロフィールを変更利用可能なものすべてから選択する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 アドレスはサポートされません。
インスタンステンプレートを作成すると、このテンプレートを使用して仮想サーバーインスタンスをプロビジョニングできることを確認するための検証ステップが実行されます。
インスタンス・グループの作成
インスタンス・グループは、類似した仮想サーバー・インスタンスの集合です。 グループ内で維持するインスタンスの数を定義します。 静的なインスタンス数を設定することも、必要に応じてインスタンスを動的にスケーリングすることもできます。
ロード・バランサーを含めてインスタンス・グループのインスタンス間に着信要求を分散させ、特定のヘルス・チェックを構成する場合は、インスタンス・グループを作成する前に、ロード・バランサーを作成しておく必要があります。 詳しくは、以下のトピックを参照してください。
- アプリケーション・ロード・バランサーについて および IBM Cloud Application Load Balancer for VPC
- ネットワークロードバランサーについて、IBM Cloud Network Load Balancer for VPC の作成、VPC 用のルーティングモード付き IBM Cloud Private ネットワークロードバランサーの作成
ロード・バランサー・プールのヘルス・チェックについて詳しくは、以下のトピックを参照してください。
すべてのネットワーク・ロード・バランサー・オファリングがインスタンス・グループとの統合をサポートするわけではありません。 インスタンス・グループをネットワーク・ロード・バランサー・プールに接続する前に、 ロード・バランサーの詳細 の instance_groups_supported
プロパティーが true
であることを確認してください。
- インスタンス・グループを作成するために必要な IBM Cloud Identity and Access Management (IAM) の権限が付与されていることを確認します。 詳細については、VPC インフラストラクチャ サービスの IAM アクセスの管理。
- IBM Cloud コンソールで、ナビゲーションメニュー アイコン
インフラストラクチャ
コンピュート > インスタンスグループ に進みます。
- **「新規インスタンス・グループ (New instance group)」**をクリックして、表 2 の情報を入力します。
- インスタンス・グループの作成の一環として動的スケーリング・ポリシーを作成する場合は、スケーリング・ポリシーの作成を参照してください。 また、インスタンス・グループを作成した後に、後でポリシーを追加する こともできます。
- 情報を入力したら、**「インスタンス・グループの作成 (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 を使用してオートスケール・インスタンス・グループを作成するには、以下のタスクを実行する必要があります。
- インスタンス・グループ・リソースを作成するために必要な IBM Cloud Identity and Access Management (IAM) 権限が付与されていることを確認します。 詳細については、*を参照してください。VPC インフラストラクチャ サービスの IAM アクセスの管理。
- グループのインスタンスをプロビジョンするために使用されるインスタンス・テンプレートを作成します。
- 類似した仮想サーバー・インスタンスで構成される、単一リージョン内のインスタンス・グループを作成します。
- インスタンス・グループ・マネージャーを作成して、スケーリング・ポリシーを適用できるようにします。
- 定義したターゲット使用率メトリックに基づいてグループのインスタンスを動的に追加/削除するスケーリング・ポリシーを作成します。
インスタンス・テンプレートの作成
インスタンス・テンプレートに定義するリソースはすべて、インスタンス・グループと同じリソース・グループのものでなければなりません。
インスタンス・テンプレート作成のための情報の収集
インスタンス・テンプレートを作成する準備ができましたか? ibmcloud is instance-template-create
コマンドを実行する前に、インスタンス・テンプレートやコマンドのオプション (使用するプロファイルやイメージなど) について詳しく知っておく必要があります。 以下の手順に従って、コマンドを実行する準備を整えてください。
インスタンス・テンプレートに必要な以下の詳細情報を収集します。
インスタンス・テンプレートの詳細情報 | リスト表示するコマンド |
---|---|
VPC | ibmcloud is vpcs |
ゾーン | ibmcloud is zones |
プロフィール | ibmcloud is instance-profiles |
サブネット | ibmcloud is subnets |
画像 | ibmcloud is images |
以下のコマンドを使用して、新しいインスタンス・テンプレートを作成するのに必要な情報を判別します。
-
ご使用のアカウントに関連付けられているリージョンをリストします。
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
-
ターゲット領域に切り替えます。
ibmcloud target -r <region-name>
-
対象地域に関連するゾーンをリストアップする。
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
-
ご使用のアカウントに関連付けられている 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 リファレンスを参照してください。 -
インスタンス・テンプレートを作成するために使用できるプロファイルをリストします。
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 -
-
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 リファレンスを参照してください。 -
インスタンス・テンプレートを作成するために使用できるイメージをリストします。 インスタンスは、ストック・イメージ、アカウントのカスタム・イメージ、またはプライベート・カタログからアカウントと共有されたイメージを使用して作成できます。 使用する予定のイメージに基づいて、以下のいずれかのコマンドを実行します。
- インスタンスのアカウントからストック・イメージまたはイメージを選択します。
使用可能なイメージをすべてリストするには、次のコマンドを実行します。
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_crn
とoffering_version_crn
の両方を返します。 インスタンスを作成するときに、offering_crn
を使用してカタログ製品オファリングの最新バージョンのプライベート・カタログ・イメージからインスタンスをプロビジョンすることも、offering_version_crn
を使用してカタログ製品オファリングの特定のバージョンからインスタンスをプロビジョンすることもできます。offering_crn
とoffering_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_NAME
は my-instance-template です。VPC
は r006-680c56cb-7fbb-41e6-833b-029beb7b6ba3です。ZONE_NAME
は us-south-3 です。PROFILE_NAME
は bx2-2x8 です。SUBNET_ID
は 0076-2249dabc-8c71-4a54-bxy7-953701ca3999 です。--image_ID
は r008-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
コマンドを実行する前に、インスタンス・グループの名前と、コマンドのオプションの値 (使用するインスタンス・テンプレートなど) を決めておく必要があります。
ロード・バランサーを含めてインスタンス・グループのインスタンス間に着信要求を分散させ、特定のヘルス・チェックを構成する場合は、インスタンス・グループを作成する前に、ロード・バランサーを作成しておく必要があります。 詳しくは、以下を参照してください
- アプリケーション・ロード・バランサーについて および IBM Cloud Application Load Balancer for VPCの作成。
- ネットワーク・ロード・バランサーについて および IBM Cloud Network Load Balancer for VPCの作成。
ロード・バランサー・プールのヘルス・チェックについて詳しくは、以下を参照してください。
以下の情報を収集します。
インスタンス・グループの詳細 | 説明 |
---|---|
インスタンス・テンプレート | 前のタスクで作成したインスタンス・テンプレートの 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_NAME
は 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
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_GROUP
は 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479--max-members
は 20
この例の場合、以下の出力のような応答が表示されます。
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 | 評価されるメトリック・ターゲット値 |
以下のコマンドを使用して、新しいインスタンス・テンプレートを作成するのに必要な情報を判別します。
-
スケーリング・ポリシーを作成できるインスタンス・グループをリスト表示します。
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
-
スケーリング・ポリシーを作成できるインスタンス・グループ・マネージャーをリスト表示します。
ibmcloud is instance-group-managers 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479
ここで、
INSTANCE_GROUP
は 2251a2e-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_GROUP
は 2251a2e-d6c5-42b4-97b0-b5f8e8d1f479MANAGER
は 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3--metric-type
は CPU--metric-value
は 50
この例の場合、以下の出力のような応答が表示されます。
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 を使用すると、インスタンス・グループ・イベントに関連する特定の詳細を見つけることができます。 詳しくは、インスタンス・グループのイベントを参照してください。