OCIのサービス制限値をCLIで確認する方法

Developer

初めに

OCIコンソールからサービス制限値を確認する方法が一般的ですが、APIを使用して確認することも可能です。今回はOCI-CLIを例に、その確認方法を紹介します。

利用場面
バッチスクリプト内で対象サービスの使用可能量をチェックし、しきい値に近づいた場合に、OCIの通知機能(Notification)と連携して自動的に管理者へ通知を行うような場合に活用できます。

1. 事前準備

1-1. OCI-CLIのインストールと設定

OCI-CLIのインストールおよび構成ファイルの作成については、公式のクイックスタートをご参照ください。Cloud Shellを利用する場合は、既にインストールおよび設定が完了しているため、すぐにご利用いただけます。

1-2. IAMポリシー

Administratorsグループに所属している場合は、制限値および使用状況を表示する権限が既に付与されています。それ以外の場合は、以下のようなIAMポリシーを作成してください。

グループ名:LimitsAndUsageViewers

ポリシー・ステートメント
テナント・レベル:
Allow group LimitsAndUsageViewers to read resource-availability in tenancy
コンパートメント・レベル:
Allow group LimitsAndUsageViewers to read resource-availability in compartment A

2. 明確なサービス制限値

この例では、VCNの使用量と使用可能値を確認します。

OCIコンソールでの確認結果
OCIメニュー → ガバナンスと管理 → テナンシ管理 → 制限、割当ておよび使用状況

サービス:Virtual Cloud Network
スコープ:ap-tokyo-1
リソース:Virtual Cloud Network Count
Check OCI service limit from OCI console
上記の表示通り、現在の使用量は4で、使用可能値は46となっています。

サポート対象のサービス名を確認
OCIコンソールに表示されるサービス名は、Virtual Cloud Networkですが、CLIの場合は、異なりますので、まず次のコマンドでサービス名を確認します。

コマンド:oci limits service list -c <Tenancy_OCID>

  • この例では、ルート・コンパートメントを指定しているので、Tenancy_OCIDを使う。
  • 次のようにアルファベットの昇順で全サービスがリストされる。CLIの場合、サービス名は略称(name項目)となる。
$ oci limits service list -c <Tenancy_OCID>
{
  "data": [
    {
      "description": "Application Dependency Management",
      "name": "adm"
    },
...中略...
    {
      "description": "Virtual Cloud Network",
      "name": "vcn"
    },
...中略...
    {
      "description": "Web Application Firewall",
      "name": "waf"
    }
  ]
}

ご覧の通り、Virtual Cloud Networkに対するサービス名は、vcnです。

OCI CLIでVCNの使用可能値を確認する
コマンド例:oci limits resource-availability get -c <Tenancy_OCID> --service-name vcn --limit-name vcn-count

$ oci limits resource-availability get -c <Tenancy_OCID> --service-name vcn --limit-name vcn-count
{
  "data": {
    "available": 46,
    "effective-quota-value": null,
    "fractional-availability": 46.0,
    "fractional-usage": 4.0,
    "used": 4
  }
}

used: 4 (使用量)、 available: 46 (使用可能値)
両者の合計は、サービス制限値の50となります。

3. 動的なサービス制限値

一部のサービスでは、制限値が固定の数値ではなく動的と表示される場合があります。例えば、Standard.E4.FlexのOCPU数は、その代表的な例です。

OCIコンソールでの確認結果
Service limit of standard-e4-core-count

ドキュメントの解釈
OCI document on dynamic service limit

OCI CLIでOCPUの使用可能値を確認
コマンド例:
oci limits resource-availability get -c <Tenancy_OCID> --service-name compute --limit-name standard-e4-core-count --availability-domain xxxx:AP-TOKYO-1-AD-1

ADの冒頭のxxxxは、ADに自動に付与された4桁の英字です(上記のOCIコンソールに確認できる)。

$ oci limits resource-availability get -c <Tenancy_OCID> --service-name compute --limit-name standard-e4-core-count --availability-domain xxxx:AP-TOKYO-1-AD-1
{
  "data": {
    "available": 100,
    "effective-quota-value": null,
    "fractional-availability": 100.0,
    "fractional-usage": 0.0,
    "used": 0
  }
}

used: 0 (使用量)、available: 100 (使用可能値)

4. 制限事項

すべてのサービス制限値がコンソールまたはOCI-CLIで確認できるわけではありません(例:DRG)。OCI-CLIでサービス制限が取得できない場合、404応答が返されます。

以上

OCIドキュメント
サービス制限
OCI CLI (limits » service » list)
OCI CLI (limits » resource-availability » get)

タイトルとURLをコピーしました