サービス・インスタンスの作成
次の手順で説明するように、REST APIを使用してOracle Java Cloud Serviceインスタンスを作成できます。
サービス・インスタンスを作成する場合はOracle Coherenceを有効化し、ロード・バランサを追加できます。
データベース・ソフトウェア・リリース: WebLogic Server 12.2.1に基づくOracle Java Cloud Serviceインスタンスのみが、Oracle Java Cloud Serviceに必要なOracle Infrastructureスキーマを含むデータベース用にOracle Database 12.2バージョンを使用することを完全にサポートしています。
Oracle Public Cloudでは、ExadataデータベースとAppToCloudの移行について次の点に注意してください:
Exadataデータベース: Oracle Java Cloud ServiceインスタンスとともにOracle Exadataデータベースを使用する場合は、サービス・インスタンスを作成する前にプロビジョニングするマネージド・サーバーのIP予約を取得する必要があります。IP予約なしでインスタンスを作成することはできません。 必要なIP予約の数は、クラスタにプロビジョニングする管理対象サーバー・ノードの数に対応します。 IP予約のリクエストを発行する方法の詳細は、Database Exadata Cloud ServiceでJava Cloud Serviceをプロビジョニングするための認証されたIPをリクエストする方法(MOSノート2163568.1)というMy Oracle Supportのドキュメントを参照してください。 サービス・インスタンスを作成する場合は、リクエスト本文にipReservationsを使用して、1つ以上の事前割当てされたIP予約を指定する必要があります。
AppToCloudの移行: オンプレミスのWebLogic Serverのドメイン構成およびデプロイ済のアプリケーションをOracle Java Cloud Serviceインスタンスにインポートすることを計画している場合は、ドメインおよびそのリソースを移行するために必要なAppToCloudアーティファクトとともにサービス・インスタンスを作成する必要があります。 そのようなサービス・インスタンスを作成する前に、満たしている必要がある特定の前提条件、および実行する必要がある特定のオンプレミス・タスクとOracle Cloudタスクがあります。 Oracle Java Cloud Serviceの使用のAppToCloudの前提条件についてに関する項およびOracle Java Cloud Serviceへのアプリケーションの移行の一般的なワークフローに関する項を参照してください。 必要なタスクの実行後、インスタンスの作成時にサービス・インスタンスをAppToCloudアーティファクトに関連付けるには、リクエスト本文にcustomPayloadを使用し、サービス・インスタンスの作成で説明されている特定の条件を満たしている必要があります。
注意: 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インスタンスを作成する手順:
- Oracle Java Cloud Serviceインスタンスを作成する前に、現在存在するサービス・インスタンスを調べて、新しいサービス・インスタンスの名前が一意であることを確認します。
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
cURLコマンドラインで次のオプションを指定します。
出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。
リクエストのタイプ(GET)を指定する-Xオプション。
認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。
アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H。
詳細は、「すべてのサービス・インスタンスの表示」を参照してください。
レスポンス本文の例を次に示します。 この例では、12cを実行しているMy12cServerと11gを実行しているMy11gServerの2つのサービス・インスタンスがあります。
{ "uri":"https:\/\/rest_server_url/\/paas\/service\/jcs\/api\/v1.1\/instances\/ExampleIdentityDomain", "service_type":"jaas", "implementation_version":"1.0", "services" : [ { "service_name":"My12cServer", "version":"12cR3", "wlsVersion":"12.1.3.0.x", "status":"Running", "error_status_desc": "", "compliance_status": "", "compliance_status_desc": "", "auto_update": "true", "description":"WebLogicEnterprise", "identity_domain":"ExampleIdentityDomain", "creation_time": "Fri Jan 23 22:18:26 UTC 2015", "last_modified_time": "Fri Jan 23 22:18:26 UTC 2015", "created_by":"username", "service_uri":"https:\/\/rest_server_url/\/paas\/service\/jcs\/api\/v1.1\/instances\/ExampleIdentityDomain\/My12cServer" }, { "service_name":"My11gServer", "version":"11g", "wlsVersion":"10.3.6.0.xx", "status":"Running", "description":"", "identity_domain":"ExampleIdentityDomain", "creation_time": "Wed Jan 21 12:23:26 UTC 2015", "last_modified_time": ""Wed Jan 21 12:23:26 UTC 2015", "created_by":"username", "service_uri":"https:\/\/rest_server_url/\/paas\/service\/jcs\/api\/v1.1\/instances\/ExampleIdentityDomain\/My11gServer" }] }
- サービス・インスタンスの詳細を定義するJSONドキュメントcreate.jsonを作成します。
リクエスト・ドキュメントの例を次に示します。 この例の詳細は次のとおりです。
サービス・インスタンスは、ExampleInstanceという名前になります。
サービス・レベルはPAASです。
インストールされるソフトウェアは、WebLogic Server Enterprise Edition (EE)のバージョン12.1.3です。
ドメイン名はExampleDomainとして構成されます。
クラスタ名はExampleClusterとして構成されます。
1つのクラスタ内に2つの管理対象サーバーが構成されます。
Oracle Traffic Directorでロード・バランシングが有効です。
サービス・インスタンスとロード・バランサの計算処理シェイプは、1 OCPUおよび7.5 GBメモリー (OC3).で構成されます。
注意: WebLogic Server 12.2.1およびドメイン・パーティションを使用する場合は、PAASサービス・レベル、およびEEまたはSUITEエディションを使用する必要があります。
Oracle Public Cloudでは、次の操作も例に含まれています。
管理コンソール(WebLogic Server、ロード・バランサ・コンソールなど)への外部通信を制御するアクセス・ルールを有効にします。
指定されたストレージ・コンテナ名が存在しない場合は、コンテナが作成されます。
Oracle Public Cloudでのリクエスト・ドキュメントの例:
{ "serviceName" : "ExampleInstance", "level" : "PAAS", "subscriptionType" : "HOURLY", "enableAdminConsole": true, "description" : "Example, Inc product distribution center", "provisionOTD" : true, "cloudStorageContainer" : "develop-jcs/JCSBackup", "cloudStorageUser" : "storageusername", "cloudStoragePassword" : "Mypassword2!", "createStorageContainerIfMissing" : true, "sampleAppDeploymentRequested" : true, "parameters" : [ { "type" : "weblogic", "version" : "12.1.3", "edition" : "EE", "domainMode" : "PRODUCTION", "managedServerCount" : "2", "adminPort" : "7001", "deploymentChannelPort" : "9001", "securedAdminPort" : "7002", "contentPort" : "8001", "securedContentPort" : "8002", "domainName" : "ExampleDomain", "clusterName" : "ExampleCluster", "adminUserName" : "myadminuser", "adminPassword" : "Mypassword1!", "nodeManagerPort" : "5556", "nodeManagerUserName" : "nodeMangerAdmin", "nodeManagerPassword" : "Mypassword1!", "dbServiceName" : "myDBService", "dbaName" : "SYS", "dbaPassword" : "Mypassword3!", "shape" : "oc3", "domainVolumeSize" : "10G", "backupVolumeSize" : "50G", "VMsPublicKey" : "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEArHjWnvrmTQBRb5a/3d62HA8+sbX0c2MJcfAhH3ETF3nUYqrmur+ZYYT7bTEbXyRO+qkU0Ey3yHK5rSeiwuye15ZMQy6J0cGstNTJMiqLVsBWURUFSYG2Fs2EfM1fnOe1W60KgjSHKQDmmiwVtay2hgWSBq66t9u370a0BD2dwc= mypublickey" }, { "type" : "OTD", "adminUserName" : "otdAdmin", "adminPassword" : "Mypassword1!", "listenerPortsEnabled" : true, "listenerPort" : "8080", "listenerType" : "http", "securedListenerPort" : "8081", "loadBalancingPolicy" : "least_connection_count", "adminPort" : "8989", "shape" : "oc3", "VMsPublicKey" : "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEArHjWnvrmTQBRb5a/3d62HA8+sbX0c2MJcfAhH3ETF3nUYqrmur+ZYYT7bTEbXyRO+qkU0Ey3yHK5rSeiwuye15ZMQy6J0cGstNTJMiqLVsBWURUFSYG2Fs2EfM1fnOe1W60KgjSHKQDmmiwVtay2hgWSBq66t9u370a0BD2dwc= mypublickey" }] }
Oracle Cloud Machineでのリクエスト・ドキュメントの例:
{ "serviceName" : "ExampleInstance", "level" : "PAAS", "description" : "Example, Inc product distribution center", "provisionOTD" : true, "cloudStorageContainer" : "123.34.0.1:/export/XYZ/abcd05/psmbackup/farbackup", "publicNetwork":"/mytenantname/public/vnet-eoib-vlan127", "sampleAppDeploymentRequested" : true, "parameters" : [ { "type" : "weblogic", "version" : "12.1.3", "edition" : "EE", "domainMode" : "PRODUCTION", "managedServerCount" : "2", "adminPort" : "7001", "deploymentChannelPort" : "9001", "securedAdminPort" : "7002", "contentPort" : "8001", "securedContentPort" : "8002", "domainName" : "ExampleDomain", "clusterName" : "ExampleCluster", "adminUserName" : "myadminuser", "adminPassword" : "Mypassword1!", "nodeManagerPort" : "5556", "nodeManagerUserName" : "nodeMangerAdmin", "nodeManagerPassword" : "Mypassword1!", "connectString" : "123.34.1.1:1521:orcl12c", "dbaName" : "dbausername", "dbaPassword" : "Mypassword3!", "dbNetwork" : "/mytenantname/public/vnet-ipoib-priv", "shape" : "oc3", "domainVolumeSize" : "10G", "backupVolumeSize" : "50G", "VMsPublicKey" : "ssh-rsa ABCDB3NzaC1yc2EAAAABJQAAAIEArHjWnvrmTQBRb5a/3d62HA8+sbX0c2MJcfAhH3ETF3nUYqrmur+ZYYT7bTEbXyRO+qkU0Ey3yHK5rSeiwuye15ZMQy6J0cGstNTJMiqLVsBWURUFSYG2Fs2EfM1fnOe1W60KgjSHKQDmmiwVtay2hgWSBq66t9u370a0BD2dwc= mypublickey" }, { "type" : "otd", "adminUserName" : "otdAdmin", "adminPassword" : "Mypassword1!", "listenerPortsEnabled" : true, "listenerPort" : "8080", "listenerType" : "http", "loadBalancingPolicy" : "least_connection_count", "securedListenerPort" : "8081", "adminPort" : "8989", "shape" : "oc3", "VMsPublicKey" : "ssh-rsa ABCDB3NzaC1yc2EAAAABJQAAAIEArHjWnvrmTQBRb5a/3d62HA8+sbX0c2MJcfAhH3ETF3nUYqrmur+ZYYT7bTEbXyRO+qkU0Ey3yHK5rSeiwuye15ZMQy6J0cGstNTJMiqLVsBWURUFSYG2Fs2EfM1fnOe1W60KgjSHKQDmmiwVtay2hgWSBq66t9u370a0BD2dwc= mypublickey" }] }
サービス・インスタンスにOracle Coherenceを有効にした場合、SUITEエディションを使用して"type":"datagrid"オプションを含める必要があります。 次に、デフォルトの容量ユニットを使用する属性を指定するか、容量ユニット用の独自の構成を定義します。 サービス・インスタンスの作成を参照してください。 この後の"type":"datagrid"例では、デフォルトの容量ユニットを使用しています。
{ "type" : "datagrid", "scalingUnitCount" : "1", "clusterName" : "ExampleDGCluster", "scalingUnitName" : "SMALL" }
"type":"datagrid"例は次のとおりです。
ストレージ対応WebLogic Serverクラスタの名前はExampleDGClusterです。
デフォルト容量単位SMALLが構成されます。
1つのデフォルト容量単位が構成されます。
Oracle Public Cloudでは、作成しているサービス・インスタンスによってOracle Exadataデータベースが使用される場合は、次の例に示すように、weblogicタイプのipReservationsプロパティのみを使用して、管理対象サーバー・ノードのIP予約を指定する必要があります。
"parameters" : [ { "type" : "weblogic", "managedServerCount" : "2", "ipReservations": "ipres01, ipres02", ... } ... ]
その他のパラメータの詳細は、「サービス・インスタンスの作成」を参照してください。 たとえば、Oracle Public CloudでAppToCloudアーティファクトを使用してサービス・インスタンスを作成する場合は、customPayloadを使用する必要があります。
- ステップ2で定義したJSONドキュメントを渡して、Oracle Java Cloud Serviceインスタンスを作成します。
curl -i -X POST -u username:userPassword1! -d @create.json -H "Content-Type:application/vnd.com.oracle.oracloud.provisioning.Service+json" -H "X-ID-TENANT-NAME:ExampleIdentityDomain" https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain
cURLコマンドラインで次のオプションを指定します。
出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。
リクエストのタイプ(POST)を指定する-Xオプション。
認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。
ローカル・マシン上でJSON形式のリクエスト・ドキュメント(create.json)を識別する-dオプション。
コンテンツ・タイプをapplication/vnd.com.oracle.oracloud.provisioning.Service+jsonとして識別し、アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H。
次にレスポンス・ヘッダーの例を示します。
HTTP/1.1 100 Continue HTTP/1.1 202 Accepted Date: Thu, 14 Jul 2016 23:16:53 GMT Location: https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/status/create/job/8466 Content-Length: 0 Content-Type: application/vnd.com.oracle.oracloud.provisioning.Service+json Service-URI: https://rest_server_url/paas/service/jcs/api/v1.1/instances/ExampleIdentityDomain/ExampleInstance Retry-After: 60
- 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/create/job/8466
cURLコマンドラインで次のオプションを指定します。
出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。
リクエストのタイプ(GET)を指定する-Xオプション。
認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。
アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H。
次の例では、ステータスおよびメッセージを含むレスポンス本文の内容を示しています。
{ "service_name": "ExampleInstance", "version": "12cR3", "wlsVersion": "12.1.3.0.xxxxxx", "status": "In Progress", "error_status_desc": "", "compliance_status": "", "compliance_status_desc": "", "auto_update": "true", "description": "Example, Inc product distribution", "identity_domain": "ExampleIdentityDomain", "creation_time": "Thu Jul 14 23:16:58 UTC 2016", "last_modified_time": "Thu Jul 14 23:16:56 UTC 2016", "created_by": "username", "service_uri" : "https:\/\/rest_server_url\/paas\/service\/jcs\/api\/v1.1\/instances\/ExampleIdentityDomain\/ExampleInstance", "message": [ "Created Compute resources for WebLogic Server...", "Created security resources for the service...", "Started all Compute resources...", "Establishing SSH connectivity to WebLogic Administration Server ..." ] }
- サービス・インスタンスが作成されて実行中になったら、サービス・インスタンスの詳細を表示します。
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
cURLコマンドラインで次のオプションを指定します。
出力にHTTPヘッダーを含める-iオプション。 このオプションは省略可能です。
リクエストのタイプ(GET)を指定する-Xオプション。
認証のためのOracle Java Cloud Serviceアカウントのユーザー名とパスワードを指定する-uオプション。
アイデンティティ・ドメインIDまたはテナント名を識別するカスタム・ヘッダーX-ID-TENANT-NAMEを定義する-H。
詳細は、「サービス・インスタンスの表示」を参照してください。
Oracle Public Cloudでのレスポンス本文のコンテンツの例を次に示します。
{ "service_name" : "ExampleInstance", "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 center", "identity_domain" : "ExampleIdentityDomain", "creation_time": "Thu Jul 14 23:16:58 UTC 2016", "last_modified_time": "Thu Jul 14 23:16:56 UTC 2016", "created_by" : "username", "service_uri" : "https:\/\/rest_server_url\/paas\/service\/jcs\/api\/v1.1\/instances\/ExampleIdentityDomain\/ExampleInstance", "domain_name" : "ExampleDomain", "domain_mode" : "PRODUCTION", "cluster_name" : "ExampleCluster", "num_nodes" : 3, "level" : "PAAS", "subscription_type" : "HOURLY", "edition" : "EE", "shape" : "oc3", "otd_provisioned" : "yes", "otd_shape": "oc3", "otd_storage_size": 41984, "service_components": [ { "type": "WLS", "version": "12.1.3.0.xxxxxx" }, { "type": "JDK", "version": "1.7.0_xxx" }, { "type": "OTD_JDK", "version": "1.7.0_xxx" }, { "type": "OTD", "version": "11.1.1.9.x" }], "creation_job_id" : "8466", "deletion_job_id": 0, "db_info" : "myDBService:1521\/PDB1.exampleidentitydomain.oraclecloud.internal", "db_service_name" : "myDBService", "num_ip_reservations" : 3, "wls_admin_url" : "https:\/\/192.0.2.0:7002\/console", "fmw_control_url" : "https:\/\/192.0.2.16:7002\/em", "otd_admin_url" : "https:\/\/192.0.2.23:8989", "sample_app_url": "https:\/\/192.0.2.23\/sample-app\/", "secure_content_url" : "https:\/\/192.0.2.23", "content_url" : "http:\/\/192.0.2.23", "wls_deployment_channel_port": 9001, "psm_plugin_version": "16.3.3-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でのレスポンス本文のコンテンツの例を次に示します。
{ "service_name" : "ExampleInstance", "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 center", "identity_domain" : "ExampleIdentityDomain", "creation_time": "Fri Jan 23 22:18:26 UTC 2015", "last_modified_time": "Fri Jan 23 22:18:26 UTC 2015", "created_by" : "username", "service_uri" : "https:\/\/rest_server_url\/paas\/service\/jcs\/api\/v1.1\/instances\/myTenantName\/ExampleInstance", "domain_name" : "ExampleDomain", "domain_mode" : "PRODUCTION", "cluster_name" : "ExampleCluster", "num_nodes" : 3, "level" : "PAAS", "subscription_type" : "HOURLY", "edition" : "EE", "shape" : "oc3", "otd_provisioned" : "yes", "otd_shape": "oc3", "otd_storage_size": 43008, "service_components": [ { "type": "WLS", "version": "12.1.3.0.xxxxxx" }, { "type": "JDK", "version": "1.7.0_xxx" }, { "type": "OTD_JDK", "version": "1.7.0_xxx" }, { "type": "OTD", "version": "11.1.1.9.x" }], "creation_job_id" : "1", "deletion_job_id": 0, "db_info" : "mydbhost:1521\/mydbserviceinfo", "num_ip_reservations" : 3, "wls_admin_url" : "https:\/\/thehost:7002\/console", "fmw_control_url" : "https:\/\/thehost:7002\/em", "otd_admin_url" : "https:\/\/thelbhost:8989", "sample_app_url": "https:\/\/thehost\/sample-app\/", "content_url": "http:\/\/thehost", "secure_content_url" : "https:\/\/thehost", "wls_deployment_channel_port": 9001, "psm_plugin_version": "16.3.3-x-xxx", "compute_site_name": "PRIVATE_SITE", "db_associations": [ { "db_connect_string": "myDBService:1521\/mydbserviceinfo", "db_infra": true }] }
デフォルト容量単位を使用してOracle Coherenceを有効にする場合、datagridオプションがレスポンス本文のコンテンツに含まれます。
"options": [{ "type": "datagrid", "clusters": [{ "clusterName": "ExampleDGCluster", "scalingUnitCount": 1, "scalingUnitName": "SMALL", "shape": "oc3", "vmCount": 3, "jvmCount": 1, "heapSize": "4608M", "maxScalingUnit": 10, "heapIncrements": "13824M", "primaryIncrements": "4608M", "totalHeap": "13824M", "totalPrimary": "4608M", "maxHeap": "138240M", "maxPrimary": "46080M", "scalingUnitInstances": [{ "servers": [ {"name": "ExampleI_server_3_DG"}, {"name": "ExampleI_server_4_DG"}, {"name": "ExampleI_server_5_DG"} ], "scalingUnitInstanceId": 2, "status": "Ready" }] }] }]