LoginSignup
4
1

More than 3 years have passed since last update.

[OCI] 簡単になったoci cliのインストール手順

Last updated at Posted at 2021-02-14

oci cli の設定手順が今までより簡単になりました。
configファイルの雛形が作られるようになりました、変更点は、Linux版、PowerShell版共通ですので、ここでは、事例の少ないPowershellでインストール手順をまとめます。

oci cliのPCへのインストール

  • CMDを管理者モードで起動して、oci cliのインストール、この部分は以前とは変わっていません。Linux版も変わっていません。

  • powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.ps1'))"

  • oci cli自体はpythonですが、python3のインストールも含めて実行されます。また、pipもインストールされます。むしろpython2などがあると、かえってトラブルになるのでpython系はpipも含めて何も事前には入っていないほうが楽ではないかと思います。

  • 対話的に入力する情報は、ここでは従来どおり 空エンターまたはY で先に進みます。

image-20210210083718109.png

ociというコマンドが認識される状態になればここでのインストールは完了です。

OCI側での設定

OCI実行対象ユーザーの選択

初期状態でも最低、アカウントは2個はあります、フェデレーテッドがはいとなっているIDCSユーザーと、フェデレーテッドがいいえとなっているIAM ユーザーです。

どちらでも動きますが、特にIAMでなくてはならない理由はないので、あらゆるPaaSサービスが動かせるIDCSユーザーに対して設定することにします。

ナビゲーション : アイデンティティ > ユーザー へ移行
image-20210211181046947.png

ociを起動する権限を与える対象のユーザーアカウントを選んで

アイデンティティ > ユーザー > APIキー > APIキーの追加
image-20210211175843703.png

最初はAPIキーはありませんが、ここでは、APIキー・ペアの生成を選んでOCI上で生成します。

image-20210211175959001.png

生成したら、秘密キーと公開キーをダウンロードします。OCI上でAPIキーが生成可能になったのも、最近の機能追加ですので、古い手順書だと、ローカルからのキーのアップロードという手法に確定してますが、今となっては、特に理由なくば、この場でキーを生成したほうが手軽だと思います。

本来必要なのは秘密キーのみですが、公開キーを持っておくと、OCI以外のマシンに対しても公開キーを与えることで、sshログインできるようになるので、後々のために両方ダウンロードしておきます、後からのダウンロードはできません。

続いて 追加を押すと config ファイルの雛形が表示されます
image-20210211180600088.png

右下のコピーを押してconfigファイルの雛形をコピーします、この機能が新しくて、今までは、各行のデータを手作業で集めていましたが、それは不要になりました。

PCへのconfigファイルの登録

*c:\Users\<ユーザーID>\* の場所で .oci のサブディレクトリーの作成

mkdir .oci で作成

Linuxの場合は、この後 chmod 600 とやってアクセス制限をかけますが、Windowsでは、これに相当する設定はありません。

もしも、ociコマンド使用時にアクセス範囲が広すぎてセキュアではないというWARNINGが出る場合は、環境変数に

OCI_CLI_SUPPRESS_FILE_PERMISSIONS_WARNING=True

という環境変数をOSに仕込むと抑止できますが、最近のversionでは、このエラーは見かけなくなっています、もう不要なのかもしれません。

configファイルの編集

c:\Users<userid>.oci\config の編集

c:\Users\<ユーザーID>\.oci\config

の位置に、OCIコンソールからダウンロードしたconfigファイルを配置して #TODOの部分を修正します。

key_file= # TODO 

となっていた行を下記のイメージで書き換えます

[DEFAULT]
user=ocid1.user.oc1..aaaaaaaa27oscni2oxnj2riqaq735flmiebiyqnXXXXXXXXXXsv2gy6bggya
fingerprint=7d:5f:65:77:cb:7b:8a:cc:2e:2f:69:xx:xx:xx:xx:xx
tenancy=ocid1.tenancy.oc1..aaaaaaaav4pe2jbu3nuwxwackpe3bwXXXXXXXXXXup2e2sdpw5ikcm3akf2q
region=sa-saopaulo-1
key_file=c:\Users\<ユーザーID>\.oci\privatekey.pem

ここで key_file のパスの書き方は、Windowsの場合はの場合はフルパスで書きます。

Linux Macの場合は ~/.oci/privatekey.pem みたいに書けますが

Windowsの場合は、絶対パスでしか書けません、 %USERHOME% とか $env:USERHOME とか使って書いても、効きません。

動作確認

oci iam user list

で、アクセス可能なuser listが出ることの確認

今までと何が違うか

oci setup configが必須ではない

configの雛形が提供された

image-20210213172635494.png

保守

oci cli のインストール時にpipもinstallされているので 更新はpipで行えます。

oci -v で現行version確認

管理者モードで pip install oci-cli

再度oci -v でversionが最新化されたことを確認

参考リンク

コマンドライン・インタフェース(CLI) 公式

github

Oracle Cloud用の oci cliを導入

まとめ

ちょっとずつインストールが便利になってきています。

従来の導入手順のままでもインストールはできるので、この手順は必須ではないです。

Linux版が主流ですがPowershellでもCMDでもCLIは普通に動きます。

Pythonアプリの最新化はpip installで更新できるのでpip使うべき。

今まで設定ミスして放置していたアカウントのCLIの設定がこの新方法で、どこにあったのかわかりませんでしたが記述ミスを解消して、CLIが復活できました。

以上

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1