ADB HOL #7-1 : OCICLIを利用したインスタンス操作

Version 9

    目次に戻る : チュートリアル : Oracle Cloud Infrastructure を使ってみよう

    >ADBコンテンツ一覧に戻るAutonomous Database ハンズオンラボ

     

     

    ここまでの章で、ADBインスタンスの作成やOCPU数の変更等、様々な操作を実施いただきましたが、これら一連の操作を自動化するにはどうしたら良いでしょうか?

     

    ADBはOracle Cloud Infrastructure(OCI)の他のサービスと同様、REST APIを介した各種操作が可能であり、それらを呼び出すコマンド・ライン・インタフェース(OCI CLI)を利用した操作も可能です。

    この章ではOCI CLIを利用してADBインスタンスの作成や起動・停止、およびスケールアップ、ダウンといった構成変更の方法について確認します。

    これらコマンドを利用しスクリプトを組めば、例えば夜間はあまり使わないからOCPUをスケールダウンさせておき、朝になったらスケールアップしよう。といった自動化が可能となります。

     

    尚、本ガイドではOCI CLIがインストールされたOCI Developer Image を利用することを前提に記載しています。

    OCI CLIのインストール方法を含め、OCI CLIの詳細についてはこちらを参照ください。

     

     

    作業の流れ

    1. OCI CLIをセットアップしよう
    2. OCI CLIでインスタンスを操作しよう

     

    所要時間 : 約30分

     

     

    1. OCI CLIをセットアップしよう

    まずはOCI CLIにクラウド環境の情報を登録します。

     

    1. Tera Termを起動し、仮想マシンにログインします。

     

    2. oracleユーザに切り替えます。

    $ sudo su - oracle

     

    3. OCI CLIがセットアップされていることを確認するために、バージョンを確認します。( 2.6.XXが出力されればOKです。)

    $ oci -v

     

    4. クラウド環境の情報(OCID)を確認します。後続のconfigファイルの作成で利用しますので、お手元のメモ帳に一旦保存します。

     

    OCIDとは、Oracle Cloud識別子のことで、OCIの各リソースに付与されている一意のIDです。

    REST APIやOCI CLIを利用する際はこのIDを利用して、各リソースにアクセスします。

     

     

    4-1. ユーザーのOCIDを確認するために、ユーザー設定をクリックします

     

     

    コピーをクリックすると、OCIDがクリップボードに保存されますので、お手元のメモ帳にペーストしてください。

     

     

     

    4-2. テナンシのOCIDを確認するために、管理からテナンシ詳細をクリックします

     

     

     

    コピーをクリックすると、OCIDがクリップボードに保存されますので、お手元のメモ帳にペーストしてください。

     

     

     

    5. configファイルを作成します。入力例を参考に各項目を入力ください。

    $ oci setup config

     

    Location for your config: (そのままでENTER

    User OCID: <上記のステップで取得した値>

    Tenancy OCID: <上記のステップで取得した値>

    region: ap-tokyo-1

    Generate a new RSA Key Pair: Y

    directory for your keys to be created: (そのままでENTER

    name for your key: (そのままでENTER

    passphrase for your private key: (そのままでENTER

     

     

     

    6. API公開キーを確認します。

    cat ~/.oci/oci_api_key_public.pem

     

     

     

    7. OCIユーザーのプロファイルに作成したAPI公開キーを追加します。

     

    ユーザー設定をクリックします

     

     

    APIキーから、公開キーの追加をクリックします。

     

     

    先程取得したAPI公開キーを入力し、追加をクリックします。

     

     

    APIキーを追加すると、ユーザー設定の画面上に新たにフィンガープリントが表示されます。

    以下のファイルに記載されているfingerprintの値と一致していることを確認ください。一致していればOKです。

    $ cat ~/.oci/config

     

    8. デフォルトのコンパートメントを設定します。設定することで、毎回のコマンド発行時にコンパートメントを指定しないで済みます。

     

    8-1. メニューからアイデンティティコンパートメントをクリックします。

     

     

    8-2. コンパートメント(adb-hol-01)を選択し、コンパートメントのOCIDをコピーしてメモ帳に保存しておきます。

     

     

    8-3. 仮想マシン上にて以下を実行し、~/.oci/oci_cli_rc というファイルを作成します。

    $ oci setup oci-cli-rc

     

    8-4. vi でoci_cli_rc ファイルを編集し、コンパートメントIDを追記します。

    $ vi .oci/oci_cli_rc

     

    [DEFAULT]

    compartment-id = <コンパートメントのOCID>

     

    ここでは以下のようにファイルの最後に追加すればOKです。

     

     

     

     

    2. OCI CLIを使ってみよう

    まずはOCI CLIの操作感をみてみましょう。

     

    1. Autonomous Databaseに対してOCI CLIで操作できる内容を確認するために、一覧を表示します。

    $ oci db autonomous-database --help

     

         インスタンスの作成から複製、削除、リストアの実行、インスタンスの停止、起動など、GUIツール(WEB画面)で出来ることは基本的にOCI CLIで実施可能です。

         尚、上記のようにociコマンドは各コマンドに続けて "--help" を入力することで、その都度オプションを確認することができます。($ oci --help 等)

     

     

    2. 現在作成されているインスタンスの情報を確認するために、一覧を表示します。JSON形式で出力されます。

    $ oci db autonomous-database list

     

     

    3. OCI CLIでインスタンスを操作しよう

    では実際に操作してみましょう。

    ここでは、OCPU数の変更、インスタンスの停止、起動、およびインスタンスを新規に作成します。

     

     

    1. インスタンスのスケールアップ・ダウン(OCPU数の変更)

         ここでは前の章でスケールアップしたインスタンスのOCPUを1に戻してみましょう。

         (OCI CLIであってもオンラインで実施可能です。アプリケーションの停止は不要です。)

     

    1-1. 対象となるADBインスタンスのOCIDを確認するため、以下のlistコマンドを実行しOCIDを取得します。

    $ oci db autonomous-database list

     

         id列の値がADBインスタンスのOCIDです。

     

     

    1-2. 以下を実行し、OCPUを1に変更します。(赤字の箇所を1-1で取得したOCIDに置き換えてください)

    $ oci db autonomous-database update --autonomous-database-id "<取得したADBインスタンスのOCID>" --cpu-core-count 1

     

         lifecycle-state 列が SCALE_IN_PROGRESS になっていればOKです。

         しばらく経ってから、GUIツール(WEB画面)、もしくはlistコマンドにてOCPU=1(cpu-core-count=1)にスケールダウンしたことをご確認ください。

     

     

    2. 次にこのインスタンスを停止・起動してみましょう

     

    2-1. 以下を実行し、対象のインスタンスを停止します。(赤字の箇所を1-1で取得したOCIDに置き換えてください)

    oci db autonomous-database stop --autonomous-database-id "<取得したADBインスタンスのOCID>"

     

         しばらく経ってから、GUIツール(WEB画面)、もしくはlistコマンドでインスタンスが停止したかご確認ください。

     

     

    2-2. 以下を実行し、対象のインスタンスを起動します。(赤字の箇所を1-1で取得したOCIDに置き換えてください)

    oci db autonomous-database start --autonomous-database-id "<取得したADBインスタンスのOCID>"

     

         しばらく経ってから、GUIツール(WEB画面)、もしくはlistコマンドでインスタンスが停止したかご確認ください。

     

     

    3. 新たにADBインスタンスを作成してみましょう。

     

    3-1. 以下の記載例を参考にインスタンスを作成します。赤字が入力必須のパラメータです。

    $ oci db autonomous-database create --display-name=atpXXb --db-name=atp01b --db-workload=OLTP --cpu-core-count=1 --data-storage-size-in-tbs=1 --admin-password="Welcome12345#" --license-model=LICENSE_INCLUDED

     

    コマンドが問題なく通ると、インスタンス作成時に指定した情報がJSON形式で出力されます。

    lifecycle-stateの値が "PROVISIONING" と表示されていればOKです。

     

    その他、インスタンス作成時のオプションについてはマニュアルを参照ください。もしくは以下のコマンドでも確認できます。

    $ oci db autonomous-database create --help

     

     

         しばらく経ってから、インスタンスが問題なく構成されたかをご確認ください。

         GUIツール(WEB画面)にてatp01bという名前のインスタンスが使用可能と表示されているか、もしくは上記2のlistコマンドを実行し、atp01bという名前のインスタンスのlifecycle-state の値がAvailableになっていればOKです。

     

     

     

    以上で、この章の作業は終了です。

     

     

    ADBコンテンツ一覧に戻るAutonomous Database ハンズオンラボ