Help us understand the problem. What is going on with this article?

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

More than 3 years have 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の操作スタイルにも幅が増えそうです。

shinyay
JavaEEからSpringへ引っ越しました。 赤色からすっかり緑色です。 Cloud Foundry も好物です。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away