変更時の注意点
上記に書いてあるんだけど、 EC2 だけ独特っぽいので注意が必要。
EC2
destroy -> create が走るので、インスタンスの削除→生成、という手順でインスタンスタイプ変更を実現している。
これはどうも Terraform には stop する実装がなく、 terminate しかないから? みたいな話らしい。
ignore_changes
ManagementConsole から変更するので state と差異が出るので、 ignore_changes
に instance_type
を書いて無視させる、みたいな話もあるけど、変更期間が一週間以下とかなら運用回避でいい気がする。
逆に「事故りそう!」という感じだったら、Terraform 側も変更しておけばよい。
僕は基本一人親方状態なので、変更せずに Slack などに changelog を書いているのでそちらベースで作業しているけど、まあ大体の場合において、作業前の plan 実行時に検出されて「オアアッ」ってなると思う。
RDS
こちらは以下のように素朴に instance_class
を書き換えてやればいい。
その際に apply_immediately
すなわち即時反映、というオプションが true じゃないと反映されないので注意が必要。
resource "aws_db_instance" "rds_instance" { ... instance_class = "db.m6i.large" apply_immediately = true ... }