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.