サービス・インスタンスのCoherenceデータ層のスケーリング
Coherenceデータ層をスケーリングする場合、次の手順に従い、Oracle Java Cloud Serviceのストレージ対応WebLogic Serverクラスタに対して管理対象サーバーを追加または削除します。
この項は、Oracle Coherenceが有効なOracle Java Cloud Serviceインスタンスにのみ適用されます。 Coherenceデータ層でのスケーリング操作では、リクエストされた容量単位の数およびサービス・インスタンスの現在の容量単位の数に基づき、特定の数の容量単位が追加または削除されます。 追加または削除するVMおよび管理対象サーバーの数は、最初のプロビジョニングでサービス・インスタンスに宣言された容量単位定義で事前に決められています。 たとえば、容量単位定義で3台のVMとVMごとに1台の管理対象サーバーが管理される場合、スケーリング操作では、追加または削除する容量単位ごとに、3台のVMと3台の管理対象サーバーを追加または削除します。 Coherenceデータ層をスケーリングするときに容量単位定義を変更することはできません。
Oracle Java Cloud Serviceインスタンスのアプリケーション層は、Coherenceデータ層に関係なくスケーリングされます。 アプリケーション層の管理対象サーバーをスケール・アウトまたはスケール・インするには、「サービス・インスタンスのスケーリング」を参照してください。
注意:
REST APIで使用されるスケーリング・ユニットという語は、容量単位と同じ意味です。
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構造の詳細は、リクエストの送信を参照してください。
Oracle Java Cloud ServiceインスタンスのCoherenceデータ層をスケーリングする手順:
- スケーリングの前に、サービス・インスタンスの詳細を表示して、現在定義されている管理対象サーバーを確認します。
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/Example1Instance
cURLコマンドラインで次のオプションを指定します。
出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。
リクエストのタイプ(GET)を指定する-Xオプション。
認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。
アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H。
詳細は、「サービス・インスタンスの表示」を参照してください。
Oracle Public CloudでのJSON形式のレスポンス本文の例を次に示します。 この例では、Coherenceデータ層クラスタExample1_DGClusterには1台の管理対象サーバーがあり、ID 18で識別される容量単位で管理されています。 scalingUnitCountで示されているとおり、容量単位の数は1です。
{ "service_name" : "Example1Instance", "version" : "12cR3", "wlsVersion" : "12.1.3.0.xxxxxx", "status" : "Running", "error_status_desc": "", "compliance_status": "", "compliance_status_desc": "", "auto_update": "true", "description" : "Example, Inc product distribution", "identity_domain" : "ExampleIdentityDomain", "creation_time": "Mon Sep 19 22:9:23 UTC 2016", "last_modified_time": "Mon Sep 19 22:9:21 UTC 2016", "created_by":"username", "service_uri" : "https:\/\/rest_server_url\/paas\/service\/jcs\/api\/v1.1\/instances\/ExampleIdentityDomain\/Example1Instance", "domain_name" : "Example1_domain", "domain_mode" : "PRODUCTION", "cluster_name" : "Example1_cluster", "num_nodes" : 4, "level" : "PAAS", "subscription_type" : "MONTHLY", "edition" : "SUITE", "shape" : "oc3", "otd_provisioned" : "yes", "otd_shape" : "oc3", "otd_storage_size": 40960, "service_components": [ { "type": "JDK", "version": "1.7.0_xxx" }, { "type": "WLS", "version": "12.1.3.0.xxxxxx" }, { "type": "OTD_JDK", "version": "1.7.0_xxx" }, { "type": "OTD", "version": "11.1.1.9.x" } ], "options": [{ "type": "datagrid", "clusters": [{ "clusterName": "Example1_DGCluster", "scalingUnitCount": 1, "scalingUnitName": "BASIC", "shape": "oc3", "vmCount": 1, "jvmCount": 1, "heapSize": "4608M", "maxScalingUnit": 30, "heapIncrements": "4608M", "primaryIncrements": "1536M", "totalHeap": "4608M", "totalPrimary": "1536M", "maxHeap": "138240M", "maxPrimary": "46080M", "scalingUnitInstances": [{ "servers": [ {"name": "Example1_server_3_DG"} ], "scalingUnitInstanceId": 18, "status": "Ready" }] }] }], "creation_job_id": "295", "deletion_job_id": 0, "db_info" : "myDBService:1521\/PDB1.exampleidentitydomain.oraclecloud.internal", "db_service_name": "myDBService", "num_ip_reservations" : 4, "wls_admin_url": "https:\/\/192.0.2.0:7002\/console", "fmw_control_url": "https:\/\/192.0.2.0:7002\/em", "otd_admin_url": "https:\/\/192.0.1.23:8989", "sample_app_url": "https:\/\/192.0.1.23\/sample-app\/", "content_url" : "http:\/\/192.0.1.23", "secure_content_url": "https:\/\/192.0.1.23", "wls_deployment_channel_port": 9001, "psm_plugin_version": "16.3.5-x-xxx", "compute_site_name": "US000_Z00", "db_associations": [ { "db_service_name": "myDBService", "db_infra": true, "db_connect_string": "myDBService:1521\/PDB1.exampleidentitydomain.oraclecloud.internal", "pdb_service_name": "PDB1", "db_version": "12.1.0.2" }] }
Oracle Cloud Machineでは、同様の出力が表示されますがdb_service_nameは表示されず、db_infoおよびdb_associationsには、かわりに次の内容が表示されます。
"db_info": "mydbhost:1521\/dbservicename", "db_associations": [ { "db_connect_string": "mydbhost:1521\/dbservicename", "db_infra": true }]
- ドメインで必要な容量単位の合計数を定義するJSONドキュメントscaledgcluster.jsonを作成します。
前の手順に示した例では、容量単位は1で、1台のVMと、VMごとに1台の管理対象サーバーを管理しています。 ドメインの容量単位の数を1つ増やす場合、2が必要な容量単位の合計数になるため、JSONドキュメントで2を定義します。
次に、容量単位の数が2のリクエスト・ドキュメントの例を示します。
{ "scalingUnitCount" : "2" }
RESTリソースの属性の詳細は、「Coherenceデータ層のスケーリング」を参照してください。
- サービス・インスタンスのCoherenceデータ層をスケール・アウトし、手順2で作成したJSONドキュメントを渡します。
curl -i -X PUT -u username:userPassword1! -d @scaledgcluster.json -H "X-ID-TENANT-NAME:ExampleIdentityDomain" -H "Content-Type:application/vnd.com.oracle.oracloud.datagrid.Service+json" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/Example1Instance/clusters/Example1_DGCluster
cURLコマンドラインで次のオプションを指定します。
出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。
リクエストのタイプ(PUT)を指定する-Xオプション。
認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。
アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H。
ローカル・マシン上でJSON形式のリクエスト・ドキュメント(scaledgcluster.json)を識別する-dオプション。
現在のコンテンツ・タイプをapplication/vnd.com.oracle.oracloud.datagrid.Service+jsonとして識別する-H。
詳細は、「Coherenceデータ層のスケーリング」を参照してください。
次にレスポンス・ヘッダーの例を示します。
HTTP/1.1 202 Accepted Date: Tues, 20 Sep 2016 23:9:23 GMT Location: https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/status/scale/job/574 Content-Length: 0 Content-Type: application/vnd.com.oracle.oracloud.datagrid.Service+json Service-URI: https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/Example1Instance/clusters/Example1_DGCluster
- Locationヘッダーで返されたリソースURIを使用して、スケーリング・リクエストのステータスを確認します。
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/status/scale/job/574
cURLコマンドラインで次のオプションを指定します。
出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。
リクエストのタイプ(GET)を指定する-Xオプション。
認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。
アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H。
詳細は、「サービス・インスタンス・ライフサイクル操作のステータスの表示」を参照してください。
次に、リクエストのステータスを表示する場合のレスポンス・ドキュメントの例を示します。
この例では、1台のストレージ対応管理対象サーバーで構成される1つの容量単位を削除してクラスタをスケール・アウトします。
{ "service_name": "Example1Instance", "version": "12cR3", "wlsVersion": "12.1.3.0.xxxxxx", "status": "Running", "error_status_desc": "", "compliance_status": "", "compliance_status_desc": "", "auto_update": "true", "description" : "Example, Inc product distribution", "identity_domain": "ExampleIdentityDomain", "creation_time": "Mon Sep 19 22:9:23 UTC 2016", "last_modified_time": "Mon Sep 19 22:9:21 UTC 2016", "created_by": "username", "service_uri": "https:\/\/rest_server_url\/paas\/service\/jcs\/api\/v1.1\/instances\/ExampleIdentityDomain\/Example1Instance", "message": [ "Successfully scaled out cluster [Example1_DGCluster]", "Successfully scaled out cluster [Example1_DGCluster]", " Successfully created capacity unit(s)...", " Starting capacity unit...", " Successfully started capacity unit...", " Starting to transfer keys to the datagrid VMs", " Finished transferring keys to datagrid VMs", " Successfully transferred keys to [example1instance-wls-4]", " Checking managed servers...", " Successfully checked managed servers...", " Performing Service Reachability Check (SRC) of Datagrid Managed Servers.", " Successfully completed Service Reachability Check (SRC) of Datagrid Managed Servers.", " Successfully created capacity unit(s)...", " Successfully created capacity unit(s)...", " Configuration check for Host [example1instance-wls-4] containing WebLogic Managed Server(s) [[Example1_server_4_DG]] completed...", " Service Reachabilty Check (SRC) of WebLogic Administration Server completed...", " Service Reachabilty Check (SRC) of WebLogic Managed Server(s) [Example1_server_1, Example1_server_2, Example1_server_3_DG, Example1_server_4_DG] completed..." ] }
- 操作が完了してサービス・インスタンスが実行している場合、管理対象サーバーのリストを調べて、新しい管理対象サーバーがCoherenceデータ層クラスタに追加されたことを確認します。
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/Example1Instance/servers
詳細は「すべての管理対象サーバーの表示」を参照してください。
次に、Example1_server_4_DGがストレージ対応管理対象サーバーのリストに追加されたことを示すJSON形式のレスポンス本文の例を示します。
注意: デフォルトでは、ストレージ対応管理対象サーバーの名前は、ドメイン名の最初の8文字から生成され、次の形式になります。first8charsOfDomainName_server_n_DG。nは1から始まり、管理対象サーバーを追加するたびにそれぞれが一意の名前になるように1ずつ増分されます。
{ "servers": [ { "clusterName":"Example1_cluster", "name":"Example1_server_1", "shape":"oc3", "nodeType":"WLS", "isAdmin":true, "hostname":"12.345.678.999", "status":"Ready", "reservedIp":"", "storageAllocated":73728, "creationDate":"19 Sep, 2016 22:09:23 PM" }, { "clusterName":"Example1_cluster", "name":"Example1_server_2", "shape":"oc3", "nodeType":"WLS", "isAdmin":false, "hostname":"example1instance-wls-2", "status":"Ready", "reservedIp":"", "storageAllocated":53248, "creationDate":"19 Sep, 2016 22:09:28 PM" }, { "clusterName":"Example1_DGCluster", "name":"Example1_server_3_DG", "shape":"oc3", "nodeType":"DG", "isAdmin":false, "hostname":"example1instance-wls-3", "status":"Ready", "reservedIp":"", "jobId":"538", "storageAllocated":43600, "creationDate":"19 Sep, 2016 22:42:59 PM" }, { "clusterName":"Example1_DGCluster", "name":"Example1_server_4_DG", "shape":"oc3", "nodeType":"DG", "isAdmin":false, "hostname":"example1instance-wls-4", "status":"Ready", "reservedIp":"", "jobId":"575", "storageAllocated":43600, "creationDate":"Sep 20, 20165 23:09:23 PM", "createdBy":"username" } ], "serverInProgress":[] }
- ScalingUnitCountに1を指定するようにJSONファイルを修正します(これにより、既存のCoherenceデータ層クラスタから1つの容量単位が削除されます)。 修正したJSONドキュメントを渡して、サービス・インスタンスのCoherenceデータ層をスケール・インします。
curl -i -X PUT -u username:userPassword1! -d @scaledgcluster.json -H "X-ID-TENANT-NAME:ExampleIdentityDomain" -H "Content-Type:application/vnd.com.oracle.oracloud.datagrid.Service+json" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/Example1Instance/clusters/Example1_DGCluster
cURLコマンドラインで次のオプションを指定します。
出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。
リクエストのタイプ(PUT)を指定する-Xオプション。
認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。
アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H。
ローカル・マシン上でJSON形式のリクエスト・ドキュメント(scaledgcluster.json)を識別する-dオプション。
現在のコンテンツ・タイプをapplication/vnd.com.oracle.oracloud.datagrid.Service+jsonとして識別する-H。
詳細は、「Coherenceデータ層のスケーリング」を参照してください。
次にレスポンス・ヘッダーの例を示します。
HTTP/1.1 202 Accepted Date: Tues, 20 Sep 2016 23:29:23 GMT Location: https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/status/scale/job/584 Content-Length: 0 Content-Type: application/vnd.com.oracle.oracloud.datagrid.Service+json Service-URI: https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/Example1Instance/clusters/Example1_DGCluster
- Locationヘッダーで返されたリソースURIを使用して、スケーリング・リクエストのステータスを確認します。
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/status/scale/job/584
cURLコマンドラインで次のオプションを指定します。
出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。
リクエストのタイプ(GET)を指定する-Xオプション。
認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。
アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H。
詳細は、「サービス・インスタンス・ライフサイクル操作のステータスの表示」を参照してください。
次に、リクエストのステータスを表示する場合のレスポンス・ドキュメントの例を示します。
{ "service_name": "Example1Instance", "version": "12cR3", "wlsVersion": "12.1.3.0.xxxxxx", "status": "Running", "error_status_desc": "", "compliance_status": "", "compliance_status_desc": "", "auto_update": "true", "description" : "Example, Inc product distribution", "identity_domain": "ExampleIdentityDomain", "creation_time": "Mon Sep 19 22:9:23 UTC 2016", "last_modified_time": "Mon Sep 19 22:9:21 UTC 2016", "created_by": "username", "service_uri": "https:\/\/rest_server_url\/paas\/service\/jcs\/api\/v1.1\/instances\/ExampleIdentityDomain\/Example1Instance", "message": [ "Successfully scaled in cluster [1].", " Deleting capacity unit(s) containing [1] virtual machines...", " Started shutting down and removing managed servers from Admin.", " Started shutting down and removing managed servers from Admin.", " Completed removing managed servers from Admin.", " Stopping and removing resources for capacity unit(s) containing [1] virtual machines...", " Successfully deleted capacity unit(s) and [1] virtual machines", "Successfully scaled in cluster [Example1_DGCluster]." ] }
- 操作が完了してサービス・インスタンスが実行している場合、管理対象サーバーのリストを調べて、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/Example1Instance/servers
JSON形式のレスポンス本文の例を次に示します。 この例では、現在定義されているストレージ対応管理対象サーバーは1台しかありません。
{ "servers": [ { "clusterName":"Example1_cluster", "name":"Example1_server_1", "shape":"oc3", "nodeType":"WLS", "isAdmin":true, "hostname":"12.345.678.999", "status":"Ready", "reservedIp":"", "storageAllocated":73728, "creationDate":"19 Sep, 2016 22:09:23 PM" }, { "clusterName":"Example1_cluster", "name":"Example1_server_2", "shape":"oc3", "nodeType":"WLS", "isAdmin":false, "hostname":"example1instance-wls-2", "status":"Ready", "reservedIp":"", "storageAllocated":53248, "creationDate":"19 Sep, 2016 22:09:28 PM" }, { "clusterName":"Example1_DGCluster", "name":"Example1_server_3_DG", "shape":"oc3", "nodeType":"DG", "isAdmin":false, "hostname":"example1instance-wls-3", "status":"Ready", "reservedIp":"", "jobId":"538", "storageAllocated":43600, "creationDate":"19 Sep, 2016 22:42:59 PM" } ], "serverInProgress":[] }