はじめに
Oracle Cloud Infrastructure(以下OCI)ではアカウント(テナンシ)単位でサービスリミットが設定されています。
※サービスリミット:OCIのアカウント毎に設定されている各種サービスのリソース制限
サービスリミットはOracleによって設定されていますが、コンパートメント単位のリソース制限はテナンシ及びコンパートメントの管理者が設定することが可能です。
この機能により、各コンパートメントのサービス利用量の上限を管理者がコントロールすることができます。
今回はコンピュートインスタンスのリソース制限を設定してみようと思います。
前提条件
コンパートメント割当てに必要な権限をユーザに付与します。
quota_adminグループを作成し、ユーザを追加した後に、下記のポリシーを設定します。
allow group quota_admin to { QUOTA_READ, QUOTA_CREATE, QUOTA_DELETE, QUOTA_UPDATE, QUOTA_INSPECT } in tenancy
コンパートメント割当ての設定
OCIコンソール画面のナビゲーション・メニューを開きます。
「ガバナンスと管理」→「ガバナンス」→「割当てポリシー」に移動し、
「割当て制限の作成」をクリックします。
ポリシーの作成画面で各項目を入力していきます。
名前:ポリシー名
説明:ポリシーの説明
割当て制限ポリシー:ポリシー本文
割当て制限ポリシーについて、サービスに割当て制限を設定する基本的な構文は下記になります。
set {サービスファミリ名} quota {サービス名} to {数量} in compartment {対象コンパートメント}
今回はtest_compartmentのCompute E3 Shapeのコア数上限を1に設定したいので、
set compute-core quota standard-e3-core-ad-count to 1 in compartment test_compartment
というポリシーを設定しました。
ポリシー構文やルールの詳細はドキュメントに記載されていますので、併せてご確認ください。
https://docs.oracle.com/ja-jp/iaas/Content/General/Concepts/resourcequotas.htm
割当て設定の確認
割当てポリシーが正しく適用されているか確認します。
test_compartmentにE3 Computeインスタンスを作成します。
2つ目のE3 Computeインスタンスの作成を試みたところ、The following compartment quotas were exceeded
とエラーが表示されてインスタンスの作成に失敗しました。
設定した割当てポリシーが正しく機能していることを確認できました。
参考資料