Oracle Cloud Infrastructure(OCI) の OCIコマンドライン・インタフェース(CLI)は、MSIインストーラを使用して、Windows にインストールできます。
ということで、Windows 10 へクイックに OCI CLI をインストールしてみてみます。
■ 1. OCI CLI MSIインストーラをダウンロード
Windows用のOCI CLI MSIインストーラをGitHubからダウンロードします。
今回 WIndows 10 にインストールするので、今回は oci-cli-3.38.1-Windows-Server-Installer.msi をダウンロードします。
■ 2. インストール
ダウンロードしたインストーラの実行ファイルを実行します。
1) MSIインストーラ実行
2) oci-cli Setup画面
CLIをインストールするシステム上のローカルディレクトリを選択し、[Next]をクリック
4) インストール完了
インストーラが終了したら、[Finish]をクリックして完了です。
5) インストール確認
PowerShellで OCI-CLI Versionを確認
PS C:\Users\Shiro> oci -v
3.37.12
■ 3. OCI CLI設定
1) 必要情報確認
CLIを実行する OCIのAPIユーザー、Tenancy、Compartments情報を取得しておきます
・OCI APIユーザー情報
USer名:shirok
User OCID:ocid1.user.oc1..aaaaaaaaka3gjm4yyq6hrx4geayb77o6hr5kgcipyvs7a
・Tenancy 情報
Tenancy名:ocitest
Tenancy OCID: ocid1.tenancy.oc1..aaaaaaaaka3gjm4yyq6hrx4geayb77o6hr5kgcipyvs
・Compartments情報
Compartment名:POC
Compartment OCID: ocid1.compartment.oc1..aaaaaacvoyfoxo6s4h3siefgto2bg4dciubirdrg3b
2) Setup実行
PS C:\Users\oracle> 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\oracle\.oci\config]:
Enter a user OCID:
Enter a user OCID: ocid1.user.oc1..aaaaaaaaka3gjm4yyq6hrx4geayb77o6hr5kgcipyvs7a
Enter a tenancy OCID: ocid1.tenancy.oc1..aaaaaaaaka3gjm4yyq6hrx4geayb77o6hr5kgcipyvs
Enter a region by index or name(e.g.
1: af-johannesburg-1, 2: ap-chiyoda-1, 3: ap-chuncheon-1, 4: ap-dcc-canberra-1, 5: ap-hyderabad-1,
6: ap-ibaraki-1, 7: ap-melbourne-1, 8: ap-mumbai-1, 9: ap-osaka-1, 10: ap-seoul-1,
11: ap-singapore-1, 12: ap-sydney-1, 13: ap-tokyo-1, 14: ca-montreal-1, 15: ca-toronto-1,
16: eu-amsterdam-1, 17: eu-dcc-dublin-1, 18: eu-dcc-dublin-2, 19: eu-dcc-milan-1, 20: eu-dcc-milan-2,
21: eu-dcc-rating-1, 22: eu-dcc-rating-2, 23: eu-dcc-zurich-1, 24: eu-frankfurt-1, 25: eu-frankfurt-2,
26: eu-jovanovac-1, 27: eu-madrid-1, 28: eu-madrid-2, 29: eu-marseille-1, 30: eu-milan-1,
31: eu-paris-1, 32: eu-stockholm-1, 33: eu-zurich-1, 34: il-jerusalem-1, 35: me-abudhabi-1,
36: me-dcc-doha-1, 37: me-dcc-muscat-1, 38: me-dubai-1, 39: me-jeddah-1, 40: mx-monterrey-1,
41: mx-queretaro-1, 42: sa-bogota-1, 43: sa-santiago-1, 44: sa-saopaulo-1, 45: sa-valparaiso-1,
46: sa-vinhedo-1, 47: uk-cardiff-1, 48: uk-gov-cardiff-1, 49: uk-gov-london-1, 50: uk-london-1,
51: us-ashburn-1, 52: us-chicago-1, 53: us-gov-ashburn-1, 54: us-gov-chicago-1, 55: us-gov-phoenix-1,
56: us-langley-1, 57: us-luke-1, 58: us-phoenix-1, 59: us-saltlake-2, 60: us-sanjose-1): ap-tokyo-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]:
Enter a directory for your keys to be created [C:\Users\oracle\.oci]:
Enter a name for your key [oci_api_key]:
Public key written to: C:\Users\oracle\.oci\oci_api_key_public.pem
Enter a passphrase for your private key ("N/A" for no passphrase):
Enter a passphrase for your private key ("N/A" for no passphrase):
Enter a passphrase for your private key ("N/A" for no passphrase):
Enter a passphrase for your private key ("N/A" for no passphrase):
Enter a passphrase for your private key ("N/A" for no passphrase):
Enter a passphrase for your private key ("N/A" for no passphrase):
Enter a passphrase for your private key ("N/A" for no passphrase):
Enter a passphrase for your private key ("N/A" for no passphrase):
Repeat for confirmation:
Private key written to: C:\Users\oracle\.oci\oci_api_key.pem
Fingerprint: ac:ae:b6:f8:db:8a:ac:d2:8c:f1:6b:13:34
Config written to C:\Users\oracle\.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
2) Setup実行確認
oci setup config を実行すると ~/.oci ディレクトリとその配下に必要ファイルが作成されます
PS C:\Users\oracle> ls ~/.oci
ディレクトリ: C:\Users\oracle\.oci
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2024/03/11 18:17 303 config
-a---- 2024/03/11 18:17 1704 oci_api_key.pem
-a---- 2024/03/11 18:17 451 oci_api_key_public.pem
PS C:\Users\oracle\.oci> cat .\config
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaaka3gjm4yyq6hrx4geayb77o6hr5kgcipyvs7a
fingerprint=ac:ae:b6:f8:db:8a:ac:d2:8c:f1:6b:13:34
key_file=C:\Users\oracle\.oci\oci_api_key.pem
tenancy=ocid1.tenancy.oc1..aaaaaaaaka3gjm4yyq6hrx4geayb77o6hr5kgcipyvs
region=ap-tokyo-1
■ 4. CLI鍵をOCIユーザーに登録
CLIは鍵認証でアクセスされるので作成されたPublic Kye をOCI ユーザーに登録してCLIアクセスできるようにします
1) Public鍵(oci_api_key_public.pem)確認
この oci_api_key_public.pemの内容を CLIを実行する OCIユーザーの API Keyに登録します。
PS C:\Users\oracle> cat ~/.oci/oci_api_key_public.pem
-----BEGIN PUBLIC KEY-----
BJki8jANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArtez3m24O11PHww6B
Atemb/e3BPgSeYHxVWASmTs4vDVARNSD5jvxacKp1SPAPyYH2SVOaYqvFtqx6
PqUYWJhPqdfuOJU+T05XX/I3lOMHOLdym/z0E6pM3lAmInBOq30AgCLIa/bjA
SoozH5OfqUlN/kVeEIrmqJ2a0AFGpo2ftemHhwyBfiCM6IsC5iZ+CnMFHGQ/U
FojmV7CUDzqWwId9TOjaZ0Nmbg2+K91vyq7fZoh0ujF17usTNBfM/faJcfARh
2sgbHx7A+4caNH2JyqYszUhIzde9vNmisb+vzQtrIVfWDXLEKMefkD9Z9zP0P
Au5G3
-----END PUBLIC KEY-----
2) Public鍵をOCIユーザーに登録
**2) 登録するユーザー画面
WEBコンソール右上の人型アイコンからログインしているユーザー画面に遷移
3) APIキーの追加
・左ペインにある[APIキーの追加]をクリックしPublic鍵(oci_api_key_public.pem)を登録
■ 5. OCI CLI実行テスト
デフォルトでは、コマンドに対するすべてのレスポンスはJSON形式で返されます。
たとえば、リージョンのリストを取得するコマンドを発行すると、次のレスポンスが戻されます。
PS C:\Users\oracle\.oci> oci iam region list
{
"data": [
{
"key": "AMS",
"name": "eu-amsterdam-1"
},
{
"key": "ARN",
"name": "eu-stockholm-1"
},
{
"key": "AUH",
"name": "me-abudhabi-1"
},
{
"key": "BOG",
"name": "sa-bogota-1"
},
{
"key": "BOM",
"name": "ap-mumbai-1"
},
{
"key": "CDG",
"name": "eu-paris-1"
},
{
"key": "CWL",
"name": "uk-cardiff-1"
},
{
"key": "DXB",
"name": "me-dubai-1"
},
{
"key": "FRA",
"name": "eu-frankfurt-1"
},
{
"key": "GRU",
"name": "sa-saopaulo-1"
},
{
"key": "HYD",
"name": "ap-hyderabad-1"
},
{
"key": "IAD",
"name": "us-ashburn-1"
},
{
"key": "ICN",
"name": "ap-seoul-1"
},
{
"key": "JED",
"name": "me-jeddah-1"
},
{
"key": "JNB",
"name": "af-johannesburg-1"
},
{
"key": "KIX",
"name": "ap-osaka-1"
},
{
"key": "LHR",
"name": "uk-london-1"
},
{
"key": "LIN",
"name": "eu-milan-1"
},
{
"key": "MAD",
"name": "eu-madrid-1"
},
{
"key": "MEL",
"name": "ap-melbourne-1"
},
{
"key": "MRS",
"name": "eu-marseille-1"
},
{
"key": "MTY",
"name": "mx-monterrey-1"
},
{
"key": "MTZ",
"name": "il-jerusalem-1"
},
{
"key": "NRT",
"name": "ap-tokyo-1"
},
{
"key": "ORD",
"name": "us-chicago-1"
},
{
"key": "PHX",
"name": "us-phoenix-1"
},
{
"key": "QRO",
"name": "mx-queretaro-1"
},
{
"key": "SCL",
"name": "sa-santiago-1"
},
{
"key": "SIN",
"name": "ap-singapore-1"
},
{
"key": "SJC",
"name": "us-sanjose-1"
},
{
"key": "SYD",
"name": "ap-sydney-1"
},
{
"key": "VAP",
"name": "sa-valparaiso-1"
},
{
"key": "VCP",
"name": "sa-vinhedo-1"
},
{
"key": "YNY",
"name": "ap-chuncheon-1"
},
{
"key": "YUL",
"name": "ca-montreal-1"
},
{
"key": "YYZ",
"name": "ca-toronto-1"
},
{
"key": "ZRH",
"name": "eu-zurich-1"
}
]
}