第1章 コンピュート・エンクレーブでの操作
Compute Enclaveは、クラウド・リソースを操作および管理するOracle Private Cloud Applianceの一部です。 この項では、コンピュート・エンクレーブへのグラフィカル・ユーザー・インタフェースおよびコマンドライン・インタフェースの一般的な使用原則について説明します。
1.1 コンピュートWeb UIの使用
Compute Web UIはCompute Enclaveへのグラフィカル・インタフェースです。 Compute Web UIは単独で使用することも、OCI CLIを使用してタスクを完了することもできます。 コンピュートWeb UIにはOCI CLIと同じコア機能がありますが、OCI CLIにはいくつかの追加機能があります。
この項では、Compute Web UIにログインしてダッシュボードをナビゲートし、リソース・タイプおよびリソース詳細ページを使用してリソースを操作する手順について説明します。 残りのOracle Private Cloud Applianceユーザー・ガイドでは、コンピュートWeb UIを使用して、ステップごとの手順のコンテキスト内でタスクを完了する方法を学習します。
1.1.1 ログイン
コンピュートWeb UIにログインする前に、Oracle Private Cloud Applianceシステムとドメイン名、テナンシ名およびユーザー名とパスワードがあることを確認してください。 これらの詳細がない場合は、登録者に問い合せてください。 サービスWeb UIにアクセスできる場合は、テナンシ名と、Oracle Private Cloud Applianceのシステム名とドメイン名を確認できます。
Compute Web UIにログインするには、次のステップを実行します。
-
ブラウザから、Oracle Private Cloud ApplianceのURLを入力します。
たとえば、
https://console.
pcasys1.mycompany.com
です。pcasys1
はOracle Private Cloud Applianceの名前、mycompany.com
はドメインです。「コンピュート・エンクレーブによるテナンシの選択」ページが表示されます。
-
テナンシ名を入力し、続行をクリックします。
サイン・イン・ページが表示されます。
-
ユーザー名とパスワードを入力し、Sign Inをクリックします。
Oracle Private Cloud Applianceダッシュボードにクイック・アクション・タイルが表示されます。
ノート一時パスワードを変更するよう求められた場合は、第2.1.3.1項、「パスワードの設定」を参照してください。
1.1.2 ダッシュボードのナビゲート
Compute Enclaveにログインすると、コンピュート・インスタンス、ブロックおよびファイル・ストレージ、VCNの表示など、一般的なタスクのクイック・アクション・タイルがダッシュボードに表示されます。 仮想マシン・インスタンスを作成するためのクイック・アクション・タイルもあります。
ダッシュボードは静的であり、構成できません。
クリックまたはタブをクリックできるナビゲーション・メニューは、サービス別に編成されています。 サービスをクリックすると、サブメニューが展開し、サービス・リソース・タイプが表示されます。 リソース・タイプをクリックすると、リソース・タイプに関連するリソースの表形式リストを含むページが表示されます。 次の表に、ナビゲーション・メニューに表示されるOracle Private Cloud Applianceサービスおよびそれぞれのリソース・タイプを示します。
サービス |
サブメニューのリソース・タイプ |
---|---|
Compute |
詳細は、第6章、「コンピュート・インスタンスのデプロイメント」を参照してください。 |
ブロック・ストレージ |
詳細は、第7章、「ブロック・ボリューム・ストレージ」を参照してください。 |
ファイル・ストレージ |
詳細は、第8章、「ファイル・システム・ストレージ」を参照してください。 |
オブジェクト・ストレージ |
詳細は、第9章、「オブジェクト・ストレージ」を参照してください。 |
ネットワーキング |
詳細は、第4章、「ネットワーク」を参照してください。 |
DNS |
詳細は、第4章、「ネットワーク」を参照してください。 |
アイデンティティ |
詳細は、第2章、「Identity and Access Management」を参照してください。 |
ガバナンス |
詳細は、第3.1項、「タグ・ネームスペースの作成と管理」を参照してください。 |
1.1.3 リソース・タイプおよびリソース詳細ページの使用
リソース・タイプおよびリソースの詳細ページは、コンパートメントまたはテナンシ・リソースを操作するために使用するページです。 リソース・タイプ・ページには、そのタイプのすべてのリソースのリストが表示され、サービス・サブメニューも含まれます。 リスト内のリソースをクリックすると、独自の詳細ページが表示されます。 すべてのリソースの詳細ページには、リソースに関する一般的な情報(OCID、作成日時、そのコンパートメント、リソースに関連付けられたタグなど)があります。
1.1.3.1 リソース・タイプ・ページについて
すべてのリソース・タイプ・ページには、リソースのリストが含まれ、リソースに関する同様の情報が提供され、リソースに対してなんらかの処理を実行できます。 リソースのリストは表形式で表示され、すべてのリソース・リストにはいくつかの共通要素が含まれます:
-
リソース名、作成済およびアクション列。
-
自動再ロード、リフレッシュおよびタグによるフィルタ・アクション。
ノートコンピュート・サービス・インスタンスのリソース・タイプ・ページには、ステータスでフィルタ・オプションもあります。
リスト内のリソースごとに、アクション・メニュー(3つのドット)があり、適切な権限があれば、詳細の表示、編集および削除が可能です。
たとえば、すべてのユーザーを表示する場合:
-
ナビゲーション・メニューを開き、アイデンティティをクリックします。
アイデンティティ・サブ・メニューが開き、リソース・タイプが表示されます: ユーザー、グループ、ポリシー、コンパートメントおよびフェデレーション。
-
「ユーザー」をクリックします。
ユーザー詳細ページが開き、アイデンティティ・サブ・メニューが表示されます。
-
ユーザー詳細ページから、次のことができます:
-
表形式でユーザーのリストを表示します。
-
ユーザー・ステータスを表示します。
-
ユーザーに対して、詳細の表示、ユーザー情報の編集またはユーザーの削除を実行します。
-
ユーザーの作成をクリックして、新規ユーザーを作成します。
-
アイデンティティ・サブ・メニューで別のリソース・タイプをクリックします。
-
グループ、ポリシーまたはコンパートメントをクリックすると、リソース・タイプ・ページに新しいリソースを作成するオプションが表示され、リソースの表形式リストが含まれていることがわかります。
一部のリソース・タイプのページでは、ページ・タイトルのコンパートメント・フィルタを使用して、他のコンパートメントのリソースを表示できます。 たとえば、Boot Volumesリソース・タイプ・ページを表示していて、複数のコンパートメントがある場合、ページ・タイトルにはコンパートメント名と下矢印が表示されます:
「MyCompartmentName
内のブート・ボリューム」 (down arrow) 「コンパートメント」
テナンシ内の別のコンパートメントのブート・ボリュームを表示するには、下矢印をクリックして別のコンパートメントを選択します。
リソース・リストには、リソース・タイプに固有の追加情報を含めることもできます。 たとえば、ブロック・ボリュームのリストには、ボリュームのステータスとサイズ、およびバックアップ・ポリシー(存在する場合)の名前も表示されます。 この項の残りの部分では、Oracle Private Cloud Applianceサービスに基づいてリソース・リストに提供される追加情報を示します。
Compute
次のコンピュート・リソース・タイプには、リソース・リストに追加情報があります。
リソース・タイプ |
リソース固有の要素 |
---|---|
インスタンス |
ステータスまたはステータスによるフィルタ - インスタンスのステータスを表示したり、インスタンスの状態によってフィルタ処理できます:
シェイプ - インスタンスのシェイプ。インスタンスに割り当てられるCPUの数とメモリー量を決定します。 フォルト・ドメイン - インスタンスが実行されているフォルト・ドメイン(ハードウェアとインフラストラクチャのグループ化)の名前。 フォルト・ドメインでは、インスタンスが同じ物理ハードウェア上に存在しないようにインスタンスを分散できます。 詳細は、第6.2項、「インスタンスの使用」を参照してください。 |
インスタンス・プール |
ライフサイクル状態 - インスタンス・プールの現在の状態:
ターゲット・インスタンス数 - プール内のインスタンスの数。 インスタンス構成 - インスタンス・プールに関連付けられたインスタンス構成の名前。 詳細は、第6.3項、「インスタンス構成およびインスタンス・プールの操作」を参照してください。 |
カスタム・イメージ |
ステータス - カスタム・イメージの現在の状態:
詳細は、第5.2項、「イメージの管理」を参照してください。 |
ブロック・ストレージ
次のブロック・ストレージ・リソース・タイプには、リソース・リストに追加情報があります。
リソース・タイプ |
リソース固有の要素 |
---|---|
ブロック・ボリューム |
ステータス - ボリュームの現在の状態:
サイズ - ボリュームのサイズ(GB)。 バックアップ・ポリシー - バックアップ・ポリシーの名前。 詳細は、第7.3項、「ブロック・ボリュームの管理」を参照してください。 |
ブロック・ボリュームのバックアップ |
ステータス - ボリューム・バックアップの現在の状態:
合計サイズ - バックアップで使用されるサイズ(GB単位)。通常は、ブート・ボリュームで消費される領域およびバックアップが完全か増分かに応じて、ブロック・ボリュームのサイズよりも小さくなります。 詳細は、第7.7項、「ブロック・ボリュームのバックアップ」を参照してください。 |
ブート・ボリューム |
状態 - ブート・ボリュームの現在の状態:
インスタンスにアタッチ済 - ブート・ボリュームがインスタンスにアタッチされている場合ははい、アタッチされていない場合はいいえを表示します。 サイズ(GB) - ブート・ボリュームのサイズ(GB)。 詳細は、第7.4項、「ブート・ボリュームの管理」を参照してください。 |
ブート・ボリューム・バックアップ |
ステータス - ブート・ボリューム・バックアップの現在の状態:
合計サイズ - バックアップで使用されるサイズ(GB単位)。通常は、ブート・ボリュームで消費される領域に応じて、ブート・ボリュームのサイズよりも小さくなります。 詳細は、第7.7項、「ブロック・ボリュームのバックアップ」を参照してください。 |
ボリューム・グループ |
ステータス - ボリューム・グループの現在の状態:
合計サイズ - ボリューム・グループの集計サイズ(GB)。 ソース・ボリューム・グループ - ボリューム・グループ・バックアップID、ボリューム・グループIDまたはボリュームIDであるボリューム・グループのソースを指定します。 詳細は、第7.6項、「ボリューム・グループの管理」を参照してください。 |
ボリューム・グループ・バックアップ |
ステータス - ボリューム・グループ・バックアップの現在の状態:
バックアップ・サイズ(GB) - ボリューム・グループ・バックアップの集計サイズ(GB単位)。ボリューム・グループで消費される領域に応じて、通常はボリューム・グループのサイズよりも小さくなります。 詳細は、第7.7項、「ブロック・ボリュームのバックアップ」を参照してください。 |
ファイル・ストレージ
次のファイル・ストレージ・リソース・タイプには、リソース・リストに追加情報があります。
リソース・タイプ |
リソース固有の要素 |
---|---|
ファイル・システム |
状態 - ファイル・システムの現在の状態:
利用 - ファイル・システムで消費された任意のスナップショットを含むバイト数。 この数値は、ファイル・システムの測定されたサイズを反映しており、ファイル・システムの更新に関して非同期に更新されます。 詳細は、第8.6項、「ファイル・システムの管理」を参照してください。 |
マウント・ターゲット |
状態 - マウント・ターゲットの現在の状態:
詳細は、第8.5項、「マウント・ターゲットおよびエクスポートの管理」を参照してください。 |
オブジェクト・ストレージ
次のオブジェクト・ストレージ・リソース・タイプには、リソース・リストに追加情報があります。
リソース・タイプ |
リソース固有の要素 |
---|---|
オブジェクト・ストレージ |
デフォルトのストレージ層 - バケットに割り当てられた標準またはアーカイブのストレージ層タイプ。 バケットはデフォルトで標準層に設定されています。これは、バケットにアップロードまたはコピーされたオブジェクトが標準ストレージ層にあることを意味します。 バケットに対してアーカイブ層タイプが明示的に設定されている場合、バケットにアップロードまたはコピーされたオブジェクトはアーカイブ・ストレージに格納されます。 可視性 - このバケットが読取り専用かどうか。 デフォルトでは、バケットは読取り専用ではありません。 バケットは、レプリケーション・ポリシーで宛先として構成されている場合、読取り専用に設定されます。 詳細は、第9.2項、「バケットの管理」を参照してください。 |
ネットワーク
次のネットワーク・リソース・タイプには、リソース・リストに追加情報があります。
リソース・タイプ |
リソース固有の要素 |
---|---|
仮想クラウド・ネットワーク |
ステータス - 仮想クラウド・ネットワークの現在の状態:
CIDRブロック - VCNが使用するIPv4 CIDRブロックのリスト。 DNSドメイン名 - 関連付けられたDNSドメインの名前。 詳細は、第4.1項、「VCNおよびサブネットの管理」を参照してください。 |
動的ルーティング・ゲートウェイ |
ステータス - 動的ルーティング・ゲートウェイの現在の状態:
詳細は、第4.3.4項、「動的ルーティング・ゲートウェイを使用したオンプレミス・ネットワークへの接続」を参照してください。 |
DNS
次のDNSリソース・タイプには、リソース・リストに追加情報があります。
リソース・タイプ |
リソース固有の要素 |
---|---|
ゾーン |
ステータス - ゾーン・リソースの現在の状態:
ゾーン・タイプ - プライマリまたはセカンダリのいずれかである必要があるゾーンのタイプ。 詳細は、第4.5項、「パブリックDNSゾーンの管理」を参照してください。 |
リング・ポリシー |
ステータス - リング・ポリシーの現在の状態:
ポリシー・タイプ - ロード・バランサまたはIPプリフィクス・リングのいずれかであるリング・ポリシーのタイプ。 ロード・バランサ・ポリシーを使用すると、複数のエンドポイント間でトラフィックを分散できます。 エンドポイントに同等の重みを割り当てて、エンドポイント間でトラフィックを均等に分散したり、カスタム重みを比率ロード・バランシングに割り当てることができます。 IPプレフィクス・ステアリング・ポリシーを使用すると、顧客は、元の問合せのIPプレフィクスに基づいてDNSトラフィックを制御できます。 詳細は、第4.6項、「リング・ポリシーを使用したトラフィックの管理」を参照してください。 |
TSIGキー |
ステータス - タグ・シグネチャ・キーの現在の状態:
アルゴリズム - タグ・シグネチャ・キーに使用されるアルゴリズムのタイプ:
詳細は、第4.5.4項、「トランザクション・シグネチャ・キーの操作」を参照してください。 |
Identity
次のアイデンティティ・リソース・タイプには、リソース・リストに追加情報があります。
リソース・タイプ |
リソース固有の要素 |
---|---|
ユーザー |
ステータス - ユーザーの現在の状態:
電子メール - テナンシ内のすべてのユーザー間で一意である必要がないユーザーに割り当てられる電子メール・アドレス。複数のユーザー・アカウントに同じ電子メール・アドレスを設定できます。 詳細は、第2.1項、「ユーザー・アカウントの作成および管理」を参照してください。 |
フェデレーション |
ステータス - アイデンティティ・プロバイダの現在の状態:
タイプ - タイプ・アイデンティティ・プロバイダ・サービスまたは製品で、Security Assertion Markup Language (SAML) 2.0プロトコルまたはMicrosoft Active Directory Federation Services (ADFS)のいずれかです。 リダイレクトURL - サービス・プロバイダが、そのアイデンティティ・プロバイダとフェデレートするために必要な情報を取得できるようにするアイデンティティ・プロバイダ提供のURL。 詳細は、第2.5項、「Microsoft Active Directoryのフェデレート」を参照してください。 |
グループ |
ステータス - グループの現在の状態:
詳細は、第2.2項、「ユーザー・グループの作成と管理」を参照してください。 |
ポリシー |
ステータス - ポリシーの現在の状態:
計算書 - ポリシーにアタッチされたステートメントの数。 詳細は、第2.4項、「ポリシーの管理」を参照してください。 |
コンパートメント |
ステータス - コンパートメントの現在の状態:
詳細は、第2.3項、「コンパートメントの作成および管理」を参照してください。 |
ガバナンス
次のガバナンス・リソース・タイプには、リソース・リストに追加情報があります。
リソース・タイプ |
リソース固有の要素 |
---|---|
タグ・ネームスペース |
ステータス - タグ・ネームスペースの現在の状態:
詳細は、第3.1項、「タグ・ネームスペースの作成と管理」を参照してください。 |
1.1.3.2 リソース詳細ページについて
リソース・タイプ・ページにリストされた各リソースには、そのリソースに関する追加の詳細を含む独自のページがあります。 すべてのリソースの詳細ページには、リソースに関する一般的な情報(OCID、作成日時、そのコンパートメント、リソースに関連付けられたタグなど)があります。
また、リソースに対して追加処理を実行したり、詳細情報を表示できるリソース・セクションがあります。 現在のアイテムの使用可能なすべてのプロパティをこの領域に表示できます。 これらのプロパティを更新または追加するためのコントロールもリソース・セクションに表示されます。 多くの場合、リソース上でこれらのアクションを実行したり、この情報を表示したりできる唯一の場所です。 たとえば、ブート・ボリュームにインスタンスをアタッチし、カスタム・イメージに互換性のあるシェイプを表示するには、それぞれのリソース詳細ページを使用します。
次の表に、リソースの詳細ページからのみ実行できるタスクの一部を示します。
タスク |
リソース詳細ページ |
---|---|
ボリューム・グループ・クローンの作成 |
ボリューム・グループ |
バックアップ・ポリシーのスケジュールの作成 |
バックアップ・ポリシー |
ファイル・システム・エクスポートの作成 |
マウント・ターゲット |
ファイル・システム・スナップショットの作成またはファイル・システム・エクスポートの作成 |
ファイル・システム |
APIキーのアップロード |
ユーザー |
ポリシー・ステートメントの表示または構成 |
ポリシー |
タグ・キー定義の表示または作成 |
タグ・ネームスペース |
DRGのVCNへのアタッチ |
動的ルーティング・ゲートウェイ |
VCNに対して次を表示または追加します:
|
仮想クラウド・ネットワーク |
DNSゾーン・レコードの表示または作成 |
ゾーン |
アタッチされたドメイン・ページの表示または追加ページ |
リング・ポリシー |
1.1.4 テナンシおよびプロファイル情報の検索
Oracle Private Cloud Appliance OCI CLIの多くのタスクでは、テナンシOCIDが必要です。これは、コンピュートWeb UIのテナンシ詳細ページにあります。 このページを見つけるには、トップ・メニュー・バーのユーザー名をクリックし、テナンシを選択するか、インストールおよび構成後にOCI CLIを使用します。
テナンシの詳細ページには、一部の一般情報(OCID)、オブジェクト・ストレージ設定および関連するタグが表示されます。 コンピュートWeb UIではテナンシを変更できません。かわりに、サービスWeb UIの管理者によって行われます。 テナンシの詳細は、第2.3.1項、「テナンシの理解」を参照してください。
システム内のすべてのユーザーにはプロファイルが関連付けられています。 ユーザー・プロファイルの情報は、ユーザーの詳細ページで確認できます。 管理権限を持つユーザー(またはグループ・メンバーシップまたはポリシーを介して)は、すべてのユーザー・プロファイルにアクセスできます。
アクセスできるテナンシにログインし、トップ・メニュー・バーのユーザー名をクリックしてプロファイルを選択すると、プロファイル・ページを検索できます。 プロファイル・ページから、一般情報およびOCIDを表示したり、プロファイルに関連付けられたタグを表示したり、APIキーを表示、追加または削除できます。 自分が属するグループを表示することもできますが、管理権限がないかぎり、グループ割当を変更することはできません。
ユーザー・プロファイルの詳細は、第2.1項、「ユーザー・アカウントの作成および管理」を参照してください。
1.2 OCI CLIの使用
この項では、OCI CLIをインストールおよび構成する手順と、使用する一般的な情報について説明します。 残りのOracle Private Cloud Applianceユーザー・ガイドでは、OCI CLIを使用して、ステップごとの手順のコンテキスト内でタスクを完了する方法について説明します。
OCI CLIは、Compute Enclaveへのコマンドライン・インタフェースです。 OCI CLIを単独で使用することも、Compute Web UIとともに使用してタスクを完了することもできます。 OCI CLIには、Compute Web UIと同じコア機能に加えて、機能を拡張するスクリプトを実行する機能などの追加のコマンドが用意されています。 OCI CLI機能は、次のURLを使用してブラウザからアクセスできるREST APIに基づいています:
https://console.pcasysname.mycompanydomain
/api-reference
ここで、pcasysname
はOracle Private Cloud Applianceの名前、mycompanydomain
はドメインです。 システム名とドメイン名は、サービスWeb UIのダッシュボードで検索するか、管理者にこの情報を尋ねることができます。
1.2.1 始める前に
OCI CLIをインストールして使用するには、次のものが必要です:
-
Compute Web UIのユーザー・アカウント。
-
APIリクエストの署名に使用されるRSA公開/秘密鍵ペアで、Compute Web UIを介してユーザーの公開鍵がアップロードされます。
重要構成ステップでは、既存のAPI公開キーと秘密キーを使用するか、新しいキーを作成するかを選択できます。 既存のキー・ペアがまだない場合は、手動または自動のOCI CLI構成の一部として作成することをお薦めします。
-
Oracle Private Cloud Appliance自己署名証明書。
この要件は、構成ステップ中に満たされます。
OCI CLIは、Mac OS、Windowsまたはサポートされている任意のLinux/Unixオペレーティング・システムにインストールできます:
-
Oracle Linux 7およびOracle Linux 8
-
CentOS 7.0およびCentOS 8.x
-
Ubuntu 16.04、Ubuntu 18.04およびUbuntu 20.04
1.2.2 OCI CLIのインストール
パッケージ・マネージャを使用して、Oracle LinuxまたはMac OSオペレーティング・システムにOCI CLIをインストールできます。 Windowsまたはその他のオペレーティング・システムを使用している場合は、インストール・スクリプトを使用します。
すでにOCI CLIをインストールして構成している場合は、第1.2.3項、「OCI CLIの構成」にスキップして、CLI for Oracle Private Cloud Applianceをさらに構成する方法を学習できます。
OCI CLI、その依存関係およびPythonをインストールするには、オペレーティング・システムのステップに従います。
Oracle Linux 8
次のコマンドを実行してOCI CLIをインストールします:
$ sudo dnf -y install oraclelinux-developer-release-el8 $ sudo dnf install python36-oci-cli
OCI CLIをアンインストールするには、次を実行します:
$ sudo dnf remove python36-oci-cli
Oracle Linux 7
次のコマンドを実行してOCI CLIをインストールします:
$ sudo yum install python36-oci-cli
OCI CLIをアンインストールするには、次を実行します:
$ sudo yum remove python36-oci-cli
Mac OS
「ホメブライ語」を使用して、Mac OSでOCI CLIをインストール、アップグレードおよびアンインストールできます。
オプションで、インストール・スクリプトを使用してOCI CLIをインストールできます。 詳細は、このセクションの「その他のオペレーティング・システムでのインストール・スクリプトの使用」を参照してください。
-
OCI CLIをインストールするには、次を実行します:
$ brew update && brew install oci-cli
-
OCI CLIをアップグレードするには、次を実行します:
$ brew update && brew upgrade oci-cli
-
OCI CLIをアンインストールするには、次を実行します:
$ brew uninstall oci-cli
Windows
Windows PowerShellを使用してOCI CLIをインストールできます。
-
管理者として実行オプションを使用してPowerShellコンソールを開きます。
-
インストーラは、スクリプトをインストールして実行することでオートコンプリートを有効にします。 このスクリプトを実行できるようにするには、RemoteSigned実行ポリシーを有効にする必要があります。
PowerShellのリモート実行ポリシーを構成するには、次のコマンドを実行します:
$ Set-ExecutionPolicy RemoteSigned
-
PowerShellでWindows 2012およびWindows 2016にTLS 1.2の使用を強制します:
$ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
-
インストーラ・スクリプトをダウンロードします:
$ Invoke-WebRequest https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/ ^ install/install.ps1 -OutFile install.ps1
-
プロンプトの有無にかかわらず、インストーラ・スクリプトを実行します:
-
プロンプトでインストーラ・スクリプトを実行するには、次のコマンドを実行し、インストール・スクリプト・プロンプトに応答します:
$ iex ((New-Object System.Net.WebClient).DownloadString ^ ('https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install ^ /install.ps1'))
-
プロンプトなしでインストーラ・スクリプトを実行し、デフォルト設定を受け入れるには:
$ install.ps1 -AcceptAllDefaults
-
その他のオペレーティング・システムでのインストール・スクリプトの使用
他のオペレーティング・システムでは、インストール・スクリプトを使用してOCI CLI、その依存性およびPythonをインストールできます。
-
端末から次のコマンドを入力して、インストーラ・スクリプトを実行します:
$ bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/ ^ install/install.sh)"
ノートプロンプトのないすべてのデフォルト値を受け入れるサイレント・インストールを実行するには、
--accept-all-defaults
オプションを使用します。 -
インストール・スクリプトのプロンプトに応答します。
-
Linuxに互換性のあるバージョンのPythonがインストールされていない場合は、バイナリおよび実行可能ファイルのインストール・ロケーションを指定するよう求められます。 スクリプトによってPythonがインストールされます。
-
MacOSに互換性のあるバージョンのPythonがインストールされていない場合は、Pythonのバージョンに互換性がないことが通知されます。 インストールを続行する前にアップグレードする必要があります。 スクリプトは、Pythonをインストールしません。
-
OCI CLIを新しいバージョンにアップグレードするように求められたら、Yで応答して既存のインストールを上書きします。
-
PATHを更新するように求められたら、Yで応答して、実行可能ファイルへのフルパスを指定せずにOCI CLIを起動できるようにします。
-
1.2.3 OCI CLIの構成
OCI CLIを使用する前に、Oracle Private Cloud Applianceを使用するように構成し、システム認証局(CA)チェーンを取得する必要があります。 構成を手動で完了するか、構成設定ツールを使用して支援できます。
すでにOCI CLIを使用していて、他の目的に構成している場合は、構成ステップに進む前に、このセクションをすべてお読みください。
1.2.3.1 必要な情報の取得
OCI CLIを手動で構成するか、設定構成ツールを使用するかにかかわらず、構成ファイルに必要な情報があります。 構成プロセスを開始する前に、次のことを確認してください:
-
ユーザーOCID
ユーザーOCIDは
ocid1.user...unique_ID
形式であり、コンピュートWeb UIのユーザー詳細ページからコピーできます。 ユーザーの詳細ページに移動するには、コンピュートWeb UIダッシュボードでユーザー名をクリックし、マイ・プロファイルをクリックします。 -
テナンシOCID
テナンシOCIDは
ocid1.tenancy..unique_ID
形式であり、コンピュートWeb UIのテナンシ詳細ページからコピーできます。 テナンシの詳細ページに移動するには、コンピュートWeb UIダッシュボードでユーザー名をクリックし、テナンシをクリックします。 -
リージョン名
リージョン名は
形式で、pcasys1.example.com
pcasys1
はOracle Private Cloud Applianceシステムの名前、example.com
はドメインです。サービスWeb UIにアクセスできる場合は、ダッシュボードでシステムおよびドメイン名を確認できます。 それ以外の場合は、サービスWeb UI管理者に情報を確認してください。
既存のAPI公開キーと秘密キー・ペアがまだない場合は、手動または自動のOCI CLI構成の一部として作成することをお薦めします。 詳細は、第1.2.3.2項、「手動構成」または第1.2.3.3項、「自動構成」の項を参照してください。
使用する既存のAPI公開鍵と秘密キーのペアがある場合は、次のことを確認してください:
-
これらはPEM形式です。
-
公開キーがユーザー・プロファイルに追加されます。
-
秘密キーのフルパスとファイル名(
~/
など)を知っています。.oci
/oci_api_key.pem
-
公開キーのフィンガープリント(
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
形式)があります。 この指紋は、Compute Web UIのプロファイル・ページ、または次のコマンドを使用して端末から検索できます:openssl rsa -pubout -outform DER -in ~/
.oci
/oci_api_key.pem
| openssl md5 -c
1.2.3.2 手動構成
次のステップを実行して、OCI CLI for Oracle Private Cloud Applianceを手動で構成します。 必要な情報がすべて収集されていることを確認します。
次のステップは、Linuxシステムを使用していて、Compute Web UIを介してユーザーがすでに作成されていることを前提としています。 ただし、基本手順はほかのシステム・タイプでも同じです。
-
端末から、OCI CLIをインストールしたシステムにログインし、APIキー・ペアを作成します。次に例を示します:
$ oci setup keys Enter a passphrase for your private key (empty for no passphrase): Public key written to: /home/
myuserdir
/.oci/oci_api_key_public.pem
Private key written to: /home/myuserdir
/.oci/oci_api_key.pem
Public key fingerprint:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
-
ブラウザからCompute Web UIにログインします。
-
ユーザーの詳細ページに移動し、ダッシュボードでユーザー名をクリックし、マイ・プロファイルをクリックします。
ユーザーの詳細ページが表示されます。
-
リソース・セクションで、APIキーをクリックし、APIキーの追加をクリックします。
-
公開キーのロケーションに移動するか、公開キーの内容を貼り付けてキーのアップロードをクリックします。
-
/home/myuserdir
/.oci
ディレクトリで、config
という名前の新しいファイルを作成し、新しいプロファイル・セクションと必要な情報を追加します。次に例を示します:$ vi config [
DEFAULT
] user=ocid1.user...unique_id key_file=/home
/myuserdir
/.oci
/oci_api_key.pem
tenancy=ocid1.tenancy...unique_id region=pcasys1.example.com
fingerprint=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
ここで、
pcasys1
はOracle Private Cloud Applianceの名前、example.com
はドメインです。サービスWeb UIにアクセスできる場合は、ダッシュボードでシステムおよびドメイン名を確認できます。 それ以外の場合は、サービスWeb UI管理者に情報を確認してください。
1.2.3.3 自動構成
今回がOCI CLIを初めて使用する場合、設定構成ツールを使用すると、設定プロセスを順を追って実行できます。 oci setup config
コマンドを入力すると、構成ファイルおよびAPI公開キー/秘密キーに必要な情報の入力を求めるプロンプトが表示され、APIキー・ペアが生成され、構成ファイルが作成されます。
設定構成ツールを使用してOCI CLIを構成するには:
-
コマンド・ウィンドウから、
oci setup config
と入力し、プロンプトに従います。次に例を示します:$ oci setup config This command provides a walkthrough of creating a valid CLI config file. Enter a location for your config [/home/
myuserdir
/.oci/config]: Enter a user OCID: ocid1.user...uniqueid Enter a tenancy OCID: ocid1.tenancy...uniqueid重要ステップ「索引または名前でリージョンを入力」では、必要な
system.domain
形式でリージョンを入力することはできません。 Oracle Private Cloud Applianceには意味がないため、リストから任意の値を入力します。 ステップ2では、Oracle Private Cloud Applianceに必要な情報を提供するように構成ファイルを変更します。Enter a region by index or name(e.g. 1: ap-chiyoda-1, 2: ap-chuncheon-1, 3: ap-hyderabad-1, 4: ap-melbourne-1, 5: ap-mumbai-1, 6: ap-osaka-1, 7: ap-seoul-1, 8: ap-sydney-1, 9: ap-tokyo-1, 10: ca-montreal-1, 11: ca-toronto-1, 12: eu-amsterdam-1, 13: eu-frankfurt-1, 14: eu-zurich-1, 15: me-dubai-1, 16: me-jeddah-1, 17: sa-santiago-1, 18: sa-saopaulo-1, 19: sa-vinhedo-1, 20: uk-cardiff-1, 21: uk-gov-cardiff-1, 22: uk-gov-london-1, 23: uk-london-1, 24: us-ashburn-1, 25: us-gov-ashburn-1, 26: us-gov-chicago-1, 27: us-gov-phoenix-1, 28: us-langley-1, 29: us-luke-1, 30: us-phoenix-1, 31: us-sanjose-1):
24
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]: Y Enter a directory for your keys to be created [/home/
myuserdir
/.oci]: Enter a name for your key [oci_api_key]: Public key written to: /home/myuserdir
/.oci/oci_api_key_public.pem Enter a passphrase for your private key (empty for no passphrase): Private key written to: /home/myuserdir
/.oci/oci_api_key.pem Fingerprint:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
Config written to /home/myuserdir
/.oci/config -
~/home/
ディレクトリに移動し、myuserdir
/.ociconfig
ファイルを適切なリージョンを使用するように変更します。次に例を示します:$ vi config [
DEFAULT
] user=ocid1.user...unique_id fingerprint=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
key_file=/home/myuserdir
/.oci/oci_api_key.pem tenancy=ocid1.tenancy...unique_id region=pcasys1.example.com
ここで、
pcasys1
はOracle Private Cloud Applianceの名前、example.com
はドメインです。サービスWeb UIにアクセスできる場合は、ダッシュボードでシステムおよびドメイン名を確認できます。 それ以外の場合は、サービスWeb UI管理者に情報を確認してください。
-
まだ作成していない場合は、Compute Web UIを介してAPI署名公開キーをアップロードします。 詳細は、第1.2.6.2項、「ユーザー・プロファイルへのAPI公開キーの追加」を参照してください。
1.2.3.4 認証局バンドルの取得
OCI CLIを手動で構成したか、自動ツールを使用したかに関係なく、コマンドを実行する前にOracle Private Cloud Appliance外部サイロCAチェーンを取得する必要があります。
外部のサイロCAチェーンは、OCI CLIをインストールし、oci_cli_rc
ファイルで参照するシステムにコピーする必要があります。
-
~/home/
ディレクトリに移動します。myuserdir
/.oci重要ベスト・プラクティスとして、
.oci
/config
ファイルにあるプロファイルごとに、.oci
ディレクトリ内にサブディレクトリを作成することを検討してください。 たとえば、2つの異なるOracle Private Cloud Applianceシステムにセクション[PCA1
]および[PCA2
]がある場合、APIキーと外部シロCAチェーンを格納するために、PCA1
およびPCA2
という2つのサブディレクトリを作成します。 -
外部サイロCAチェーンをコピーします:
curl -ko
ca.crt
https://iaas.system-name.domain-name
/cachain -
~/home/
ディレクトリで、myuserdir
/.ocioci_cli_rc
という名前の新しいファイルを作成します。 同じプロファイル名を使用して、外部サイロCAチェーンへのパスを追加します。次に例を示します:$ vi oci_cli_rc [
DEFAULT
] cert-bundle=/home/myuserdir
/.oci/ca.crt
1.2.4 OCI CLI構成のテスト
OCI CLIをインストールして構成した後、いくつかのリスト・コマンドを入力して、正常に機能していることを確認できます。 次に例を示します。
$ oci iam compartment list --include-root { "data": [ { "compartment-id": null, "defined-tags": {}, "description": "Root compartment
", "freeform-tags": {}, "id": "ocid1.tenancy...unique-id", "inactive-status": null, "is-accessible": null, "lifecycle-state": "ACTIVE", "name": "pca3tenantdefault
", "time-created": "2021-10-13T00:39:50.916561+00:00" }, { "compartment-id": "ocid1.tenancy...unique-id", "defined-tags": {}, "description": "Compartment 1
", "freeform-tags": {}, "id": "ocid1.compartment...unique-id", "inactive-status": null, "is-accessible": null, "lifecycle-state": "ACTIVE", "name": "pca3compartment1
", "time-created": "2021-10-13T15:51:28.245810+00:00" }, { "compartment-id": "ocid1.tenancy...unique-id", "defined-tags": {}, "description": "Compartment 2
", "freeform-tags": {}, "id": "ocid1.compartment...unique-id", "inactive-status": null, "is-accessible": null, "lifecycle-state": "ACTIVE", "name": "pca3compartment2
", "time-created": "2021-10-13T17:16:53.413803+00:00" }, ] }
$ oci iam user list { "data": [ { "capabilities": null, "compartment-id": "ocid1.tenancy...unique-id", "defined-tags": {}, "description": "Default Administrator User
", "email": null, "email-verified": null, "external-identifier": null, "freeform-tags": {}, "id": "ocid1.user....unique-id", "identity-provider-id": null, "inactive-status": null, "is-mfa-activated": null, "last-successful-login-time": null, "lifecycle-state": "ACTIVE", "name": "admin
", "previous-successful-login-time": null, "time-created": "2021-10-13T00:39:50.956416+00:00" }, { "capabilities": null, "compartment-id": "ocid1.tenancy...unique-id", "defined-tags": {}, "description": "Compute Admin User
", "email": "null", "email-verified": null, "external-identifier": null, "freeform-tags": {}, "id": "ocid1.user...unique-id", "identity-provider-id": null, "inactive-status": null, "is-mfa-activated": null, "last-successful-login-time": null, "lifecycle-state": "ACTIVE", "name": "comp-admin1
", "previous-successful-login-time": null, "time-created": "2021-10-13T22:05:33.993284+00:00" }, { "capabilities": null, "compartment-id": "ocid1.tenancy...unique-id", "defined-tags": {}, "description": "Network Admin User
", "email": null, "email-verified": null, "external-identifier": null, "freeform-tags": {}, "id": "ocid1.user...unique-id", "identity-provider-id": null, "inactive-status": null, "is-mfa-activated": null, "last-successful-login-time": null, "lifecycle-state": "ACTIVE", "name": "nw-admin1
", "previous-successful-login-time": null, "time-created": "2021-10-13T22:31:58.616036+00:00" } ] }
1.2.5 複数プロファイルの使用
OCI CLI構成ファイル(config
およびoci_cli_rc
)を使用して、複数のプロファイルを格納できます。 config
ファイルの各プロファイル・セクションは、Oracle Private Cloud Appliance内のテナンシを参照しますが、これらのテナンシは同じOracle Private Cloud Appliance内に存在する必要はありません。次に例を示します:
[DEFAULT
] user=ocid1.user...unique_id fingerprint=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
key_file=/home/myuserdir
/.oci/oci_api_key.pem
tenancy=ocid1.tenancy...unique_id region=mypcaname.mydomainname
[PCA2
] user=ocid1.user...unique_id fingerprint=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
key_file=/root/.oci/oci_api_key.pem
tenancy=ocid1.tenancy...unique_id region=mypca2name.mydomainname
[PCA3
] user=ocid1.user...unique_id fingerprint=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
key_file=/root/.oci/oci_api_key.pem
tenancy=ocid1.tenancy...unique_id region=mypca3name.mydomainname
コマンドでプロファイルを指定しない場合は、デフォルトのプロファイルが使用されます。 デフォルトのプロファイルがない場合は、コマンドに--profile
を渡す必要があります。
config
ファイルで複数のプロファイルを使用する場合は、複数のプロファイルにもoci_cli_rc
ファイルを設定する必要があります。次に例を示します:
[DEFAULT
] cert-bundle=/home/myuserdir
/.oci/default-ca
/ca-crt
[PCA2
] cert-bundle=/home/myuserdir
/.oci/pca2-ca
/ca-crt
[PCA3
] cert-bundle=/home/myuserdir
/.oci/pca3-ca
/ca-crt
ベスト・プラクティスとして、.oci
/config
ファイルにあるプロファイルごとに、.oci
ディレクトリ内にサブディレクトリを作成することを検討してください。 たとえば、3つの異なるOracle Private Cloud Applianceシステムにセクション[ DEFAULT
]、[ PCA2
]および[ PCA3
]がある場合は、default-ca
、pca2-ca
およびpca2-ca
という3つのサブディレクトリを作成して、APIキーおよび外部サイロCAチェーンを格納します。
同じ構成ファイルに複数のプロファイルを含めることで、コマンドを渡すテナンシ・プロファイルを簡単に指定できます。 [ DEFAULT
]プロファイルがある場合は、--profile
オプションを使用せずにコマンドを実行できます。 その他のプロファイルでは、--profile
PROFILE-NAME
を使用して、特定のプロファイルに対してコマンドを渡す必要があります。次に例を示します:
$ oci --profilePCA2
iam compartment list { "data": [ { "compartment-id": "ocid1.tenancy...unique_id", "defined-tags": {}, "description": "Network compartment
", "freeform-tags": {}, "id": "ocid1.compartment...unique_id", "lifecycle-state": "ACTIVE", "name": "PCA2-Network
" }, { "compartment-id": "ocid1.tenancy...unique_id", "defined-tags": {}, "description": "Instance compartment
", "freeform-tags": {}, "id": "ocid1.compartment...unique_id", "lifecycle-state": "ACTIVE", "name": "PCA2-Instance
" }, { "compartment-id": "ocid1.tenancy...unique_id", "defined-tags": {}, "description": "Test compartment
", "freeform-tags": {}, "id": "ocid1.compartment...unique_id", "lifecycle-state": "ACTIVE", "name": "PCA2-Test
" } ] }
$ oci --profilePCA3
iam compartment list { "data": [ { "compartment-id": "ocid1.tenancy...unique_id", "defined-tags": {}, "description": "Compartment for block storage
", "freeform-tags": {}, "id": "ocid1.compartment...unique_id", "lifecycle-state": "ACTIVE", "name": "Block-storage
" }, { "compartment-id": "ocid1.tenancy...unique_id", "defined-tags": {}, "description": "Compartment for networking
", "freeform-tags": {}, "id": "ocid1.compartment...unique_id", "lifecycle-state": "ACTIVE", "name": "Networks
" }, { "compartment-id": "ocid1.tenancy...unique_id", "defined-tags": {}, "description": "Compartment for instances
", "freeform-tags": {}, "id": "ocid1.compartment...unique_id", "lifecycle-state": "ACTIVE", "name": "Instances
" } ] }
1.2.6 API署名キーの操作
OCI CLIを使用する必要がある場合や、REST APIリクエストを行う必要がある場合は、API署名の公開鍵と秘密鍵のペアが必要です。 APIリクエストは秘密キーで署名され、公開キーはリクエストの信頼性の検証に使用されます。 秘密キーはローカルに格納され、公開キーはユーザー・アカウントにアップロードされます。 ユーザー・アカウントごとに最大3つの公開キーを設定できます。
API署名キー・ペアは、コンピュート・インスタンスへのアクセスに使用するSSHキーではありません。 秘密キーと公開キー(最小2048ビット)は両方ともPEM形式(SSH-RSA形式ではない)である必要があります。
1.2.6.1 APIキー・ペアの生成
公開キーと秘密キー・ペアに署名する既存のAPIがない場合は、手動または自動の構成の一部としてキー・ペアを作成することをお薦めします。 これを行うには、第1.2.3.2項、「手動構成」セクションに示すようにoci setup keys
コマンドを使用するか、第1.2.3.3項、「自動構成」セクションのプロンプトに従います。
OCI CLI構成とは無関係にキー・ペアを作成する場合、次の項では、Linux、MacおよびWindowsオペレーティング・システムでこれを行う方法を示します。 その後、OCI CLIを構成するときにこれらのキーを使用できます。
-
秘密キーを生成します。
-
パスフレーズで暗号化されたキーを生成します:
$ openssl genrsa -out ~/.oci/oci_api_key.pem -aes128 2048
ノートパスフレーズを使用することを強くお勧めします。
-
パスフレーズなしで鍵を生成します:
$ openssl genrsa -out ~/.oci/oci_api_key.pem 2048
-
-
秘密キー・ファイルの権限を確認し、必要に応じて変更します。
秘密キー・ファイルのみを読み取れるようにするには、ファイル権限を600または400にする必要があります。
-
新しい秘密キーから公開キーを生成します:
$ openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem
この公開キー・ファイルは、秘密キー・ファイルと同じ権限を持つか、全員が読取り可能です。
-
Git Bash for Windowsをインストールします。
https://git-scm.com/download/winを参照してください。
-
WindowsパスにOpenSSLバイナリを含めます。
デフォルトのインストールでは、
openssl.exe
バイナリは次のディレクトリにあります:C:\Program Files\Git\mingw64\bin
-
秘密キーを生成します。
-
パスフレーズで暗号化されたキーを生成します:
$ openssl genrsa -out %HOMEDRIVE%%HOMEPATH%\.oci\oci_api_key.pem -aes128 -passout ^ stdin 2048
ノートパスフレーズを使用することを強くお勧めします。
-
パスフレーズなしで鍵を生成します:
$ openssl genrsa -out %HOMEDRIVE%%HOMEPATH%\.oci\oci_api_key.pem 2048
-
-
秘密キー・ファイルの権限を確認し、必要に応じて変更します。
ファイル権限は、秘密キー・ファイルのみを読み取れるように設定する必要があります。
-
新しい秘密キーから公開キーを生成します:
$ openssl rsa -pubout -in %HOMEDRIVE%%HOMEPATH%\.oci\oci_api_key.pem -out ^ %HOMEDRIVE%%HOMEPATH%\.oci\oci_api_key_public.pem
この公開キー・ファイルは、秘密キー・ファイルと同じ権限を持つか、全員が読取り可能です。
1.2.6.2 ユーザー・プロファイルへのAPI公開キーの追加
Compute Web UIを使用して、自分のAPI公開キーをプロファイルに追加します。 Compute Web UIにログインとパスワードがない場合は、管理者に連絡してください。
-
ブラウザからCompute Web UIにログインします。
-
ユーザーの詳細ページに移動し、ダッシュボードでユーザー名をクリックし、マイ・プロファイルをクリックします。
ユーザーの詳細ページが表示されます。
-
リソース・セクションで、APIキーをクリックし、APIキーの追加をクリックします。
-
「公開キーの追加」ダイアログで、公開キーのロケーションに移動するか、公開キーの内容を貼り付けてキーのアップロードをクリックします。
ユーザーは、自分のプロファイルに最大3つの公開キーを追加できます。
OCI CLIをインストールして構成した後、api-key upload
コマンドを使用して追加のキーをアップロードすることもできます。 複数のAPI公開キーがある場合は、キーのフィンガープリントを指定して、リクエストの署名に使用するキーを指定する必要があります。
-
API署名キーを必要とするユーザーのOCID (
oci iam user list
)を取得します。 -
ユーザーAPIキー・リスト・コマンドを使用して、アカウントに最大3つのAPI署名キーがまだ存在しないことを確認します。
構文
$ oci iam user api-key list --user-id
user_OCID
-
APIキー・アップロード・コマンドを実行します。
構文
$ oci iam user api-key upload --user-id ocid1.user.
unique_ID
{ --keykey
| --key-file \ file://keyfile
.pem }-
- PEM形式のRSA公開鍵key
-
keyfile
.pem
- PEM形式のRSA公開鍵を含むファイル
-
1.2.6.3 API公開キー・フィン・ガ プリントの検索
公開キーのフィンガープリント(xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
形式)は、Compute Web UIのプロファイル・ページまたは次のOpenSSLコマンドを使用して端末で確認できます:
LinuxおよびMac OS Xの場合:
$ openssl rsa -pubout -outform DER -in ~/.oci/oci_api_key.pem | openssl md5 -c
Windowsの場合:
$ openssl rsa -pubout -outform DER -in \.oci\oci_api_key.pem | openssl md5 -c
1.2.6.4 ユーザー・プロファイルからのAPI署名キーの削除
独自のAPI署名キーを削除でき、テナンシ管理者は自分のテナンシの任意のユーザーのAPI署名キーを削除できます。
-
ナビゲーション・メニューで、アイデンティティをクリックし、ユーザーをクリックします。
-
API署名キーを削除するユーザー・アカウントの名前をクリックします。
-
ユーザー詳細ページのリソース・セクションまでスクロールします。
-
削除するAPIキーについて、アクション・アイコン(3つのドット)をクリックし、削除をクリックします。
-
次の情報を取得します:
-
API署名キーを削除するユーザー・アカウントのOCID。
$ oci iam user list
-
削除するAPI署名キーのフィンガープリント。
$ oci iam user api-key list --user-id
user_OCID
-
-
ユーザーAPIキー削除コマンドを実行します。
構文
$ oci iam user api-key delete --user-id
user_OCID
--fingerprintfingerprint
1.2.7 コマンド構文およびヘルプの検索について
この項では、コマンド構文、OCIDの検索方法、コマンドに関するヘルプの取得場所など、OCI CLIの使用を開始する際に役立ついくつかの基本情報を示します。
1.2.7.1 コマンド構文
通常、OCI CLIに入力されたコマンドの構文は次のとおりです:
$ oci <service> <type> <action> <required-parameters> <optional-parameters>
たとえば、oci iam user create --name
コマンドの場合:joeb
--description " user for tenancy admin
" --email joeb@example.com
-
iam
はサービスです -
user
はリソース・タイプです -
create
はアクションです -
name
およびdescription
は必須パラメータです -
email
はオプションのパラメータです
1.2.7.2 OCIDの取得
OCI CLIを使用する場合、ほとんどのコマンドにはOCIDが必要です。通常、
-
- list
コマンドには、リソースを検索しているコンパートメントのOCIDが必要です。 -
- create
コマンドには、リソースを作成するコンパートメントのOCIDが必要です。 -
- get
,- update
,- delete
コマンドには、リソースのOCIDが必要です。 -
- move
コマンドには、リソースのOCIDと宛先コンパートメントのOCIDが必要です。
一部のコマンドでは、別のリソースのOCIDが必要です。 たとえば、DRGルート表の作成にはDRGのOCIDが必要で、ルート・ルールの追加または削除にはルート表のOCIDが必要です。
OCIDは、OCI CLIまたはCompute Web UIを使用して検索できます。 次に、OCI CLIを使用して最も一般的に必要なOCIDを検索する方法を示します。
ブロック・ボリューム・サービスOCID
-
ブート・ボリューム
$ oci bv boot-volume list --availability-domain
availability_domain_name
--compartment-id \compartment_OCID
-
ボリューム
$ oci bv volume list --compartment-id
compartment_OCID
-
ボリューム・バックアップ・ポリシー
$ oci bv volume-backup-policy list --compartment-id
compartment_OCID
-
ボリューム・グループ
$ oci bv volume-group list --compartment-id
compartment_OCID
コンピュート・サービスOCID
-
インスタンス
$ oci compute instance list --compartment-id
compartment_OCID
-
インスタンスVNIC
$ oci compute instance list-vnics --compartment-id
compartment_OCID
-
ボリューム・アタッチメント
$ oci compute volume-attachment list --compartment-id
compartment_OCID
アイデンティティおよびアクセス管理サービスOCID
-
可用性ドメイン名
$ oci iam availability-domain list
-
テナンシ内のコンパートメント
$ oci iam compartment list
-
テナンシ内のコンパートメントとテナンシが含まれます
$ oci iam compartment list --include-root
-
コンパートメントとテナンシ内のすべてのサブコンパートメント
$ oci iam compartment list --compartment-id-in-subtree true
-
サブコンパートメントを含むコンパートメント
$ oci iam compartment list --compartment-id
compartment_OCID
--compartment-id-in-subtree -
グループ
$ oci iam group list
-
ポリシー
$ oci iam policy list --compartment-id
compartment_OCID
-
タグ・ネームスペース
$ oci iam tag-namespace list --compartment-id
compartment_OCID
-
ユーザー
$ oci iam user list
ネットワーク・サービスOCID
-
DHCPオプション
$ oci network dhcp-options list --compartment-id
compartment_OCID
-
ルート表
$ oci network route-table list --compartment-id
compartment_OCID
-
サブネット
$ oci network subnet list --compartment-id
compartment_OCID
-
VCN
$ oci network vcn list --compartment-id
compartment_OCID
1.2.7.3 コマンドによるヘルプの取得
インライン・ヘルプを取得するには、--help
、-h
または-?
をコマンドに追加します:
-
oci --help
は、サポートされているコマンドおよび一般的なコマンド・オプションのリストを返します。 -
oci
は、サービスの完全なコマンド参照を返します。 たとえば、service
--helpoci iam --help
は次を返します:NAME iam - DESCRIPTION OCI CLI for managing users, groups, compartments, and policies. AVAILABLE COMMANDS o auth-token o create o delete o list o update o authentication-policy o get o update o availability-domain o list o bulk-action-resource-type-collection o list o compartment o bulk-delete-resources o bulk-move-resources ...
-
oci
は、サービス・タイプの完全なコマンド参照を返します。 たとえば、service
type
--helpoci iam user --help
は次を返します:NAME iam_user - DESCRIPTION An individual employee or system that needs to manage or use your company's Oracle Cloud Infrastructure resources. Users might need to launch instances, manage remote disks, work with your cloud network, etc. ... These users are created directly within the Oracle Cloud Infrastructure system, via the IAM service. They are different from federated users, who authenticate themselves to the Oracle Cloud Infrastructure Console via an identity provider. ... AVAILABLE COMMANDS o api-key o delete o list o upload o create o delete o get o list o list-groups ...
-
oci
は、サービス・タイプ・アクションの完全なコマンド参照を返します。 たとえば、service
type
action
--helpoci iam user list --help
は次を返します:NAME iam_user_list - o Description o Usage o Optional Parameters o Global Parameters o Examples DESCRIPTION Lists the users in your tenancy. You must specify your tenancy's OCID as the value for the compartment ID (remember that the tenancy is simply the root compartment). USAGE oci iam user list [OPTIONS] OPTIONAL PARAMETERS --all Fetches all pages of results. If you provide this option, then you cannot provide the --limit option. --compartment-id, -c [text] The OCID of the compartment (remember that the tenancy is simply the root compartment). If not provided, this parameter will use the tenancy's OCID (root compartment's OCID) from the config file. --external-identifier [text] The id of a user in the identity provider. ...
詳細は、「Oracle Cloud Infrastructure CLIコマンド・リファレンス」を参照してください。
1.2.8 複雑なコマンド入力でのJSONの使用
複数の値を持つ配列やオブジェクトなどの複合入力は、JSON形式で渡され、コマンドライン、ファイルとして、またはコマンドライン文字列として、またはファイルとして指定できます。 コマンド行の引数をファイル入力と組み合わせることができます。 ただし、ファイルとコマンド行で同じ値が指定されている場合は、コマンド行が優先されます。
1.2.8.1 JSON文字列の使用
複雑な入力をMacOS、LinuxまたはUnixシステムでJSON文字列としてOCI CLIに渡すには、JSON文字列を一重引用符で囲みます。 Windowsシステムでは、JSON文字列を二重引用符で囲む必要があります。 また、JSON文字列内で、キーと値のペアの各二重引用符は、バックスラッシュ(\)文字)でエスケープする必要があります。
次に例を示します。
-
MacOS、LinuxまたはUnix
$ oci os bucket create -ns
mynamespace
--namemybucket
--metadata \ '{"key1
":"value1
","key2
":"value2
"}' --compartment-id<compartment_OCID>
-
Windows
$ oci os bucket create -ns
mynamespace
--namemybucket
--metadata ^ "{\"key1
\":\"value1
\",\"key2\
":\"value2
\"}" --compartment-id<compartment_OCID>
JSONエラー・メッセージ"Parameter '<PARAMETER NAME>' must be in JSON format."
が表示された場合、これは、パラメータに渡された値が有効なJSONでないことを示します。 通常、このタイプのエラー・メッセージは、JSON文字列が正しくエスケープされていない結果です。
1.2.8.2 JSONファイルの使用
JSONファイルを使用して複雑な入力を渡すには、file://
プレフィクスを使用してファイルへのパスを指定してコマンドラインから参照します。
次のタイプのファイル・パスがサポートされています:
-
同じディレクトリの相対パス
-
Linux、MacOSまたはUnixの絶対パス
-
Windowsでのフル・ファイル・パス
ファイルのロケーションの例を次に示します:
-
ホーム・ディレクトリ
$ oci os bucket create -ns
mynamespace
--namemybucket
--compartment-id \ ocid1.compartment.oc1...uniqueid --metadata file://~/testfile
.json -
カレント・ディレクトリ
$ oci os bucket create -ns
mynamespace
--namemybucket
--compartment-id \ ocid1.compartment.oc1..uniqueid --metadata file://testfile
.json -
/tmpディレクトリ(Linux、UnixまたはMacOS)
$ oci os bucket create -ns
mynamespace
--namemybucket
--compartment-id \ ocid1.compartment.oc1..uniqueid --metadata file:///tmp/testfile
.json -
C:\tempディレクトリ(Windows)
$ oci os bucket create -ns
mynamespace
--namemybucket
--compartment-id ^ ocid1.compartment.oc1..uniqueid --metadata file://C:\temp\testfile
.json
1.2.8.3 JSON形式の生成
OCI CLIから、コマンド全体または複合タイプのコマンド・オプションに対して正しいJSON形式を生成し、結果のコンテンツをファイルに保存できます。
--generate-full-command-json-input
オプションを使用すると、コマンドで使用する正しいJSONを生成できます。 キー名は事前に移入され、コマンド・オプション名と一致します。 コマンドへの入力として使用する前に、キー値を追加してJSONをファイルに保存する必要があります。 複数の値を受け入れるコマンド・オプションの場合、キーの値はJSON配列にできます。
コマンドに対して正しいJSON形式全体を生成するには、コマンドに--generate-full-command-json-input
を追加します。
構文
$ oci <service> <type> <action> --generate-full-command-json-input
例
$ oci network vcn create --generate-full-command-json-input { "cidrBlock": "string", "cidrBlocks": [ "string", "string" ], "compartmentId": "string", "definedTags": { "tagNamespace1": { "tagKey1": "tagValue1", "tagKey2": "tagValue2" }, "tagNamespace2": { "tagKey1": "tagValue1", "tagKey2": "tagValue2" } }, "displayName": "string", "dnsLabel": "string", "freeformTags": { "tagKey1": "tagValue1", "tagKey2": "tagValue2" }, "isIpv6Enabled": true, "maxWaitSeconds": 0, "waitForState": [ "PROVISIONING|AVAILABLE|TERMINATING|TERMINATED|UPDATING" ], "waitIntervalSeconds": 0 }
複合型のコマンド・オプションでは、その値に有効なJSONを使用する必要があります。これは、コマンドラインで入力するか、file://path/to/file構文を使用してファイルとして渡すことができます。 複合タイプのコマンド・オプションの正しいJSON形式を生成するには、コマンドとともに--generate-param-json-input
を使用します。
構文
$ oci <service> <type> <action> --generate-param-json-input <command-option>
例
$ oci network route-table create --generate-param-json-input route-rules [ { "cidrBlock": "string", "description": "string", "destination": "string", "destinationType": "string", "networkEntityId": "string" }, { "cidrBlock": "string", "description": "string", "destination": "string", "destinationType": "string", "networkEntityId": "string" } ]
1.2.9 コマンド出力の書式設定およびフィルタリング
デフォルトでは、コマンドへのすべてのレスポンスがJSON形式で返されます。 たとえば、oci iam region list
コマンドを発行すると、次のようなレスポンスが返されます:
{ "data": [ { "key": "pcasysname", "name": "pcasysname" } ] }
読みやすくするために、コマンド出力を表としてフォーマットできます。 たとえば、oci iam region list --output table
を発行すると、2列の表が返されます:
+------------+------------+ | key | name | +------------+------------+ | pcasysname | pcasysname | +------------+------------+
JSONのJMESPath問合せオプションを使用して出力をフィルタできます。 フィルタリングは、大量の出力を処理する場合に役立ちます。 たとえば、 --output table
オプションを指定して次のコマンドを発行すると、返されるデータが多すぎるため、端末の幅が広がります。 また、返されるすべての情報が必要なわけではありません。
$ oci compute image list -c <compartment_OCID>
--output table
| base-image-id | compartment-id | create-image-allowed | display-name | id | lifecycle-state | operating-system | operating-system-version | time-created | +---------------+----------------+----------------------+---------------------------------------------------------+---------------------------------------------------------------------------------- | | None | None | True | Windows-Server-2012-R2-Standard-Edition-VM-2017.07.25-0 | ocid 1.image.oc1.phx...uniqueid | AVAILABLE | Windows | Serv er 2012 R2 Standard | 2017-07-25T23:59:59.311000+00:00 | | None | None | True | Windows-Server-2012-R2-Standard-Edition-VM-2017.04.03-0 | ocid 1.image.oc1.phx...uniqueid | AVAILABLE | Windows | Serv er 2012 R2 Standard | 2017-04-03T19:42:22.938000+00:00 | | None | None | True | Windows-Server-2012-R2-Standard-Edition-BM-2017.07.25-0 | ocid 1.image.oc1.phx...uniqueid | AVAILABLE | Windows | Serv er 2012 R2 Standard | 2017-07-25T20:55:37.937000+00:00 | | None | None | True | Windows-Server-2012-R2-Standard-Edition-BM-2017.04.13-0 | ocid 1.image.oc1.phx...uniqueid | AVAILABLE | Windows | Serv er 2012 R2 Standard | 2017-04-13T17:36:50.840000+00:00 | | None | None | True | Oracle-Linux-7.4-2017.09.29-0 | ocid 1.image.oc1.phx...uniqueid | AVAILABLE | Oracle Linux | 7.4 | 2017-10-05T22:36:17.246000+00:00 | | None | None | True | Oracle-Linux-7.4-2017.08.25-1 | ocid 1.image.oc1.phx...uniqueid | AVAILABLE | Oracle Linux | 7.4 | 2017-09-11T23:12:18.644000+00:00 | | None | None | True | Oracle-Linux-7.4-2017.08.25-0 | ocid 1.image.oc1.phx...uniqueid | AVAILABLE | Oracle Linux | 7.4| 2017-08-25T01:21:37.176000+00:00 |
--query
オプションと--output table
を組み合わせて、表形式内の情報をフィルタ処理することで、返されるデータの量を制限できます。 次に例を示します。
$ oci compute image list -c <compartment_OCID>
--output table --query "data [*].{ImageName: \
\"display-name\", OCID:id}"
+---------------------------------------------------------+----------------------------------+ | ImageName | OCID | +---------------------------------------------------------+----------------------------------+ | Windows-Server-2012-R2-Standard-Edition-VM-2017.07.25-0 | ocid1.image.oc1.phx...uniqueid | | Windows-Server-2012-R2-Standard-Edition-VM-2017.04.03-0 | ocid1.image.oc1.phx...uniqueid | | Windows-Server-2012-R2-Standard-Edition-BM-2017.07.25-0 | ocid1.image.oc1.phx...uniqueid | | Windows-Server-2012-R2-Standard-Edition-BM-2017.04.13-0 | ocid1.image.oc1.phx...uniqueid | | Oracle-Linux-7.4-2017.09.29-0 | ocid1.image.oc1.phx...uniqueid | | Oracle-Linux-7.4-2017.08.25-1 | ocid1.image.oc1.phx...uniqueid | | Oracle-Linux-7.4-2017.08.25-0 | ocid1.image.oc1.phx...uniqueid | | Oracle-Linux-7.3-2017.07.17-1 | ocid1.image.oc1.phx...uniqueid | | Oracle-Linux-7.3-2017.07.17-0 | ocid1.image.oc1.phx...uniqueid | | Oracle-Linux-6.9-2017.09.29-0 | ocid1.image.oc1.phx...uniqueid | | Oracle-Linux-6.9-2017.08.25-0 | ocid1.image.oc1.phx...uniqueid | | Oracle-Linux-6.9-2017.07.17-0 | ocid1.image.oc1.phx...uniqueid | | CentOS-7-2017.09.14-0 | ocid1.image.oc1.phx...uniqueid | | CentOS-7-2017.07.17-0 | ocid1.image.oc1.phx...uniqueid | | CentOS-7-2017.04.18-0 | ocid1.image.oc1.phx...uniqueid | +---------------------------------------------------------+----------------------------------+
JSONのJMESPath問合せ言語の詳細は、JMESPathを参照してください。