管理対象外リソースの追加

リソース・マネージャのスタックに既存のリソースを追加します。

ノート

この手順の一部のステップではTerraform CLIを使用します。ほとんどのステップはOracle Cloud Infrastructure Consoleを使用します。
  1. 追加する管理対象外リソースに関する情報を収集します。OCIDsに注意してください。

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

    ヒント

    コンパートメント内のすべてのリソースをリストする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インポートCLIコマンドを参照してください。

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

      ノート

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

      このコマンドの詳細は、TerraformリフレッシュCLIコマンドを参照してください。

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

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

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

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

      3. 詳細ページを表示するスタックの名前を選択します。

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

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

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

      3. 「インポート」を選択します。

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

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

      2. 「スタックの編集」ダイアログの「スタック構成」で、「.Zipファイル」を選択して、変更したTerraform構成を追加します。

        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. 

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