重要
2025 年 5 月 21 日以降、新規顧客はNRQLドロップ ルールを使用できなくなります。 NRQL ドロップ ルールは 2026 年 1 月 7 日に終了します。
データ削除ルールを引き続き管理するには、 Pipeline クラウド ルールに移行します。
newrelic_nrql_drop_ruleリソースを使用して Terraform 経由で NRQL ドロップ ルールを管理している場合は、それらをnewrelic_pipeline_cloud_ruleリソースに移行する必要があります。New Relic は基礎となるドロップ ルールをすでに移行していますが、Terraform は独自の状態ファイルを維持し、明示的に構成したリソースのみを認識します。Terraform はこれらを 2 つの完全に異なるリソース タイプとして扱うため、 Pipeline cloudルールを Terraform の状態にインポートし、古いドロップ ルール リソースを削除する必要があります。
移行アプローチ
このガイドでは、Terraform でNRQLドロップ ルールをPipeline cloudルールに移行する 2 つの方法について説明します。
ネイティブ Terraform コマンド:
terraform import、terraform plan、およびterraform state rmコマンドを使用する標準の Terraform ワークフロー。New Relic CLI 自動化ツール: New Relic は、ネイティブ Terraform ワークフローを自動化する CLI ツールを提供しており、次の 2 つのバージョンがあります。
- GitOps (CI/CD): Terraform の状態がワークスペースから直接アクセスできない (通常はリモート バックエンドに保存される) CI/CD ツールを使用するチーム向け。
- ローカル Terraform: ローカルまたはリモート バックエンドにある Terraform 状態ファイルを直接読み取ることができる Terraform コマンドを実行するチーム向けです。
手作業とエラーの可能性を大幅に削減できるため、New Relic の自動化ツールを使用することをお勧めします。ただし、完全な制御を希望する場合や特定の要件がある場合は、ネイティブの Terraform コマンド アプローチに従うことができます。
ネイティブの Terraform コマンドを使用して移行する
このセクションでは、ネイティブ Terraform コマンドを使用してnewrelic_nrql_drop_ruleリソースからnewrelic_pipeline_cloud_ruleリソースに移行するための標準の Terraform ワークフローについて説明します。このセクションのすべてのコマンドは、ドロップ ルール設定が配置されている Terraform 作業ディレクトリから実行する必要があります。
前提条件
- Terraform または OpenTofu v1.5 以上:このバージョンでは、
importブロック 機能が導入され、リソース設定を手動で記述する必要がなくなり、移行プロセスがより効率的になりました。 - New Relic Terraform Provider v3.73.0 以上:この推奨バージョンでは、
newrelic_pipeline_cloud_ruleリソースとnewrelic_nrql_drop_ruleリソースのpipeline_cloud_rule_entity_id属性 (2025 年 9 月にリリースされた v3.68.0 で追加) を使用して、Terraform 経由でPipeline cloudルールを管理するためのサポートが拡張され、スムーズな移行プロセスを保証するための重要なバグ修正が含まれています。
移行の手順
Pipeline cloudルールIDを取得する
Terraform 作業ディレクトリで New Relic Terraform Provider を v3.73.0 以上にアップグレードしてから、 terraform applyを実行して既存のnewrelic_nrql_drop_ruleリソースを更新します。この操作では、 New Relicによって自動的に作成された対応するPipeline cloudルールの ID を含むpipeline_cloud_rule_entity_idプロパティを追加して、Terraform の状態を更新します。
注記
より安全な操作を行うには、 -refresh-onlyフラグを使用してインフラストラクチャを変更せずに状態を更新するか、 -targetを使用して操作を特定のドロップ ルール リソースに制限します。
Terraform 作業ディレクトリに移動し、次のいずれかのコマンドを実行します。
$# Apply to update state with pipeline_cloud_rule_entity_id$ terraform apply$
$ # Safer: use refresh-only to see changes without modifying infrastructure$ terraform apply -refresh-only$
$ # Targeted: limit operation to specific drop rule resources$ terraform apply -refresh-only -target=newrelic_nrql_drop_rule.foo上記のコマンドのいずれかを実行すると、各ドロップ ルールに対してpipeline_cloud_rule_entity_idが使用可能になります。次のステップで使用するために ID を手元に置いておきます。
# Example: Get the Pipeline cloud rule ID for a drop rulenewrelic_nrql_drop_rule.foo.pipeline_cloud_rule_entity_idPipeline cloudルールをTerraform状態にインポートする
Terraform 作業ディレクトリに新しい.tfファイル (たとえば、 import_pipeline_rules.tf ) を作成します。このファイルでは、移行するドロップ ルールごとにインポート ブロックを追加します。前の手順のpipeline_cloud_rule_entity_id値を使用します。
# import_pipeline_rules.tf# Create import block using the pipeline_cloud_rule_entity_id from stateimport { to = newrelic_pipeline_cloud_rule.foo # Reference the ID from the drop rule resource id = newrelic_nrql_drop_rule.foo.pipeline_cloud_rule_entity_id
# Or use the actual value from your state # id = "MzgwNjUyNnxOR0VQfFBJUEVMSU5FX0NMT1VEX1JVTEV8MDE5OTRjZjgtYmFmNy03MjU3LWE3M2MtZWY5OTkxYTQxMjgy"}次に、Terraform 作業ディレクトリから Terraform コマンドを実行して設定を生成し、インポートします。
$# Generate Pipeline cloud rule configuration automatically$terraform plan -generate-config-out=generated_pipeline_rules.tf$
$# Apply to import the Pipeline cloud rules$terraform applyTerraform 状態から古いドロップルールリソースを削除します。
Pipeline cloudルールを正常にインポートした後、 terraform state rmコマンドを使用して、Terraform 状態からnewrelic_nrql_drop_ruleリソースへのすべての参照を削除する必要があります。
$terraform state rm newrelic_nrql_drop_rule.fooこれにより、New Relic からは削除されずに、Terraform 状態からドロップ ルールが削除されます。
ヒント
また、Terraform のremovedブロック( Terraform v1.7 以降で使用可能) を使用して、設定ファイル内で宣言的に状態からリソースを削除することもできます。
Terraform 設定をクリーンアップする
Terraform 状態からドロップ ルールを削除した後、Terraform 設定ファイルからすべてのnewrelic_nrql_drop_ruleリソース ブロックをコメントアウトし、これらのドロップ ルールに依存する補助リソースをすべて削除する必要があります。
次に、 terraform planを実行して移行を確認します。
$terraform plan移行が成功した場合、出力には「変更なし」と表示されます。
New Relicの自動化ツールで移行する
上記のネイティブ Terraform 移行ワークフローを簡素化するために、New Relic はインポートと状態管理を処理する CLI 自動化ツールを提供しています。これらのツールは、同じ基礎となる Terraform 操作 (インポート、計画、適用、状態の削除) を自動化しますが、手作業は大幅に少なくなります。
前提条件
Terraform または OpenTofu v1.5 以上:自動移行アプローチに必要です。
New Relic Terraform Provider v3.73.0 以上:この推奨バージョンでは、
newrelic_pipeline_cloud_ruleリソースとnewrelic_nrql_drop_ruleリソースのpipeline_cloud_rule_entity_id属性 (2025 年 9 月にリリースされた v3.68.0 で追加) を使用して、Terraform 経由でPipeline cloudルールを管理するためのサポートが拡張され、スムーズな移行プロセスを保証するための重要なバグ修正が含まれています。New Relic CLI:自動移行コマンドを実行するために必要です。
環境変数:
NEW_RELIC_API_KEY- 適切な権限を持つNew RelicユーザーAPIキー。NEW_RELIC_ACCOUNT_ID- ドロップ ルールが配置されている New Relic アカウント ID。NEW_RELIC_REGION(オプション) - アカウントの地域に基づいて「US」または「EU」に設定します (デフォルトは「US」)。