コンテンツにスキップ
Zenn Dev Terraform Jp Articles Tf Query Bulk Import

【Terraform 1.14】terraform query コマンドで既存リソースを一括 import する

  • URL: https://zenn.dev/terraform_jp/articles/tf-query-bulk-import
  • 日付: 2026-06-26
  • Tier: Tier 3
  • 要旨: Terraform v1.14.0 beta に追加された terraform query コマンドを使うと、.tfquery.hcl ファイルに list ブロックを記述するだけで Terraform 管理外の既存リソースを一覧取得できる。-generate-config-out フラグと組み合わせると、取得したリソースに対応する resource ブロックと import ブロックが自動生成される。あとは terraform apply を実行するだけで一括 import が完了する。config ブロックで特定タグによるフィルタリングも可能で、terraformer のような外部ツールに頼らず公式コマンドで同等の操作が行えるようになる。

詳細

検証環境: Terraform v1.14.0-beta1、AWS Provider v6.14.0

List Resources の使い方:

  • .tfquery.hcl ファイルを作成し list ブロックを記述する
  • provider 属性は必須
  • config ブロックでプロバイダ固有の引数(フィルタなど)を指定できる
  • include_resource で全属性取得、limit で取得上限を指定(デフォルト 100)

terraform query コマンドの実行例:

  • terraform query で一覧表示
  • terraform query -generate-config-out=generated.tf で resource ブロックと import ブロックを自動生成
  • 生成後に terraform apply を実行するとリソースが Terraform 管理下に移行する

実用上の意義:

  • 従来 googlecloudplatform/terraformer などのサードパーティツールが担っていた「既存リソースの一括 import」が公式コマンドで実現できるようになる
  • for_each 不可などの制約がある旧来の import 作業が大幅に自動化される