ユーザ用ツール

サイト用ツール


サイドバー

Index

はじめてのおつかい






DokuWiki整形記法


PlayGround



serverapps:configmgmt:terraform

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のファイルが自動的に読み込まれる。

serverapps/configmgmt/terraform.txt · 最終更新: 2024/01/19 16:19 by hayashi