Я новичок в Terraform, поэтому я уверен, что что-то упустил, но ответы, которые я нахожу, похоже, не задают тот же вопрос, что и у меня.
У меня естьAWS VPC / Security Group, под которой нам нужно создать наши экземпляры EC2, и этот VPC / SG уже создан. Чтобы создать экземпляр EC2, Terraform требует, чтобы, если у меня нет VPC по умолчанию, я импортировал свой собственный. Но как только я импортирую и применяю свой план, когда я хочу уничтожить его, он также пытается уничтожить мой VPC. Как мне инкапсулировать мои ресурсы, чтобы при запуске «terraform apply» я мог создать экземпляр EC2 с моим импортированным VPC, но когда я запускаю «terraform destroy», я уничтожаю только свой экземпляр EC2?
В случае, если кто-либохочу упомянуть, я понимаю, что:
lifecycle = {
prevent_destroy = true
}
- это не то, что я ищу.
Вот мой текущий тренировочный код.
resource "aws_vpc" "my_vpc" {
cidr_block = "xx.xx.xx.xx/24"
}
provider "aws" {
region = "us-west-2"
}
data "aws_ami" "ubuntu" {
most_recent = true
filter {
name = "name"
values = ["ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-*"]
}
owners = ["099720109477"] # Canonical
}
resource "aws_instance" "web" {
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "t3.nano"
vpc_security_group_ids = ["sg-0e27d851dxxxxxxxxxx"]
subnet_id = "subnet-0755c2exxxxxxxx"
tags = {
Name = "HelloWorld"
}
}