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


46

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

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


답변은 @MichaelHampton으로 표시되어 있지만 그 질문에 옳지 않습니다.
konr

@konr 질문에 더 나은 답변이 필요하다고 생각되면 현상금을 시작할 수 있습니다 .
Michael Hampton

답변:


58

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

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


10

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

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

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

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

희망이 도움이


8

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

$ aws ec2 describe-instances --output text

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

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


2
aws ec2 describe-instances --output text | grep sg-
cdmckay

보안 그룹은 다른 보안 그룹을 참조 할 수 있으므로 해당 기능을 재귀 적으로 실행해야합니까?
brendan

1
조용히 불완전합니다. 보안 그룹은 EC2 인스턴스 이외의 여러 곳에서 사용할 수 있습니다 (ELB, VPC 및 기타 보안 그룹 (@brendan이 이미 언급 한 바와 같이)).
Amos Shapira

@AmosShapira OP는 EC2에 대해 구체적으로 묻고있었습니다. 원하는 경우 언제든지 답변을 수정하여 자유롭게 개선 할 수 있습니다.
EEAA

@AmosShapira OP의 문제를 해결했습니다. SF 답변은 가능한 모든 관련 상황에 대한 종합적인 답변 일 필요는 없습니다.
EEAA

7

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

다음이 필요합니다.

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

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


4

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

나는 이것을 사용했다 :

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

2

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

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

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


1

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



0

표시된 답변이 잘못되었습니다. 종속성 위반이 표시되면 IP 권한 (Ingress) 구성에서 다른 보안 그룹이 참조 될 수 있습니다. 보안 그룹을 소스로 포함하는 모든 수신 권한을 취소해야합니다.


원래 질문은 일부 보안 그룹을 참조하는 것이 었습니다. 보안 그룹 및 해당 수신 포트를 참조하는 네트워크 인터페이스가 아닌 것이 있습니까? 그렇지 않다면 네트워크 인터페이스 목록이 좋은 대답입니다.
user14645

현재로서는 가치가 있지만 보안 그룹에 대한 참조는 종속성 위반이 아닙니다. ENI에 첨부되지 않지만 다른 보안 그룹에서 참조되는 보안 그룹을 삭제할 수 있습니다. 삭제 후 규칙에 존재하지 않는 보안 그룹에 대한 이전 참조가 있음을 나타내는 "새 부실 보안 그룹 규칙이 있습니다"라는 알림이 콘솔에 표시됩니다. 그런 다음 이후에 상황을 수정할 수있는 "부실 규칙보기"하이퍼 링크를 제공합니다.
Deroes Stroebel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.