terraformでEBS(もちろんroot device)変更すると、
インスタンス再作成されて
ビビる・・・(汗)
terraform怖いですが、ちゃんと検証してれば問題なし!
■aws_ec2.tf
・terraform version
1 2 |
$ terraform -v Terraform v0.9.9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
## EC2 create(dev-test01) resource "aws_instance" "dev-test01" { ami = "${var.ami}" instance_type = "${var.instance_type}" disable_api_termination = false key_name = "test" vpc_security_group_ids = ["${aws_security_group.all.id}","${aws_security_group.infra-ssh.id}"] subnet_id = "${aws_subnet.public-a.id}" root_block_device = { #ebs_block_device = { #device_name = "/dev/sdf" volume_type = "gp2" volume_size = "100" } tags { Name = "dev-test01" } } |
今回はroot deviceを100GBに変更して適用してみます。
■terraform apply
1 2 3 4 5 6 7 8 9 10 11 12 |
$ terraform apply aws_instance.dev-test01: Still destroying... (ID: i-xxxxxxxxxx, 10s elapsed) aws_instance.dev-test01: Still destroying... (ID: i-xxxxxxxxxx, 20s elapsed) aws_instance.dev-test01: Destruction complete aws_instance.dev-test01: Creating... ami: "" => "ami-xxxxxxx" associate_public_ip_address: "" => "" availability_zone: "" => "" disable_api_termination: "" => "false" ebs_block_device.#: "" => "" ephemeral_block_device.#: "" => "" ~省略~ |
おいdestroyしたぞ!(汗)
勝手にインスタンス再作成しやがった!
もちろんAWSコンソールでも新しく作られてた。
これ本番環境だったら笑えない話。
まあテストなのでplanしてdestroy 1とかなってたらコード見直ししましょう。
■他にいい方法ないの
http://dev.classmethod.jp/cloud/aws/release-change-ebs-volume-size/
今年くらいからインスタンスの停止する必要がなく、
データの欠損が発生せずにボリュームサイズを増やせるようになりました。(Amazon Linuxのみ)
なので手動でやるしかない!w(コード変更せずにapplyはしない)
■まとめ
神アプデを待とう!(最近インスタンスタイプ変更して消えなくなったから来るはず!)
terraformは基本どこからどこまでを自動化するか事前に考えて
運営しないと結構まずいかも。
いろいろ検証してみます。
参考
https://www.terraform.io/docs/providers/aws/r/instance.html
1件のコメント
jin · 2021/11/01 12:00 pm
おいdestroyしたぞ!で声出して笑った