ロールバックの適用ジョブの作成

リソース・マネージャでロールバックの適用ジョブを作成します。

スタックに対してロールバックの適用ジョブを作成(実行)すると、Terraformによってリソースがプロビジョニングされ、ターゲット・ジョブのTerraform構成で定義されたアクションが実行され、実行計画が関連付けられているスタックに適用されます。このジョブは、Oracle Cloud Infrastructureリソースを前の状態にロールバックします。

次のフローを使用して、ロールバックの適用ジョブを実行する前に、計画ロールバック・ジョブの作成(実行)(実行計画の生成)をお薦めします。

  1. ロールバック先の成功した適用ジョブを特定します。

    ロールバック先のジョブは、ターゲット・ジョブとも呼ばれます。

  2. ターゲット・ジョブのプラン・ロールバック・ジョブを作成します。

  3. 計画ロールバック・ジョブが成功したことを確認します。

  4. 生成された実行計画が期待を満たしていることを確認します。

  5. 生成された実行計画(executionPlanRollbackStrategy)を使用して、ロールバックの適用ジョブを作成します。

    このページには説明があります。

    1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「リソース・マネージャ」で、「スタック」をクリックします。
    2. 「スタック」ページで、目的のスタックを含むコンパートメントを選択します。
    3. 目的のスタックの名前をクリックします。
    4. 「スタックの詳細」ページの「ジョブ」リストで、ロールバックの適用ジョブの作成に使用するジョブを見つけます。
      計画ロールバック・ジョブ(推奨)または適用ジョブを選択できます。
    5. 必要なジョブについて、「アクション」メニュー(アクション・メニュー)をクリックし、「ロールバック」を選択します。
      「ロールバック」パネルが開き、選択したジョブのOCIDと名前が表示されます。実行プラン・ロールバック計画は、適用ロールバック・ジョブに使用している選択したジョブに基づいて自動的に選択されます: プラン・ロールバック・ジョブの実行計画の使用(プラン・ロールバック・ジョブの場合)および適用ジョブの場合自動承認)。自動承認の詳細は、Terraform適用コマンドの自動承認オプションを参照してください
    6. 「ロールバック・ジョブ・タイプ」で、「適用」を選択してロールバックの適用ジョブを作成します。
    7. (オプション)ロールバック・ジョブのデフォルト名を編集します。機密情報の入力は避けてください。
    8. デバッグの詳細なログ・コンテンツを生成するには、「拡張オプションの表示」をクリックし、「詳細なログ・レベル」から目的のログ・レベルを選択します。
      詳細は、Terraformのデバッグを参照してください。
    9. Terraformによるグラフの移動に従って同時操作の最大数を調整するには、「拡張オプションの表示」をクリックし、「パラレル操作の最大数」の値を編集します。(デフォルト: 10)このオプションを使用して、ジョブを高速化します。
      ノート

      値が大きいと、リソースがスロットルする可能性があります。たとえば、数百のコンピュート・インスタンスを定義するTerraform構成を考えてみます。適用ジョブは、可能なかぎり多くのインスタンスを同時に作成しようとします。この例では、100の値によって、コンピュート・サービスによるスロットルが発生する場合があります。
    10. ジョブを実行する前に最新の状態をフェッチするには、「拡張オプションの表示」をクリックし、「差異をチェックする前にリソース状態をリフレッシュ」を選択します。

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

      ノート

      状態をリフレッシュすると、パフォーマンスに影響する可能性があります。構成に複数のリソースが含まれている場合は、このオプションを使用しないことを検討してください。
    11. (オプション)「拡張オプションの表示」をクリックし、ジョブにタグを割り当てます。
      • タグ・ネームスペース: 定義済タグを追加するには、既存のネームスペースを選択します。フリー・タグを追加するには、値を空白のままにします。
      • タグ・キー: 定義済タグを追加するには、既存のタグ・キーを選択します。フリーフォーム・タグを追加するには、必要なキー名を入力します。
      • タグ値: 必要なタグ値を入力します。
      • タグの追加: クリックして別のタグを追加します。
    12. 「OK」をクリックします。

    ロールバックの適用ジョブが作成されます。新しいジョブが「ジョブ」の下にリストされます。

  • oci resource-manager job create-apply-rollback-jobコマンドおよび必須パラメータを使用して、ロールバックの適用ジョブを実行します。

    oci resource-manager job create-apply-rollback-job --stack-id <stack_OCID> --execution-plan-rollback-strategy <source_of_execution_plan>

    CLIコマンドのパラメータおよび値の完全なリストは、リソース・マネージャのコマンドライン・リファレンスを参照してください。

  • CreateJob操作を使用して、ロールバックの適用ジョブを作成します。

    ロールバックの適用ジョブの詳細は、ApplyRollbackJobOperationDetailsを参照してください。

新機能

指定したリソースの数およびタイプによっては、特定の適用ロールバック・ジョブに時間がかかる場合があります。

ロールバックの適用ジョブを実行した後、ジョブの詳細を取得してステータスを確認します。オプションで、Terraform状態ファイルを表示し、ログを表示し、プロビジョニングされたリソースの存在を確認できます。

ジョブの詳細を取得して、ジョブ・ステータス(ライフサイクル状態)をモニターします。成功(SUCCEEDED)は、ジョブが完了したことを示します。ジョブの複雑度によっては、操作に少し時間がかかる場合があります。ジョブの実行中または終了後に、ジョブ・ログの内容を取得できます。

Terraformの状態ファイル(ジョブの実行後のリソースの状態を示します)を表示するには、ジョブの名前をクリックして「リソース」ページを表示し、「リソース」の下の「状態の表示」をクリックしますオプションで、「このバージョンの変更の表示」を選択します。

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

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