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

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

ノート

これらの手順の一部のステップではTerraform CLIを使用します。ほとんどのステップでは、Oracle Cloud Infrastructureコンソールを使用します。
  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. 

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