oracle
cli
Cloud

Oracle Cloudのコマンドライン・インターフェース(CLI)を使えるようにしてみた

More than 1 year has passed since last update.


概要

Oracle Cloudが提供するデータベースPaaSであるDatabase Cloud Serviceと、アプリケーションサーバPaaSであるJava Cloud Serviceのインスタンスをそれぞれ作成してみました。

どちらもブラウザ上からGUIで簡単に作成できました。

ただ、インスタンスの作成操作自体をテンプレート化したり、ジョブ化したりといった事を考えると、コマンドラインから操作ができた方がシェルなどに組み込んで便利に使えます。

というわけで、コマンドライン・インタフェース(CLI)を使えるようにしてみました。


PaaS Service Manager Command Line Interfac (PSM CLI)

Oracle Cloudでは、CLIツールとして ** PaaS Service Manager Command Line Interfac (PSM CLI)**を提供しています。

このPSM CLIを利用して、Oracle CloudのDatabase Cloud ServiceやJava Cloud Serviceなど各種サービスの作成や管理などの操作をコマンドラインやシェル・スクリプト等からの実施が可能になります。


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はマニュアルとして以下に利用方法が記載されています。


PSM CLIの導入

PSM CLIの導入手順を説明します。

流れは以下のようになります。


  1. 前提環境である事の確認

  2. PSM CLIのダウンロード

  3. PSM CLIのインストール

  4. PSM CLIのセットアップ

なお、これらの作業はCLIの使用のためなので違和感ないとは思いますが、何かしらのターミナル環境で実施します。


※以下の手順は、Ubuntu16.04上で実施している内容になります。

 そのため、Python3とcURLは導入済みとなっていました。



0. 前提

PSM CLIをインストールする環境の前提条件です。


  • cURLコマンドが使える事

  • Python 3.3 以上が入っている事

この前提が満たせていない環境の場合は、それぞれインストールして環境を整える必要があります。

これら前提のインストール方法は、以下が参考になります。

- Performing Prerequisite Tasks for the Command Line Interface

以下のようにaptでインストールする事も可能です。

$ sudo apt install python3

$ sudo apt install curl


1. PSM CLIのダウンロード

PSM CLIを導入するために、インストールファイルをダウンロードします。

インストールするために必要な情報は以下の3点です。


  • Oracle CloudのユーザーID

  • Oracle Cloudのパスワード

  • Oracle CloudのIdentity Domain名

これらの情報は契約またはトライアル環境申請後にメールで通知されています。

上記の情報をそれぞれ環境変数に追加します。

$ export USER=<Oracle CloudのユーザーID>

$ export PASSWD=<Oracle Cloudのパスワード>
$ export IDENTITYDOMAIN=<Oracle CloudのIdentity Domain名>

次に、cURLで以下のコマンドを実行します。

$ curl -v -X GET -u ${USER}:${PASSWD} -H X-ID-TENANT-NAME:${IDENTITYDOMAIN} https://psm.europe.oraclecloud.com/paas/core/api/v1.1/cli/${IDENTITYDOMAIN}/client -o psmcli.zip

アクセスしているドメインですが、データセンターによって異なります。

アメリカ(us)データセンター
ヨーロッパ(emea)データセンター

psm.us.oraclecloud.com
psm.europe.oraclecloud.com

地域名を表している箇所が異なるので、利用しているデータセンターを確認するようにしてください。

cURLの-oオプションで、PSMCLIのインストールファイルを保存しています。


2. PSM CLIのインストール

ダウンロードしたpsmcli.zipのインストールには、pipが必要になります。

Pythonが入っていても、pipが入っていない方は以下のコマンドインストールしてください。

$ sudo apt install python3-pip

pipでPSM CLIをインストールします。

$ sudo -H pip3 install -U psmcli.zip


3. PSM CLIのセットアップ

インストールしたPSM CLIの初期セットアップを行います。

初期セットアップを行わないと、PSM CLIでPaaSの操作を行う事ができません。

設定する項目は以下のものです。


  • Oracle CloudのユーザーID

  • Oracle Cloudのパスワード

  • Oracle CloudのIdentity Domain名

  • 使用するIdentity Domainの地域

  • 出力フォーマット: デフォルト[JSON]

$ psm setup

Username: <Oracle CloudのユーザーID>
Password: <Oracle Cloudのパスワード>
Retype Password: <Oracle Cloudのパスワード>
Identity domain: <Oracle CloudのIdentity Domain名>
Region [us]: <us または emea>
Output format [json]: <json または html>

セットアップが正常終了すると以下のメッセージが表示されます。

----------------------------------------------------

'psm setup' was successful. Available services are:

o MySQLCS : Oracle Oracle MySQL Cloud Service
o accs : Oracle Application Container Cloud Service
o dbcs : Oracle Database Cloud Service
o ggcs : Oracle GoldenGate Cloud Service
o jcs : Oracle Java Cloud Service
o stack : Cloud Stack Manager
----------------------------------------------------

正常にインストールできると、以下のようにPSM CLIでOracle Cloudをコマンドラインで操作する事が可能になります。


例.Database Cloud Serviceインスタンス一覧表示

$ psm dbcs services

{
"uri":"https://psm.europe.oraclecloud.com:443/paas/service/dbcs/api/v1.1/instances/xxxxxxxxxx",
"service_type":"dbaas",
"implementation_version":"1.0",
"services":[
{
"service_name":"DB12cHP",
"version":"12.1.0.2",
"status":"Running",
"description":"DB12cHP",
"identity_domain":"xxxxxxxxxx",
"creation_time":"Mon Aug 29 14:3:33 UTC 2016",
"last_modified_time":"Mon Aug 29 14:3:33 UTC 2016",
"created_by":"shinyay",
"sm_plugin_version":"16.3.3-137",
"backup_supported_version":"16.2.3",
"service_uri":"https://psm.europe.oraclecloud.com:443/paas/service/dbcs/api/v1.1/instances/xxxxxxxxxx/DB12cHP",
"database_id":"0"
}
],
"subscriptions":[]
}


まとめ

画面から操作する利便性もありますが、CLIからの柔軟な巧みな操作も必要とされています。

このPSM CLIを使うことで、Oracle Cloudの操作スタイルにも幅が増えそうです。