はじめに
以前弊社のブログでGUIコンソールを使用したインスタンス作成を紹介させて頂きました。
今回はOracle Cloud PaaS Service Manager(以下PSM)と呼ばれるCLIでインスタンス作成する方法を紹介させて頂きます。
リファレンスはこちらです。
環境
今回PSMをインストールしたのは下記環境です。
| プラットフォーム | OS | 
|---|---|
| AWS EC2 | CentOS Linux release 7.5.1804 (Core) | 
前提
PSMを使用するためには下記の条件が必要となります。
- cURLコマンドが使用できる
- Python 3.3以降
ダウンロード
ダウンロード方法はGUIとREST APIを利用する2つの方法があります。
A.GUIでダウンロード
- Oracle Cloudダッシュボードにログイン
- Oracle MySQL Cloud Service画面に遷移
- ページ右上のアイコンからHelp → Download Centerをクリック
   
- Download Centerのダイアログ画面でPSMCLIをダウンロード
   
B.REST API でダウンロード
1.下記のクラウド・アカウント情報を取得する。
- ユーザー名およびパスワード
- アイデンティティ・ドメイン名(またはIDCSテナント名)
 ご自身の契約状況によりどちらかをお使いください
 IDCSテナント名の確認方法についてはこちらの手順にて確認できます。
2.上記情報を元にREST APIサーバーへcurlコマンドでダウンロードする。
REST APIサーバーについてはご利用しているリージョンで指定してください。
| 1 2 3 4 | $ curl -v -X GET -u ユーザー名:パスワード -H X-ID-TENANT-NAME:アイデンティティ・ドメイン名 "REST APIサーバー" -o psmcli.zip  例 $ curl -v -X GET -u user1:password -H X-ID-TENANT-NAME:MyIDomain1234 https://psm.aucom.oraclecloud.com/pass/core/api/v1.1/cli/MyIDomain1234/client -o psmcli.zip | 
インストール
| 1 | $ pip3 install -U psmcli.zip | 
セットアップ
インストールが終わったらセットアップを行います。
セットアップには自身がOracleCloudで利用している下記が必要です。
- ユーザ名
- パスワード
- アイデンティティ・ドメイン名(またはIDCSテナント名)
 Identity Cloud Service (IDCS)を使用する場合はIDCSテナント名を入力する必要があります。
| 1 2 3 4 5 6 7 8 9 10 11 | $ psm setup Username:アカウント Password:パスワード Retype Password:パスワード Identity domain: アイデンティティ・ドメイン名(またはIDCSテナント名) Region [us]: 使用リージョン Output format [short]: Use OAuth? [n]: ---------------------------------------------------- 'psm setup' was successful. Available services are: 以下省略 | 
インスタンス作成
早速インスタンスを作成してみます。
インスタンス起動後にログインするために、ssh用の公開鍵を用意しておいてください。
今回はテスト用に下記コマンドで作成しておきます。
| 1 | $ ssh-keygen -t rsa | 
JSON形式のコンフィグファイルが必要となりますので、今回はサンプルとして下記のように作成しました。
(バックアップ設定、MySQL Enterprise Monitor設定は共になしにしています。)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | create_instance.json {     "backupDestination":"NONE",     "vmPublicKeyText":"上記で作成した公開鍵",     "serviceName":"testpsm",     "serviceLevel":"PAAS",     "serviceVersion":"5.7",     "edition":"EE",     "vmUser":"opc",     "components":{         "mysql":{             "shape":"oc3",             "mysqlUserName":"root",             "mysqlUserPassword":"P@ssword123",             "mysqlPort":"3306",             "dbStorage":"100",             "dbName":"omc",             "ibkup":"No",             "enterpriseMonitor":"No"         }     } } | 
作成コマンドを実施します。
| 1 2 3 4 5 | $ psm MySQLCS create-service -c create_instance.json # レスポンスで下記メッセージが出力されます。  Message:    Submitted job to create service [testpsm] in domain アイデンティティ・ドメイン]  Job ID:     2880207 | 
作成されたか確認して見ます。
| 1 2 3 4 5 6 7 8 | $ psm MySQLCS service -s testpsm  Service:                    testpsm  Status:                     Ready  Version:                    5.7.21  Edition:                    Enterprise Edition  Compute Site:               N/A  Cloud Storage Container:    コンテナ名  Created On:                 2018-06-04T00:57:35.262+0000 | 
上記のStatusが「Creating service …」 ⇨ 「Ready」に変わると起動状態です。
デフォルトのアウトプットでは簡潔な情報が表示されます。
内部DNS名等、より詳細な情報が必要な場合は-ofオプションでJSONやHTMLで出力しましょう。
コンソールでも確認してみます。
ちゃんと作成されていますね。
Activityでログを確認してみると約10分ほどで起動していました。
ではログインしてみましょう。
無事ログイン出来ました。
まとめ
繰り返し実施するような作業や単純な操作を行う場合、GUIコンソールでは手間ですね。
そうした際にはCLIを利用して効率的に作業を行いたいですね。






 
		 
			 
			 
			 
			 
			