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

Compute Cloud@Customerでは、同じリージョン内のインスタンスのインスタンス・プールを作成できます。

プール・オブジェクトに対してリセットまたは削除などの操作を実行すると、その操作は、プールのメンバーであるすべてのインスタンスで実行されます。プールのメンバーである個々のインスタンスに対してこれらの操作を実行しても、他のメンバー・インスタンスには影響しません。

インスタンス・プールを作成するには、インスタンス構成と配置構成が必要です。プール更新でプールに追加されたインスタンスは、異なるインスタンスおよび配置構成で作成できます。

プール内のインスタンスの場合、インスタンス構成内のdisplayNameプロパティの値は無視されます。プール内のインスタンスはinst-aaaaa-pool_nameという名前で、aaaaaは5文字のランダムな英数字です。

配置構成

インスタンス構成に加えて、プールの作成には配置構成が必要です。配置構成で指定された値は、インスタンス構成で指定された値をオーバーライドします。

配置構成では、フォルト・ドメイン、プライマリ・サブネットおよびセカンダリVNICサブネットを指定できます。

フォルト・ドメイン

インスタンス構成または配置構成のいずれかにフォルト・ドメインを指定しない場合、システムはプール・インスタンスに最適なフォルト・ドメインを自動的に選択します。単一のフォルト・ドメインのみを指定した場合、すべてのインスタンスは、そのフォルト・ドメインにのみ配置されます。複数のフォルト・ドメインを指定すると、プール・インスタンスはそれらのフォルト・ドメインに均等に配置され、プールの高可用性が向上します。1つのフォルト・ドメインで追加のインスタンスに対応できない場合、インスタンスの作成は停止します。システムは、別のフォルト・ドメインよりも多くのインスタンスを1つのフォルト・ドメインに配置しません。

リソース制約のために一部のインスタンスを起動できない場合、それらのインスタンスはプロビジョニング状態のままになり、プールはスケーリング状態のままになります。sizeインスタンスの起動後、プールは「実行中」状態に遷移できます。プールがスケーリング状態の間、実行中状態のプール・インスタンスを使用できます。

次に、リソース制約のためにプール・インスタンスの起動に失敗した場合に実行できるアクションの例を示します。

  • プールを更新し、「インスタンス数」またはsize値を減らします。

  • プールを更新し、Compute Cloud@Customerコンソールまたは新しいインスタンスまたは配置構成でフォルト・ドメイン仕様を変更します。

  • プールを更新して、必要なリソースが少ないインスタンスを作成する新しいインスタンス構成を指定します。

  • リソース制約のためにプール・インスタンスの起動に失敗しているのと同じフォルト・ドメイン内のプールのメンバーではないインスタンスを停止します。

  • リソース制約のためにプール・インスタンスの起動に失敗しているのと同じフォルト・ドメイン内のプールのメンバーではないインスタンスを削除します。

前提条件

インスタンス・プールを作成するには、インスタンス構成が必要です。インスタンス構成は、インスタンスを作成する際に使用する設定を定義するテンプレートです。インスタンス構成の作業を参照してください。

名前とタグに機密情報を入力しないでください

    1. Compute Cloud@Customerコンソールのナビゲーション・メニューで「コンピュート」をクリックし、「インスタンス構成」をクリックします。

    2. ページの上部で、プールの作成に使用するインスタンス構成を含むコンパートメントを選択します
    3. このプール内のインスタンスに使用するインスタンス構成をクリックします。

    4. 「リソース」で、「アタッチされたインスタンス・プール」をクリックします。
    5. ページの上部で、他のコンパートメントを選択して、他のコンパートメントのプールをリストします。

      「インスタンス・プールの作成」をクリックします。

    6. 「インスタンス・プールのアタッチ先」instance_configuration_nameダイアログ・ボックスで、次の情報を入力します:

      • 名前: インスタンス・プールの名前を入力します。この名前は一意である必要はありません。この名前は、作成されたインスタンスの名前で使用されます。プールの名前を指定しない場合、インスタンス・プールのデフォルト名はinstancepoolYYYYMMDDhhmmssです(YYYYMMDDhhmmssは作成日時です)。

      • コンパートメントに作成: このインスタンス・プール定義のコンパートメントを選択します。プール内のインスタンスは、インスタンス構成で指定されたコンパートメントに作成されます。

      • インスタンス数: このインスタンス・プールに作成するインスタンス数を指定します。

      • プールの配置: このインスタンス・プール内のインスタンスのフォルト・ドメイン、VCNおよびサブネットを選択します。VCNとサブネットを選択する別のコンパートメントを選択できます。このセクションの最初にある配置構成ドメインと障害ドメインの説明を参照してください。

      • ロード・バランサ: 「ロード・バランサのアタッチ」ボックスをクリックして、このプールのロード・バランシングを指定します。ロード・バランシングの詳細は、Load Balancer as a Serviceを参照してください。次の情報を入力します:

        • このプールにアタッチするロード・バランサを選択します。

        • これらのプール・インスタンスを追加するバックエンド・セットを選択します。

        • ロード・バランサがトラフィックを転送する必要があるインスタンス上のポート番号を入力します。

        • バックエンド・セットにインスタンスを追加するときに使用するVNICを選択します。プライベートIPアドレスが使用されます。

        別のロード・バランサをアタッチするには、「Load Balancerの追加」をクリックします。インスタンス・プールの作成後にロード・バランサをアタッチするには、インスタンス・プールLoad Balancerアタッチメントの管理を参照してください。

      • タグ付け: (オプション)このリソースに1つ以上のタグを追加します。タグを適用するかどうかがわからない場合は、このオプションをスキップします(タグは後で適用できます)。リソースのタグ付けの詳細は、リソース・タグを参照してください。

    7. 「インスタンス・プールの作成」をクリックします。

      新しいプールの詳細ページが表示されます。リクエストされたインスタンスは、「リソース」セクションの「アタッチされたインスタンス」表に、作成時にリストされます。新しいインスタンスの名前はinst-aaaaa-pool_nameで、aaaaaは5文字のランダムな英数字です。プールの名前を変更してから、新しいインスタンスをプールに追加すると、新しいインスタンスは新しい名前になります。

      「リソース」ボックスの「作業リクエスト」をクリックして、インスタンス・プール作成のステータスを確認します。

  • oci compute-management instance-pool createコマンドおよび必要なパラメータを使用して、インスタンス・プールを作成します。

    oci compute-management instance-pool create --compartment-id <compartment_OCID> --instance-configuration-id <instance-configuration_OCID> --placement-configurations <placement_configurations.json> [OPTIONS]

    CLIのコマンド、フラグおよびオプションの完全なリストは、コマンドライン・リファレンスを参照してください。

    プロシージャ
    1. 次の情報を取得します。

      • インスタンス・プール定義を作成するコンパートメントのOCID: oci iam compartment list

        プール内のインスタンスは、インスタンス構成で指定されたコンパートメントに作成されます。

      • 使用するインスタンス構成のOCID: oci compute-management instance-configuration list

      • インスタンス・プールのサイズ。これは、インスタンス・プール内のコンピュート・インスタンスの数です。

      • このプールのロード・バランシングが必要な場合は、次の情報を取得します。

        • このプールにアタッチするロード・バランサのOCIDと、これらのプール・インスタンスを追加するバックエンド・セットの名前: oci lb load-balancer list

        • バックエンド・セットの作成時に使用するポート値。

        • ロード・バランサに関連付けるVNIC。値は、PrimaryVnicまたはインスタンス・プールに関連付けられたインスタンス構成上のセカンダリVNICのいずれかの表示名です。

    2. --placement-configurationsオプションの引数を作成します。

      このセクションの最初にある配置構成ドメインと障害ドメインの説明を参照してください。

      配置構成引数の内容を表示するには、次のコマンドを使用します。

      $ oci compute-management instance-pool create --generate-param-json-input placement-configurations
    3. このプールのロード・バランシングが必要な場合は、--load-balancersオプションの引数を作成します。

      ロード・バランサ引数の内容を表示するには、次のコマンドを使用します。

      $ oci compute-management instance-pool create --generate-param-json-input load-balancers

      インスタンス・プールの作成後にロード・バランサをアタッチするには、インスタンス・プールLoad Balancerアタッチメントの管理を参照してください。

    4. インスタンス・プールのcreateコマンドを実行します。

      構文

      oci compute-management instance-pool create -c compartment_OCID --instance-configuration-id instance_configuration_OCID --placement-configurations file://placement_configuration.json --size number_of_instances

      次に例を示します:

      $ oci compute-management instance-pool create --compartment-id ocid1.compartment.unique_ID --display-name support-pool --instance-configuration-id ocid1.instanceConfiguration.unique_ID --placement-configurations file://./placement_configurations.json --load-balancers file://./load_balancers.json --size 10

      --display-nameオプションの値は、プールの名前です。プール名は一意である必要はありません。--display-nameオプションの値を指定しない場合、インスタンス・プールのデフォルト名はinstancepoolYYYYMMDDhhmmssです(YYYYMMDDhhmmssは作成日時です)。

      プール名はインスタンスの名前で使用されます。プール内のインスタンスはinst-aaaaa-pool_nameという名前で、aaaaaは5文字のランダムな英数字です。プールの名前を変更してから、新しいインスタンスをプールに追加すると、新しいインスタンスは新しい名前になります。

      このコマンドの出力は、instance-pool getコマンドの出力と同じです。プール内のインスタンスのリストは表示されません。

      このプールに属するインスタンスをリストするには、次のコマンドを使用します:

      $ oci compute-management instance-pool list-instances -c <compartment_OCID> --instance-pool-id <instance_pool_OCID>

      各インスタンスの出力は、instance getコマンドの出力と比較して省略されます。

      次のコマンドは、指定されたインスタンスのみについて同じ省略された出力を表示します。

      $ oci compute-management instance-pool-instance get --instance-id ocid1.instance.unique_ID \
      --instance-pool-id ocid1.instancePool.unique_ID
  • CreateInstancePool操作を使用して、インスタンス・プールを作成します。

    APIの使用およびリクエストの署名の詳細は、REST APIおよびセキュリティ資格証明を参照してください。SDKについては、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。