FIXER cloud.config Tech Blog
Terraform 1.5から追加されたimportブロックがすごい!!
2023年07月27日 10時00分更新
本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「Terraform 1.5から追加されたimportブロックがすごい!!」を再編集したものです。
はじめに
こんにちは!23年入社の村田です。
今回はTerraformの新しい機能に触れたので書いてみました。
Terraform 1.5で追加されたimportブロックについて
Terraformのバージョン1.5が6月12日に一般公開されました!!
インストールはこちらから
Terraformにimportブロックというものが定義できるようになりました。
importブロックを定義すると、Terraformで作成していない既存のリソースをTerraformで管理できるようになります。
今回はAzureでTerraformのimportブロックを使用する方法を、注意点を踏まえながら紹介したいと思います。
importブロックの使い方
インポートしたいリソースがストレージアカウントの場合
注意点
ここでいうTerraformのリソース名とは
の"st"の部分です。
というようにimportブロックを定義し、
上記コマンドを実行すると、指定したファイルにインポートしたいリソースのTerraformコードが生成されます。
下記のようにファイルが出力されます
注意点
・生成されたファイルには共存しない引数が存在する場合がある
・生成されたファイルのままplanが通らない場合があるのでエラーのでた引数を削除したり、変更しないといけない
・生成するファイルが存在する場合上書きができないので、存在しないファイル名を指定しないといけない
・ファイル名はdir/generated.tfといったように指定できるが、存在しないフォルダの場合、フォルダが生成されるわけではない
・インポートしたファイルで名前以外の引数の値を変更しても、apply時に変更される状態でインポートされる(リソースも変更される)
・生成されたファイルをmain.tfなどにコピペして書き換えても正常に動作する
そして生成されたファイルを修正し、
もう一度、今度はオプションなしでplanを実行します。
エラーがでなければ、
をすることでインポート完了です。
インポート後はimportブロックを削除しても問題ないです。
一度インポートしてしまえば、生成されたTerraformのコードの引数の値を変更することでリソースの操作も可能です。
注意点
・名前を変更すると再作成になります
終わりに
今回はTerraformの1.5から追加されたimportブロックに関して書かせていただきました。
実は他にもCheckブロックというのも追加されて、触れる機会があれば記事にしたいなとか思ってます。
ここまでお読みいただきありがとうございました。
村田 優真(むらた ゆうま)/FIXER
大阪出身で情報系の専門学校を卒業し、2023年に入社しました。
本記事はアフィリエイトプログラムによる収益を得ている場合があります


この連載の記事
-
TECH
Terraformのバージョン管理ツール、古いtfenvからtenvへの移行 -
TECH
3週間の自動テストが半日に! Playwrightの使い方の基本 -
TECH
Next.jsで静的テスト環境を構築し、GitHub Actionsで自動化してみた -
TECH
クイズ:正規表現で「0~255」のすべてにマッチするのはどれ? -
TECH
ミニPCサーバーにFluxを導入、GitOpsで自動デプロイする方法 -
TECH
アプリ開発の手戻りを防ぐ 「入力チェック(バリデーション)」の設計方法 -
TECH
Webアプリを使いやすく! 「入力チェック(バリデーション)」の正しい考え方 -
TECH
機械科卒・ITエンジニア就職から一年、やって良かったこと -
TECH
「SOSの出し方を知ろう」 新卒入社から1年、学んだことを振り返る -
TECH
MobSF(Mobile Security Framework)でできること、動かない理由 -
TECH
gitコマンド、長いしだるいしMMS(マジ・短く・したい) - この連載の一覧へ











