====== Terraform ====== hashi corp製。\\ infraに特化 ===== install ===== ==== Ubuntu ==== wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list sudo apt update && sudo apt install terraform ===== 異なるtfstateファイルのリソースを参照する ===== ==== 参照元 ==== * 必要なリソース情報のoutputしておく * 今回の例ではtfstateはS3にあるものとする output "ec2_id" { value = "${aws_instance.***.id}" } ==== リソース情報を参照 ==== 参照用データソース作成 data "terraform_remote_state" "XXXXX" { backend = "s3" config { bucket = "[BucketName]" key = "path/to/terraform.tfstate" region = "ap-northeast-1" } } 参照する resource "aws_......" "***" { instance_id = "${data.terraform_remote_state.XXXX.ec2_id}" } ===== 特定のリソースのみを対象とする ===== $ terraform {plan|apply|destroy} -target={resource name} ===== 特定のアウトプットをコマンドで取得する ===== $ terraform output outputvalue ===== terraformで自動で読込まれるVariableファイル ===== カレントディレクトリの terraform.tfvars ファイルと *.auto.tfvars というsuffixのファイルが自動的に読み込まれる。