私はインフラストラクチャを構築するためにterraformを使用しましたが、何らかの理由でtfstateが削除されることがあります。これは、すでに私のリソースをtfファイルで定義していることを意味し、すべてを再インポートするだけです。tfファイルに定義されているすべてのリソースをインポートします。
これは手作業である必要がありますか?例えば
これは私がEC2インスタンスをインポートする方法です:
terraform import aws_instance.web i-123456
私はすべてのリソースのthatsのために非常に痛いことをしなければならない場合は(だけでなく、すべてを削除して最初からやり直すかもしれません)。
すでにtfファイルがある場合は、定義されているすべてのリソースをインポートする方法がありますか?たとえば、そのインスタンスをインポートするためにインスタンスIDが必要でした。 terraformインポートコマンドが自分のtfファイルを読み込んで、 "aws_instance.web"にマッピングされたリソースを見つけることができますか?
これを行うには、terraformにtfファイル内のリソースにそのawsインスタンスをマッピングする必要があります。これはもちろんtfstateの目的です。しかし、テラフォームはリソースマッピングにリソースをタグ付けする方法もありますか?だから、私はtfファイルに対してインポートを行うことができ、terraformはtfファイルを動的に読み込み、固有のタグでtfリソースに対応する物理リソースを見つけます。
2つの同一のリソースを定義した場合、どのように機能しますか? –
どういう意味ですか?同じ名前のリソースを定義した2つの異なるtfファイルがあるとしますか?申し訳ありませんがまだ私の頭をテラフォームの周りに巻きつけるので、多分私はここで何かを見逃していますか? – red888
そうですね。同じパラメータを使用して2つのEC2インスタンスを定義した場合、TerraformはインスタンスIDへのマッピングを保存せずにどのようなものを知っていますか? –