0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OCI SDKにカスタムリージョンを追加してエラーを解消する

Posted at

最初に

OCI SDK(以下SDK)ではデフォルトで以下のリージョン識別子を認識しています:
リージョン識別子の一覧

しかし、上記リージョンに含まれない識別子も存在します。
そのため、例えば以下のドキュメントを参考に、コンピュート・インスタンスのディスク使用率(ここではdisk_usage.pyとして作成)を監視するスクリプトをホームディレクトリ(~)配下に作成し、実行すると、次のようなエラーが発生する場合があります:
OCI カスタム・メトリックを使用したディスク使用率の監視

oci._vendor.requests.exceptions.ConnectionError: 
OCIConnectionPool(host='auth.ap-dcc-tokyo-1.oraclecloud.com', port=443): 
Max retries exceeded with url: /v1/x509 (Caused by 
NewConnectionError('<oci.base_client.OCIConnection object at 
0x7fb76f2f5588>: Failed to establish a new connection: [Errno -2] Name or 
service not known',))

このエラーは、SDKが使用しているリージョン構成に必要な情報が不足している場合に発生します。
ここでは、リージョン構成ファイルを作成してSDKに新しいリージョンを追加する方法を説明します。

手順

1.ociディレクトリに移動
まず、ホームディレクトリ(~)配下に.ociディレクトリを作成し、そのディレクトリに移動します。
以下のコマンドを実行してください:

mkdir .oci
cd .oci

2.リージョン構成ファイルの作成
次に、.ociディレクトリ内にリージョン構成ファイル(ここではregions-config.json)を作成し、以下の内容を記述します:

regions-config.json
[
	{ 
		"realmKey" : "OC1",
		"realmDomainComponent" : "oraclecloud.com",
		"regionKey" : "SYD",
		"regionIdentifier" : "ap-sydney-1"
	}
]

注意:realmKeyの値は、OCIDに含まれる情報を参考に設定します。
以下の図を確認してください:
スクリーンショット 2024-12-25 10.20.51.png

3.スクリプトの再実行
リージョン構成ファイルを作成した後、ホームディレクトリ(~)に戻り、再度ディスク使用率監視スクリプトを実行します:

python disk_usage.py

スクリプトが正常に動作すると、以下のような結果が表示されます:

34.6
{
  "failed_metrics": [],
  "failed_metrics_count": 0
}

これにより、SDKが新たに追加されたリージョンを認識し、メタデータを正常に取得できるようになります。

補足

作成したリージョン構成ファイルは、複数のカスタムリージョンを追加する場合にも対応可能です。
エラーが引き続き発生する場合は、ファイルパスや記述内容を再確認してください。

参考

リージョンの追加

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?