機械翻訳について

サービス・インスタンスのスケーリング

次の手順で説明するように、REST APIを使用してOracle Java Cloud Serviceインスタンスをオンデマンドでスケーリングできます。

具体的には、次のOracle Java Cloud Serviceリソースをスケーリングできます。
  • クラスタ: ノードを追加または削除します(後述の「クラスタのスケーリング」を参照)

  • 管理サーバーまたは管理対象サーバー・ノード: 計算処理シェイプの変更、またはストレージの追加を行います(ストレージの削除はできません。後述の「ノードのスケーリング」を参照)

  • Coherenceデータ層: 容量単位を追加または削除します(「サービス・インスタンスのCoherenceデータ層のスケーリング」を参照)

Oracle Java Cloud Serviceインスタンスの状態を監視して、スケーリングのタイミングを決定できます(「サービス・インスタンスの監視」を参照)。

スケーリングする前に、次の点を考慮してください。

  • スケーリングは、Oracle Java Cloud Service - Virtual Imageインスタンスではサポートされません。 WebLogic Server Standard Editionに基づくOracle Java Cloud Serviceインスタンスの場合、ノードのスケーリングはサポートされます。ただし、クラスタのスケーリングはサポートされません。

  • 大きいメモリー・シェイプを持ち、管理対象サーバーのJVMの初期Javaヒープ・サイズに非常に高い値が設定されているサービス・インスタンスをスケール・ダウンする場合、ノードのスケール・ダウンがブロックされることがあります。 そのようなサービス・インスタンスをスケール・ダウンする前に、ノードのスケーリングignoreManagedServerHeapErrorリクエスト・パラメータを参照してください。

  • Oracle Public Cloudの場合: Oracle Exadataデータベースを使用するサービス・インスタンスのクラスタをスケール・アウトする場合は、スケール・アウト・リクエストを開始する前に、追加する管理対象サーバーのIP予約を取得する必要があります。 IP予約なしではクラスタをスケール・アウトできません。 1つ以上のIP予約のリクエストを発行する方法の詳細は、Database Exadata Cloud ServiceでJava Cloud Serviceをプロビジョニングするための認証されたIPをリクエストする方法(MOSノート2163568.1)というMy Oracle Supportのドキュメントを参照してください。

注意: cURLコマンドの例では、URL構造https://rest_server_url/resource-pathが使用されています。ここで、rest_server_urlはアイデンティティ・ドメインまたはテナント名を問い合せるためのOracle Public CloudまたはOracle Cloud MachineのRESTサーバーです。 Oracle Public CloudまたはOracle Cloud Machineに使用する適切なURL構造の詳細は、リクエストの送信を参照してください。

クラスタのスケーリング

クラスタをスケーリングするには、次の手順を実行します。
  1. インスタンスをスケーリングする前に、現在定義されている管理対象サーバーを確認します。

    curl -i -X GET -u username:userPassword1! -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/ExampleInstance/servers
    

    cURLコマンドラインで次のオプションを指定します。

    • 出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。

    • リクエストのタイプ(GET)を指定する-Xオプション。

    • 認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。

    • アイデンティティ・ドメインIDまたはテナントを識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H

    詳細は「すべての管理対象サーバーの表示」を参照してください。

    JSON形式のレスポンス本文の例を次に示します。 この例では、1つの管理対象サーバーがあります。

    {
        "servers":[
        {
            "clusterName":"ExampleI_cluster",
            "name":"ExampleI_server_1",
            "shape":"oc3",
            "nodeType":"WLS",
            "isAdmin":true,
            "hostname":"123.456.789.123",
            "status":"Ready",
            "storageAllocated":74752,
            "creationDate":"Jun 7, 2016 9:22:43 PM"
        }
        ],
        "serverInProgress":[]
    }
  2. サービス・インスタンスをスケール・アウトし、既存のクラスタExampleI_clusterにもう1つの管理対象サーバーを追加します。

    curl -i -X POST -u username:userPassword1! -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/ExampleInstance/servers/ExampleI_cluster
    

    cURLコマンドラインで次のオプションを指定します。

    • 出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。

    • リクエストのタイプ(POST)を指定する-Xオプション。

    • 認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。

    • アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H

    オプションで、新しいクラスタ名を指定し、createClusterIfMissing問合せパラメータをtrueに設定できます。 これにより、スケール・アウト操作中に新しいクラスタが作成され、新しいノードが新しいクラスタに追加されます。

    Oracle Public Cloudの場合: Oracle Exadataデータベースを使用するサービス・インスタンスのクラスタをスケール・アウトしている場合は、リクエストに問合せパラメータipReservation=ip_reservation_nameを使用して、予約されたIPアドレスを新しいノードに割り当てる必要があります。 例:

    curl -i -X POST -u username:userPassword1! -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/ExampleInstance/servers/ExampleI_cluster?ipReservation=ipres02

    スケール・アウトの詳細は、「クラスタのスケール・アウト」を参照してください。

    JSON形式で返されるレスポンス・ドキュメントの例を次に示します。

    {
        "status": "New",
        "details": {
            "message": "JAAS-SCALING-037: Scale out Job (ID: 866230) for service [ExampleInstance] in cluster [ExampleI_cluster] submitted",
            "jobId": "866230"
        }
    }
  3. 手順2のレスポンスで返されたジョブIDを使用して、スケーリング操作のステータスを確認します。 詳細は、「ジョブID別サーバー操作のステータスの表示」を参照してください。

    curl -i -X GET -u username:userPassword1! -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/ExampleInstance/servers/history/job/866230

    cURLコマンドラインで次のオプションを指定します。

    • 出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。

    • リクエストのタイプ(GET)を指定する-Xオプション。

    • 認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。

    • アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H

    次の例では、レスポンス本文のコンテンツを示しています。 ステータスはRUNNINGであり、スケール・アウト操作がまだ進行中であることを意味します。

    {
        "canonicalUri":null,
        "actLog":
        {
            "activityLogId":484143,
            "serviceId":25421,
            "operation":
            {
                "operationId":25421,
                "operationType":"SCALE_OUT"
            },
            "status":"RUNNING",
            "startDate":"Jul 27, 2016 9:17:03 PM",
            "endDate":null,
            "identityDomain":"ExampleIdentityDomain",
            "serviceName":"ExampleInstance",
            "serviceType":"jaas",
            "hostName":"exampleinstance-wls-2",
            "serverName":null,
            "serverType":"WLS",
            "jobId":866230,
            "summaryMessage":"ExampleI_server_2",
            "authDomain":"ExampleIdentityDomain",
            "authUser":"username",
            "initiatedBy":"USER",
            "messages":[
            {
                "activityMessageId":776201,
                "activityDate":"Jul 27, 2016 9:17:03 PM",
                "stepName":"NEW",
                "message":"Activity Submitted"
            },
            {
                "activityMessageId":776202,
                "activityDate":"Jul 27, 2016 9:17:08 PM",
                "stepName":"RUNNING",
                "message":"Activity Started"
            },
            {
                "activityMessageId":776203,
                "activityDate":"Jul 27, 2016 9:17:12 PM",
                "stepName":"RUNNING",
                "message":"Scaling job for service [ExampleInstance] in cluster [ExampleI_cluster] with factor [1] is prepared."
            },
            ...
            ...
            {
                "activityMessageId":776227,
                "activityDate":"Jul 27, 2016 9:27:40 PM",
                "stepName":"RUNNING",
                "message":"Orchestration is in ready state, new VM is up for server [ExampleI_server_2]"
            },
            {
                "activityMessageId":776226,
                "activityDate":"Jul 27, 2016 9:27:40 PM",
                "stepName":"RUNNING",
                "message":"Started the required compute resources for WebLogic Server managed server [ExampleI_server_2]..."
            },
            {
                "activityMessageId":776228,
                "activityDate":"Jul 27, 2016 9:27:40 PM",
                "stepName":"RUNNING",
                "message":"Completed submitting child job for checking managed server configuration "
            }
            ],
            "resourceType":"VM",
            "resourceId":22719,
            "resourceName":"exampleinstance-wls-2",
            "payload":null
        },
        "messages":[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]
    }
  4. スケール・アウトが成功すると、ステータスがSUCCEEDに変更されます。 スケーリング操作の完了後、管理対象サーバーのリストを参照して、新しい管理対象サーバーがクラスタに追加されたことを確認します。

    curl -i -X GET -u username:userPassword1! -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/ExampleInstance/servers
    

    ExampleI_server_2をリストに追加した、JSON形式のレスポンス本文の例を次に示します。

    注意: デフォルトでは、管理対象サーバーの名前はドメイン名("domainName")の最初の8文字から生成され、次の形式になります。first8charsOfDomainName_server_nnは1から始まり、管理対象サーバーを追加するたびにそれぞれが一意の名前になるように1ずつ増分されます。

    {
        "servers":[
        {
            "clusterName":"ExampleI_cluster",
            "name":"ExampleI_server_1",
            "shape":"oc3",
            "nodeType":"WLS",
            "isAdmin":true,
            "hostname":"123.456.789.123",
            "status":"Ready",
            "storageAllocated":74752,
            "creationDate":"Jun 7, 2016 9:22:43 PM"
        },
        {
            "clusterName":"ExampleI_cluster",
            "name":"ExampleI_server_2",
            "shape":"oc3",
            "nodeType":"WLS",
            "isAdmin":false,
            "hostname":"exampleinstance-wls-2",
            "status":"Ready",
            "reservedIp":"",
            "jobId":"866230",
            "storageAllocated":54272,
            "creationDate":"Jul 27, 2016 9:19:21 PM"
        }
        ],
        "serverInProgress":[]
    }

    Oracle Public Cloudの場合: Oracle Exadataデータベースを使用するサービス・インスタンスをスケール・アウトする場合は、IP予約名およびアドレスもクラスタ内の各管理対象サーバーに返されます。 例:

    {
       "servers":[
       {
          "clusterName":"ExampleI_cluster",
          "name":"ExampleI_server_1",
          "shape":"oc3",
          "nodeType":"WLS",
          "isAdmin":true,
          "hostname":"123.45.6.78",
          "status":"Ready",
          "reservedIpName":"ipres01",
          "reservedIpAddress":"10.222.333.17",
          "storageAllocated":47000,
          "creationDate":"May 11, 2016 3:58:40 PM"
       },
       {
          "clusterName":"ExampleI_cluster"",
          "name":"ExampleI_server_2",
          "shape":"oc3",
          "nodeType":"WLS",
          "isAdmin":false,
          "hostname":"exampleinstance-wls-2",
          "status":"Ready",
          "reservedIpName":"ipres02",
          "reservedIpAddress":"10.222.343.121",
          "storageAllocated":27000,
          "creationDate":"May 11, 2016 3:58:43 PM"
       }
       ],
       "serverInProgress:[]
    }
  5. ステップ2で追加した管理対象サーバー、ExampleI_server_2を削除してサービス・インスタンスをスケール・インします。

    curl -i -X DELETE -u username:userPassword1! -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/ExampleInstance/servers/ExampleI_server_2
    

    cURLコマンドラインで次のオプションを指定します。

    • 出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。

    • リクエストのタイプ(DELETE)を指定する-Xオプション。

    • 認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。

    • アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H

    スケール・インの詳細は、「クラスタのスケール・イン」を参照してください。

    Oracle Public Cloudの場合: Oracle Exadataデータベースを使用するサービス・インスタンスでスケーリングしている場合、管理対象サーバー・ノードが削除されると、ノードに関連付けられているIP予約が解放されますが削除されません。

    JSON形式で返されるレスポンス・ドキュメントの例を次に示します。

    {
       "status": "New",
       "details": {
          "message": "JAAS-SCALING-044: Scaling in Job (ID: 20) server name [ExampleI_server_2] submitted for service [ExampleInstance]",
          "jobId": "20"
       }
    }
    
  6. スケーリング操作の完了後、管理対象サーバーのリストを参照して、管理対象サーバーが削除されたことを確認します。

    curl -i -X GET -u username:userPassword1! -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/ExampleInstance/servers
    

    JSON形式のレスポンス本文の例を次に示します。 この例では、1つの管理対象サーバーがあり、ExampleI_server_2は削除されています。

    {
        "servers":[
        {
            "clusterName":"ExampleI_cluster",
            "name":"ExampleI_server_1",
            "shape":"oc3",
            "nodeType":"WLS",
            "isAdmin":true,
            "hostname":"123.456.789.123",
            "status":"Ready",
            "storageAllocated":74752,
            "creationDate":"Jun 7, 2016 9:22:43 PM"
        }
        ],
        "serverInProgress":[]
    }

ノードのスケーリング

ノードをスケーリングするには、次の手順を実行します。
  1. ノードをスケーリングする前に、現在定義されている管理対象サーバーを確認します。

    curl -i -X GET -u username:userPassword1! -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/ExampleInstance/servers
    

    cURLコマンドラインで次のオプションを指定します。

    • 出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。

    • リクエストのタイプ(GET)を指定する-Xオプション。

    • 認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。

    • アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H

    詳細は「すべての管理対象サーバーの表示」を参照してください。

    JSON形式のレスポンス本文の例を次に示します。 この例では、現在3つの管理対象サーバーが定義されています。

    {
       "servers":[
       {
          "clusterName":"ExampleI_cluster",
          "name":"ExampleI_server_1",
          "shape":"oc3",
          "nodeType":"WLS",
          "isAdmin":true,
          "hostname":"123.45.6.78",
          "status":"Ready",
          "storageAllocated":47000,
          "creationDate":"Jun 3, 2014 8:19:08 AM"
       },
       {
          "clusterName":"ExampleI_cluster"",
          "name":"ExampleI_server_2",
          "shape":"oc3",
          "nodeType":"WLS",
          "isAdmin":false,
          "hostname":"exampleinstance-wls-2",
          "status":"Ready",
          "storageAllocated":27000,
          "creationDate":"Jun 3, 2014 8:19:30 AM"
       },
       {
          "clusterName":"ExampleI_cluster",
          "name":"ExampleI_server_3",
          "shape":"oc3",
          "nodeType":"WLS",
          "isAdmin":false,
          "hostname":"exampleinstance-wls-3",
          "status":"Ready",
          "jobId":"17",
          "storageAllocated":27000,
          "creationDate":"Jun 3, 2014 8:19:30 AM"
       }],
       "serverInProgress":[]
    }
    
  2. 手順1で返された出力で、ExampleI_server_1の計算処理シェイプとストレージ割当てが次のようになっていることを確認します。

    • 計算処理シェイプ: OC3

    • ストレージ: 47000MB

    次のようにして、管理対象サーバーExampleI_server_1を、より多くの負荷を処理できるようにスケール・アップします。
    • 計算処理シェイプ: OC4

    • ストレージ: バックアップ・ストレージ・ボリュームに1GBのストレージを追加します

      注意: ストレージを追加できるのは、管理サーバー・ノードのバックアップ・ストレージ・ボリュームのみです。 この例では、ExampleI_server_1が管理サーバーのホストです。

  3. 最初に、スケール・アップ操作の詳細を定義するscale.jsonという名前のJSONドキュメントを作成する必要があります。

    {
        "additionalStorage" : "1",
        "scalingVolume" : "backup",
        "shape" : "oc4"
    }

    リクエスト属性の詳細は、「ノードのスケーリング」を参照してください。

  4. 手順3で定義したJSONドキュメントを渡して、管理対象サーバーExampleI_server_1をスケール・アップします。

    curl -i -X PUT -u username:userPassword1! -d @scale.json -H "Content-Type:application/json" -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/ExampleInstance/ExampleI_server_1
    

    cURLコマンドラインで次のオプションを指定します。

    • 出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。

    • リクエストのタイプ(PUT)を指定する-Xオプション。

    • 認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。

    • コンテンツ・タイプをapplication/jsonとして識別し、アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H

    詳細は、「ノードのスケーリング」を参照してください。

    JSON形式で返されるレスポンス・ドキュメントの例を次に示します。

    {
       "status": "New",
       "details": {
          "message": "scaleup.job.submitted",
          "jobId": "22"
       }
    }
    
  5. 手順3のレスポンスで返されたジョブIDを使用して、スケーリング操作のステータスを確認します。 詳細は、「ジョブID別サーバー操作のステータスの表示」を参照してください。

    curl -i -X GET -u username:userPassword1! -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/ExampleInstance/servers/history/job/22

    cURLコマンドラインで次のオプションを指定します。

    • 出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。

    • リクエストのタイプ(GET)を指定する-Xオプション。

    • 認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。

    • アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H

    JSON形式のレスポンス本文の例を次に示します。

    {
       "actLog":
       {
          "activityLogId":2021,
          "serviceId":109,
          "operation":{
             "operationId":109,
             "operationType":"SCALE_UP"
          },
          "status":"RUNNING",
          "startDate":"Jul 30, 2015 8:48:04 PM",
          "endDate":null,
          "identityDomain":"ExampleIdentityDomain",
          "serviceName":"ExampleInstance",
          "hostName":null,
          "serverName":null,
          "serverType":null,
          "jobId":12301,
          "summaryMessage":"SCALE_UP",
          "messages":[
          {
             "activityMessageId":2350,
             "activityDate":"Jul 30, 2015 8:48:04 PM",
             "stepName":"NEW",
             "message":"Activity Submitted"
          },
          {
             "activityMessageId":2351,
             "activityDate":"Jul 30, 2015 8:48:13 PM",
             "stepName":"RUNNING",
             "message":"Activity Started"
          },
          {
             "activityMessageId":2352,
             "activityDate":"Jul 30, 2015 8:48:31 PM",
             "stepName":"RUNNING",
             "message":"Stopping service member [\ExampleI_server_1] of service [ExampleInstance]..."
           }]
       },
       "messages":[{},{},{}]
    }
  6. スケール・アップ操作の完了後、管理対象サーバーのリストを参照して、ExampleI_server_1がスケール・アップされたことを確認します。

    curl -i -X GET -u username:userPassword1! -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/ExampleInstance/servers
    

    cURLコマンドラインで次のオプションを指定します。

    • 出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。

    • リクエストのタイプ(GET)を指定する-Xオプション。

    • 認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。

    • アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H

    JSON形式のレスポンス本文の例を次に示します。 この例では、ExampleI_server_1がスケール・アップされています。

    {
       "servers":[
       {
          "clusterName":"ExampleI_cluster",
          "name":"ExampleI_server_1",
          "shape":"oc4",
          "nodeType":"WLS",
          "isAdmin":true,
          "hostname":"123.45.6.78",
          "status":"Ready",
          "storageAllocated":48024,
          "creationDate":"Jun 3, 2014 8:19:08 AM"
       },
       {
          "clusterName":"ExampleI_cluster"",
          "name":"ExampleI_server_2",
          "shape":"oc3",
          "nodeType":"WLS",
          "isAdmin":false,
          "hostname":"exampleinstance-wls-2",
          "status":"Ready",
          "storageAllocated":27000,
          "creationDate":"Jun 3, 2014 8:19:30 AM"
       },
       {
          "clusterName":"ExampleI_cluster"",
          "name":"ExampleI_server_3",
          "shape":"oc3",
          "nodeType":"WLS",
          "isAdmin":false,
          "hostname":"exampleinstance-wls-3",
          "status":"Ready",
          "storageAllocated":27000,
          "creationDate":"Jun 3, 2014 8:19:30 AM"
       }],
       "serverInProgress":[]
    }
    
  7. 手順4から6までを繰り返して、クラスタ内の他のノードをスケール・アップし、それらがすべて同等であることを確認します。