目次
はじめに
こんにちは、株式会社エーピーコミュニケーションズの松尾です。
今回はOCI特有の考え方である、”コンパートメント”について紹介していきます。これからOCIを始める方向けに概要をお伝えしていきます。
本記事の対象者
- OCIの学習をこれから始める方
- コンパートメントを知りたい方
- テナンシを知りたい方
テナンシとは
OCIのアカウントを開設すると”テナンシ”が自動的に1つ割り当てられます。アカウント=テナンシという認識で良いかと思います。
テナンシ名をアカウント開設時に設定出来たりはするのですが、アカウント開設後にテナンシについて何か操作することは基本的には無いかと思います。
アカウント=テナンシ、程度の理解で最初は良いです。
OCIログイン後、右上のアイコンからテナンシ名が確認できます。
テナンシ名をクリックするとテナンシ詳細ページへとぶことができます。
コンパートメントとは
コンパートメントとはOCI内のリソースをグループ化するための論理的なフォルダのようなものです。
OCI独自の考え方で、OCIではリソースは何らかのコンパートメントに配置される形となります。絵で理解した方が分かりやすいと思うのでここからは図を中心に紹介していきます。
アカウント開設直後のコンパートメントはこのような状態。
東京リージョンをホームリージョンとした場合です。(リージョンはAWSと同様の認識で問題ないです)
東京リージョン内に”ルート”コンパートメントが1つ作成された状態。ポイントとしては、ユーザ側で何も作業をしていないですが、”ルートコンパートメント”が存在している、ことです。
コンソールではこのように確認できます。
コンパートメント詳細ページでは、コンパートメント一覧を確認できます。
最初はルートコンパートメント1つのみなので、1つだけ作成された状態です。
ちなみにコンパートメントは複数リージョンにわたって存在することができます。OCIではリージョンはデフォルトではホームリージョンしか使用することができません。リージョンを”サブスクライブ”することでサブスクライブしたリージョンが使用可能になる仕組みとなっています。
例えば、ホームリージョンが東京リージョン、北米リージョンとYYYリージョンをサブスクライブした場合はこのような構成となります。
ホームリージョンした有効でない状態はこのように表示されます。この場合、リソースを作成できるのは東京リージョンのみとなります。
コンパートメントの階層化
コンパートメントは階層化構造となっています。
初期のルートコンパートメントを頂点として、子コンパートメントを6つまで階層構造にすることができます。
コンパートメントはいずれかを親コンポーネントとする必要があります。同じコンポーネントを親とする複数の子コンポーネントの構成は作ることができます。詳しくはドキュメントを参照ください。
コンポーネントを分けるメリット
コンポーネントを分けることで、リソースへのアクセス権コントロール、リソースの上限管理、が可能になる点が大きいメリットです。
OCIでは、”ポリシー”を用いてアクセス権を設定していくのですが、ポリシーで定義できる対象が大きくはテナンシ・コンパートメント、の単位となります。(正確には特定のリソース単位、なども設定可能ですが、ここでは概要説明のため割愛します)
そのため、リソースをコンパートメントごとに分けておくと、アクセス権の設定がしやすい仕組みとなっています。
例えば、自分が管理者権限を持つコンパートメントを作成したり、他人に管理者権限を付与したコンパートメントを作成したりすることができます。
(ポリシーについては長くなるので別途記事で紹介予定です!)
コンパートメントに公式ドキュメントはこちら。
まとめ
OCIの基本的なキーワードであるテナンシとコンパートメントについて概要を紹介しました。
コンパートメントはアクセス権の設定でも必要となるため概念として理解しておくことは重要です。
本記事が理解の助けになれば幸いです!
おわりに
私達クラウド事業部はOCIやAWSなどのクラウド技術を活用したSI/SESのご支援をしております。
また、一緒に働いていただける仲間も募集中です! ご興味持っていただけましたらぜひお声がけください。