リソース・マネージャおよびTerraform
Terraformは、Oracle Cloud Infrastructure (OCI)リソースのプロビジョニング、構成および管理のためにResource ManagerでサポートされているInfrastructure as Code (IaC)ツールです。
Resource ManagerでサポートされているIaCツールの詳細は、コード・ツールとしてサポートされているインフラストラクチャを参照してください。
Resource Managerの各スタックは、Terraform構成、およびTerraform状態ファイルに関連付けられます。リソース・マネージャでリソースを正常に管理するには、Hashicorp Terraformの概念を理解することが重要です。
Terraform構成
Terraform構成によって、インフラストラクチャは、インフラストラクチャをプロビジョニングしてその状態を維持するために必要なステップを含む宣言ファイルに整理されます。OCIリソースを管理するには、構成でterraform-provider-oci
Terraformプロバイダを指定する必要があります。
Resource Managerでは、OCIリソースのプロビジョニングと管理のためにスタックを作成するためのTerraform構成が必要です。事前定義済のTerraform構成は、テンプレートとして使用でき、既存のコンパートメントからTerraform構成を生成したり、リソース作成ページ(コンピュート・インスタンスの作成など)から生成することもできます。OCIリソースの初期プロビジョニング後、Resource ManagerはスタックのTerraform構成を使用してリソースのドリフトを検出します(リソースの状態と構成との違い)。
サンプルTerraform構成の記述を含むウォークスルーは、スタート・ガイドを参照してください。
独自のTerraform構成の記述の詳細は、リソース・マネージャのTerraform構成および構成のオーサリングを参照してください。
Terraform状態 🔗
Terraform状態ファイルは、リソース・マネージャによって自動的に生成および更新されます。Resource Managerでは、スタックのTerraform状態ファイルが格納されるため、必要なしにできます。スタックの状態ファイル(JSON形式の.tfstate)は、スタックのリソースを構成にマップし、リソースの依存関係などの必須の構成メタデータを保持します。
スタック状態がロックされているため、複数のユーザーが同時にスタックで作業でき、特定のスタックで一度に実行できるジョブは1つのみです。
関連手順については、次を参照してください。
ジョブ 🔗
リソース・マネージャのジョブは、Terraform構成ファイルおよび状態ファイルを使用して、次のTerraformアクションを介してOracle Cloud Infrastructure (OCI)リソースを管理します。
- 計画: Terraform構成を解析して、関連するスタックの実行計画を作成します。実行計画では、OCIリソースのプロビジョニングに計画されている特定のアクションの順序がリストされます。実行計画は適用ジョブに渡され、その適用ジョブによって手順が実行されます。
- 適用。関連するスタックに実行計画を適用して、OCIリソースを作成(または変更)します。指定されたリソースの数およびタイプに応じて、特定の適用ジョブには時間がかかる場合があります。ジョブの実行中に、ステータスを確認できます。
- 破棄。スタックに関連付けられたリソースを解放します。解放済のリソースは削除されません。たとえば、スタックによって制御されるコンピュート・インスタンスを終了します。スタックのジョブ履歴および状態は、破棄ジョブの実行後も残ります。スタックのログ・ファイルを調べることで、ステータスをモニターし、破棄ジョブの結果を確認できます。
- 状態のインポート。指定されたTerraform状態ファイルをスタックの現在の状態として設定します。このジョブを使用して、ローカルのTerraform環境をリソース・マネージャに移行します。
ジョブを実行すると、スタックの変数値がリソース・マネージャのTerraformホストに環境変数として追加されます。たとえば、特定のVCN変数のスタックで指定されたVCNが環境変数として追加されます。
Terraformアクションのプラン、適用および破棄のジョブの実行を含むウォークスルーは、スタート・ガイドを参照してください。
Terraformアクションのジョブに関連する手順は、ジョブの管理を参照してください。