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
はじめてのOSSコントリビュートで“推しからのリプ”をもらった話 -
TECH
Prometheusで辞書形式のメトリクスを持つExporterを作りたい! -
TECH
GTM経由でカスタムディメンションを取得するTypeScript -
TECH
Grafana Tempo×OpenTelemetryの導入方法 -
TECH
Grafana TempoとLokiの連携で進化するログ解析とトレーシング -
TECH
「Microsoft 365開発者プログラム」のアクティベーション方法 -
TECH
サインインなしでも使える! 開発者向けAI検索エンジン「Phind」をご紹介 -
TECH
え、高級言語しか触ったことないのにCPUを自作するんですか!? -
TECH
Github Copilotで、コミットメッセージもAIに考えてもらう方法 -
TECH
Github Copilot Chatをさらに便利にする3つの機能 - この連載の一覧へ