
Ich habe ein kleines Problem mit dem folgenden Terraform-Szenario:
- Erstellen Sie eine SG und starten Sie eine Instanz, die die SG verwendet
- Ändern Sie die SG-Beschreibung
Ich würde erwarten, dass Terraform die SG von der Instanz trennt, die SG zerstört, eine neue erstellt und die neue verknüpft.
Was ich jedoch sehe, ist ein Timeout beim Versuch, die SG zu zerstören (offensichtlich, da sie verwendet wird und AWS das nicht zulässt).
Ich bin nicht sicher, ob das ein Fehler ist oder ob ich etwas falsch mache.
Um mein Problem zu verstehen, führen Sie wie unten beschrieben „Apply“ aus, ändern Sie dann die Beschreibung der SG und führen Sie „Apply“ erneut aus.
provider "aws" {
region = "eu-west-1"
}
resource "aws_default_vpc" "default" {
tags {
Name = "Default VPC"
}
}
data "aws_subnet_ids" "example" {
vpc_id = "${aws_default_vpc.default.id}"
}
resource "aws_security_group" "webserver" {
name = "staging-webserver"
description = "meow"
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
tags {
Name = "EBS webserver SG - staging"
}
}
resource "aws_instance" "dummy" {
ami = "ami-f7e8558e"
instance_type = "t2.micro"
availability_zone = "eu-west-1a"
vpc_security_group_ids = [
"${aws_security_group.webserver.id}"
]
}
Antwort1
Nein, Terraform trennt eine Sicherheitsgruppe nicht von irgendetwas, bevor es sie zerstört.
Am besten erstellen Sie eine andere Sicherheitsgruppe und verwenden diese, lassen die alte löschen oder ignorieren die Änderungen zur Beschreibung.