Amazon EC2 non mi consente di eliminare un gruppo di sicurezza, lamentando che il gruppo ha ancora dipendenze. Come posso trovare quali sono queste dipendenze?
aws ec2 descrivono-gruppi-di sicurezza non dice.
Amazon EC2 non mi consente di eliminare un gruppo di sicurezza, lamentando che il gruppo ha ancora dipendenze. Come posso trovare quali sono queste dipendenze?
aws ec2 descrivono-gruppi-di sicurezza non dice.
Risposte:
Incollare l'ID del gruppo di sicurezza nella sezione "Interfacce di rete" di EC2. Questo troverà utilizzo su EC2, EB, RDS, ELB.
CLI: aws ec2 describe-network-interfaces --filters Name=group-id,Values=sg-123abc45
Il modo migliore per farlo nella console AWS EC2 è incollare il nome del gruppo di sicurezza nel campo di ricerca nella sezione EC2-> Istanze.
Tutte le istanze associate al gruppo di sicurezza incollato verranno quindi popolate, ovvero gli oggetti ec2 (dipendenze).
Puoi anche eseguire questa ricerca nella sezione ELB e altre offerte AWS che utilizzano gruppi di sicurezza.
Se stai cercando di eliminare il gruppo di sicurezza, dovrai "cambiare il gruppo di sicurezza" per ogni istanza (se si trovano in un VPC) o creare un AMI e riavviare utilizzando un altro gruppo di sicurezza, quindi eliminare la vecchia istanza (se utilizzando EC2 classico)
Spero che aiuti-
È necessario esaminare gli oggetti dell'istanza EC2, non i gruppi stessi:
$ aws ec2 describe-instances --output text
Quindi cerca "sg- *" o usa gli strumenti standard di elaborazione del flusso di testo unix per estrarre i dati di cui hai bisogno.
In alternativa, se si dispone di un numero limitato di istanze, utilizzare --output table
per un elenco ben formattato.
aws ec2 describe-instances --output text | grep sg-
È possibile interrogare il cli aws per ottenere i dati desiderati.
Dovrai:
Puoi anche utilizzare le librerie, come boto https://code.google.com/p/boto/ invece del raw aws cli.
Le funzioni Lambda possono anche avere gruppi di sicurezza. Al momento della scrittura, Amazon non impedisce l'eliminazione dei gruppi di sicurezza utilizzati dalle funzioni Lambda.
Ho usato questo:
aws lambda list-functions | jq -c '.Functions[] | {FunctionArn, SecurityGroups: (.VpcConfig.SecurityGroupIds[]? // null) }'
Un altro problema sono i SecurityGroup che dipendono da altri SecurityGroup. Si può usare questo comando per generare l' elenco di adiacenza (dipendenze dirette):
aws ec2 describe-security-groups --query "SecurityGroups[*].{ID:GroupId,Name:GroupName,dependentOnSGs:IpPermissions[].UserIdGroupPairs[].GroupId}
Idealmente, questo risultato dovrebbe essere usato per trovare la chiusura Transitiva (tutte le dipendenze, dirette e indirette). Sfortunatamente, non sono riuscito a trovare un util di chiusura Transitive.
È possibile utilizzare questo strumento Python per elencare i gruppi di sicurezza con le loro dipendenze. Consente inoltre di elencare gruppi di sicurezza non utilizzati (obsoleti):
La risposta contrassegnata non è corretta. Se si riscontra una violazione delle dipendenze, è probabile che venga fatto riferimento a un altro gruppo di sicurezza nella configurazione delle autorizzazioni IP (Ingress). Sarà necessario revocare tutte le autorizzazioni di ingresso che contengono i gruppi di sicurezza come fonte.