オートスケールのためのインスタンス・グループの作成
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 に進みます。
- [新しいインスタンステンプレート ] をクリックし、表1に記載されている情報を入力してください。
- 情報の入力が完了したら、「 インスタンステンプレートを作成 」をクリックしてください。
| フィールド | 値 |
|---|---|
| ロケーション | 場所は、リージョン (特定の地理的領域) およびゾーン (リージョン内のフォールト・トレラント・データ・センター) で構成されます。 仮想サーバーインスタンスを作成する地理的エリア、地域、およびゾーンを選択してください。 |
| 名前 | 仮想サーバー・インスタンスには、名前が必要です。 |
| リソース・グループ | インスタンスのリソース・グループを選択します。 |
| 画像 |
「イメージの変更」 をクリックしてイメージを選択します。 「イメージの選択」ページでは、ストック・イメージ、カスタム・イメージ、カタログ・イメージ、スナップショット、または既存のボリュームを選択できます。 インスタンスをプロビジョニングする地理的ロケーションがサポートしている場合は、以下のいずれかを選択できます:
イメージを選択したら、 Save をクリックします。
|
| プロフィール | 利用可能なすべての 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 アドレスはサポートされません。
インスタンステンプレートを作成すると、そのテンプレートを使用して仮想サーバーインスタンスをプロビジョニングできることを確認するための検証手順が実行されます。
インスタンス・グループの作成
インスタンス・グループは、類似した仮想サーバー・インスタンスの集合です。 グループ内で維持するインスタンスの数を定義します。 静的なインスタンス数を設定することも、必要に応じてインスタンスを動的にスケーリングすることもできます。
ロード・バランサーを含めてインスタンス・グループのインスタンス間に着信要求を分散させ、特定のヘルス・チェックを構成する場合は、インスタンス・グループを作成する前に、ロード・バランサーを作成しておく必要があります。 詳しくは、以下のトピックを参照してください。
- アプリケーション・ロード・バランサーについて および 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 の情報を入力します。
- インスタンス・グループの作成の一環として動的スケーリング・ポリシーを作成する場合は、スケーリング・ポリシーの作成を参照してください。 インスタンスグループを作成した後でも、 後からポリシーを追加 することができます。
- 情報の入力が完了したら、「 インスタンスグループを作成 」をクリックしてください。
| フィールド | 値 |
|---|---|
| 名前 | 仮想サーバー・インスタンスには、名前が必要です。 |
| リソース・グループ | インスタンスのリソース・グループを選択します。 |
| リージョン | 仮想サーバー・インスタンスを作成する場所を選択します。 |
| 配置グループ | インスタンスの配置グループを選択します。 配置グループを追加すると、インスタンスは配置グループのポリシーに従って配置されます。 詳しくは、配置グループについてを参照してください。 |
| 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-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_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 というインスタンス テンプレートを作成する場合、カスタム イメージ を使用する プロ 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_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
プライベートカタログから共有されたイメージからインスタンステンプレートを作成する場合は、 を または --catalog-offering のいずれ --image_ID かで 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
たとえば、「 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_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最初は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_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(使用率%)、メモリ(使用率%)、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
たとえば、インスタンスグループ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_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 を実行すると、スケーリングポリシーの作成に関するヘルプが表示されます。
次のステップ
アクティビティ追跡イベントを 使用して、インスタンス・グループ・イベントに関連する特定の詳細を見つけることができます。 詳しくは、インスタンス・グループのイベントを参照してください。