このページは機械翻訳したものです。

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

リソース・マネージャを使用して、Oracle Cloud Infrastructureリソースのデプロイメントと操作を自動化します。サポートされているInfrastructure as Code (IaC)ツールを使用すると、DevOpsエンジニアはインフラストラクチャをどこでも開発およびデプロイできます。

Terraform構成は、宣言的な構成ファイルのインフラストラクチャを調整します。リソース・マネージャを使用すると、複数のチームおよびプラットフォームにわたってインフラストラクチャ構成と状態ファイルを共有および管理できます。このインフラストラクチャ管理は、ローカルTerraformインストールおよびOracle Terraformモジュールでのみ実行できません。Oracle Cloud Infrastructure Terraformプロバイダの詳細は、Terraform Providerを参照してください。Terraformおよび「infrastructure-as-code」モデルの概要は、Terraformコミュニティを参照してください。

Resource Managerは、Federal Information Processing Standard (FIPS)に準拠しています。米国政府リージョンのOCIの詳細は、Oracle US Government CloudおよびOracle US Defense Cloudを参照してください。

ヒント

サービスの概要ビデオを視聴してください。

主な概念

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

構成
インフラストラクチャを調整するための情報。指定のスタック内のOracle Cloud Infrastructureリソースを指定するには、構成を使用します。たとえば、リソース・メタデータ、データ・ソース定義および変数宣言を指定します。各Terraform構成ファイルは、HashiCorp構成言語(HCL)形式またはJSON形式です。HCL形式のファイルは、ファイル拡張子.tf を使用します。JSON形式のファイルは、ファイル拡張子.tf.jsonを使用します。
Resource ManagerでサポートされているTerraform構成ソースについては、Terraform構成の格納場所を参照してください。
構成の例については、Terraform Oracle Cloud Infrastructureプロバイダの例およびOracle提供のテンプレートを参照してください。詳細は、リソース・マネージャ用のTerraform構成および構成のオーサリングを参照してください。Terraform言語のドキュメントも参照してください。
構成ソース・プロバイダ
Terraform構成ファイルが格納されているソース・コード制御システムへの接続情報。構成ソース・プロバイダを使用して、バージョン管理されたリモートのTerraform構成ファイルからスタックを作成します。
構成ソース・プロバイダには、次のタイプがあります: 

構成ソース・プロバイダは、次のいずれかのタイプです:

  • Bitbucket
  • GitHub
  • GitLab

各タイプの構成ソース・プロバイダでサポートされている製品は次のとおりです。

構成ソース・プロバイダには、次のライフサイクル状態があります:
  • アクティブ: 構成ソース・プロバイダは使用可能です。
詳細は、構成ソース・プロバイダの管理およびスタックの作成を参照してください。

CI/CDパイプラインでのクラウド・プロビジョニングにCLIを使用したウォークスルーは、クラウドのIaC: TerraformおよびResource ManagerのCI/CDパイプラインへの統合- OCI CLIによる構築を参照してください。

ドリフト
インフラストラクチャの現実世界での状態とスタックの最終実行構成間の差異。たとえば、チーム・メンバーがリソースに本番タグを追加したとき、またはリソースに障害が発生したときにドリフトが発生します。ドリフト検出レポートを実行して、プロビジョニングされたリソースの状態が、スタックの最終実行構成で定義されているリソースと異なるかどうかを確認できます。各リソースの詳細なドリフト・ステータスを表示することもできます。
ジョブ
構成に定義されているアクションを実行する手順。特定のスタック上で実行できるジョブは、一度に1つのみです。さらに、Oracle Cloud Infrastructureリソースのセットは、特定のスタック上に1セットのみ持つことができます。別のリソース・セットをプロビジョニングするには、個別のスタックを作成し、別の構成を使用する必要があります。
ジョブには、関連付けられたスタックに関する履歴が格納されます。たとえば、計画ジョブは、生成された実行計画を格納し、ジョブ・ストア構成(スナップショット)および状態ファイルを適用します。ジョブは、関連付けられているスタックと同じコンパートメントに存在します。OCIDが各ジョブに割り当てられます。
リソース・マネージャのジョブ・タイプの詳細は、「ジョブの作成」を参照してください。
ジョブには、次のライフサイクル状態があります:
  • 受入れ済(ACCEPTED): ジョブは処理のために受け入れられました。
  • 進行中(IN_PROGRESS): ジョブは実行中(実行中)です。
  • 失敗(FAILED): ジョブの実行が完了しませんでした。
  • 成功(SUCCEEDED): ジョブは正常に完了しました。
  • 取消中(CANCELING): ジョブは取り消されています。通知は送信されましたが、ジョブはまだ実行が停止されていません。
  • 取消済(CANCELED): ジョブは取り消され、実行が停止されました。
デフォルトの再試行ポリシー:ダウンストリーム・サービスの問題により、ジョブが失敗することがあります。たとえば、コンピュート・サービスでの一時的な接続の問題が原因で、コンピュート・インスタンスを作成するための適用ジョブが失敗することがあります。ダウンストリーム・サービスの問題のためにジョブが失敗した場合、ジョブはGo SDKのデフォルトの再試行ポリシーに従って再試行されます。Go SDK for Oracle Cloud Infrastructureを参照してください。
モジュール
関連するリソースのグループ。モジュールを使用して軽量および再利用可能な抽象を作成し、アーキテクチャという観点からインフラストラクチャを記述できます。詳細は、モジュールの作成を参照してください。
パッケージ
通常、サポートされているプロバイダに格納されているTerraform構成への.zipファイル(GitHubなど)。詳細は、「「Oracle Cloudへのデプロイ」ボタンの使用」を参照してください。
プライベート・エンドポイント
非パブリック・リソースに接続するためのネットワーク情報。詳細は、プライベート・エンドポイントの管理を参照してください。
リソース検出
デプロイされたOracle Cloud InfrastructureリソースをTerraformの構成および状態ファイルとして取得する機能。詳細は、リソース検出を参照してください。
スタック
特定のTerraform構成に対応するOracle Cloud Infrastructureリソースのコレクション。各スタックは、指定したコンパートメントの単一のリージョンに存在しますが、指定したスタック上のリソースは複数のリージョンにデプロイできます。OCIDが各スタックに割り当てられます。
スタックを作成するステップは、スタックの作成を参照してください。Resource ManagerでサポートされているTerraform構成ソースについては、Terraform構成の格納場所を参照してください。
スタックには、次のライフサイクル状態があります:
  • 作成中: スタックを作成中です。
  • アクティブ: スタックは使用可能です。
  • 削除中: スタックは削除中です。
  • 削除済: スタックは削除されました。
  • 失敗: スタックを作成できませんでした。
状態
リソース構成の状態で、状態ファイル(.tfstate)にJSON形式で格納されます。詳細は、状態管理を参照してください。
型板
Terraform構成。一般的なシナリオで使用される一連のリソースをプロビジョニングします。テンプレートは、Oracleまたはテナンシ内のいずれかのユーザーがプライベート・テンプレートとして提供できます。テンプレートからスタックを作成するには、テンプレートからのスタックの作成を参照してください。詳細は、Oracle提供のテンプレートを参照してください。

プライベート・テンプレートを作成するには、プライベート・テンプレートの管理を参照してください。

機能

可用性

リソース・マネージャ・サービスは、すべてのOracle Cloud Infrastructure商用リージョンで使用できます。使用可能なリージョンのリストと、関連する場所、リージョン識別子、リージョン・キーおよび可用性ドメインは、リージョンおよび可用性ドメインについてを参照してください。

全般ワークフロー

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

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

    ノート

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

リソース・マネージャ・ワークフローの詳細なウォークスルーは、スタート・ガイドを参照してください。

リソース・マネージャへのアクセス方法

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

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

API: APIを介してリソース・マネージャにアクセスするには、リソース・マネージャAPIを使用します。

CLI: Resource Managerのコマンドライン・リファレンスを参照してください。

デフォルト・プロバイダ

デフォルトでは、Resource Managerは、Oracle Cloud InfrastructureのTerraformプロバイダであるterraform-provider-ociをサポートしています。

サポートされているサード・パーティTerraformプロバイダについては、サポートされているTerraformプロバイダを参照してください。

認証と認可

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

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

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

重要

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

管理者: リソース・マネージャ・リソースへのアクセス権をグループに付与する共通ポリシーについては、IAMポリシー(リソース・マネージャの保護)を参照してください。

セキュリティ

IAMポリシーの作成に加えて、リソース・マネージャのセキュリティに関する次のベスト・プラクティスに従ってください。

  • 構成ファイルおよび出力ファイルでの機密情報の使用を制限します。
  • セキュリティ監査を実行します
  • プライベート・エンドポイントを使用して、ネットワーク・トラフィックをパブリックに公開せずにリソースに安全にアクセスします

「リソース・マネージャの保護」を参照してください。