AWS 보안 그룹 종속성을 확인하는 방법은 무엇입니까? 삭제할 수

Amazon EC2에서는 보안 그룹을 삭제할 수 없어 그룹에 여전히 종속성이 있다고 불평합니다. 이러한 종속성이 무엇인지 어떻게 알 수 있습니까?

AWS ec2 describe-security-groups는 말하지 않습니다.



답변

EC2의 “Network Interfaces”섹션에 보안 그룹 ID를 붙여 넣습니다. 이것은 EC2, EB, RDS, ELB에서 사용법을 찾을 수 있습니다.

CLI : aws ec2 describe-network-interfaces --filters Name=group-id,Values=sg-123abc45


답변

AWS EC2 콘솔에서이를 수행하는 가장 좋은 방법은 EC2-> 인스턴스 섹션의 검색 필드에 보안 그룹 이름을 붙여 넣는 것입니다.

붙여 넣은 보안 그룹과 연결된 모든 인스턴스는 ec2 객체 (종속성)가됩니다.

보안 그룹을 사용하는 ELB 섹션 및 기타 AWS 제품에서이 검색을 실행할 수도 있습니다.

보안 그룹을 삭제하려는 경우 각 인스턴스에 대해 ‘보안 그룹 변경'(VPC에있는 경우) 또는 AMI를 생성하고 다른 보안 그룹을 사용하여 다시 시작한 다음 이전 인스턴스를 삭제해야합니다 ( EC2 클래식 사용)

희망이 도움이


답변

그룹 자체가 아닌 EC2 인스턴스 객체를 살펴 봐야합니다.

$ aws ec2 describe-instances --output text

그런 다음 “sg- *”를 찾거나 표준 유닉스 텍스트 스트림 처리 도구를 사용하여 필요한 데이터를 가져옵니다.

또는 적은 수의 인스턴스가있는 경우 --output table멋진 형식의 목록을 사용하십시오.


답변

AWS CLI를 조사하여 원하는 데이터를 얻을 수 있습니다.

다음이 필요합니다.

  • 해당 그룹에 대한 참조를 찾고있는 모든 보안 그룹을 나열하십시오.
  • 모든 EC2 및 해당 그룹 나열
  • 모든 ELB 및 해당 그룹 나열
  • 모든 RDS 및 그룹 목록

raw aws cli 대신 boto https://code.google.com/p/boto/ 와 같은 라이브러리를 사용할 수도 있습니다 .


답변

Lambda 함수에는 보안 그룹이있을 수도 있습니다. 작성 시점에서 Amazon은 Lambda 함수가 사용하는 보안 그룹의 삭제를 막지 않습니다.

나는 이것을 사용했다 :

aws lambda list-functions | jq -c '.Functions[] | {FunctionArn, SecurityGroups: (.VpcConfig.SecurityGroupIds[]? // null) }'


답변

다른 문제는 다른 보안 그룹에 의존하는 보안 그룹입니다. 이 명령을 사용하여 인접 목록 (직접 종속성) 을 생성 할 수 있습니다 .

aws ec2 describe-security-groups --query "SecurityGroups[*].{ID:GroupId,Name:GroupName,dependentOnSGs:IpPermissions[].UserIdGroupPairs[].GroupId}

이상적으로이 결과는 전이 폐쇄 (모든 종속성, 직접 및 간접) 를 찾는 데 사용해야합니다 . 불행히도 전이 폐쇄 유틸리티를 찾지 못했습니다.


답변

질문을 처음 받았을 때 사용할 수 없었을 수도 있지만 AWS 콘솔 보안 그룹으로 이동 한 경우 해당 그룹을 선택하고 작업 삭제를 선택하면 결과 프롬프트가 참조 여부와 .