LoginSignup
11
11

More than 3 years have passed since last update.

Windows に Oracle Cloud Infrastructure のコマンドライン・インターフェース(OCI CLI)をインストールする

Last updated at Posted at 2021-01-04

Windows マシンに Oracle Cloud Infrastructure の CLI をインストールする際にすこし手間取ったのでメモ書き。
基本的にこれに沿って実施しているので,公式ドキュメントで十分な人であればこの記事はいらない。

OCI CLI のインストール

①PowerShell を管理者権限で開く

もし Windows PowerShell しかない場合は,念のため最新の(OSS 化した)PowerShell をインストールしておくとよい。
see: https://github.com/PowerShell/PowerShell/releases

②実行ポリシを RemoteSigned に変更する

後段にてダウンロードした PowerShell スクリプトを実行するため,実行ポリシを RemoteSigned に変更する。
いまのPowerShellプロセスのみに適用されるようスコープを指定しておくとよいです。

Set-ExecutionPolicy RemoteSigned -Scope Process

③インストールスクリプトをダウンロードする

以下のコマンドを実行。

Invoke-WebRequest https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.ps1 -OutFile install.ps1

もし SSL/TLS のセキュリティで保護されているチャネルを作成できませんでした エラーが発生した場合は,以下記事を参考に TLS1.2 の有効化を行う。
PowerShell で GitHub に wget(Invoke-WebRequest) できない場合の対処方法

④インストールスクリプトを実行する

全てデフォルトの設定でインストールする場合は以下のコマンドを実行する。

install.ps1 -AcceptAllDefaults

プロンプトを表示し対話式に設定を行いながらインストールする場合は,以下コマンドを実行すると公式ドキュメントには書いてある。

iex ((New-ObjectSystem.Net.WebClient).DownloadString('https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.ps1'))

しかし,前段で同 URL からスクリプトをダウンロードしているので,おそらく

install.ps1

だけでよいかも。というか前者のコマンドを実行したらエラーが起きた1

インストールの確認

インストール後は,oci -v でバージョンが表示されることを確認しておく。

PS C:\Windows\System32> oci -v
2.17.0

APIキーの設定

秘密鍵/公開鍵の作成

OCI CLI を使って,キーペアを作成する。
キーペアの作成はoci setup keysコマンドで行える。

PS C:\Windows\System32> oci setup keys
Enter a passphrase for your private key (empty for no passphrase):
Public key written to: C:\Users\【ユーザ名】\.oci\oci_api_key_public.pem
Private key written to: C:\Users\【ユーザ名】\.oci\oci_api_key.pem
Public key fingerprint: 【フィンガープリント】


    If you haven't already uploaded your API Signing public key through the
    console, follow the instructions on the page linked below in the section
    'How to upload the public key':

        https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#How2

公開鍵の登録

前段で作成した公開鍵を OCI のユーザに登録する。

① OCIコンソールを開き,ユーザ画面へ移動する

OCIコンソール画面右上のプロファイルからユーザ詳細画面へ移動する。
2021-01-04_173132.png

②APIキー設定画面を開く

ユーザ詳細画面左下「リソース」から,「APIキー」を選択。
2021-01-04_173316.png

すると以下の画面が表示される。
スクリーンショットでは,キーを追加済みなのでフィンガープリントが表示されているが,設定していない場合はここにはなにも表示されない。
「APIキーの追加」をクリック。
2021-01-04_173342.png

「APIキーの追加」をクリックすると以下のダイアログが開く。
2021-01-04_174036.png

③APIキーを設定する

この画面でAPIキーペアを生成することもできるが,今回は先ほど作成したキーペアを使用するため,「公開キー・ファイルの選択」または「公開キーの貼付け」を選択する。
2021-01-04_173419.png

ここでは「公開キーの貼付け」を選択し,先ほど作成した公開キー(oci_api_key_public.pem)の中身をテキストエリアに貼り付ける。

2021-01-04_174206.png

貼り付けたら「追加」をクリックする。
設定が完了したら,先ほどのAPIキー一覧テーブルにフィンガープリントとともに表示される。

OCI CLI設定ファイルを作成する

前段までで,秘密鍵/公開鍵の作成と登録を行った。
ここからはOCI CLIにこれらのキーペアを認識させるための手順となる。

①ユーザ OCID の確認

ユーザ OCID は,APIキーの設定で開いたユーザ詳細画面から確認できる。

2021-01-04_180243.png

「ユーザー情報」タブの「OCID」欄に表示されている。
「コピー」をクリックするとクリップボードにコピーされるので,控えておく。

②テナンシ OCID,ホームリージョンの確認

ユーザ詳細画面と同様,プロファイルからテナンシ詳細画面に移動する。

2021-01-04_180448.png

こちらもユーザ詳細画面と同様,「テナンシ情報」タブの「OCID」欄に表示されている。
「コピー」をクリックするとクリップボードにコピーされるので,控えておく。
また,テナンシのホームリージョンもあわせて確認しておく。
2021-01-04_175957.png

oci setup config で設定ファイルを作成する

①,②で確認した情報をもとに,oci setup configコマンドで対話式に設定ファイルを作成する。

なお,リージョン名とリージョン識別子の対応は以下に記載されている。
リージョン名が Japan East(Tokyo) の場合は,ap-tokyo-1 がリージョン識別子となる。
https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm

PS C:\Windows\System32> oci setup config
    This command provides a walkthrough of creating a valid CLI config file.

    The following links explain where to find the information required by this
    script:

    User API Signing Key, OCID and Tenancy OCID:

        https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#Other

    Region:

        https://docs.cloud.oracle.com/Content/General/Concepts/regions.htm

    General config documentation:

        https://docs.cloud.oracle.com/Content/API/Concepts/sdkconfig.htm


Enter a location for your config [C:\Users\【ユーザ名】\.oci\config]:
Enter a user OCID: 【①で確認したユーザ OCID】
Enter a tenancy OCID: 【②で確認したテナンシ OCID】
Enter a region (e.g. ap-chiyoda-1, ap-chuncheon-1, ap-hyderabad-1, ap-melbourne-1, ap-mumbai-1, ap-osaka-1, ap-seoul-1, ap-sydney-1, ap-tokyo-1, ca-montreal-1, ca-toronto-1, eu-amsterdam-1, eu-frankfurt-1, eu-zurich-1, me-dubai-1, me-jeddah-1, sa-santiago-1, sa-saopaulo-1, uk-cardiff-1, uk-gov-cardiff-1, uk-gov-london-1, uk-london-1, us-ashburn-1, us-gov-ashburn-1, us-gov-chicago-1, us-gov-phoenix-1, us-langley-1, us-luke-1, us-phoenix-1, us-sanjose-1): 【②で確認したホームリージョンを指定しておく】
Do you want to generate a new API Signing RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]: n【すでに作成済みのため n を選ぶ】
Enter the location of your API Signing private key file: C:\Users\【ユーザ名】\.oci\oci_api_key.pem
Fingerprint: hogehoge
Config written to C:\Users\【ユーザ名】\.oci\config


    If you haven't already uploaded your API Signing public key through the
    console, follow the instructions on the page linked below in the section
    'How to upload the public key':

        https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#How2

作成した設定ファイルはC:\Users\【ユーザ名】\.oci\configに保存される。

APIが実行できることを確認する

なんらかのコマンドを実行して,APIが実行できることを確認する。

PS C:\Windows\System32> oci iam region list --output table
+-----+----------------+
| key | name           |
+-----+----------------+
| AMS | eu-amsterdam-1 |
| BOM | ap-mumbai-1    |
| CWL | uk-cardiff-1   |
| DXB | me-dubai-1     |
| FRA | eu-frankfurt-1 |
| GRU | sa-saopaulo-1  |
| HYD | ap-hyderabad-1 |
| IAD | us-ashburn-1   |
| ICN | ap-seoul-1     |
| JED | me-jeddah-1    |
| KIX | ap-osaka-1     |
| LHR | uk-london-1    |
| MEL | ap-melbourne-1 |
| NRT | ap-tokyo-1     |
| PHX | us-phoenix-1   |
| SCL | sa-santiago-1  |
| SJC | us-sanjose-1   |
| SYD | ap-sydney-1    |
| YNY | ap-chuncheon-1 |
| YUL | ca-montreal-1  |
| YYZ | ca-toronto-1   |
| ZRH | eu-zurich-1    |
+-----+----------------+

なお,--output table を指定しない場合は,JSON 形式でレスポンスが返ってくる。

Reference

本記事におけるバージョン情報

PS C:\Windows\System32> systeminfo
OS 名:                  Microsoft Windows 10 Pro
OS バージョン:          10.0.19042 N/A ビルド 19042
PS C:\Windows\System32> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.1.0
PSEdition                      Core
GitCommitId                    7.1.0
OS                             Microsoft Windows 10.0.19042
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
PS C:\Windows\System32> oci --version
2.17.0

  1. これを見ると、powershell -NoProfile -ExecutionPolicy Bypass "iex ((New-ObjectSystem.Net.WebClient).DownloadString('https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.ps1'))"を実行するとあるので、こちらならいいのかも? 

11
11
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
11
11