OCIリソースの使用状況は OCIコンソール の Limits, Quotas and Usage などから確認できますが、追加設定を行うと Autonomous Database のビューでも参照できるようになります。本記事は Autonomous Database のビューで OCIリソースの使用状況を確認しますやで。
彡(゚)(゚)
1. 参考マニュアル
下記マニュアルの記載に従って操作していきます。
Autonomous Databaseビューを使用したOracle Cloud Infrastructureリソース、コストおよび使用状況レポートの追跡
https://docs.oracle.com/ja-jp/iaas/autonomous-database-shared/doc/oci-resources-cost-usage-views.html#ADBSA-GUID-7ABD40B3-A9CC-491E-8FBA-E6F37F722E7D
2. Autonomous Database の作成
OCIコンソールから Autonomous Database を作成します。特に難しいところは無いのでポチポチと。
3. 動的グループ(Dynamic Group)の作成
動的グループ(Dynamic Group)を作成します。動的グループのマッチングルールは今回はコンパートメントの OCID を設定しました。
All {resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'}
4. 動的グループへのポリシー(権限)付与
上記3. で作成した動的グループに以下のポリシー(権限)を付与します。マニュアルにも記載がありますが tenancy の OCID はユーザーテナントの OCID ではなくマニュアルに記載された固定のOCIDをそのまま記述します。
このポリシーのOCIDを別のOCIDに置き換えないでください。このusage-report OCIDは、テナンシのOracle Cloud Infrastructure使用状況データを提供します。
Define tenancy usage-report as ocid1.tenancy.oc1..aaaaaaaaned4fkpkisbwjlr56u7cj63lf3wffbilvqknstgtvzub7vhqkggq
Endorse dynamic-group ayu-dynamic-group01 to read objects in tenancy usage-report
Allow dynamic-group ayu-dynamic-group01 to read buckets in tenancy
Allow dynamic-group ayu-dynamic-group01 to read autonomous-database in tenancy
Allow dynamic-group ayu-dynamic-group01 to read usage-budgets in tenancy
5. Autonomous Database のリソース・プリンシパルの有効化
DBMS_CLOUDパッケージを実行して Autonomous Database のリソース・プリンシパルを有効化します。
COLUMN OWNER FORMAT A30;
COLUMN CREDENTIAL_NAME FORMAT A50;
EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL();
SELECT owner, credential_name FROM dba_credentials
WHERE credential_name = 'OCI$RESOURCE_PRINCIPAL' AND owner = 'ADMIN';
OWNER CREDENTIAL_NAME
------------------------------ --------------------------------------------------
ADMIN OCI$RESOURCE_PRINCIPAL
Autonomous Database のリソース・プリンシパル変更は2時間のインターバルを必要とするケースがあるため、認識の上で操作して下さい。
Autonomous Databaseでリソース・プリンシパルを使用するための前提条件の実行
https://docs.oracle.com/cd//E83857_01/paas/autonomous-database/adbsa/resource-principal-prereq.html#GUID-3CF59CED-F7DF-46AF-B3CF-E703ED0BB3EE
リソース・プリンシパル・トークンは2時間キャッシュされます。 したがって、ポリシーまたは動的グループを変更した場合、変更の影響を確認するには、2時間待つ必要があります。
6. Autonomous Database のビュー(OCI_USAGE_DATAなど)経由でリソース使用状況を確認
Autonomous Database に接続してビューを SELECT します。
SET LINESIZE 300;
COLUMN INTERVAL_USAGE_START FORMAT A30 TRUNC;
COLUMN INTERVAL_USAGE_END FORMAT A30 TRUNC;
COLUMN SERVICE_NAME FORMAT A30;
COLUMN RESOURCE_NAME FORMAT A50;
COLUMN CONSUMED_QUANTITY FORMAT A30;
COLUMN CONSUMED_QUANTITY_MEASURE FORMAT A30;
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY/MM/DD HH24:MI:SS.FF';
SELECT DISTINCT SERVICE_NAME, RESOURCE_NAME, CONSUMED_QUANTITY, CONSUMED_QUANTITY_MEASURE, CONSUMED_QUANTITY_UNITS, INTERVAL_USAGE_START, INTERVAL_USAGE_END FROM OCI_USAGE_DATA WHERE SERVICE_NAME = 'DATABASE' AND RESOURCE_NAME = 'PIC_DATABASE_CLOUD_STANDARD_EDITION' ORDER BY 1, 2, 5, 6;
SERVICE_NAME RESOURCE_NAME CONSUMED_QUANTITY CONSUMED_QUANTITY_MEASURE CONSUMED_QUANTITY_UNITS INTERVAL_USAGE_START INTERVAL_USAGE_END
------------------------------ -------------------------------------------------- ------------------------------ ------------------------------ -------------------------------- ------------------------------ ------------------------------
DATABASE PIC_DATABASE_CLOUD_STANDARD_EDITION 3419618.0 OCPUS MS 2020/11/30 18:00:00.000000 2020/11/30 19:00:00.000000
DATABASE PIC_DATABASE_CLOUD_STANDARD_EDITION 3600000.0 OCPUS MS 2020/11/30 19:00:00.000000 2020/11/30 20:00:00.000000
DATABASE PIC_DATABASE_CLOUD_STANDARD_EDITION 3600000.0 OCPUS MS 2020/11/30 20:00:00.000000 2020/11/30 21:00:00.000000
DATABASE PIC_DATABASE_CLOUD_STANDARD_EDITION 3600000.0 OCPUS MS 2020/11/30 21:00:00.000000 2020/11/30 22:00:00.000000
DATABASE PIC_DATABASE_CLOUD_STANDARD_EDITION 3600000.0 OCPUS MS 2020/11/30 22:00:00.000000 2020/11/30 23:00:00.000000
DATABASE PIC_DATABASE_CLOUD_STANDARD_EDITION 3600000.0 OCPUS MS 2020/11/30 23:00:00.000000 2020/12/01 00:00:00.000000
DATABASE PIC_DATABASE_CLOUD_STANDARD_EDITION 3600000.0 OCPUS MS 2020/12/01 00:00:00.000000 2020/12/01 01:00:00.000000
DATABASE PIC_DATABASE_CLOUD_STANDARD_EDITION 3600000.0 OCPUS MS 2020/12/01 01:00:00.000000 2020/12/01 02:00:00.000000
:
リソース使用状況をビュー経由で SELECT できました。ちなみにこれらのビューはとても遅かったので、Autonomous Database のユーザー表として CTAS(CREATE TABLE AS SELECT ...) してそちらを参照した方がストレス無く確認できます。
彡(^)(^)
CREATE TABLE OCI_USAGE_DATA_CTAS AS SELECT * FROM OCI_USAGE_DATA;
7. まとめ
OCIリソースの使用状況を Autonomous Database のビュー経由で参照できました。リソースの使用状況は OCI CLIコマンドでも採取可能なのですが、取得した情報を使用して色々と計算したいケースなどは RDBMS形式 で SQL を使えた方が便利なケースも多いので、どんどん活用して下さいね。
彡(^)(^)
Appendix.
OCI CLI の場合は下記記事の手順でリソースの使用状況は取得可能です。ただしとても面倒(゚ε゚ )