はじめに
以前弊社のブログで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を利用して効率的に作業を行いたいですね。