コンパートメントを作成します
Terraformを使用してOracle Cloud Infrastructureアカウントに接続し、テナンシにコンパートメントを作成します。
主なタスクは:
- Oracle Cloud Infrastructure Terraformプロバイダ・リソースを使用して:
- 詳細を指定してコンパートメントを宣言します。
- テナンシにコンパートメントを作成します。

詳細は、次を参照してください:
開始前
このチュートリアルを正常に実行するには、次が必要です:
- Oracle Cloud Infrastructureアカウント。無料Oracle Cloudプロモーションのリクエストおよび管理を参照してください。
- MacOS、LinuxまたはWindowsコンピュータ。
- Terraformチュートリアルのスクリプト:
- OCI Terraformの設定のすべてのステップを実行します
- 作成したスクリプトを次のディレクトリに保持します:
$HOME/tf-provider/
1. 準備
Terraformスクリプトを認証および実行するための環境を準備します。また、チュートリアルを完了するために必要なすべての情報を収集します。
Oracle Cloudコンソールから次の情報を収集し、ノートパッドにコピーします。
- テナントOCID:
<tenancy-ocid>
- ナビゲーション・メニューで、「プロファイル」メニュー
を選択し、「テナンシ: <your_tenancy_name>」を選択します。
- 「OCID」の横にある「コピー」を選択します。
テナンシOCIDがクリップボードにコピーされます。
- ナビゲーション・メニューで、「プロファイル」メニュー
ユーザー名がAdministrators
グループ内にある場合は、この項をスキップしてください。それ以外の場合は、テナンシに次のポリシーを追加するよう管理者に依頼してください:
allow group <a-group-your-username-belongs-to> to manage compartments in tenancy
この権限を持つユーザーは、チュートリアルのすべてのリソースのコンパートメントを作成できます。
- Oracle Cloudコンソールにサインインします。
- ナビゲーション・メニューで、「プロファイル」メニュー
を選択し、表示されるオプションに応じて「ユーザー設定」または「自分のプロファイル」を選択します。
- 表示されるオプションに応じて、「グループ」または「自分のグループ」を選択します。
- メモ帳で、ユーザー名が属するグループの名前をコピーします。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」にある「ポリシー」を選択します。
- コンパートメントを選択します:
<your-tenancy>(root)
- 「ポリシーの作成」を選択します。
- 「ポリシーの作成」ページで、次の値を入力します:
- 名前:
manage-compartments
- 説明:
Allow the group <a-group-your-username-belongs-to> to list, create, update, delete and recover compartments in the tenancy.
- コンパートメント:
<your-tenancy>(root)
- 名前:
- 「ポリシー・ビルダー」で、「手動エディタの表示」を選択します。
- 次のポリシーを貼り付けます:
allow group <a-group-your-username-belongs-to> to manage compartments in tenancy
- 「作成」を選択します。
リファレンス: 動詞とリソース・タイプの組合せの詳細(compartments
リソース・タイプを参照)
2. スクリプトの作成
認証用のスクリプトを作成し、コンパートメントを作成して出力を出力します。
Oracle Cloud Infrastructureコンパートメント・リソースを宣言してから、コンパートメントの詳細を定義します。
Terraformでは、リソースとは仮想クラウド・ネットワークやコンピュート・インスタンスなどのオブジェクトです。Terraformを使用してこれらを作成、更新および削除できます。
コンパートメント・リソースを宣言するには:
- Oracle Cloud Infrastructureプロバイダに移動します。
- 左上の「フィルタ」ボックスに、
compartment
と入力します。結果は、データ・ソースとリソースの両方に対して返されます。
- 「アイデンティティ」で、「リソース」に移動し、
oci_identity_compartment
を選択します。ページのタイトルはリソース・タイプです:
oci_identity_compartment
必須の引数は、引数リファレンスにリストされています。
compartment_id
description
name
- リソース・ブロックを作成します:
- キーワード
resource
を使用してリソース・ブロックを宣言します - リソース・タイプ
"oci_identity_compartment"
のラベルを追加します - 任意のローカル名のラベルを追加します:
- ラベルには、文字、数字、アンダースコア(
_
)およびハイフン(-
)を含めることができます。最初の文字は数字にできません。 - 例:
"tf-compartment"
- ラベルには、文字、数字、アンダースコア(
- コード・ブロック内で、必要な引数の値を指定しますデフォルト値はありません。
- オプションの引数には、オーバーライドする引数の値を指定します。それ以外の場合は、デフォルト値が使用されます。
- キーワード
コードに出力ブロックを追加して、Terraformがコンパートメントを作成した後にコンパートメントに関する情報を取得します。
- 属性リファレンス(oci_identity_compartment)に移動します。ノート
属性は、oci_identity_compartment
リソースに対して返すことができる出力です。 - 出力する属性を決定します。
- リソース出力ブロックを作成します:
- キーワード
output
を使用して出力ブロックを宣言します - 出力結果とともに印刷するラベルを追加します:
- ラベルには、文字、数字、アンダースコア(
_
)およびハイフン(-
)を含めることができます。最初の文字は数字にできません。 - 例:
"compartment-name"
- ラベルには、文字、数字、アンダースコア(
- コード・ブロック内で、次の式を使用してリソース出力の値を入力します:
value = <type>.<local-name-for-resource>.<attribute>
- 例:
value = oci_identity_compartment.tf-compartment.id
- 出力ごとに出力ブロックを作成します。
- キーワード
3. コンパートメントの作成
Terraformスクリプトを実行します。アカウントがスクリプトを認証した後、Terraformはテナンシにコンパートメントを作成します。
tf-compartment
ディレクトリの作業ディレクトリを初期化します。
terraform init
出力例:
Initializing the backend...
Initializing provider plugins...
Terraform has been successfully initialized!
terraform plan
予想される出力には、Plan: 1 to add, 0 to change, 0 to destroy.
行が含まれます。
出力例:
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with
the following symbols:
+ create
Terraform will perform the following actions:
# oci_identity_compartment.tf-compartment will be created
+ resource "oci_identity_compartment" "tf-compartment" {
+ compartment_id = "ocid1.tenancy.xxx"
+ defined_tags = (known after apply)
+ description = "Compartment for Terraform resources."
+ freeform_tags = (known after apply)
+ id = (known after apply)
+ inactive_state = (known after apply)
+ is_accessible = (known after apply)
+ name = "<your-compartment-name>"
+ state = (known after apply)
+ time_created = (known after apply)
}
Plan: 1 to add, 0 to change, 0 to destroy.
Changes to Outputs:
+ compartment-OCID = (known after apply)
+ compartment-name = "<your-compartment-name>"
完了!Oracle Cloud Infrastructure Terraformプロバイダを使用して、正常にサインインしてテナンシにコンパートメントを作成しました。
参照:
次の処理
次のTerraform: スタート・ガイド・チュートリアルを参照してください:
Oracle製品を使用した開発の詳細を確認するには、次のサイトを参照してください: