ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
OCI CLIネットワーク・コマンドの使用時の「情報を表示できません: APIセッションの取得に失敗しました」エラーの解決
イントロダクション
Oracle Cloud Infrastructure (OCI)コンピュート・インスタンスでOracle Cloud Infrastructureコマンドライン・インタフェース(OCI CLI)ネットワーク・コマンドを使用するときに、「情報を表示できません: APIセッションの取得に失敗しました」エラーが発生すると、特に重要なネットワーク構成を管理しているときにイライラする可能性があります。
このチュートリアルでは、この問題の一般的な原因を順を追って説明し、それを解決するためのステップバイステップの手順を提供します。
このエラーが発生するタイミング
sudo oci-network-config show
およびsudo oci-network-config configure
コマンドは、OCIネットワーキング・ユーティリティの一部です。これらのコマンドは、OCIと対話する環境でネットワーク構成を管理およびトラブルシューティングするために使用されます。
-
sudo oci-network-config show
-
目的:
sudo oci-network-config show
コマンドは、OCIコンピュート・インスタンス上の現在のネットワーク構成を表示するために使用します。 -
主なユースケース:
- ネットワークの問題をトラブルシューティングします。
- 現在の仮想ネットワーク・インタフェース・カード(VNIC)構成(プライベートIP、パブリックIP、サブネット情報、VLANなど)を確認します。
- インスタンスに、マルチクラウドまたはハイブリッド設定で正しいIPおよびルーティング構成があることを確認します。
-
-
sudo oci-network-config configure
-
目的:
sudo oci-network-config configure
コマンドは、通常、変更またはネットワーク接続のリストアを行うために、インスタンスのネットワーク設定を再構成するために使用されます。 -
主なユースケース:
- セカンダリVNICを接続または切り離します。
- 既存のVNICで新しいIPアドレスを構成します。
- サブネットやVLANなどのOCIリソースの更新後にネットワーク設定を動的に変更します。
- インスタンスが更新されたOCIネットワーク・セキュリティ・ルールまたはルーティング変更に準拠していることを確認します。
-
例: sudo oci-network-config show
コマンドを実行すると、「情報を表示できません: APIセッションの取得に失敗しました」というエラーが表示されます。
sudo oci-network-config show
コマンドを実行して、インスタンスからすべてのネットワーク構成を取得します。- エラーに注意してください: 情報を表示できません: APIセッションの取得に失敗しました。インスタンスのVNICに関する情報は、OCIレベルではなくオペレーティング・システム・レベルで提供されません。
Cannot show information: Failed to get API sessionというコマンドoci-network-config show
を実行すると同じエラーが発生するため、このエラーは発生しません。
このエラーが表示されるのはなぜですか。
-
VCNはインスタンスが所有するオブジェクトではないため、適切な認証を行わないと、インスタンスはVCN情報に直接アクセスできません。
-
インスタンスがAPIからVCNの詳細をフェッチできるようにするには、インスタンスを含む動的グループを作成し、必要な権限を付与するポリシーを割り当てる必要があります。
OCIコンピュート・インスタンスがAPIを介してVCNの詳細をフェッチできるようにするには、次のステップを実行します:
-
動的グループの作成:この動的グループには、APIへのアクセスを必要とするインスタンスが含まれます。グループは、インスタンスOCIDやコンパートメントなどの属性に基づいてルールを使用して定義します。
-
ポリシーによる権限の割当て: VCN関連リソースの読取りまたは管理を行う権限を動的グループに付与するOracle Cloud Infrastructure Identity and Access Management (OCI IAM)ポリシーを作成する必要があります。たとえば次のようにします。
allow dynamic-group <dynamic-group-name> to read virtual-network-family in compartment <compartment-name>
-
認証にインスタンス、プリンシパルを使用:動的グループのインスタンスは、アイデンティティを使用して直接認証されるため、アプリケーションに資格証明を埋め込むことなく、セキュアなAPIアクセスが可能になります。この方法では、堅牢なアクセス制御を維持しながら、セキュリティ管理を簡素化します。
目的
- OCIコンピュート・インスタンスでOCI CLIネットワーク・コマンドを使用するときに、「情報を表示できません: APIセッションの取得に失敗しました」エラーを解決します。
前提条件
- OCI内で実行されているOracle Linuxインスタンス。
エラーの解決
-
OCIコンソールに移動します。
- ハンバーガー・メニュー(≡)をクリックし、「コンピュート」、「インスタンス」に移動して、次のコマンド
sudo oci-network-config show
およびsudo oci-network-config configure
を実行するコンピュート・インスタンスを選択します。 - 「表示」をクリックして、インスタンスのOCID値を表示します。
- 「コピー」をクリックして、インスタンスOCID値をコピーします。
- ハンバーガー・メニュー(≡)をクリックし、「アイデンティティ」、「ドメイン」、「デフォルト・ドメイン」にナビゲートして、「動的グループ」をクリックします。
- 「動的グループの作成」をクリックします
- 動的グループの「名前」を入力します。この例では、
sriov-test-04
を使用します。 - 「ルール・ビルダー」をクリックします。
- 「インスタンスとの照合」で「インスタンスOCID」を選択します。
- 「値」にインスタンスOCIDの値を入力します。
- 「ルールの追加」をクリックします。
- 新しいルールがグループに追加されることに注意してください。
- 「作成」をクリックします。
- ハンバーガー・メニュー(≡)をクリックし、「コンピュート」、「インスタンス」に移動して、次のコマンド
-
インスタンスが属するグループがあるので、インスタンスを含むコンパートメント内にポリシーを作成する必要があります。このポリシーにより、グループ内のインスタンスは、サブネットなどのVCNオブジェクトに対して操作を実行できます。
- ハンバーガー・メニュー(≡)をクリックし、「アイデンティティ」に移動して「コンパートメント」をクリックします。
- ルート・コンパートメントをクリックします。この例では、
oraseemeaocids4
です。
- 現在は子コンパートメント内にあることに注意してください。
- 次の子コンパートメントをクリックします。この例では、
NETWORK
です。
- 次の子コンパートメントにいます。
- 次の子コンパートメントをクリックします。この例では、
Iwan
です。
- 適切なコンパートメントが選択されていることを確認します。
- 「ポリシー」をクリックします。
- ポリシーの作成をクリックします。
-
「ポリシーの作成」に、次の情報を入力します。
- ポリシーの「名前」を入力します。この例では、
allow-sriov-test-04-to-vcn
を使用します。 - ポリシーの「説明」を入力します。この例では、
allow-sriov-test-04-to-vcn
を使用します。 - 「手動エディタの表示」を選択します。
allow dynamic-group sriov-test-04 to manage all-resources in compartment Iwan
ポリシーを入力します。- 「作成」をクリックします。
- ポリシーの「名前」を入力します。この例では、
-
新しく作成したポリシー内の新しいポリシー・ステートメントに注意してください。
-
これで、インスタンスによるVCNへのOCI CLIを介したAPIコールの実行が可能になりました。
sudo oci-network-config show
コマンドを実行して、OCIレベルのインスタンスからすべてのネットワーク構成を取得します。- エラーがなくなり、OCIレベルのネットワーク出力が表示されることに注意してください。
- オペレーティング・システム・レベルのネットワーク出力は、OCIレベルのネットワーク出力の後にも提供されることに注意してください。
承認
- 作成者 - Iwan Hoogendoorn (OCIネットワーク・スペシャリスト)
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Resolve the 'Cannot show information: Failed to get API session' Error when using the OCI CLI Network Commands
G25540-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.