LoginSignup
1
0

More than 5 years have passed since last update.

Java Cloud ServiceのインスタンスをPSM CLIで作成してみた

Last updated at Posted at 2016-09-18

概要

Oracle CloudのCLI(PSM CLI)を使えるようにし、利用してDatabase Cloud Serviceを作成する手順を以前投稿しました。

このようにブラウザベースGUIで作成するのと同様に、PSM CLIでもOracle Cloudのインスタンスが作成できる事が分かったと思います。

今回は、以前はブラウザから作成したJava Cloud ServiceをPSM CLIを利用して作成してみます。
- Oracle Java Cloud Serviceインスタンスを作ってみた

PSM CLI 使用方法概要

このPSM CLIはマニュアルとして以下に利用方法が記載されています。

基本的なコマンド・シンタックスは以下のようになります。

psm [クラウド・サービス名] [コマンド] (help)

PSM CLIが2016/9/1時点で対応しているクラウド・サービスは以下のものになります。

コマンド入力名 サービス名
dbcs Database Cloud Service
jcs Java Cloud Service
accs Application Container Cloud Service
ggcs GoldenGate Cloud Service
MySQLCS MySQL Cloud Serivce

PSM CLI 使用方法 - Java Cloud Service

Java Cloud ServiceでのPSM CLIで実施できるコマンドは、2016/9/1時点で以下のものがあります。

インスタンス・ライフサイクル

  • Java Cloud Serviceのインスタンスの作成・削除や停止といった、ライフサイクルに関する操作
コマンド 説明
psm jcs services 作成済みインスタンス一覧表示
psm jcs service 作成済みインスタンスの詳細情報表示
psm jcs create-service インスタンスの作成
psm jcs delete-service インスタンスの削除
psm jcs restart インスタンスの再起動
psm jcs stop インスタンスの停止
psm jcs start インスタンスの開始

スケーリング

  • Java Cloud Serviceのインスタンスに割り当てられているシェイプ(CPU/メモリ)のサイズ変更、およびWebLogicクラスタのサイズ変更
コマンド 説明
psm jcs scale-up スケールアップ
- シェイプの追加
- ローカルストレージの追加
psm jcs scale-down スケールダウン
シェイプの縮小
psm jcs scale-out クラスタ・スケール・アウト
クラスタ・メンバーに管理対象サーバの追加
psm jcs scale-in クラスタ・スケール・イン
クラスタ・メンバーの削除

アクセス・コントロール

  • Java Cloud Serviceのインスタンスへのアクセス・ルール(アクセス系経路や開放ポート)の設定構成
コマンド 説明
psm jcs access-rules アクセス・ルールの一覧表示
psm jcs create-access-rule アクセス・ルールの作成
psm jcs delete-access-rule アクセス・ルールの削除
psm jcs disable-access-rule アクセス・ルールの無効化
psm jcs enable-access-rule アクセス・ルールの有効化

バックアップ・リストア

  • Java Cloud Serviceのインスタンスのバックアップ取得やバックアップからのリストア操作、またバックアップに関する構成
コマンド 説明
psm jcs update-backup-config バックアップ構成の更新
psm jcs update-backup-config バックアップ構成の一覧表示
psm jcs backup バックアップの取得
即時バックアップ
psm jcs delete-backup バックアップの削除
psm jcs view-backups 取得済みのバックアップ表示
psm jcs view-backups 取得済みのバックアップ一覧表示
psm jcs restore バックアップからのリストア
psm jcs view-restore リストア操作の表示
psm jcs view-restores リストア操作の一覧表示

パッチ適用

  • Java Cloud Serviceのインスタンスへのパッチ適用操作
コマンド 説明
psm jcs applied-patches 適用済みパッチの一覧表示
psm jcs available-patches 適用可能パッチの一覧表示
psm jcs precheck-patch パッチ適用の事前確認
psm jcs patch パッチ適用
psm jcs rollback 適用したパッチのロールバック

操作状況表示

  • PSM CLIで実施した操作(ジョブ)の進行状態の表示
コマンド 説明
psm jcs operation-status ジョブの状態表示

PSM CLIによるインスタンス作成 - Java Cloud Service

PSM CLIを利用してJava Cloud Servieのインスタンスを作成します。

作成する際に使用するコマンドは、「psm jcs create-service」です。

このコマンドに関するリファレンスは、マニュアルの以下の箇所に記載があります。

psm jcs create-service シンタックス

psm jcs create-service」は、以下のようなシンタックスで利用します。

psm jcs create-service -c|--config-payload json-file [-of|--output-format json|html]

構成するJava CLoud Serviceインスタンスの情報をJSONファイル(インスタンス構成ペイロード)で定義しておき、それをコマンド実施時に指定して作成操作を行います。

Java Cloud Serviceインスタンス構成ペイロードのサンプル

以下に、「psm jcs create-service -c」で指定する構成情報のJSONを用意しました。

  • LS12cR2-EE-LB-Simple.json
LS12cR2-EE-LB-Simple.json
{
    "serviceName" : "WLS12cR2-EE-LB-Default",
    "level" : "PAAS",
    "subscriptionType" : "HOURLY",
    "enableAdminConsole" : true,
    "description" : "WLS12cR2 Enterprise Edition with Traffic Director, configured with Multitenant",
    "provisionOTD" : true,
    "cloudStorageContainer" : "Storage-<IDENTITY DOMAIN名>/Container_JCS",
    "cloudStorageUser" : "<Storage Cloudユーザ>",
    "cloudStoragePassword" : "<Storage Cloudユーザパスワード>",
    "createStorageContainerIfMissing" : true,
    "sampleAppDeploymentRequested" : true, 
    "parameters" : [
    {
        "type" : "weblogic",
        "version" : "12.2.1",
        "edition" : "EE",
        "managedServerCount" : "2",
        "adminUserName" : "weblogic",
        "adminPassword" : "<WLS管理者パスワード>",
        "dbServiceName" : "DB12cHP",
        "dbaName" : "SYS",
        "dbaPassword" : "<DB管理者パスワード>",
        "shape" : "oc3",
        "VMsPublicKey" : : "<SSH公開鍵テキスト>",
    {
        "type" : "otd",
        "adminUserName" : "weblogic",
        "adminPassword" : "<OTD管理者パスワード>",
        "shape" : "oc3",
        "VMsPublicKey": "<SSH公開鍵テキスト>"
    }
    ]
}

上記のJSONは、次のような構成内容となっています。

構成項目 内容
WLSバージョン 12.2.1.0
エディション Enterprise Edition
シェイプ OC3 (1 OCPU / 7.5 GBメモリ)
クラスタ・サイズ 2
管理サーバ:1 + 管理対象サーバ:2インスタンス
ロードバランサ使用 ロードバランサを構成
Oracle Traffic Directorのプロビジョニング
管理者ユーザ WebLogic及びTraffic Directorの管理者ユーザ名
管理者ユーザ WebLogic及びTraffic Directorの管理者パスワード
バックアップ環境 ドメイン・バックアップ先としてStorage Cloud Serviceを使用
Storage Cloud Serviceのユーザ及びパスワード

以下のような環境構成のJava Cloud Service インスタンスを生成します。
wls-domain.png

psm jcs create-service コマンド実施

$ psm jcs create-service -c ./WLS12cR2-EE-LB-Simple.json 
"Accepted"
Job ID : 2204865

psm jcs create-service」を実施すると、バックエンドでインスタンスの作成操作がJob IDが採番され、IDを元に状況確認が行えます。

インスタンス作成操作状況の確認

インスタンス作成操作状況を確認する際に使用するコマンドは、「psm jcs create-service -j 」です。

実行すると以下のように状況がJSON形式で表示されます。

$ psm jcs operation-status -j 2204865
{
    "activityLogId":1113173,
    "serviceName":"WLS12cR2-EE-LB-Default",
    "serviceType":"jaas",
    "identityDomain":"iddomain",
    "serviceId":59184,
    "jobId":2204865,
    "startDate":"2016-09-18T12:43:57.387+0000",
    "endDate":"2016-09-18T13:18:32.670+0000",
    "status":"SUCCEED",
    "operationId":59184,
    "operationType":"CREATE_SERVICE",
    "summaryMessage":"CREATE_SERVICE",
    "authDomain":"iddomain",
    "authUser":"shinyay",
    "initiatedBy":"USER",
    "messages":[
        {
            "activityDate":"2016-09-18T12:43:57.387+0000",
            "message":"Activity Submitted"
        },
        {
            "activityDate":"2016-09-18T12:44:03.841+0000",
            "message":"Activity Started"
        },
        {
            "activityDate":"2016-09-18T12:44:14.495+0000",
            "message":"Created Compute resources for WebLogic Server..."
        },
        {
            "activityDate":"2016-09-18T12:44:22.401+0000",
            "message":"Created security resources for the service..."
        },
        {
            "activityDate":"2016-09-18T13:01:20.724+0000",
            "message":"Established SSH connectivity to WebLogic Administration Server... Used private side of a public key for [oracle]"
        },
        {
            "activityDate":"2016-09-18T13:01:23.611+0000",
            "message":"Established SSH connectivity to Host(s) [WLS12cR2_server_2] from Administration Server..."
        },
        {
            "activityDate":"2016-09-18T13:07:30.828+0000",
            "message":"Configured Load Balancer..."
        },
        {
            "activityDate":"2016-09-18T13:07:38.971+0000",
            "message":"Updated Load Balancer metadata..."
        },
        {
            "activityDate":"2016-09-18T13:15:45.121+0000",
            "message":"WebLogic Administration Server Configuration completed..."
        },
        {
            "activityDate":"2016-09-18T13:15:45.490+0000",
            "message":"Configuration check for Host [wls12cr2-ee-lb-default-wls-1] containing WebLogic Managed Server(s) [[WLS12cR2_server_1]] completed..."
        },
        {
            "activityDate":"2016-09-18T13:16:54.748+0000",
            "message":"Configuration check for Host [wls12cr2-ee-lb-default-wls-2] containing WebLogic Managed Server(s) [[WLS12cR2_server_2]] completed..."
        },
        {
            "activityDate":"2016-09-18T13:16:55.095+0000",
            "message":"WebLogic Managed Servers Configuration completed..."
        },
        {
            "activityDate":"2016-09-18T13:17:53.624+0000",
            "message":"Service Reachabilty Check (SRC) of WebLogic Administration Server completed..."
        },
        {
            "activityDate":"2016-09-18T13:18:09.424+0000",
            "message":"Service Reachabilty Check (SRC) of WebLogic Managed Server(s) [WLS12cR2_server_1, WLS12cR2_server_2] completed..."
        },
        {
            "activityDate":"2016-09-18T13:18:09.706+0000",
            "message":"Successfully provisioned WebLogic Administration Server and 2 Managed Servers..."
        },
        {
            "activityDate":"2016-09-18T13:18:32.670+0000",
            "message":"Activity Ended"
        }
    ]
}

"message":"Activity Ended"と表示されるとインスタンス作成操作は終了です。

作成済みインスタンス一覧の表示

作成済みのインスタンス一覧を確認する際に使用するコマンドは、「psm jcs services」です。

$ psm jcs services
{
    "uri":"https://psm.europe.oraclecloud.com/paas/service/jcs/api/v1.1/instances/iddomain",
    "service_type":"jaas",
    "implementation_version":"1.0",
    "services":[
        {
            "service_name":"WLS12cR2-EE-LB-Default",
            "version":"12cRelease2",
            "wlsVersion":"12.2.1.0.160419",
            "status":"Running",
            "error_status_desc":"",
            "compliance_status":"",
            "compliance_status_desc":"",
            "auto_update":"true",
            "description":"WLS12cR2 Enterprise Edition with Traffic Director, configured with Multitenant",
            "identity_domain":"iddomain",
            "creation_time":"2016-09-18T12:43:56.659+0000",
            "last_modified_time":"2016-09-18T12:43:54.017+0000",
            "created_by":"shinyay",
            "service_uri":"https://psm.europe.oraclecloud.com/paas/service/jcs/api/v1.1/instances/iddomain/WLS12cR2-EE-LB-Default"
        }
    ]
}

このように、psm jcs create-serviceコマンドで作成したJava Cloud Serviceインスタンスが表示されています。

まとめ

PSM CLIで作成したDatabase Cloud Service同様に、Java Cloud Servieもコマンドラインでインスタンスの作成ができました。
このように、作成するクラウドサービスのインスタンス情報をテンプレートとしてJSONファイルにしておけば作成したい構成状態を簡単に作成する事が可能となります。
また、JSONファイルのパラメータを差し替えるだけで、様々なテンプレートが用意できるので環境構築の手間が随分と省かれます。

今回のJSONファイルは非常にシンプルな内容でしたが、様々な設定要素はあるので目的に応じた構成テンプレートを用意しておくと便利です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0