#author("2023-08-24T10:22:19+00:00","default:wikiadmin","wikiadmin") #author("2023-08-24T10:23:00+00:00","default:wikiadmin","wikiadmin") -terraformの変数について *命名規約を決める [#ge77d424] すべて小文字のハイフンつなぎ *S3/localの切り替え [#oe025740] https://qiita.com/empty948/items/9564858aa4783ffa9cf7 |ローカルからS3|terraform init -reconfigure| |ローカルからS3|terraform init -reconfigure|ローカルのtfstateをCOPYするか聞かれるのでYES| *バックエンドのファイル名も環境名入れとかないと交じるかも! [#t5dc78fc] -単に変数を変えるだけで同じAWSアカウントだと旧を消して新しいの作ろうとするので危険(ECRで実験済み) https://thaim.hatenablog.jp/entry/2019/06/27/080000 上記を参考にやってみる *型 [#i7034b38] **list [#hd78007b] variable "availability_zone_names" { type = list(string) default = ["us-west-1a"] } **map [#a6b9fcb7] variable "ec2_config" { type = "map" #省略化 default = { ami = "ami-4af5022c" instance_type = "t2.micro" instance_key = "id_rsa" } } *localとvariables [#g153a0e7] localはモジュール内に閉じたものに使う。外部から設定は不可能 variablesはいろんな方法で上書き可能なので環境ごとに代わるものなどやモジュールまたぎに使う 「意図しない値の設定を防ぐためにもtfファイル上で変数を扱う際はまずLocal Valuesを利用し、外部から値の入力が必要な場合のみvariableを利用する」 **varの上書き [#md228dcb] -何も指定してないとプロンプト入力 -default指定するとその値がそのまま利用 variable "instance_type" { type = string # default = "t3.nano" } #コマンドラインで上書き terraform plan --var "instance_type=hoge" #tfvars (test.tfvars) instance_type="t3.large" #ファイルで上書き terraform plan -var-file=test.tfvars