[Gelöst!!] Fehler: Security Group hat abhängige Objekte in AWS | Security Group löschen

Melden

Hier ist ein ausführliches Tutorial, das dir hilft, den Fehler „DependencyViolation“ beim Löschen einer AWS Security Group zu beheben.

Wenn du versuchst, eine Security Group (Sicherheitsgruppe) in der AWS Management Console oder über die CLI zu löschen, stößt du oft auf die Fehlermeldung: "Security group has a dependent object" (DependencyViolation).

Das bedeutet, dass die Sicherheitsgruppe noch mit einer anderen Ressource verknüpft ist. AWS lässt das Löschen erst zu, wenn alle Abhängigkeiten entfernt wurden.


Warum tritt dieser Fehler auf?

AWS schützt deine Infrastruktur davor, dass aktive Ressourcen plötzlich ohne Netzwerkregeln dastehen. Bevor eine Security Group gelöscht werden kann, muss sie von allen Instanzen, Netzwerkschnittstellen und anderen Sicherheitsgruppen entkoppelt werden.


Schritt-für-Schritt-Lösung

Schritt 1: EC2-Instanzen prüfen

Der häufigste Grund ist eine aktive oder gestoppte EC2-Instanz, die die Gruppe noch verwendet.

  1. Gehe zur EC2-Konsole.
  2. Klicke im linken Menü auf Instances.
  3. Nutze die Suchleiste und filtere nach der Security Group ID.
  4. Falls Instanzen gefunden werden:
    • Markiere die Instanz -> Actions -> Security -> Change security groups.
    • Entferne die zu löschende Gruppe und füge eine andere hinzu.
    • Wichtig: Auch gestoppte Instanzen blockieren das Löschen!

Schritt 2: Network Interfaces (ENIs) finden

Manchmal ist keine EC2-Instanz direkt verknüpft, aber eine Netzwerkschnittstelle (Elastic Network Interface) existiert noch – z. B. von einem Load Balancer, einer Lambda-Funktion oder einem Managed Service (wie RDS).

  1. Gehe in der EC2-Konsole auf Network Interfaces (unter "Network & Security").
  2. Gib die ID deiner Security Group in das Suchfeld ein.
  3. Wenn Ergebnisse erscheinen, prüfe die Spalte "Description", um zu sehen, welcher Dienst die Schnittstelle nutzt.
  4. Du musst den entsprechenden Dienst (z. B. den Load Balancer oder die Lambda-VPC-Konfiguration) löschen oder ändern, damit die Schnittstelle verschwindet.

Schritt 3: Verweise in anderen Security Groups entfernen

Eine Security Group kann als Quelle oder Ziel in den Regeln einer anderen Security Group eingetragen sein.

  1. Kopiere die Security Group ID (z. B. sg-0123456789abcdef).
  2. Gehe zu Security Groups.
  3. Du musst nun alle deine Sicherheitsgruppen durchsuchen, ob diese ID in den Inbound oder Outbound Rules vorkommt.
  4. Entferne diese Regeln manuell. Erst danach ist die Gruppe "frei".

Schritt 4: Peering-Verbindungen (VPC Peering)

Falls du VPC Peering nutzt, könnte die Security Group in einer Regel einer Sicherheitsgruppe in einer anderen VPC referenziert werden.

  • Prüfe auch hier die Inbound/Outbound-Regeln über VPC-Grenzen hinweg.

Profi-Tipp: Den Fehler mit der AWS CLI finden

Wenn du viele Gruppen hast, ist die Suche in der Konsole mühsam. Nutze die AWS CLI, um die Abhängigkeit direkt zu identifizieren:

aws ec2 describe-network-interfaces --filters Name=group-id,Values=sg-DEINE-ID-HIER --query "NetworkInterfaces[*].{ID:NetworkInterfaceId,Description:Description,Status:Status}"

Dieser Befehl zeigt dir sofort alle Netzwerkschnittstellen an, die die Gruppe noch blockieren.


Zusammenfassung der Checkliste

  • [ ] Sind noch EC2-Instanzen (auch gestoppte) mit der Gruppe verbunden?
  • [ ] Gibt es Network Interfaces (ENIs) von Load Balancern, RDS oder Lambda?
  • [ ] Wird die Group-ID in den Regeln anderer Security Groups verwendet?
  • [ ] Existieren noch VPC Endpoint Services, die diese Gruppe nutzen?

Sobald alle Verknüpfungen auf 0 stehen, kannst du die Security Group einfach über Actions -> Delete security group entfernen.

0