オラクルクラウドをラクに使いたい - Autonomous Data Warehouse (ADW) を CLI から作って、大きくする
タイトルのとおりなのですが、 Autonomous Data Warehouse (ADW) という Exadata が1時間単位で使えるクラウドがありまして(雑な説明)、こいつを作る時にもちろん画面から作っても簡単なのですが、記録が残る CLI から作ったほうがいい場合もあると思うので、作ります。 Autonomous Data Warehouse 自体は OCI (Oracle Cloud Infrastructure) に統合されているので、 OCI CLI から作成が可能です。
今回は、以下の記事の 3-4 まで設定ができている前提で、その後の作成操作だけやってみます。
community.oracle.com
インスタンスの作成
インスタンスの作成は非常に簡単で、 Oracle の知識自体も必要ないレベルなのですが、以下のコマンド一発です。
$ oci db autonomous-data-warehouse create
オプションは以下のとおりです。
【必須のオプション】
- db-name : DB 名
- cpu-core-count : CPU 数、最小 1 OCPU(1物理コア)
- data-storage-size-in-tbs : ストレージ容量、最小 1TB
- admin-password (管理用パスワード)
【任意のオプションで設定しておいたほうがよさそうなもの】
- license-model : ライセンスモデル、指定しないと BYOL (保有ライセンスのクラウドへの持ち込み)になるので、新しく ADW を使う場合は指定したほうがいいです
- display-name : インスタンスの表示名、指定しないと自動生成されて長いので指定したほうがいいです
実際やってみると以下のような感じです。
[opc@kokane-ol7-01 .oci]$ oci db autonomous-data-warehouse create --db-name "adwcli01" --cpu-core-count 1 --data-storage-size-in-tbs 1 --admin-password "XXXXXXXXXXXX" --license-model "LICENSE_INCLUDED" --display-name "adwcli01" { "data": { "compartment-id": "ocid1.compartment.oc1..aaaaaaaacdxn6dygelp7ckmxkjkp5ofpjirlay5jbtaizds3hwevcikbl3ua", "connection-strings": null, "cpu-core-count": 1, "data-storage-size-in-tbs": 1, "db-name": "adwcli01", "db-version": null, "defined-tags": {}, "display-name": "adwcli01", "freeform-tags": {}, "id": "ocid1.autonomousdwdatabase.oc1.iad.abuwcljtemt6oxmbkpgzyqstizl6oihunejtdmm7sjm2voay5x7g55nl2vrq", "license-model": "LICENSE_INCLUDED", "lifecycle-details": null, "lifecycle-state": "PROVISIONING", "service-console-url": null, "time-created": "2019-01-16T07:27:08.872000+00:00" }, "etag": "67ea59d6" }
暫く待つと以下のコマンドで、接続名やコンソールの URL が確認できる用になります。
[opc@kokane-ol7-01 .oci]$ oci db autonomous-data-warehouse list { "data": [ { "compartment-id": "ocid1.compartment.oc1..aaaaaaaacdxn6dygelp7ckmxkjkp5ofpjirlay5jbtaizds3hwevcikbl3ua", "connection-strings": { "all-connection-strings": { "HIGH": "adb.us-ashburn-1.oraclecloud.com:1522/p36dah33ehxmnrf_adwcli01_high.adwc.oraclecloud.com", "LOW": "adb.us-ashburn-1.oraclecloud.com:1522/p36dah33ehxmnrf_adwcli01_low.adwc.oraclecloud.com", "MEDIUM": "adb.us-ashburn-1.oraclecloud.com:1522/p36dah33ehxmnrf_adwcli01_medium.adwc.oraclecloud.com" }, "high": "adb.us-ashburn-1.oraclecloud.com:1522/p36dah33ehxmnrf_adwcli01_high.adwc.oraclecloud.com", "low": "adb.us-ashburn-1.oraclecloud.com:1522/p36dah33ehxmnrf_adwcli01_low.adwc.oraclecloud.com", "medium": "adb.us-ashburn-1.oraclecloud.com:1522/p36dah33ehxmnrf_adwcli01_medium.adwc.oraclecloud.com" }, "cpu-core-count": 1, "data-storage-size-in-tbs": 1, "db-name": "adwcli01", "db-version": "18.4.0.0", "defined-tags": {}, "display-name": "adwcli01", "freeform-tags": {}, "id": "ocid1.autonomousdwdatabase.oc1.iad.abuwcljtemt6oxmbkpgzyqstizl6oihunejtdmm7sjm2voay5x7g55nl2vrq", "license-model": "LICENSE_INCLUDED", "lifecycle-details": null, "lifecycle-state": "AVAILABLE", "service-console-url": "https://adb.us-ashburn-1.oraclecloud.com/console/index.html?tenant_name=OCID1.TENANCY.OC1..AAAAAAAA3MB7WRCY2LS3U3JSY2SOQ5CK3LC3Q4MCZITPDAYMBUAZC5TKGUCA&database_name=ADWCLI01&service_type=ADW", "time-created": "2019-01-16T07:27:08.872000+00:00" } ] }
画面上でも確認できるようになりました。
ADW をスケールアップする
次に作った ADW をスケールアップしてみたいと思います。再び、以下のコマンドで一発です。
$ oci db autonomous-data-warehouse update
オプションは以下のとおりです。
【必須のオプション】
- autonomous-data-warehouse-id : 先程作った Autonomous Data Warehouse の OCID を指定します (list コマンドで確認できます)
- cpu-core-count : CPU 数、最小 1 OCPU(1物理コア)
実際やってみると以下のような感じです。
[opc@kokane-ol7-01 .oci]$ oci db autonomous-data-warehouse update --autonomous-data-warehouse-id "ocid1.autonomousdwdatabase.oc1.iad.abuwcljtemt6oxmbkpgzyqstizl 6oihunejtdmm7sjm2voay5x7g55nl2vrq" --cpu-core-count 2 { "data": { "compartment-id": "ocid1.compartment.oc1..aaaaaaaacdxn6dygelp7ckmxkjkp5ofpjirlay5jbtaizds3hwevcikbl3ua", "connection-strings": { "all-connection-strings": { "HIGH": "adb.us-ashburn-1.oraclecloud.com:1522/p36dah33ehxmnrf_adwcli01_high.adwc.oraclecloud.com", "LOW": "adb.us-ashburn-1.oraclecloud.com:1522/p36dah33ehxmnrf_adwcli01_low.adwc.oraclecloud.com", "MEDIUM": "adb.us-ashburn-1.oraclecloud.com:1522/p36dah33ehxmnrf_adwcli01_medium.adwc.oraclecloud.com" }, "high": "adb.us-ashburn-1.oraclecloud.com:1522/p36dah33ehxmnrf_adwcli01_high.adwc.oraclecloud.com", "low": "adb.us-ashburn-1.oraclecloud.com:1522/p36dah33ehxmnrf_adwcli01_low.adwc.oraclecloud.com", "medium": "adb.us-ashburn-1.oraclecloud.com:1522/p36dah33ehxmnrf_adwcli01_medium.adwc.oraclecloud.com" }, "cpu-core-count": 1, "data-storage-size-in-tbs": 1, "db-name": "adwcli01", "db-version": "18.4.0.0", "defined-tags": {}, "display-name": "adwcli01", "freeform-tags": {}, "id": "ocid1.autonomousdwdatabase.oc1.iad.abuwcljtemt6oxmbkpgzyqstizl6oihunejtdmm7sjm2voay5x7g55nl2vrq", "license-model": "LICENSE_INCLUDED", "lifecycle-details": null, "lifecycle-state": "SCALE_IN_PROGRESS", "service-console-url": "https://adb.us-ashburn-1.oraclecloud.com/console/index.html?tenant_name=OCID1.TENANCY.OC1..AAAAAAAA3MB7WRCY2LS3U3JSY2SOQ5CK3LC3Q4MCZITPDAYMBUAZC5TKGUCA&database_name=ADWCLI01&service_type=ADW", "time-created": "2019-01-16T07:27:08.872000+00:00" }, "etag": "243aef71" }
おおよそ1、2分でスケールアップされます。同じ構文 (オプション違い)でストレージのスケールアップも可能です。 (OCI CLI は比較的、足りないオプションがあると適切に返してくれるので、簡単です(ただ、事前にドキュメント確認したほうがベターですが、、、))
画面上でもスケールアップが確認できました。
まとめ
OCI CLI はコマンドもわかりやすいのでラクだなーというのと、 ADW はあんまり設定する項目がないので、ラクだなーと思いました。同じ方法で Autonomous Transaction Processing (Exadata (OLTP 用)が1時間単位で使える(雑な説明))も利用可能で、autonomous-data-warehouse が autonomous-database に変わります。OCI CLI のリファレンスは以下です。
Oracle Cloud Infrastructure CLI Command Reference — OCI CLI Command Reference 2.4.41 documentation
DWH みたいな用途ですと、バッチの前だけスケールして、その後落としたい、みたいな要件があるかと思うので、そんなときには CLI でジョブの頭に実装しておければ、なるべく安く使えるのかなと思いました。また、英語の blog 記事ですが、スケジューリング含めたサンプルスクリプトもあります。
Automatic (Scheduled) Scaling for ADW and ATP – Oracle Cloud Blog