Amazon EC2 ne me laissera pas supprimer un groupe de sécurité, se plaignant que le groupe a toujours des dépendances. Comment puis-je trouver ce que sont ces dépendances?
aws ec2 décrivent-groupes de sécurité ne dit pas.
Amazon EC2 ne me laissera pas supprimer un groupe de sécurité, se plaignant que le groupe a toujours des dépendances. Comment puis-je trouver ce que sont ces dépendances?
aws ec2 décrivent-groupes de sécurité ne dit pas.
Réponses:
Collez l'ID du groupe de sécurité dans la section "Interfaces réseau" de EC2. Cela trouvera une utilisation dans EC2, EB, RDS, ELB.
CLI: aws ec2 describe-network-interfaces --filters Name=group-id,Values=sg-123abc45
La meilleure façon de procéder dans la console AWS EC2 consiste à coller le nom du groupe de sécurité dans le champ de recherche de la section EC2-> Instances.
Toutes les instances associées au groupe de sécurité collé seront ensuite peuplées. Celles-ci seraient les objets ec2 (dépendances).
Vous pouvez également exécuter cette recherche dans la section ELB et dans d'autres offres AWS utilisant des groupes de sécurité.
Si vous essayez de supprimer le groupe de sécurité, vous devez soit «modifier le groupe de sécurité» pour chaque instance (s’ils se trouvent dans un VPC), soit créer une AMI et relancer l’utilisation d’un groupe de sécurité différent, puis supprimer l’ancienne instance (si nécessaire). en utilisant EC2 classic)
J'espère que ça t'as aidé-
Vous devez regarder vos objets d'instance EC2, pas les groupes eux-mêmes:
$ aws ec2 describe-instances --output text
Recherchez ensuite "sg- *" ou utilisez des outils de traitement de flux de texte unix standard pour extraire les données dont vous avez besoin.
Sinon, si vous avez un petit nombre d'instances, utilisez-le --output table
pour une liste bien formatée.
aws ec2 describe-instances --output text | grep sg-
Vous pouvez interroger le aws cli pour obtenir les données souhaitées.
Vous aurez besoin de:
Vous pouvez également utiliser des bibliothèques, telles que boto https://code.google.com/p/boto/ à la place de raw aws cli.
Les fonctions Lambda peuvent également avoir des groupes de sécurité. Au moment de la rédaction, Amazon n'empêche pas la suppression des groupes de sécurité utilisés par les fonctions Lambda.
J'ai utilisé ceci:
aws lambda list-functions | jq -c '.Functions[] | {FunctionArn, SecurityGroups: (.VpcConfig.SecurityGroupIds[]? // null) }'
Un autre problème concerne les SecurityGroups qui dépendent d’autres SecurityGroups. On peut utiliser cette commande pour générer la liste Adjacency (dépendances directes):
aws ec2 describe-security-groups --query "SecurityGroups[*].{ID:GroupId,Name:GroupName,dependentOnSGs:IpPermissions[].UserIdGroupPairs[].GroupId}
Idéalement, ce résultat devrait être utilisé pour trouver la fermeture transitive (toutes les dépendances, directes et indirectes). Malheureusement, je n'ai pas réussi à trouver un util de fermeture transitive.
Cela n'était peut-être pas disponible lorsque la question a été posée à l'origine, mais si vous allez dans la console AWS pour les groupes de sécurité, sélectionnez le (s) groupe (s) en question et sélectionnez l'action Supprimer, l'invite résultante vous dira si elle est référencée et par quoi. .
Vous pouvez utiliser cet outil Python pour répertorier les groupes de sécurité avec leurs dépendances. Il permet également d’énumérer les groupes de sécurité inutilisés (obsolètes):
La réponse marquée est incorrecte. Si vous constatez une violation de dépendance, il est probable qu'un autre groupe de sécurité soit référencé dans votre configuration des autorisations IP (entrée). Vous devrez révoquer toutes les autorisations d'entrée contenant des groupes de sécurité comme source.