OCI CLIでバックアップ設定をしてみた
こんにちは。Oracle Cloud Infrastructure(OCI)特集 編集部です。
今回はバックアップの設定をCLI上からしてみようと思います。
以下の手順で設定をします。
【作業の流れ】
前提
【設定するにあたって事前にインストールするもの】
- Pythonのインストール
OCI CLIはPythonベースで作成されているため。
下記サイトよりダウンロードを行い接続元端末にインストールします。
https://www.python.org/downloads/windows/
※現時点(2019年6月時点)での公式ドキュメントではWindows を利用している場合は、Python3 ではなくPython2の利用を推奨しています。
(Python3ではOCI CLIインストール時に複数のエラーが発生する可能性が高いため) - OCI CLIのインストール
下記サイトを参考にし、接続元端末にインストールします。
https://docs.oracle.com/cd/E97706_01/Content/API/SDKDocs/cliinstall.htm - Bashが使える環境のセットアップ
OCI CLI はターミナル・コンソールから実行しますが、今回はそのコンソールとしてBashターミナルを利用するため、セットアップを行います。
好みに応じたターミナルを用意してください。
※今回はGit Bashを利用しました。
下記サイトよりダウンロードを行い接続元端末にインストールします。
https://gitforwindows.org/ttps://gitforwindows.org/
CLIアクセスの準備
CLIでOCIにアクセスするためには、ユーザー、テナント、コンパートメントの OCID (Oracle Cloud ID) が必要になります。
OCIDとは
必要なOCIDをWebコンソールから確認していきます。
左上のメニューから「アイデンティティ」⇒「ユーザー」⇒CLIアクセスしたいユーザーを選択します。
詳細画面からOCIDを確認し、コピーしたOCIDをメモ帳などに貼りつけます。
テナント、コンパートメントのOCIDも同様にメモ帳に貼りつけておきます。
CLIの設定
設定ファイルとAPIキーの生成
任意のBashターミナルを起動します。
今回はWindows PowerShellを「管理者として実行」オプションで開きます。
以下のコマンドを実行し、CLIのコンフィグレーションスクリプトを起動します。
oci setup config
対話形式で質問がされるため、以下の通り入力していきます。
- Enter a location for your config [D:\Users\<ユーザー名>\.oci\config]: 入力なしでENTERキーを押す
- Enter a user OCID: ユーザーのOCIDを入力
※CLIアクセスの準備でコピーしたOCIDを入力してください。
- Enter a tenancy OCID: テナントのOCIDを入力
※CLIアクセスの準備でコピーしたOCIDを入力してください。
- Enter a region (e.g. eu-frankfurt-1, us-ashburn-1, us-phoenix-1): – アクセスしたいリージョンを例に従って入力
- Do you want to generate a new RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]: – Y
※既に作成されたAPIキーがある場合は、「N」と入力してください。
- Enter a directory for your keys to be created [C:\Users\<ユーザー名>\.oci]: – 入力なしでENTERキーを押す
- Enter a name for your key [oci_api_key]: – 入力なしでENTERキーを押す
- Enter a passphrase for your private key (empty for no passphrase): – 任意のパスフレーズを入力
スクリプトが問題なく完了された場合は、「C:\Users\opc\oci」ディレクトリに「config」ファイルと公開鍵、秘密鍵が作成されます。
※上記ディレクトリはデフォルト設定の場合です。自身で他のディレクトリに設定した場合は、そちらをご確認ください。
APIキーのアップロード
OCIコンソールにログインし、左上のメニューから「アイデンティティ」⇒「ユーザー」⇒対象のユーザーを選択します。
ユーザー詳細画面下部にある「公開キーの追加」をクリックします。
先程作成した公開鍵を、テキストエディタで開きます。中身を全てコピーし、そのまま貼りつけ、「追加」をクリックします。
APIキー一覧に追加されたことを確認します。
CLIからアクセスの確認をする
公開鍵の登録まで完了すると、CLIでアクセスが可能になります。
きちんとアクセスできるか確認を行います。
任意のターミナル・コンソールを起動します。
以下のコマンドを入力します。
oci compute image list -c <コンパートメントのOCID>
以下のような結果が返ってくれば、OCIへのアクセスに成功しています。
バックアップのコマンドを実行する
任意のターミナル・コンソールを起動します。
※今回はGitBashで作業しました。
バックアップを取得するボリュームが、ブートボリュームかブロックボリュームかによってコマンドが違います。
ブートボリュームのバックアップ
以下のコマンドを実行します。
oci bv boot-volume-backup create [オプション]
オプション
-
--boot-volume-id [text] ※必須
バックアップを取得するボリュームのOCID -
--defined-tags [complex type]
このリソースの定義済みタグ -
--display-name [text]
ボリュームバックアップの名前 -
--freeform-tags [complex type]
このリソースの自由形式タグ
各タグは、定義済みの名前、タイプ、またはネームスペースのない単純なキーと値のペア -
--type [FULL|INCREMENTAL]
フルバックアップ(FULL)または増分バックアップ(INCREMENTAL)
※特に指定しない場合は増分バックアップで作成 -
--wait-for-state [CREATING|AVAILABLE|TERMINATING|TERMINATED|FAULTY|REQUEST_RECEIVED]
定義されたライフサイクル状態を持つリソースを作成、変更、または削除 -
--max-wait-seconds [integer]
リソースが--wait-for-stateで定義されたライフサイクル状態に達するのを待つ最大時間 -
--wait-interval-seconds [integer]
--wait-for-stateで定義されたライフサイクル状態にリソースが到達したかどうかを確認しに行く時間
※デフォルトは30秒 -
--from-json [text]
file:// path-to / file構文を使用して、ファイルからこのコマンドへの入力をJSON文書として提供
Webコンソールから確認すると、バックアップが作成できています。
ブロックボリュームのバックアップ
以下のコマンドを入力します。
oci bv backup create [OPTIONS]
オプション
-
--volume-id [text] ※必須
バックアップを取得するボリュームのOCID -
--defined-tags [complex type]
このリソースの定義済みタグ -
--display-name [text]
ボリュームバックアップの名前 -
--freeform-tags [complex type]
このリソースの自由形式タグ
各タグは、定義済みの名前、タイプ、またはネームスペースのない単純なキーと値のペア -
--type [FULL|INCREMENTAL]
フルバックアップ(FULL)または増分バックアップ(INCREMENTAL)
※特に指定しない場合は増分バックアップで作成 -
--wait-for-state [CREATING|AVAILABLE|TERMINATING|TERMINATED|FAULTY|REQUEST_RECEIVED]
定義されたライフサイクル状態を持つリソースを作成、変更、または削除 -
--max-wait-seconds [integer]
リソースが--wait-for-stateで定義されたライフサイクル状態に達するのを待つ最大時間 -
--wait-interval-seconds [integer]
--wait-for-stateで定義されたライフサイクル状態にリソースが到達したかどうかを確認しに行く時間
※デフォルトは30秒 -
--from-json [text]
file:// path-to / file構文を使用して、ファイルからこのコマンドへの入力をJSON文書として提供
Webコンソールから確認すると、バックアップが作成できています。
GUIからの操作ではなく、CLIから操作することによって、設定時間の短縮が可能になりました。