Oracle Cloud Infrastructure CLIの導入

Oracle Cloud Infrastructure CLIの導入

はじめましてid:a-oonoといいます。 OCIのコマンドラインインターフェースについて記載していこうと思います。

注意事項

OCIには世代が2つあり、利用するリージョンによって提供されているサービスが異なるので注意が必要です。今後、日本でも展開される予定とされている次世代のOCIについて記載していきます。現在日本で展開されているサービスは "OCI Classic" と区別させて頂きます。当該記事で解説するOCI CLIでは次世代のOCIが対象となっています。こちらは現在US:us-phoenix-1、us-ashburn-1リージョン、DE:eu-frankfurt-1リージョン、UK: uk-london-1リージョンでのみ展開があります。

"OCI"と"OCI Classic"の違いについては、別の記事にて紹介させて頂こうと考えています。

OCIの日本語ドキュメントはつい先日リリースされましたね。OCI CLIのマニュアルについてはこちらのリンクを参照してみてください。

前提条件

OCI CLIの導入は、以下の環境および状態で実施しています。

  • CentOS 7.5 ※他ディストリビューションのサポートはマニュアルを参照ください。
  • OSはminimal構成のため、システムにpython及びその他必須パッケージが導入されていない状態です。
  • oci_user ユーザという一般ユーザを作成して動作確認をしています。

インストール作業

以下のスクリプトを実行します。途中で対話式の質問に答える必要があります。

$ bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
Python3 not found on system PATH
Running install script.
-- Verifying Python version.
-- Python version 2.7.5 okay.
-- Verifying native dependencies.
-- Executing: 'rpm -q gcc libffi-devel python-devel openssl-devel'
-- One or more of the following native dependencies are not currently installed and may be required.
"sudo yum install -y gcc libffi-devel python-devel openssl-devel"

===> Missing native dependencies. Continue and install the following dependencies: gcc, libffi-devel, python-devel, openssl-devel? (Y/n):

以降の質問はすべてYを入力して問題ないと思います。一般ユーザで作業する場合はシステムワイドにoci cliは導入されませんので注意してください。途中sudoのパスワードの入力が求められます。

途中省略

依存性を更新しました:
  e2fsprogs.x86_64 0:1.42.9-12.el7_5   e2fsprogs-libs.x86_64 0:1.42.9-12.el7_5
  krb5-libs.x86_64 0:1.15.1-19.el7     libcom_err.x86_64 0:1.42.9-12.el7_5
  libgcc.x86_64 0:4.8.5-28.el7_5.1     libgomp.x86_64 0:4.8.5-28.el7_5.1
  libss.x86_64 0:1.42.9-12.el7_5       python.x86_64 0:2.7.5-69.el7_5
  python-libs.x86_64 0:2.7.5-69.el7_5

完了しました!

===> In what directory would you like to place the install? (leave blank to use '/home/oci_user/lib/oracle-cli'):y

===> In what directory would you like to place the 'oci' executable? (leave blank to use '/home/oci_user/bin'):y
-- Creating directory '/home/oci_user/bin'.
-- The executable will be in '/home/oci_user/bin'.

途中省略

===> Modify profile to update your $PATH and enable shell/tab completion now? (Y/n):y

途中省略

===> Enter a path to an rc file to update (leave blank to use '/home/oci_user/.bashrc'):y
-- Backed up '/home/oci_user/.bashrc' to '/home/oci_user/.bashrc.backup'
-- Tab completion set up complete.
-- If tab completion is not activated, verify that '/home/oci_user/.bashrc' is sourced by your shell.
--

ユーザのhomeディレクトリ直下に、以下のディレクトリが作成されました。

  • bin
  • lib

また~/.bashrcに以下の設定が追加されました。

# User specific aliases and functions

export PATH=/home/oci_user/bin:$PATH

[[ -e "/home/oci_user/lib/oracle-cli/lib/python2.7/site-packages/oci_cli/bin/oci_autocomplete.sh" ]] && source "/home/oci_user/lib/oracle-cli/lib/python2.7/site-packages/oci_cli/bin/oci_autocomplete.sh"

以上でOCI CLIの導入は完了です。 ターミナルに再度ログインするとociコマンドにパスが通っている事や ociコマンドの後にタブを入力するとオートコンプリートが動作している事がわかります。

$ oci -v
2.4.28
$ oci 
audit    ce       db       email    iam      network  setup
bv       compute  dns      fs       lb       os

これまでの状態ではOCIのアカウント情報など設定されていないのでociコマンドは正常に動作しませんので、次回の記事で設定を行っていきます。