スタックおよびジョブの管理

このトピックでは、スタックの作成、編集、削除およびジョブの操作(実行計画の生成および適用を含む)方法について説明します。このトピックではドリフト検出についても説明します。

必須IAMポリシー

スタックおよびジョブを管理するには、管理者が作成するポリシーで、コンソール、またはSDK、CLIまたはその他のツールを使用したREST APIのどちらを使用しているかにかかわらず、必要なアクセスのタイプを付与する必要があります。 アクションを実行しようとしたときに、権限がない、または認可されていないというメッセージが表示された場合は、付与されているアクセスのタイプと作業するコンパートメントを管理者に確認してください。

重要

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

ポリシーを初めて使用する場合は、ポリシーの開始共通ポリシーを参照してください。

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

リソースのタグ付け

リソースにタグを適用すると、ビジネス・ニーズに応じてそれらを整理しやすくなります。リソースの作成時にタグを適用することも、後でリソースを必要なタグで更新することもできます。タグ適用についての一般情報は、リソース・タグを参照してください。

別のコンパートメントへのリソースの移動

スタックはコンパートメント間で移動できます。スタックを新規コンパートメントに移動すると、関連付けられているジョブもそのコンパートメントとともに移動します。スタックを新規コンパートメントに移動すると、固有のポリシーがただちに適用され、コンソールを介したスタックおよび関連するジョブへのアクセスが影響を受けます。詳細は、「コンパートメントの管理」を参照してください。

コンソールの使用

スタックの管理(コンソール)

スタックを作成するには

この項では、スタックの作成時に「スタックの作成」ページから開始する方法について説明します。リソース・マネージャでサポートされるTerraform構成ソースについては、Terraform構成の格納場所を参照してください。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. スタックの作成」をクリックします。

  4. 「スタックの作成」ページの「Terraform構成の起点の選択」で、必要なオプションを選択します。

    • 構成:ローカル・フォルダ、オブジェクト・ストレージ・バケットまたはローカル.zipファイル。

      Stack Configuration」で、Terraform構成の場所に対応するオプションを選択します。

      • フォルダ:ダイアログのコントロールにフォルダをドラッグ・アンド・ドロップするか、「参照」をクリックして目的のフォルダの場所に移動します。
      • オブジェクト・ストレージ・バケット:リストからバケットを選択します。

        リストには、指定されたコンパートメント内のバケットが表示されます。別のコンパートメントを選択するには、「コンパートメントの変更」をクリックします。

      • 。Zipファイル: .zipファイルをダイアログのコントロールにドラッグ・アンド・ドロップするか、「参照」をクリックして必要な.zipファイルの場所に移動します。

      このダイアログ・ボックスには、ローカルのTerraform構成に含まれる情報が移入されます。

    • テンプレート: 事前構築済のTerraform構成(サービス、アーキテクチャまたはプライベート・テンプレート)。

      スタック構成」で、「テンプレートの選択」をクリックしてから、目的のテンプレートを選択します。プライベート・テンプレートは、「プライベート」タブの下にあります。

      このダイアログ・ボックスには、選択したテンプレートのTerraform構成に含まれる情報が移入されます。

    • ソース・コード制御システム:構成ソース・プロバイダを使用したリモートの場所。
      ステップ
      1. スタック構成」で、構成ソース・プロバイダを選択します。

        作成する必要がある場合は、構成ソース・プロバイダを作成するにはを参照してください。

      2. リポジトリを選択します。

        例: https://gitlab.com/example

      3. ブランチを選択します。

        返されるリストではブランチ数が100個に制限されています。

      4. (オプション) Terraformを実行するための作業ディレクトリを指定します。

        このフィールドは、ディレクトリを含むブランチを選択した場合に表示されます。

        例(1レベル): ディレクトリ

        例(2レベル): ディレクトリ/サブディレクトリ

        指定しないと、ルート・ディレクトリが使用されます。

      このダイアログ・ボックスには、リモートTerraform構成に含まれる情報が移入されます。

    • 既存のコンパートメント:リソース検出を使用してTerraform構成を生成します。

      ステップ
      • 「リソース検出のコンパートメント」(取得しようとするリソースを含むコンパートメント)を選択します。

        リスト範囲のコンパートメントはデフォルトで設定されています。

      • 「リソース検出のリージョン」(取得しようとするリソースを含むリージョン)を選択します。

      • リソース検出でサポートされている特定のサービスをフィルタするには、「選択済」を選択し、目的のサービスを選択します。

        ノート

        この設定は、スタックを後で編集するときは変更できません。

      ダイアログ・ボックスには、指定したコンパートメントに関する情報が移入されます。

  5. 新しいスタックの名前を入力します(または、表示されたデフォルトの名前を受け入れます)。機密情報の入力は避けてください。
  6. 必要に応じて、「説明」を入力します。
  7. 新しいスタックの名前を入力します(または、表示されたデフォルトの名前を受け入れます)。機密情報の入力は避けてください。

  8. 必要に応じて、「説明」を入力します。

  9. 「コンパートメントに作成」で、スタックを作成するコンパートメントを選択します。

    リスト範囲のコンパートメントはデフォルトで設定されています。

  10. 「Terraformのバージョン」で、Terraform構成のバージョンを選択します。

    「既存のコンパートメント」が選択されている場合、このフィールドは使用できません。

  11. オプションで、スタックにタグを適用します。

    リソースの作成権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかわからない場合は、このオプションをスキップするか(後からでもタグを適用できます)、管理者に問い合せてください。

  12. へ」をクリックします。

    変数の構成」パネルには、Terraform構成の変数が表示されます。

    Terraform構成がまだ存在しないため、既存のコンパートメント・スタックの起点の変数はリストされません。

  13. 変数を確認し、必要に応じて変更します。

    重要

    秘密キーやその他の機密情報は、構成変数に追加しないでください。
  14. へ」をクリックします。

  15. 「確認」パネルで、スタック構成を確認します。

  16. スタックの作成時にリソースを自動的にプロビジョニングするには、「適用の実行」を選択します。

    「既存のコンパートメント」が選択されている場合、このフィールドは使用できません。

    ノート 「Oracle Cloudへのデプロイ」ボタンまたはマーケットプレイスから作成されたスタックに対しては、デフォルトで「適用の実行」が選択されています。

  17. 「作成」をクリックしてスタックを作成します。

    新しいスタックのスタック詳細ページが表示されます。

    適用の実行」を選択した場合、リソース・マネージャは新しいスタックで「適用」アクションを実行します。

既存のコンパートメント・スタック元:作業リクエストがスタックで実行されます。作業リクエストが終了すると、スタックのTerraform構成ファイルを生成するジョブが実行されます。ジョブが終了すると、選択したコンパートメントのリソースが、生成された構成に取得されます。これらのリソースは別のコンパートメントに再作成できます。

定義されたリソースをデプロイするには、新しいスタックで適用ジョブを実行します。

コンピュート・インスタンスの作成ページからスタックの作成を開始するには

スタックの作成は、コンソールで使用可能なコンピュート・インスタンスの作成ページで指定した構成を使用して作成できます。新しいスタックを使用して、"infrastructure-as-code"モデルを介してコンピュート・インスタンスをインストール、構成および管理します。

ノート開始する

前に、コンピュート・インスタンスを作成するための要件を確認してください。Required IAM PolicyおよびPrerequisites for Creating a Linux InstanceまたはCreating a Windows Instanceを参照してください。
  1. コンピュート・インスタンスの作成ページを開きます。
    1. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
    2. インスタンスの作成」をクリックします。
  2. 構成フィールドを移入してスタック詳細を指定します。たとえば、スタックで使用するイメージを選択します。
  3. 「スタックとして保存」をクリックします。

    「スタックの作成」ページが表示されます。コンピュート・インスタンス・スタック・オリジンは、指定されたインスタンス名とともにダイアログ・ウィンドウの上部に表示されます。

  4. 「スタックの作成」ページで、次の手順を実行します。
    1. 新しいスタックの名前を入力します。機密情報の入力は避けてください。

      例:マイ・コンピュート・インスタンス

    2. 必要に応じて、「説明」を入力します。
    3. 「コンパートメントの作成」ドロップダウンから、スタックを作成するコンパートメントを選択します。

      リスト範囲のコンパートメントはデフォルトで設定されています。

    4. 「Terraformのバージョン」を選択します。

      NOTE

      Terraformのバージョンは下位互換性がありません。
    5. リソースの作成権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかわからない場合は、このオプションをスキップするか(後からでもタグを適用できます)、管理者に問い合せてください。
    6. へ」をクリックします。

      「変数の構成」パネルに、選択したTerraform構成ファイルの変数が表示されます。

    7. 変数を確認し、必要に応じて変更します。

      重要

      秘密キーやその他の機密情報は、構成変数に追加しないでください。
    8. へ」をクリックします。
    9. 「確認」パネルで、スタック構成を確認します。
    10. スタックの作成時にリソースを自動的にプロビジョニングするには、「適用の実行」を選択します。

    11. 「作成」をクリックしてスタックを作成します。

    新しいスタックのスタック詳細ページが表示されます。

    適用の実行」を選択した場合、リソース・マネージャは新しいスタックで「適用」アクションを実行します。

    適用の実行」が選択されていない場合は、スタックで適用アクションを手動で実行できます

Terraformがリソースをどのように表しているかを確認するには

TerraformがHashiCorp Configuration Language (HCL)構文を使用してOracle Cloud Infrastructureリソースを表す方法を学習します。

  1. コンパートメントからスタックを作成することで、既存のインフラストラクチャを取得します。

    「スタックの作成」ページの主要なステップ:

    1. 「Terraformの構成のオリジンを選択します」で、「既存のコンパートメント」を選択します。

    2. 「リソース検出のコンパートメント」(取得しようとするリソースを含むコンパートメント)を選択します。

      リスト範囲のコンパートメントはデフォルトで設定されています。

    3. 「リソース検出のリージョン」(取得しようとするリソースを含むリージョン)を選択します。
    4. リソース検出でサポートされている特定のサービスをフィルタするには、「選択済」を選択し、目的のサービスを選択します。

      ノート

      この設定は、スタックを後で編集するときは変更できません。
    5. へ」を2回クリックし、「作成」をクリックしてスタックを作成します。

    新しいスタックのスタック詳細ページが表示されます。作業リクエストがスタックで実行されます。作業リクエストが終了すると、スタックのTerraform構成ファイルを生成するジョブが実行されます。ジョブが終了すると、選択したコンパートメントのリソースが、生成された構成に取得されます。

  2. 生成されたTerraform構成ファイルをダウンロードします: スタック詳細ページの「スタック情報」タブで、「ダウンロード」をクリックします。
別のコンパートメントに既存のインフラストラクチャを再作成(クローニング)するには
  1. コンパートメントからスタックを作成することで、既存のインフラストラクチャを取得します。

    新しいスタックのスタック詳細ページが表示されます。作業リクエストがスタックで実行されます。作業リクエストが終了すると、スタックのTerraform構成を生成するジョブが実行されます。ジョブが終了すると、選択したコンパートメントのリソースが、生成された構成に取得されます。

  2. 生成されたTerraform構成ファイルをダウンロードします: スタック詳細ページの「スタック情報」タブで、「ダウンロード」をクリックします。
  3. vars.tfファイル(ダウンロードしたTerraform構成ファイル内の変数)を編集して、宛先のcompartment_ocidおよびregionを指定します。

    例:

    variable "compartment_ocid" {
      default = "ocid1.compartment.oc1..uniqueid"
    }
    variable "region" {
      default = "us-phoenix-1"
    }
  4. 宛先リージョンの可用性ドメインがソース・リージョンより多いか少ない場合は、vars.tfファイルを編集して、可用性ドメインの正しい数を指定します。

    たとえば、可用性ドメインが3つあるリージョンからクローニングし、可用性ドメインが1つのみのリージョンにインフラストラクチャを再作成する場合は、2つ目と3つ目の可用性ドメインへの参照を削除します。

    3つの可用性ドメインを示す例:

    data oci_identity_availability_domain export_NzDH-EU-FRANKFURT-1-AD-1 {
      compartment_id = var.compartment_ocid
      ad_number      = "1"
    }
    data oci_identity_availability_domain export_NzDH-EU-FRANKFURT-1-AD-2 {
      compartment_id = var.compartment_ocid
      ad_number      = "2"
    }
    data oci_identity_availability_domain export_NzDH-EU-FRANKFURT-1-AD-3 {
      compartment_id = var.compartment_ocid
      ad_number      = "3"
    }

    1つの可用性ドメインを示す例:

    data oci_identity_availability_domain export_NzDH-EU-FRANKFURT-1-AD-1 {
      compartment_id = var.compartment_ocid
      ad_number      = "1"
    }
  5. 編集した構成ファイルを使用して2つ目のスタックを作成します。

    1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
    2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

    3. スタックの作成」をクリックします。
    4. 「スタックの作成」ダイアログで、「マイ構成」をクリックします。
    5. ダウンロードしたTerraform構成(.zip)ファイルを追加します。

      ここでは、他のフィールドはそのままにしておくことができます。スタックを作成するにはを参照してください

    6. 「Terraformバージョン」で、リソース検出でサポートされているバージョンを選択します。
    7. 「次」をクリックして、「変数の構成」パネルを表示します。
    8. compartment_ocid変数を更新して、クローニングされたリソースの宛先コンパートメントを指定します。
    9. 別のリージョンにリソースをクローニングする場合は、region変数を更新します。
    10. 「次」をクリックして、「確認」パネルを表示します。
    11. スタックの作成時にリソースを自動的にプロビジョニングするには、「適用の実行」を選択します。

    12. 「作成」をクリックしてスタックを作成します。

      2つ目のスタックのスタック詳細ページが表示されます。

      適用の実行」を選択した場合、リソース・マネージャは新しいスタックで「適用」アクションを実行します。

      リソースは、指定されたコンパートメントおよびリージョンにクローニングされます。

  6. 新しいスタックに対して「適用の実行」を選択しなかった場合は、「今すぐ適用」を実行します(オプションで「プラン」を実行した後)。
    1. (オプション)スタックによってリソースが予期したとおりに作成されることを確認するには、計画ジョブを実行します。
    2. リソースをクローニングします: 新しいスタックで適用ジョブを実行します。

      リソースは、指定されたコンパートメントおよびリージョンにクローニングされます。

スタックを表示するには

スタック名、説明、状態および作成時間を表示できます。スタックの詳細ページにはドリフト・ステータスがリストされ、最新のドリフト検出レポートを表示できます。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. スタックの詳細ページを表示するには、スタックの名前をクリックします。
OCI Terraformプロバイダのバージョンを確認するには

次の手順に従って、現在のリージョンのリソース・マネージャで使用されているOCI Terraformプロバイダのバージョンを確認します。

ノートTerraformコマンドを使用してこのバージョンを確認する

こともできます。手順は、「TerraformおよびOCI Terraformプロバイダのバージョンの確認」を参照してください。

OCI Terraformプロバイダのドキュメントは、最新バージョンを反映しています。HashiCorpのリファレンスにアクセスして特定のバージョンを選択することで、以前のプロバイダ・バージョンのドキュメントを表示できます。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 使用するリージョンが選択されていることを確認します。

    たとえば、専用の商用リージョンを選択します。

  4. スタックの名前をクリックします。

    「スタックの詳細」ページが表示されます。

  5. 計画」をクリックします。

    プラン・ジョブのログに、OCI Terraformプロバイダのバージョンが自動的に含まれます。

    または、適用ジョブを実行して、このバージョン情報をログに含めることもできます。

  6. (オプション)「計画」パネルで、計画ジョブの名前を確認し、必要に応じて更新します。

  7. プラン」パネルで、「プラン」をクリックします。

    新しい計画ジョブが「ジョブ」の下にリストされます。ジョブが完了すると、「ジョブの詳細」ページが表示され、ログがリストされます。

  8. ジョブの詳細」ページで、ジョブ・ログにリストされているプロバイダ・バージョンを表示します。

    このページからジョブ・ログにアクセスするには、「リソース」の下の「ログ」をクリックします。

    プロバイダのバージョンの例:

    *provider.oci: version = "~> 4.23"
スタックのTerraform構成ファイルをダウンロードするには

スタック詳細ページにリストされるTerraform構成ファイルは、最後に成功したジョブのジョブ詳細ページにリストされるTerraform構成ファイルと同じです。

ノート

ソース・コード制御システムを使用して作成されたスタックの場合、そのスタック上でジョブが正常に実行されるまで、構成ファイルをダウンロードできません。
  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. スタックの名前をクリックして、その詳細ページを表示します。
  4. 「スタック情報」タブで、「Terraform構成」の右側にある「ダウンロード」をクリックします。
スタックまたは選択したリソースのドリフトを検出するには

ドリフトを検出できるのは、コンパートメントから作成した新しいスタック、または最後のジョブ実行が「適用」または「状態のインポート」であったスタックです。ドリフトを検出する場合、すべてのリソースまたは選択したリソースを指定できます。

ドリフトは、インフラストラクチャの現実世界での実際の状態と、スタックの最終実行構成との差異です。たとえば、チーム・メンバーがリソースに本番タグを追加したとき、またはリソースを削除したときにドリフトが発生します。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. スタックの名前をクリックして、その詳細ページを表示します。

  4. 「他のアクション」に移動し、「ドリフト検出の実行」を選択します。

    または、「Stack Information」タブで、「Run drift detection now」をクリックします。

  5. ドリフト検出の実行パネルで、必要なオプションを選択します。

    • すべてのリソース:スタック内のすべてのリソースのドリフトを検出します。
    • 選択したリソース:スタック内の指定されたリソースのドリフトを検出します。

      リストから住所を選択するか、住所を入力できます。各リソースは、スタックのTerraform構成で指定されたリソース・タイプと名前、およびオプションの索引から導出された文字列であるリソース・アドレスによって識別されます。たとえば、"test_instance"という名前の4番目のコンピュート・インスタンスのリソース・アドレスはoci_core_instance.test_instance[3]です(リソース・タイプはoci_core_instance、デリミタはピリオド、リソース名はtest_instance、カッコで囲まれた3の索引)。リソース・アドレスの詳細および例は、https://www.terraform.io/docs/internals/resource-addressing.html#examplesにあるTerraformのドキュメントを参照してください。

  6. ドリフト検出の実行」をクリックします。

    作業リクエストが開始されます。作業リクエストが完了すると、ドリフト・ステータスが「スタック情報」タブに表示されます。「最新のドリフト検出レポートを表示するには」を参照してください。

管理対象外リソースをスタックに追加するには
ノートこの手順の

一部のステップでは、Terraform CLIを使用します。
  1. 追加する管理対象外リソースに関する情報を収集します。OCIDを書き留めます。

    管理対象外リソースは、リソース・マネージャの外部で作成されます。

    ヒントコンパートメント内のすべてのリソースをリストするTerraform構成を生成

    できます。手順については、Terraformがリソースをどのように表しているかを確認するにはを参照してください。
  2. スタック情報の収集
    1. コンソールで、リソースを追加するスタックの詳細ページにアクセスします。

      1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
      2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

      3. スタックの名前をクリックして、その詳細ページを表示します。

    2. 現在管理されているリソースが最新であることの確認:ドリフト検出レポートを生成します。

      1. 「他のアクション」に移動し、「ドリフト検出の実行」を選択します。

      2. ドリフト検出の実行パネルで、すべてのリソース・アドレスを選択します。

      3. ドリフト検出の実行」をクリックします。

        作業リクエストが開始されます。作業リクエストが完了すると、ドリフト・ステータスが「スタック情報」タブに表示されます。

      4. 「他のアクション」に移動し、「ドリフト検出レポートの表示」を選択します。

        パネルには、スタックで定義されている指定したリソースのドリフト・ステータスがリストされます。リソースはリソース名で識別されます。

      5. リソースのドリフト・ステータスの詳細を表示するには、下矢印をクリックします。

        実際と予想されるプロパティが示されています。

      6. 実際のプロパティと予期されるプロパティの違いが報告された場合は、リソースをTerraform構成のプロパティと一致させてください: 適用ジョブを実行します。「スタックの詳細」ページで、「適用」をクリックします。

        Terraform構成を後で手動で編集するときに、これらの違いに対処することもできます。

    3. スタックのTerraform構成ファイルをダウンロードします: 「スタック情報」タブで、「Terraform構成」の右側にある「ダウンロード」をクリックします。

    4. スタックの状態ファイルをダウンロードします。

      1. 最新の適用ジョブの詳細ページに移動:「ジョブ」の下のジョブ・リンクをクリックします。
      2. ジョブ詳細ページで、「Terraform状態のダウンロード」をクリックします。
  3. Terraform CLIを使用した状態ファイルの更新
    1. ローカル・マシンでTerraform CLIを設定します。

      手順については、Terraform CLIを参照してください。

    2. ローカル・マシンで、Terraform CLIに移動し、ダウンロードしたTerraform構成および状態ファイルを含むディレクトリに移動します。

    3. 以前に識別された各管理対象外リソースについて、terraform importコマンドを実行して状態ファイルをインポートします。

      terraform import -state=<path_to_tfstate_file> -var-file="<path_to_credentials_file>" -var-file="<path_to_env_file>" <resource_name> <resource_ocid>

      例:

      terraform import -state=example.tfstate -var-file="credentials.tfvars" -var-file="environments.tfvars" module.operations.oci_identity_compartment.move_compartment ocid1.compartment.oc1..exampleid

      このコマンドの詳細は、「Terraform Import CLIコマンド」を参照してください。

    4. terraform refreshコマンドを実行して、状態ファイルをリフレッシュします。

      ノート特定のリソースをリフレッシュ

      するには、リフレッシュ・ターゲット-target=<resource>を使用します。

      このコマンドの詳細は、Terraform Refresh CLIコマンドを参照してください。

  4. ダウンロードしたTerraform構成を手動で更新して、以前に識別された管理対象外リソースを含めます。

    未解決のドリフトがドリフト検出レポートに残っている場合は、手動更新の違いに対処します。

  5. スタックの更新
    1. スタックの詳細ページに再度アクセスします。

      1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
      2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

      3. スタックの名前をクリックして、その詳細ページを表示します。

    2. リフレッシュされた状態ファイルをスタックにインポートします。

      1. 他のアクション」に移動し、「状態のインポート」を選択します。

      2. 状態ファイルのインポート」ダイアログで、Terraform状態ファイルを追加するには、ファイルをダイアログのコントロールにドラッグ・アンド・ドロップするか、「参照」をクリックしてファイルの場所にナビゲートします。

      3. インポート」をクリックします。

    3. 手動で編集したTerraform構成をスタックにアップロードします。

      1. 「スタック情報」タブで、Terraform構成の横にある「アップロード」をクリックします。

      2. In the Edit Stack dialog, under Stack Configuration, click .Zip file and add your revised Terraform configuration.

        Terraform構成の.zipファイルをコントロールにドラッグ・アンド・ドロップするか、「参照」をクリックして.zipファイルの場所にナビゲートします。

      3. 必要に応じて「次」をクリックしてから、「変更の保存」をクリックします。

  6. インフラストラクチャが最新であることの確認
    1. 計画」をクリックします。

    2. 「計画」ダイアログで、計画ジョブの名前を確認し、必要に応じて更新します。

    3. 計画」をクリックします。

      新しい計画ジョブが「ジョブ」の下にリストされ、初期状態が「受入れ済」になります。ステータスが「進行中」に変更されます。ジョブが完了したら、ジョブ・ログを表示して変更がないことを確認します。

      変更がないことを報告するジョブ・ログの例:

      No changes. Infrastructure is up-to-date.
      This means that Terraform did not detect any differences between your
      configuration and real physical resources that exist. As a result, no
      actions need to be performed. 

    完了しました。以前に管理されていないリソースをスタックに正常に追加しました。追加されたリソースは、リソース・マネージャによって管理されるようになります。

最新のドリフト検出レポートを表示するには
  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. スタックの名前をクリックして、その詳細ページを表示します。
  4. 「他のアクション」に移動し、「ドリフト検出レポートの表示」を選択します。

    または、「Stack Information」タブで、「View drift detection report」をクリックします。

    パネルには、スタックで定義されている指定したリソースのドリフト・ステータスがリストされます。リソースはリソース名で識別されます。

  5. リソースのドリフト・ステータスの詳細を表示するには、下矢印をクリックします。

    実際と予想されるプロパティが示されています。

  6. (オプション)リソースをTerraform構成のプロパティと一致させるには、適用ジョブを実行します:「スタックの詳細」ページで「適用」をクリックします。

古いドリフト検出レポートを表示するには
  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. スタックの名前をクリックして、その詳細ページを表示します。
  4. 作業リクエスト」をクリックします。
  5. 目的のドリフト検出レポートの作業リクエストをクリックします。
  6. 「作業リクエスト情報」タブで、「ドリフト検出レポートの表示」をクリックします。

    パネルには、ドリフト検出の検出時にスタックによって定義された、指定されたリソースのドリフト・ステータスがリストされます。リソースはリソース名で識別されます。

  7. リソースのドリフト・ステータスの詳細を表示するには、下矢印をクリックします。

    実際と予想されるプロパティが示されています。

最新のドリフト検出レポートを表示するには、最新のドリフト検出レポートを表示するにはを参照してください。ドリフトを再度検出するには、スタックまたは選択したリソースのドリフトを検出するにはを参照してください。

スタックを編集するには

スタックを編集できます。スタックの編集時に、別の構成をアップロードし、その名前、説明および変数を変更できます。

NOTE

構成がGitLabなどのソース・コード制御システムに格納されている場合は、そこで変更をコミットします。最新のコミットが、スタック上でジョブを実行するときに使用されます。

構成がバケットに格納されている場合、既存のスタック内のバケットは変更できませんが、バケットの内容は変更できます。最新のバケットの内容が、スタック上でジョブを実行するときに使用されます。

ジョブがスタックで正常に実行されるまで、構成ファイルはダウンロードできません。

リソース・マネージャでサポートされているTerraform構成ソースについては、「Terraform構成の格納場所」を参照してください。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 「アクション・メニュー」をクリックし、「編集」を選択します。

    詳細ページからスタックを編集することもできます。スタックの名前をクリックして詳細ページを表示し、「編集」をクリックします。

  4. スタックの編集」ダイアログ・ボックスで、必要なプロパティを変更します。オリジン固有の構成については、「スタックを作成するには」のオリジン・ステップを参照してください。

    ノート

    オブジェクト・ストレージ・バケットを指定するスタックの場合、バケットおよびコンパートメントは変更できません。
    • スタック内の変数に割り当てられた値を編集するには、「変数の構成」をクリックします。

      スタックの詳細ページから変数を編集することもできます。スタックの名前をクリックして「スタックの詳細」ページを表示し、「変数」(「リソース」の下)をクリックして、「変数の編集」をクリックします。

      重要

      秘密キーやその他の機密情報は、構成変数に追加しないでください。

      スタック内の変数を追加、再構成または削除する場合、Terraform構成を更新します。

    • スタックの更新時にリソースを自動的にプロビジョニングするには、「適用の実行」を選択します。

      確認ページに「適用の実行」オプションが表示されます。左側の「確認」をクリックして確認します。

  5. 変更の保存」をクリックします。

    編集したスタックのスタック詳細ページが表示されます。

    適用の実行」を選択した場合、リソース・マネージャは更新されたスタックに対して「適用」アクションを実行します。

スタックの状態を表示するには

スタックで最後に実行されたジョブの状態ファイルをダウンロードします。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. スタックの名前をクリックして、その詳細ページを表示します。
  4. 「他のアクション」に移動し、「Terraform状態のダウンロード」を選択します。
スタックのタグを管理するには

タグは、リソースにアタッチできるキー/値のペアで、コンパートメント間でリソースを整理およびトラッキングするのに役立ちます。リソースの作成権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用すべきかわからない場合は、このオプションをスキップするか(後でタグを適用できます)、管理者に問い合せてください。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 目的のスタックの名前をクリックします。

    「スタックの詳細」ページには、選択したジョブの詳細が表示されます。

  4. 「タグ」をクリックして既存のタグを表示または編集するか、「タグの追加」をクリックして新しいタグを追加します。
スタックを別のコンパートメントに移動するには
  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. スタックの名前をクリックします。
  4. 「スタックの詳細」ページで、「その他のアクション」に移動し、「リソースの移動」を選択します。
  5. 「別のコンパートメントへのリソースの移動」ダイアログ・ボックスで、スタックを移動するコンパートメントを選択します。
  6. リソースの移動」をクリックします。
スタックを削除するには
ノート

関連付けられているリソースはスタックの削除後も保持されます。スタックを削除すると、関連する状態ファイルも削除されるため、関連するリソースの状態のトラッキングが失われます。削除されたスタックに関連付けられているリソースのクリーンアップは、特にそれらのリソースが複数のコンパートメントにまたがる場合、状態ファイルなしでは困難になる可能性があります。後で困難なクリーンアップを回避するために、最初に破棄ジョブを実行して、関連付けられたリソースを解放することをお薦めします。
  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 「アクション」メニューをクリックして「削除」を選択し、プロンプトが表示されたら操作を確認します。

    ノート

    スタックの削除操作は元に戻せません。

    詳細ページからスタックを削除することもできます。スタックの名前をクリックして「スタックの詳細」ページを表示し、「その他のアクション」に移動して「スタックの削除」を選択します。

ジョブの管理(コンソール)

ジョブおよびジョブの詳細を表示するには

指定したコンパートメントまたはスタックのジョブに関する名前、タイプ、ステータスおよびその他のキー情報を表示できます。特定のジョブに関する名前、タイプ、ステータス、およびその他のキー情報を表示できます。ジョブの実行計画(ジョブ・ログで表される)、Terraform構成およびTerraform状態にアクセスしたり、ジョブで使用される変数を表示することもできます。

GitHubやGitLabなどのソース・コード制御システムに格納されている構成の場合、関連するコミット識別子がジョブ詳細に含まれます。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「ジョブ」をクリックします。

    スタック詳細ページからジョブにアクセスすることもできます。「スタック」をクリックして、目的のスタックの名前をクリックします。

  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. ジョブの詳細を表示するには、目的のジョブの名前をクリックします。

    「ジョブ詳細」ページには、選択したジョブの詳細がリストされます。

  4. ジョブで使用される変数を表示するには、「リソース」の下の「変数」をクリックします。
ジョブのタグを管理するには

タグは、リソースにアタッチできるキー/値のペアで、コンパートメント間でリソースを整理およびトラッキングするのに役立ちます。リソースの作成権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用すべきかわからない場合は、このオプションをスキップするか(後でタグを適用できます)、管理者に問い合せてください。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「ジョブ」をクリックします。

    スタック詳細ページからジョブにアクセスすることもできます。「スタック」をクリックして、目的のスタックの名前をクリックします。

  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 目的のジョブの名前をクリックします。

    「ジョブ詳細」ページには、選択したジョブの詳細がリストされます。

  4. 「タグ」をクリックして既存のタグを表示または編集するか、「タグの追加」をクリックして新しいタグを追加します。
拡張ジョブ・オプションを構成するには

プラン適用および破棄のジョブでは、デバッグ、パラレル操作およびリソースのリフレッシュに関する高度なジョブ・オプションを使用できます。

  1. 実行するジョブのタイプ(「プラン」「適用」または「破棄」)のジョブ・パネルを表示します。
    1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
    2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

    3. 使用するスタックの名前をクリックします。

      「スタックの詳細」ページが表示されます。

    4. 必要なジョブ・タイプのオプション(「プラン」「適用」または「破棄」)をクリックします。

      選択したジョブ・タイプのジョブ・パネルが表示されます。

  2. ジョブ・パネルで、「拡張オプションの表示」をクリックします。
  3. 必要なオプションを構成します。
    • 詳細ログ・レベル:このジョブのTerraform詳細ログ・コンテンツに使用する冗長性。デフォルト: なし(詳細なログ・コンテンツは生成されません)。

      詳細は、Terraformのデバッグを参照してください。

    • パラレル操作の最大数: Terraformがグラフをたどるとして同時操作。デフォルト: 10

      このオプションを使用して、ジョブを高速化します。

      NOTE

      値が大きいと、リソースが抑制される可能性があります。たとえば、数百のコンピュート・インスタンスを定義するTerraform構成について考えてみます。適用ジョブは、可能なかぎり多くのインスタンスを同時に作成しようとします。この例では、100の値によってコンピュート・サービスによってスロットルが発生する可能性があります。

    • 差異チェック前のリソース状態のリフレッシュ:ジョブを実行する前にスタック・インフラストラクチャの最新状態をフェッチします。デフォルト:有効。

      このオプションを使用して、状態を最初にリフレッシュします。たとえば、このオプションを適用ジョブとともに使用して、手動で更新された既存のインフラストラクチャで実行することを検討してください。

      ノート

      状態をリフレッシュすると、パフォーマンスに影響する場合があります。構成に複数のリソースが含まれる場合は、無効化を検討してください。

    • オプションで、ジョブのタグ付けを行います。
  4. 選択したジョブ・タイプ(「プラン」「適用」または「破棄」)の残りのワークフローに従います。

    ジョブは、構成済のオプションを使用して実行されます。

ジョブを取り消すには

実行中のジョブを取り消すことができます。

  1. 取り消すジョブの詳細ページを表示する必要がある場合は、次の手順を実行します。
    1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「ジョブ」をクリックします。

      スタック詳細ページからジョブにアクセスすることもできます。「スタック」をクリックして、目的のスタックの名前をクリックします。

    2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

    3. キャンセルするジョブの名前をクリックします。

      ジョブの詳細ページが表示されます。

  2. 詳細ページで「ジョブの取消」をクリックします。

    「ジョブの取消」ダイアログ・ボックスが表示されます。

  3. ジョブが「インポート」「適用」または「破棄」の場合、必要なオプションを選択します:

    • ジョブの取消

      リソース・マネージャは、ジョブを正常に取り消そうとします。内部的に、実行中のTerraformプロセスは、子プロセスが終了するように指示します。最終的なジョブ・ステータスが「取消済」であっても、ジョブは子プロセスのレスポンスに応じて部分的に実行される場合があります。

    • ジョブを強制的に今すぐ取り消す

      ノート

      ジョブを強制的に取り消すと、状態ファイルと実際のリソース状態が一致しない可能性があります。
  4. 「はい、ジョブを取り消します」をクリックします。

実行計画を生成する(計画ジョブを実行する)には

計画ジョブを実行すると、Terraform構成が解析され、適用ジョブの実行時に発生するリソースとアクションをリストする実行計画に変換されます。GitHubやGitLabなどのソース・コード制御システムに格納されている構成の場合、ジョブでは最新のコミットが使用されます。適用ジョブを実行する前に実行計画を生成することをお薦めします。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 使用するスタックの名前をクリックします。

    「スタックの詳細」ページが表示されます。

  4. 「計画」をクリックします。

  5. (オプション)「計画」パネルで、計画ジョブの名前を確認し、必要に応じて更新します。

  6. (オプション)高度なオプションの設定
    • 詳細ログ・レベル:このジョブのTerraform詳細ログ・コンテンツに使用する冗長性。デフォルト: なし(詳細なログ・コンテンツは生成されません)。

      詳細は、Terraformのデバッグを参照してください。

    • パラレル操作の最大数: Terraformがグラフをたどるとして同時操作。デフォルト: 10

      このオプションを使用して、ジョブを高速化します。

      ノート

      値が大きいと、リソースが抑制される可能性があります。たとえば、数百のコンピュート・インスタンスを定義するTerraform構成について考えてみます。適用ジョブは、可能なかぎり多くのインスタンスを同時に作成しようとします。この例では、100の値によってコンピュート・サービスによってスロットルが発生する可能性があります。

    • 差異チェック前のリソース状態のリフレッシュ:ジョブを実行する前にスタック・インフラストラクチャの最新状態をフェッチします。デフォルト:有効。

      このオプションを使用して、状態を最初にリフレッシュします。たとえば、このオプションを適用ジョブとともに使用して、手動で更新された既存のインフラストラクチャで実行することを検討してください。

      ノート

      状態をリフレッシュすると、パフォーマンスに影響する場合があります。構成に複数のリソースが含まれる場合は、無効化を検討してください。

    • オプションで、ジョブのタグ付けを行います。
  7. プラン」パネルで、「プラン」をクリックします。

    新しい計画ジョブが「ジョブ」の下にリストされ、初期状態が「受入れ済」になります。ステータスが「進行中」に変更されます。ジョブが完了したら、実行計画を確認したり、ジョブ情報をダウンロードできます。

ジョブ・ログを表示するには
  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「ジョブ」をクリックします。

    スタック詳細ページからジョブにアクセスすることもできます。「スタック」をクリックして、目的のスタックの名前をクリックします。

  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 実行した計画ジョブの名前をクリックします。

  4. 「ジョブ詳細」ページの「リソース」で、「ログ」をクリックします。

    計画ジョブの場合、ログ・ファイルは実行計画です。計画ジョブのログ・ファイルを表示し、ログ・ファイルの一連のログ・エントリで「メッセージ」フィールドをメモします。これらの値は、構成で指定されている一連の操作を表します。

    ジョブ情報をダウンロードすることもできます。

スタックの構成を更新するには
重要

Terraform構成ファイルが有効であることを確認してください。オーサリング構成およびリソース・マネージャのTerraform構成を参照してください。
ノート

構成がGitHubやGitLabなどのソース・コード制御システムに格納されている場合は、そこで変更をコミットします。最新のコミットが、スタック上でジョブを実行するときに使用されます。

構成がバケットに格納されている場合、既存のスタック内のバケットは変更できませんが、バケットの内容は変更できます。最新のバケットの内容が、スタック上でジョブを実行するときに使用されます。

リソース・マネージャでサポートされているTerraform構成ソースについては、「Terraform構成の格納場所」を参照してください。

  1. 構成ソース・プロバイダの設定のみを変更する場合、または最初にこのスタックに設定されたオブジェクト・ストレージ・バケットを変更する場合は、このステップをスキップします。

    それ以外の場合は、修正済のTerraform構成(.zipファイルまたはフォルダ)をアップロードする準備ができていることを確認します。

    テンプレートまたは既存のコンパートメントから生成されたTerraform構成をリソース検出を使用して編集するには、まず構成をダウンロードします。その後、編集した構成の.zipファイルを更新に使用します。

  2. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  3. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  4. 更新するスタックの名前をクリックします。

    「スタックの詳細」ページが表示されます。

  5. 「スタック情報」タブで、Terraform構成の横にある「アップロード」をクリックします。

  6. 「スタックの編集」ダイアログの「スタック構成」で、次のいずれかを行います:

    このダイアログ・ボックスには、Terraform構成に含まれる情報が移入されます。

  7. 必要に応じて、「」をクリックします。

  8. スタックの更新時にリソースを自動的にプロビジョニングするには、「適用の実行」を選択します。

    確認」ページに「適用の実行」オプションが表示されます。左側の「確認」をクリックして確認します。

  9. 変更の保存」をクリックします。

    編集したスタックのスタック詳細ページが表示されます。

    適用の実行」を選択した場合、リソース・マネージャは更新されたスタックに対して「適用」アクションを実行します。

    それ以外の場合は、変更した構成を使用して、更新したスタックでプラン・アクションを実行することを検討してください

ジョブ情報をダウンロードするには

ジョブに関連付けられたファイル(Terraform構成、Terraform状態およびログ)(詳細なTerraformログ・ファイルを含む)をダウンロードできます。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「ジョブ」をクリックします。

    スタック詳細ページからジョブにアクセスすることもできます。「スタック」をクリックして、目的のスタックの名前をクリックします。

  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 目的のジョブの名前をクリックします。

    「ジョブ詳細」ページが表示されます。

    「リソース」「ログ」をクリックして、ログを表示できます。

    「リソース」の下にある「状態の表示」をクリックすると、(関連ジョブの)リソースの状態を表示できます。オプションで、「このバージョンの変更の表示」を選択します。

  4. 必要なジョブ情報をダウンロードします:

    このジョブに関連するファイルをダウンロードするには クリック
    Terraform構成(.zip)ファイル Terraform構成のダウンロード
    Terraform状態(.jsonファイル) Terraform状態のダウンロード
    ログ(.txtファイル) ログのダウンロード(「リソース」「ログ」セクション)
    詳細なログ・ファイル(.log file)* 詳細ログ・ファイルのダウンロード(「ジョブ情報」タブの「詳細ログ・レベル」の右側)

    *詳細なログ・ファイル・レベルが選択されていないかぎり、ジョブの詳細ログ・ファイルは生成されません。手順については、拡張ジョブ・オプションを構成するにはを参照してください

適用ジョブを実行するには

スタックに対する適用ジョブを実行すると、Terraformによってリソースが作成され、Terraform構成で定義されているアクションが実行されます。GitHubやGitLabなどのソース・コード制御システムに格納されている構成の場合、ジョブでは最新のコミットが使用されます。適用ジョブの完了に必要な時間は、作成されるクラウド・リソースの数とタイプによって異なります。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 使用するスタックの名前をクリックします。

    「スタックの詳細」ページが表示されます。

  4. 適用」をクリックします。

  5. (オプション)「適用」パネルで、適用ジョブの名前およびその他の設定を確認し、必要に応じて更新します。

  6. (オプション)「ジョブ・プラン解決の適用」で、最後に生成されたプラン・ジョブの名前を選択します。

    最新の生成済プラン・ジョブのみが使用可能です。このスタックに対してプラン・ジョブが生成されていない場合は、デフォルト値のみを使用できます(自動承認)。自動承認の詳細は、Terraform Applyコマンドの自動承認オプションを参照してください。

  7. (オプション)高度なオプションの設定
    • 詳細ログ・レベル:このジョブのTerraform詳細ログ・コンテンツに使用する冗長性。デフォルト: なし(詳細なログ・コンテンツは生成されません)。

      詳細は、Terraformのデバッグを参照してください。

    • パラレル操作の最大数: Terraformがグラフをたどるとして同時操作。デフォルト: 10

      このオプションを使用して、ジョブを高速化します。

      ノート

      値が大きいと、リソースが抑制される可能性があります。たとえば、数百のコンピュート・インスタンスを定義するTerraform構成について考えてみます。適用ジョブは、可能なかぎり多くのインスタンスを同時に作成しようとします。この例では、100の値によってコンピュート・サービスによってスロットルが発生する可能性があります。

    • 差異チェック前のリソース状態のリフレッシュ:ジョブを実行する前にスタック・インフラストラクチャの最新状態をフェッチします。デフォルト:有効。

      このオプションを使用して、状態を最初にリフレッシュします。たとえば、このオプションを適用ジョブとともに使用して、手動で更新された既存のインフラストラクチャで実行することを検討してください。

      ノート

      状態をリフレッシュすると、パフォーマンスに影響する場合があります。構成に複数のリソースが含まれる場合は、無効化を検討してください。

    • オプションで、ジョブのタグ付けを行います。
  8. 適用」パネルで「適用」をクリックします。

    新しい適用ジョブが「ジョブ」の下にリストされます。ステータスのモニター: 「成功」はジョブが完了したことを示します。ジョブの実行中、または完了後に、ログ・ファイルをダウンロードできます。

  9. Terraform状態ファイル(ジョブの実行後にリソースの状態を示します)を表示するには、適用ジョブの名前をクリックし、「リソース」の下の「状態の表示」をクリックします。

ジョブの状態を表示するには
  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「ジョブ」をクリックします。

    スタック詳細ページからジョブにアクセスすることもできます。「スタック」をクリックして、目的のスタックの名前をクリックします。

  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 目的のジョブの名前をクリックします。

  4. 「ジョブ詳細」ページで、「リソース」の下にある「状態の表示」をクリックします。

    オプションで、「このバージョンの変更の表示」を選択します。

既存のTerraform状態ファイルをインポートする(インポート・ジョブを実行する)には

Terraformによってすでに管理されている既存のリソースの状態ファイルをインポートできます。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 使用するスタックの名前をクリックします。

    「スタックの詳細」ページが表示されます。

  4. 「他のアクション」に移動し、「状態のインポート」を選択します。

  5. (オプション)「インポート」パネルで、ジョブを確認し、必要に応じて更新します。機密情報の入力は避けてください。

  6. インポート」パネルで、Terraform状態ファイルを追加するには、ファイルをダイアログのコントロールにドラッグ・アンド・ドロップするか、「参照」をクリックしてファイルの場所にナビゲートします。

  7. インポート」をクリックします。

スタックのリソースを解放する(破棄ジョブを実行する)には

リソースを分解してテナンシをクリーンアップするには、破棄ジョブを実行します。

ノート

スタックを削除して関連リソースを解放する前に、破棄ジョブを実行することをお薦めします。スタックを削除すると、関連する状態ファイルも削除されるため、関連するリソースの状態のトラッキングが失われます。削除されたスタックに関連付けられているリソースのクリーンアップは、特にそれらのリソースが複数のコンパートメントにまたがる場合、状態ファイルなしでは困難になる可能性があります。後で困難なクリーンアップを回避するために、破棄ジョブを実行して関連付けられたリソースを最初に解放することをお薦めします。

破棄されたリソースからデータをリカバリすることはできません。

  1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
  2. 作業権限を持つコンパートメントを(ページの左側で)選択します。ページが更新されて、そのコンパートメントのリソースのみが表示されます。使用するコンパートメントが不明な場合は、管理者に問い合せてください。

  3. 使用するスタックの名前をクリックします。

    「スタックの詳細」ページが表示されます。

  4. Destroy」をクリックします。

  5. (オプション)「破棄」パネルで、ジョブを確認し、必要に応じて更新します。機密情報の入力は避けてください。

  6. (オプション)高度なオプションの設定
    • 詳細ログ・レベル:このジョブのTerraform詳細ログ・コンテンツに使用する冗長性。デフォルト: なし(詳細なログ・コンテンツは生成されません)。

      詳細は、Terraformのデバッグを参照してください。

    • パラレル操作の最大数: Terraformがグラフをたどるとして同時操作。デフォルト: 10

      このオプションを使用して、ジョブを高速化します。

      ノート

      値が大きいと、リソースが抑制される可能性があります。たとえば、数百のコンピュート・インスタンスを定義するTerraform構成について考えてみます。適用ジョブは、可能なかぎり多くのインスタンスを同時に作成しようとします。この例では、100の値によってコンピュート・サービスによってスロットルが発生する可能性があります。

    • 差異チェック前のリソース状態のリフレッシュ:ジョブを実行する前にスタック・インフラストラクチャの最新状態をフェッチします。デフォルト:有効。

      このオプションを使用して、状態を最初にリフレッシュします。たとえば、このオプションを適用ジョブとともに使用して、手動で更新された既存のインフラストラクチャで実行することを検討してください。

      ノート

      状態をリフレッシュすると、パフォーマンスに影響する場合があります。構成に複数のリソースが含まれる場合は、無効化を検討してください。

    • オプションで、ジョブのタグ付けを行います。
  7. 「破棄」パネルで、「破棄」を再度クリックしてアクションを確定します。

    状態またはログを表示して、ステータスをモニターし、破棄ジョブの結果を確認できます。

  8. Terraformの状態ファイル(ジョブの実行後のリソースの状態を示します)を表示するには、ジョブの名前をクリックして「ジョブ詳細」ページを表示し、「リソース」の下の「状態の表示」をクリックします。

    オプションで、「このバージョンの変更の表示」を選択します。

  9. ジョブのログを表示するには、ジョブの名前をクリックして「ジョブ詳細」ページを表示し、「リソース」の下の「ログ」をクリックします。

ノート

適用ジョブを実行すると、破棄されたリソースを再作成できます。再作成されたリソースには、異なるOCIDおよびその他のメタデータがあります。
スタックの破棄されたリソースを再作成するには

リソースが破棄されたあとにスタックのリソースを再作成するには、この手順を使用します。新しいリソースは、一意のOCIDによって以前に破棄されたリソースとは異なります。

ノート

データは、破棄されたリソースからリカバリできません。

CLIの使用

この項では、スタックおよびジョブを管理するための基本的なCLIコマンドのサンプルを提供します。CLIの使用の詳細は、コマンド・ライン・インタフェース(CLI)を参照してください。CLIコマンドで使用できるフラグおよびオプションの完全なリストについては、CLIのヘルプを参照してください。

CI/CDパイプラインでのクラウド・プロビジョニングにCLIを使用する手順は、「クラウドでのIaCの使用: CI/CDパイプラインへのTerraformおよびリソース・マネージャの統合- OCI CLIを使用した構築」を参照してください。

スタックの管理(CLI)

ファイルからスタックを作成するには(CLI)

ファイルの場所に関連するコマンドを使用します。リソース・マネージャでサポートされているTerraform構成ソースについては、「Terraform構成の格納場所」を参照してください。

重要

Terraform構成ファイルが有効であることを確認してください。オーサリング構成およびリソース・マネージャのTerraform構成を参照してください。
ソース・コード制御システムでホストされているファイルからスタックを作成するには

コマンド・プロンプトを開き、resource-manager stack create-from-git-providerを実行して、構成ソース・プロバイダでトラッキングされているファイルからスタックを作成します: 

oci resource-manager stack create-from-git-provider --compartment-id <compartment_OCID> --config-source-configuration-source-provider-id <configuration_source_provider_OCID> --config-source-repository-url <repository_url> --config-source-branch-name <branch_name> --display-name "<friendly_name>" --description "<description>" --terraform-version "<version>" --variables <var_file_path> --working-directory "<directory>"
ノート

後でスタック設定を更新したり、スタックの作成後に変数を追加したりできます。

例: 

oci resource-manager stack create-from-git-provider --compartment-id ocid1.tenancy.oc1..uniqueid --config-source-configuration-source-provider-id ocid.ormconfigsourceprovider.oc1..uniqueid --config-source-repository-url https://github.com/user/repo.git --config-source-branch-name mybranch --display-name "My Stack from Git" --description "My Test" --variables file://variables.json --working-directory ""

CLIコマンドで使用できるフラグおよびオプションの完全なリストについては、CLIのヘルプを参照してください。

アップロードしたファイルからスタックを作成するには

この項では、アップロードした構成ファイル(.zip)からスタックを作成する方法について説明します。

ノート

Gitなどのソース・コード制御システムに格納されている構成ファイルから、またはテンプレートから、スタックを作成することもできます。

Windowsで、.zipファイルとvariables.jsonファイルが、CLIを実行するディレクトリと同じディレクトリにあることを確認します。現在、CLIにはWindowsの制限があり、いずれかのファイルがサブディレクトリにある場合に、ファイルを正しく処理できません。

コマンド・プロンプトを開き、oci resource-manager stack createを実行してスタックを作成します:

oci resource-manager stack create --compartment-id <compartment_OCID> --config-source <config_file_name> --variables <var_file_path> --display-name "<friendly_name>" --description "<description>" --working-directory ""
ノート

後でスタック設定を更新したり、スタックの作成後に変数を追加したりできます。
オプション

CLIコマンドで使用できるフラグおよびオプションの完全なリストについては、CLIのヘルプを参照してください。

  • --compartment-idは、スタックを作成するコンパートメントのOCIDです。
  • --config-sourceは、1つ以上のTerraform構成ファイルを含む.zipファイルの名前です。
  • --variablesは、リソースの入力変数を指定するファイルのパスです。オプション。

    Terraformをローカルで実行する場合(インスタンス・プリンシパルを使用していない場合)、Oracle Cloud Infrastructure Terraformプロバイダには追加のパラメータが必要です。Terraformでの変数の使用の詳細は、入力変数を参照してください。入力変数の構成も参照してください。

  • --display-nameは、新しいスタックのわかりやすい名前です。オプション。
  • --descriptionは、新しいスタックの説明です。オプション。
  • --working-directoryは、ディレクトリのルート構成ファイルです。オプション。指定しない場合またはこの例のようにnullである場合、サービスはディレクトリ内の最上位ファイルがルート構成ファイルであるとみなします。

例: 

oci resource-manager stack create --compartment-id ocid1.tenancy.oc1..uniqueid --config-source vcn.zip --variables file://variables.json --display-name "My Example Stack" --description "My Tutorial to Create a VCN" --working-directory ""
レスポンスの例
{
  "data": {
    config-source": 
    {
      "working-directory": null,
      "config-source-type": "ZIP_UPLOAD"
    },
    "defined-tags": {},
    "description": "My Tutorial to Create a VCN",
    "display-name": "My Example Stack",
    "freeform-tags": {},
    "id": "ocid1.ormstack.oc1..uniqueid",
    "lifecycle-state": "ACTIVE",
    "time-created": "2019-04-03T18:26:56.299000+00:00",
    "variables": 
    {
      "compartment_ocid": "ocid1.compartment.oc1..uniqueid", 
      "region": "us-phoenix-1"
    }
  }
}
オブジェクト・ストレージ・バケットのTerraform構成からスタックを作成するには

コマンド・プロンプトを開き、resource-manager stack create-from-object-storageを実行して、オブジェクト・ストレージ・バケットに格納されたTerraform構成からスタックを作成します:

oci resource-manager stack create-from-object-storage --compartment-id <compartment_OCID> --config-source-namespace <bucket_namespace> --config-source-bucket-name <bucket_name> --config-source-region <bucket_region> --display-name "<friendly_name>"  --description "<description>" --variables <var_file_path>
ノート

後でスタック設定を更新したり、スタックの作成後に変数を追加したりできます。

CLIコマンドで使用できるフラグおよびオプションの完全なリストについては、CLIのヘルプを参照してください。

例:

oci resource-manager stack create-from-object-storage 
--compartment-id ocid1.tenancy.oc1..uniqueid 
--config-source-namespace MyNamespace
--config-source-bucket-name MyBucket
--config-source-region PHX
--display-name "My Stack from Object Storage" 
--description "My Test" 
--variables file://variables.json
スタックをコピーするには

コマンド・プロンプトを開き、oci resource-manager stack copyを実行してスタックを別のコンパートメントにコピーします:

oci resource-manager stack copy --stack-id <stack_OCID> --destination-compartment-id <compartment_OCID> --destination-region <region> --display-name "<friendly_name>" --description "<description>" --variables <var_file_path> --access-token <token> --freeform-tags <freeform-tags> --defined-tags <defined-tags>

オプションを使用して、コピーしたスタックの次のフィールドを指定します。

  • 宛先コンパートメント
  • 搬送先リージョン
    ノート

    スタックで使用される構成ソース・プロバイダは、指定した宛先リージョンおよびソース・コンパートメントにコピーされます。
  • 表示名(指定しない場合のデフォルト: copy-from-<<source_region>-<<originalStackDisplayName>)
  • description
  • 変数(明示的に上書きされないかぎり、既存の変数値は保持されます)
  • タグ、フリーフォームおよび定義済(明示的に上書きされないかぎり、既存のタグ値は保持されます)
  • スタックの構成ソース・プロバイダのアクセス・トークン(別のリージョンにコピーする場合は必須)

CLIコマンドで使用できるフラグおよびオプションの完全なリストについては、CLIのヘルプを参照してください。

別のコンパートメントへのスタックのコピー
oci resource-manager stack copy --stack-id <stack_OCID> --destination-compartment-id <compartment_OCID>
CI/CDを使用するスタックを別のリージョンにコピーします

この例では、スタックはGitHubを指定する構成ソース・プロバイダを使用して、継続的インテグレーションおよび継続的デリバリ(CI/CD)を実現します。スタックを別のリージョンにコピーする場合は、GitHubアクセス・トークンが必要です。

oci resource-manager stack copy --stack-id <stack_OCID> --destination-region <region> --access-token <token>
リソースを検出するには(コンパートメントからスタックを作成)

コマンド・プロンプトを開き、oci resource-manager stack create-from-compartmentを実行して、指定したコンパートメントおよびリージョンでスタックを作成します:

oci resource-manager stack create-from-compartment --config-source-compartment-id <source_compartment_OCID> --config-source-region <source_region> --config-source-services-to-discover [<services>] –-compartment-id <compartment_OCID> --terraform-version <version --display-name "<friendly_name>" --description "<description>" 

例(coreおよびdatabaseサービスからサポートされているリソースを検出します。ソース・コンパートメントはルート・コンパートメントではありません):

oci resource-manager stack create-from-compartment --config-source-compartment-id ocid1.tenancy.oc1..uniqueid1 --config-source-region PHX --config-source-services-to-discover [core,database] –-compartment-id ocid1.tenancy.oc1..uniqueid2 --terraform-version 0.13.X --display-name "Stack From Compartment ABC" --description "List of Resources to Duplicate"
レスポンスの例
{
  "data": {
    "config-source": {
      "config-source-type": "COMPARTMENT_CONFIG_SOURCE"
    },
    "defined-tags": {},
    "display-name": "Stack from Compartment ABC",
    "freeform-tags": {},
    "id": "ocid1.ormstack.oc1..uniqueid",
    "lifecycle-state": "CREATING",
    "time-created": "2019-04-03T18:26:56.299000+00:00",
    "variables": {
      "compartment_ocid": "ocid1.compartment.oc1..uniqueid1", 
      "region": "us-phoenix-1"
    }
  }
}
{
  "data": {
    "compartment-id": "ocid1.compartment.oc1..uniqueid2",
    "config-source": {
      "compartment-id": "ocid1.compartment.oc1..uniqueid1",
      "config-source-type": "COMPARTMENT_CONFIG_SOURCE",
      "region": "PHX",
      "working-directory": null
    },
    "defined-tags": {},
    "description": "List of Resources to Duplicate",
    "display-name": "Stack From Compartment ABC",
    "freeform-tags": {},
    "id": "ocid1.ormstack.oc1.phx.uniqueid",
    "lifecycle-state": "CREATING",
    "stack-drift-status": "NOT_CHECKED",
    "terraform-version": "0.12.x",
    "time-created": "2020-06-01T18:25:56.102000+00:00",
    "time-drift-last-checked": null,
    "variables": {}
  },
  "etag": "009010cb57f5162655c6a34f5ef8834f204a734df81e4baa696a7d830488ea25",
  "opc-work-request-id": "ocid1.ormworkrequest.oc1.phx.uniqueid"
}
検出するリソースをリストするには

この項では、特定のコンパートメントOCIDからのリソース検出でサポートされているサービスを確認する方法について説明します。

コンパートメントからスタックを作成すると、スタックは、コンパートメント全体のサポートされているリソースすべてを適切なスコープで表します。テナンシのルート・コンパートメントを選択すると、スコープはユーザーやグループなどのテナンシ・レベルになります。ルート以外のコンパートメントを選択すると、スコープはComputeインスタンスなどのコンパートメント・レベルになります。

コマンド・プロンプトを開き、oci resource-manager stack list-resource-discovery-servicesを実行して、リソース検出でサポートされているサービスのリストを取得します(コンパートメントOCIDは認可にのみ使用されます):

oci resource-manager stack list-resource-discovery-services --compartment-id <compartment_OCID>
コンパートメント内のスタックをリストするには

コマンド・プロンプトを開き、oci resource-manager stack listを実行してコンパートメント内のスタックをリストします:

oci resource-manager stack list –-compartment-id <compartment_OCID>
スタックの完全な詳細をリストするには

コマンド・プロンプトを開き、oci resource-manager stack getを実行して、指定したスタックの詳細をリストします:

oci resource-manager stack get –-stack-id <stack_OCID>
スタックのドリフトを検出するには

コマンド・プロンプトを開き、oci resource-manager stack getを実行して、指定したスタックのドリフトを検出します: 

oci resource-manager stack detect-drift --stack-id <stack_OCID>
スタックの最後のドリフト検出レポートのリソース詳細をリストするには

コマンド・プロンプトを開き、oci resource-manager stack getを実行して、指定したスタックの最後のドリフト検出レポートのリソース詳細をリストします: 

oci resource-manager stack list-resource-drift-details --stack-id <stack_OCID>
スタックを削除するには
ノート

関連付けられているリソースはスタックの削除後も保持されます。スタックを削除すると、関連する状態ファイルも削除されるため、関連するリソースの状態のトラッキングが失われます。削除されたスタックに関連付けられているリソースのクリーンアップは、特にそれらのリソースが複数のコンパートメントにまたがる場合、状態ファイルなしでは困難になる可能性があります。後で困難なクリーンアップを回避するために、破棄ジョブを実行して関連付けられたリソースを最初に解放することをお薦めします。

コマンド・プロンプトを開き、oci resource-manager stack deleteを実行して指定したスタックを削除します:

oci resource-manager stack delete –-stack-id <stack_OCID>

ジョブの管理(CLI)

実行計画を生成する(計画ジョブを実行する)には

コマンド・プロンプトを開き、oci resource-manager job create-plan-jobを実行して、指定したスタック上で計画ジョブを実行します(--display-nameはオプションです):

oci resource-manager job create-plan-job –-stack-id <stack_OCID> --display-name "<friendly_name>"

構成の複雑さによっては、計画ジョブの完了に数分かかる場合があります。ジョブが完了したら、生成された実行計画を確認してから適用ジョブを実行してください。

計画ジョブの現在の状態を確認するには

コマンド・プロンプトを開き、oci resource-manager job getを実行してジョブに関する情報を取得します:

oci resource-manager job get –-job-id <plan_job_OCID>
ライフサイクルの状態
lifecycle-stateで使用可能な値:
  • ACCEPTED: ジョブは実行のためにキューに配置されます。
  • IN_PROGRESS: ジョブは実行中です。
  • FAILED: ジョブが失敗し、実行が停止しました。
  • SUCCEEDED: ジョブは正常に完了しました。
  • CANCELING: ジョブは取消しの通知を受けましたが、まだ実行が停止されていません。
  • CANCELED: ジョブは取り消され、実行が停止されました。
レスポンスの例

この例では、lifecycle-stateACCEPTEDを示します。

{
  "data": 
  {
    "compartment-id": " ocid1.compartment.oc1..uniqueid",
    "defined-tags": null,
    "display-name": "Example Plan Job",
    "freeform-tags": {},
    "id": "ocid1.ormjob.oc1..uniqueid",
    "lifecycle-state": "ACCEPTED",
    "operation": "PLAN",
    "jobOperationDetails": 
    {
      "operation": "PLAN"
    },
    "stack-id": " ocid1.ormstack.oc1..uniqueid",
    "time-created": "2019-03-09T20:52:13.922000+00:00",
    "time-finished": null,
    "variables": 
    {
      "compartment_ocid": "ocid1.compartment.oc1..uniqueid",
      "region": "us-phoenix-1"
    }
  }
}
実行計画を確認する(計画ジョブのログを表示する)には

実行計画を確認し、意図を正確に反映していることを確認します。ログ・ファイルを表示して、ログ・ファイルの一連のログ・エントリで「メッセージ」フィールドをメモします。これらの値は、構成で指定されている一連の操作を表します。

コマンド・プロンプトを開き、oci resource-manager job get-job-logsを実行して、指定したジョブのログ・ファイルを表示します:

oci resource-manager job get-job-logs --job-id <plan_job_OCID>

問題やエラーが発生して変更が必要な場合は、適切な構成ファイル(.tfファイル)を更新し、スタックを更新して変更された構成を使用し、新しい実行計画を生成してから、新しい実行計画を確認します。

レスポンスの例

このコマンドでは、ログ・エントリを記述するJSONオブジェクトが返されます。各オブジェクトには、実行計画の1行を表示するプロパティを持つメッセージ・メンバーが含まれます。次に示す例では、計画は1つの仮想クラウド・ネットワーク(VCN)を作成します。残りのメンバーにはVCNに関する詳細が表示されます。

...
                {
                "level": "INFO",
                "message": "Terraform will perform the following actions:",
                "timestamp": "2018-05-24T00:57:14.170000+00:00",
                "type": "TERRAFORM_CONSOLE"
                },
                {
                "level": "INFO",
                "message": "",
                "timestamp": "2018-05-24T00:57:14.170000+00:00",
                "type": "TERRAFORM_CONSOLE"
                },
                {
                "level": "INFO",
                "message": "+ oci_core_virtual_network.vcn1",
                "timestamp": "2018-05-24T00:57:14.170000+00:00",
                "type": "TERRAFORM_CONSOLE"
                },
                {
                "level": "INFO",
                "message": "id: <computed>",
                "timestamp": "2018-05-24T00:57:14.172000+00:00",
                "type": "TERRAFORM_CONSOLE"
                },
                {
                "level": "INFO",
                "message": "cidr_block:  \"10.0.0.0/16\",
                "timestamp": "2018-05-24T00:57:14.172000+00:00",
                "type": "TERRAFORM_CONSOLE"
                },
                {
                "level": "INFO",
                "message": "compartment_id:  \"ocid1.tenancy.oc1..exampleaqnpcpfqfmrf6dw5gcew7yqpirvarueirj2mv4jzn5goejsxma\",
                "timestamp": "2018-05-24T00:57:14.172000+00:00",
                "type": "TERRAFORM_CONSOLE"
                },
                {
                "level": "INFO",
                "message": "default_dhcp_options_id:  <computed_value>",
                "timestamp": "2018-05-24T00:57:14.172000+00:00",
                "type": "TERRAFORM_CONSOLE"
                },
                {
                "level": "INFO",
                "message": "      default_route_table_id: <computed_value>",
                "timestamp": "2018-05-24T00:57:14.172000+00:00",
                "type": "TERRAFORM_CONSOLE"
                },
                {
                "level": "INFO",
                "message": "      default_security_list_id: <computed_value>",
                "timestamp": "2018-05-24T00:57:14.172000+00:00",
                "type": "TERRAFORM_CONSOLE"
                },
                ...
              
実行計画を更新する(スタックのアップロードされた構成を更新する)には
ノート

これらの手順は、ソース・コード制御システムに格納されている構成には適用されません。リソース・マネージャでサポートされているTerraform構成ソースについては、「Terraform構成の格納場所」を参照してください。

テンプレートまたは既存のコンパートメントから生成されたTerraform構成をリソース検出を使用して編集するには、まず構成をダウンロードします。その後、編集した構成の.zipファイルを更新に使用します。

コマンド・プロンプトを開き、オプション--config-sourceを使用したoci resource-manager stack updateを実行し、指定したスタックのTerraform構成を更新します:

oci resource-manager stack update --stack-id <stack_OCID> --config-source <config_file_name>

スタックの更新後、実行計画を再生成して確認します(新しい計画ジョブを実行してからログ・ファイルを表示します)。

適用ジョブを実行するには

適用ジョブの現在の状態を確認するには

コマンド・プロンプトを開き、--execution-plan-strategyに関連する値を指定してoci resource-manager job create-apply-jobを実行します(例では--display-nameを使用しますが、これはオプションです):

  • 計画ジョブ(実行計画を「適用」)を指定するには、FROM_PLAN_JOB_IDを使用します:

    oci resource-manager job create-apply-job --stack-id <stack_OCID> --execution-plan-strategy FROM_PLAN_JOB_ID --execution-plan-job-id <plan_job_OCID> --display-name "Example Apply Job"

    このオプションを使用して、確認済の実行計画をスタックに「適用」し、命令を実行し、指定したリソースでスタックをプロビジョニングします。

  • 適用ジョブを自動的に承認する(計画ジョブは指定しない)には、AUTO_APPROVEDを使用します:

    oci resource-manager job create-apply-job --stack-id <stack_OCID> --execution-plan-strategy AUTO_APPROVED --display-name "Example Apply Job"

実行計画の複雑さによっては、操作に時間がかかる場合があります。適用ジョブのライフサイクルの状態を定期的にチェックして、IN_PROGRESSからSUCCEEDEDへの切替えが発生した時間を確認します。

適用ジョブの現在の状態を確認するには

コマンド・プロンプトを開き、oci resource-manager job getを実行してジョブに関する情報を取得します:

oci resource-manager job get –-job-id <apply_job_OCID>
ライフサイクルの状態
lifecycle-stateで使用可能な値:
  • ACCEPTED: ジョブは実行のためにキューに配置されます。
  • IN_PROGRESS: ジョブは実行中です。
  • FAILED: ジョブが失敗し、実行が停止しました。
  • SUCCEEDED: ジョブは正常に完了しました。
  • CANCELING: ジョブは取消しの通知を受けましたが、まだ実行が停止されていません。
  • CANCELED: ジョブは取り消され、実行が停止されました。

新規にプロビジョニングされたリソースの存在を確認するには、コンパートメントでリソースを検査します。

ジョブ情報をダウンロードまたは表示するには

ジョブに関連付けられたTerraform構成およびTerraform状態をダウンロードできます。また、ジョブに関連付けられているログも表示できます。

GitLabなどのソース・コード制御システムに格納されている構成の場合、関連するコミット識別子がジョブ詳細に含まれます。

ジョブの構成をダウンロードするには

コマンド・プロンプトを開き、oci resource-manager job get-job-tf-configを実行して、指定したジョブのTerraform構成を指定したファイルにダウンロードします:

oci resource-manager job get-job-tf-config –job-id <job_OCID> --file <output_file_name>
ジョブの状態ファイルをダウンロードするには

コマンド・プロンプトを開き、oci resource-manager job get-job-tf-stateを実行して、指定したジョブのTerraform状態を指定したファイルにダウンロードします: 

oci resource-manager job get-job-tf-state --job-id <job_OCID> --file <output_file_name>
適用ジョブに対するレスポンスの例
{
  "data": 
  {
    "lineage": "57ef4f0c-c8cd-8a32-d45f-d2c40be7b915",
    "modules": 
    [
      {
        "depends_on": [],
        "outputs": {},
        "path": 
        [
          "root"
        ],
        "resources": 
        {
          "oci_core_virtual_network.vcn1": {
          "depends_on": [],
          "deposed": [],
          "primary": 
          {
            "attributes": {
            "cidr_block": "10.0.0.0/16",
            "compartment_id": "ocid1.tenancy.oc1..uniqueid",
            "default_dhcp_options_id": "ocid1.dhcpoptions.oc1.phx.uniqueid",
            "default_route_table_id": "ocid1.routetable.oc1.phx.uniqueid",
            "default_security_list_id": "ocid1.securitylist.oc1.phx.uniqueid",
            "display_name": "My VCN display name",
            "dns_label": "myvcntest",
            "id": "ocid1.vcn.oc1.phx.uniqueid",
            "state": "AVAILABLE",
            "time_created": "2018-05-24 01:13:05.855 +0000 UTC",
            "vcn_domain_name": "myvcntest.oraclevcn.com"
          },
          "id": "ocid1.vcn.oc1.phx.uniqueid",
          "meta": 
          {
            "e2bfb730-ecaa-11e6-8f88-34363bc7c4c0": {
            "create": 300000000000,
            "delete": 300000000000,
            "update": 300000000000
          }
        },
        "tainted": false
      },
      "provider": "provider.oci",
      "type": "oci_core_virtual_network"
          }
        }
      }
    ],
  "serial": 4,
  "terraform_version": "0.11.7",
  "version": 3
}
                }
ジョブのログを表示するには

ログ・ファイルを表示して、ログ・ファイルの一連のログ・エントリで「メッセージ」フィールドをメモします。指定したジョブのログ・ファイルをエントリのページ付けされたリストまたは生の形式で表示できます。

エントリのページ付けされたリストとしてログを表示するには、コマンド・プロンプトを開いてoci resource-manager job get-job-logsを実行します:

oci resource-manager job get-job-logs --job-id <job_OCID>

生の形式のログを表示するには、コマンド・プロンプトを開いてoci resource-manager job get-job-logs-contentを実行します:

oci resource-manager job get-job-logs-content --job-id <job_OCID>
既存のTerraform状態ファイルをインポートする(インポート・ジョブを実行する)には

コマンド・プロンプトを開き、oci resource-manager xを実行して、Terraformによってすでに管理されているリソースの既存の状態ファイルをインポートします:

oci resource-manager job create-import-tf-state-job --stack-id stack_id --tf-state-file state_file
コンパートメントでリソースを検査するには

コンパートメントのリソースの検査では、(適用ジョブの実行によって)プロビジョニングしたリソースの存在、または(破棄ジョブの実行によって)解放したリソースがないことを確認できます。

コマンド・プロンプトを開き、検査するリソースに対応するCLIコマンドを実行します。

たとえば、oci network vcn listを実行して、指定したコンパートメントのVCNリソースを検査します:

oci network vcn list --compartment-id <compartment_OCID>
スタックのリソースを解放する(破棄ジョブを実行する)には
ノート

スタックを削除して関連リソースを解放する前に、破棄ジョブを実行することをお薦めします。スタックを削除すると、関連する状態ファイルも削除されるため、関連するリソースの状態のトラッキングが失われます。削除されたスタックに関連付けられているリソースのクリーンアップは、特にそれらのリソースが複数のコンパートメントにまたがる場合、状態ファイルなしでは困難になる可能性があります。後で困難なクリーンアップを回避するために、破棄ジョブを実行して関連付けられたリソースを最初に解放することをお薦めします。

コマンド・プロンプトを開き、oci resource-manager job create-destroy-jobを実行して、指定したスタックによってプロビジョニングされたリソースを分解してクリーンアップします:

oci resource-manager job create-destroy-job --stack-id <stack_OCID> --execution-plan-strategy=AUTO_APPROVED

リソースの削除を確認するには、コンパートメントのリソースを検査します。

APIの使用

APIの使用およびリクエストの署名の詳細は、REST APIおよびセキュリティ資格証明を参照してください。SDKの詳細は、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。

次のAPI操作を使用して、スタックを管理します:

次のAPI操作を使用して、ジョブを管理します:

次のAPI操作を使用して、作業リクエストを管理します: