Oracle Cloud Infrastructureドキュメント

リソース・マネージャの概要

リソース・マネージャは、Oracle Cloud Infrastructureリソースのプロビジョニング処理を自動化できるOracle Cloud Infrastructureサービスです。 「リソース・マネージャ」は、Terraformを使用すると、"infrastructure-as-code"モデルによるリソースのインストール、構成および管理に役立ちます。

ノート

「リソース・マネージャ」は、Oracle Cloud Infrastructure Government Cloudレルムでは使用できません。

Terraform構成により、宣言的構成ファイルのインフラストラクチャが変更されます。 「リソース・マネージャ」では、複数のチームおよびプラットフォーム間でインフラストラクチャ構成および状態ファイルを共有および管理できます。 このインフラストラクチャ管理は、ローカルTerraformのインストールおよびOracle Terraformモジュールでのみ実行できます。 Oracle Cloud Infrastructure Terraformプロバイダの詳細は、「Terraformプロバイダ」を参照してください。 Terraformおよび"infrastructure-as-code"モデルの一般的な導入の詳細は、https://www.terraform.ioを参照してください。

主要な概念

次に、リソース・マネージャの主要概念と主なコンポーネントの簡単な説明を示します。

構成
インフラストラクチャを調整する1つ以上のTerraform構成ファイルのセット。 指定のスタック内のOracle Cloud Infrastructureリソースを指定するには、構成を使用します。 たとえば、リソース・メタデータ、データ・ソース定義および変数宣言を指定します。 各Terraform構成ファイルは、HashiCorp Configuration Language (HCL)形式またはJSON形式のいずれかで、ファイル拡張子(それぞれ.tf または.tf.jsonのいずれか)で示されます。
構成ファイルの例は、「Terraformプロバイダの例」を参照してください。 詳細は、「リソース・マネージャのTerraform構成」および「Terraform構成の作成」を参照してください。「ハッシュ・アイコン: 構成」も参照してください。
ジョブ
構成に定義されているアクションを実行する手順。 特定のスタック上で一度に実行できるジョブは1つのみで、特定のスタック上にOracle Cloud Infrastructureリソースのセットは1つのみです。 別のリソース・セットをプロビジョニングするには、個別のスタックを作成し、別の構成を使用する必要があります。
「リソース・マネージャ」には、次のジョブ・タイプがあります:
  • 計画: Terraform構成を解析して、関連するスタックの実行計画を作成します。 実行計画では、Oracle Cloud Infrastructureリソースのプロビジョニングに計画されている特定の処理の順序がリストされます。 実行計画は適用ジョブに渡され、適用ジョブは指示を実行します。
  • Apply Oracle Cloud Infrastructureリソースを作成(または変更)するために、実行計画を関連するスタックに適用します。 指定されたリソースの数およびタイプに応じて、特定の適用ジョブには時間がかかる場合があります。 ジョブの実行中に、ステータスを確認できます。
  • 破棄 スタックに関連付けられたリソースを解放します。 リリース済のリソースは削除されません。 たとえば、スタックによって制御されるコンピュート・インスタンスを終了します。 ジョブの破棄を実行した後、スタック・ジョブの履歴および状態が維持されます。 スタック・ログ・ファイルを調べて、ステータスをモニターし、破棄ジョブの結果を確認できます。
  • 状態のインポート 指定されたTerraform状態ファイルをスタックの現在の状態として設定します。 このジョブを使用して、ローカルのTerraform環境を「リソース・マネージャ」に移行します。
ジョブには、関連付けられたスタックに関する履歴が格納されます。 たとえば、計画ジョブは、生成された実行計画を格納し、ジョブ・ストア構成(スナップショット)および状態ファイルを適用します。 ジョブは、関連付けられているスタックによって占有されているコンパートメント内にあります。 OCIDが各ジョブに割り当てられます。
module
関連するリソースのグループ。 モジュールを使用して軽量および再利用可能な抽象を作成し、アーキテクチャという観点からインフラストラクチャを記述できます。 詳細は、「モジュールの作成」を参照してください。
stack
特定の「Terraform構成」に対応するOracle Cloud Infrastructureリソースの集まり。 各スタックは、指定したコンパートメント内の単一のリージョンに存在しますが、指定したスタック上のリソースは複数のリージョンにデプロイできます。 OCIDが各スタックに割り当てられます。
state
リソース構成の状態で、JSON形式でstateファイル(.fstate)に格納されます。 状態ファイルはスタック・リソースを構成にマップし、リソース依存関係などの基本的な構成メタデータも維持します。 リソース・マネージャは、状態ファイルを自動的に生成および更新します。 ファイルを手動で編集することはできません。
リソース・マネージャでは、特定のスタックで一度に1つのジョブのみを実行できるため、状態ロックがサポートされています。 状態ファイルの詳細は、「ハッシュ・アイコン: 州」を参照してください。

汎用化ワークフロー

次のイメージは、リソース・マネージャ・ワークフローの汎用的なビューを示しています。

このイメージは、リソース・マネージャを使用するプロビジョニング・インフラストラクチャのワークフローを示しています。

次のステップのリンクでは、コンソールの指示が参照されますが、API (CLIまたは他のツールを使用して)を使用しても同じタスクを実行できます。

  1. Terraform構成を作成します。
  2. スタックを作成します。
  3. 「計画ジョブを実行」では、実行計画が生成されます。
  4. 実行計画を確認します。
  5. 実行計画で変更が必要な場合は、「構成の更新」で計画ジョブを再実行します。
  6. リソースをプロビジョニングする「適用ジョブの実行」
  7. 必要に応じて「状態ファイルとログ・ファイルの確認」を使用します。
  8. 適用ジョブを再実行することによって、(オプション)構成を変更の有無にかかわらず再適用できます。
  9. オプションで、スタック上で実行されているリソースを解放するために、「破棄ジョブを実行」を実行します。

「リソース・マネージャ」ワークフローの詳細は、「サンプル: リソース・マネージャを使用したコンピュート・インスタンスの作成」を参照してください。

リソース・マネージャにアクセスする方法

コンソール (ブラウザベースのインタフェース)またはREST APIを使用して、「リソース・マネージャ」サービスにアクセスできます。 コンソールおよびAPIの手順は、このガイドのトピックに含まれています。 使用可能なSDKのリストは、「ソフトウェア開発キットとコマンドライン・インタフェース」を参照してください。

コンソール: コンソールを使用してリソース・マネージャにアクセスするには、サポートされているブラウザを使用する必要があります。 このページの上部にあるコンソール・リンクを使用して、サインイン・ページにアクセスできます。 クラウド・テナント、ユーザー名、およびパスワードを入力するよう求められます。 「ナビゲーション・メニュー」を開きます。 ソリューションおよびプラットフォームの下で、リソース・マネージャに移動して「スタック」をクリックします。

API: APIを通じて「リソース・マネージャ」にアクセスするには、「リソース・マネージャAPI」を使用します。 コマンド行インタフェース(CLI)を使用してこのAPIにアクセスするには、oci resource-manager指定を使用します。

認証と認可

Oracle Cloud Infrastructureの各サービスは、すべてのインタフェース(コンソール、SDKまたはCLI、およびREST API)の認証および認可のためにIAMと統合されています。

組織の管理者は、どのユーザーがどのサービス、どのリソースおよびアクセスのタイプにアクセスできるかを制御するグループ、コンパートメントおよびポリシーを設定する必要があります。 たとえば、ポリシーは、新しいユーザーの作成、クラウド・ネットワークの作成と管理、インスタンスの起動、バケットの作成、オブジェクトのダウンロードなどを実行できるユーザーを制御します。詳細は、「ポリシーの開始」を参照してください。 異なる各サービスに対するポリシーの記述の詳細は、「ポリシー・リファレンス」を参照してください。

会社が所有するOracle Cloud Infrastructureリソースを使用する必要がある通常のユーザー(管理者ではない)の場合は、管理者に連絡してユーザーIDを設定してください。 管理者は、使用する必要があるコンパートメントを確認できます。

管理者: グループにスタックおよびジョブへのアクセス権を付与する共通ポリシーは、「スタックおよびジョブを管理するポリシー」を参照してください。 「リソース・マネージャ」権限の完全なリストは、「リソース・マネージャの詳細」を参照してください。 アクセスしたリソース・タイプを管理するためのポリシーも必要です。

重要

Oracle Cloud Infrastructureリソースを管理するポリシーは、リソースにアクセスする「リソース・マネージャ」操作にも必要です。
たとえば、コンピュート・インスタンスおよびサブネットを含むスタック上で適用ジョブを実行するには、リソースをプロビジョニングするコンパートメント内で、これらのリソース・タイプに対する権限を付与するポリシーを必要とします。 Oracle Cloud Infrastructureリソースを管理するためのポリシーの例は、「共通ポリシー」を参照してください。

「リソース・マネージャ」リソースの制限

適用可能な制限の一覧と制限の増加をリクエストする手順については、「サービス制限」を参照してください。 リソースまたはリソース・ファミリにコンパートメント固有の制限を設定するために、管理者は「コンパートメントの割当」を使用できます。