Amazon VPC와 연결된 보안 그룹을 삭제할 수 없는 이유는 무엇인가요?

5분 분량
0

Amazon Virtual Private Cloud(VPC)의 보안 그룹을 삭제하려고 하면 오류가 발생합니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참조하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인합니다.

보안 그룹을 삭제할 때 다음과 같은 이유로 오류가 발생할 수 있습니다.

보안 그룹이 기본 보안 그룹임

모든 Amazon VPC에는 기본 보안 그룹이 있습니다. 보안 그룹을 지정하지 않으면 새로 시작된 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 기본 보안 그룹이 자동으로 연결됩니다.

기본 보안 그룹을 삭제할 때 다음 오류가 발생합니다.

"error: Client.CannotDelete"

기본 보안 그룹은 삭제할 수 없습니다. 그러나 기본 보안 그룹의 규칙은 변경할 수 있습니다. 자세한 내용을 보려면 VPC의 기본 보안 그룹을 참조하세요.

보안 그룹 규칙은 자체 보안 그룹을 참조하거나 다른 보안 그룹의 규칙이 해당 보안 그룹을 참조합니다.

보안 그룹 자체 규칙이 보안 그룹을 참조하기 때문에 오류가 발생할 수 있습니다. 이 문제를 해결하려면 보안 그룹을 삭제하기 전에 규칙을 제거하세요.

보안 그룹을 참조하는 규칙을 제거하려면 다음 단계를 따르세요.

  1. Amazon VPC 콘솔을 엽니다.
  2. 탐색 창에서 보안 그룹을 선택합니다.
  3. 업데이트할 보안 그룹을 선택합니다.
  4. 작업, 인바운드 규칙 편집이나 작업, 아웃바운드 규칙 편집을 선택합니다.
  5. 삭제하려는 규칙 삭제를 선택합니다.
  6. 규칙 저장을 선택합니다.

보안 그룹 규칙 업데이트와 관한 자세한 내용을 보려면 보안 그룹 규칙을 참조하세요.

다른 보안 그룹의 규칙이 참조하는 보안 그룹을 삭제할 때 다음 오류가 발생합니다.

"An error occurred (DependencyViolation) when calling the DeleteSecurityGroup operation: resource sg-xyz has a dependent object"

다른 보안 그룹 규칙이 삭제하려는 보안 그룹을 참조하는 경우 규칙을 먼저 제거한 후 보안 그룹을 삭제하세요.

삭제하려는 보안그룹을 피어링 연결이 설정된 다른 Amazon VPC의 보안 그룹이 참조하는 경우가 있습니다. 이 같은 보안 그룹을 삭제하려면 참조를 제거하거나 Amazon VPC 피어링 연결을 삭제해야 합니다.

참고: 보안 그룹을 참조하는 Amazon VPC 피어링 연결의 다른 쪽 끝을 지정하려면 DescribeSecurityGroupReferences API를 사용하세요.

보안 그룹은 AWS 리소스와 연결되어 있습니다.

Amazon EC2 인스턴스나 Amazon API Gateway VPC 링크와 같은 AWS 리소스와 연결된 보안 그룹은 삭제할 수 없습니다.

다음 오류를 받는다고 가정합니다.

"Some security groups can't be deleted. The following security groups can't be deleted. These security groups are the default security groups, referenced by other security groups, or are associated with instances or network interfaces."

보안 그룹을 사용하는 리소스를 확인하려면 Amazon EC2 보안 그룹과 연결된 리소스를 찾는 방법은 무엇인가요?를 참조하세요.

중요: VPC 링크를 만든 후에는 보안 그룹이나 서브넷을 변경할 수 없습니다.

인스턴스에 할당된 보안 그룹을 변경하려면 보안 그룹 작업을 참조하세요.

보안 그룹이 네트워크 인터페이스와 연결됨

요청자 관리형 네트워크 인터페이스와 연결된 보안 그룹은 삭제할 수 없습니다. 요청자 관리형 네트워크 인터페이스는 Application Load Balancer 노드와 같은 관리형 리소스를 위해 자동으로 생성됩니다. 일부 AWS 서비스와 리소스에는 항상 탄력적 네트워크 인터페이스에 연결되는 보안 그룹이 있습니다. 여기에는 AWS Lambda, Amazon FSx, Amazon ElastiCache for Redis, ElastiCache for Memcached가 있습니다.

네트워크 인터페이스를 삭제하거나 분리하려면 네트워크 인터페이스 삭제를 참조하세요.

Amazon VPC 엔드포인트에 사용되는 네트워크 인터페이스와 연결된 보안 그룹은 삭제할 수 없습니다.

보안 그룹을 삭제할 때 다음 오류 메시지가 나타납니다.

"An error occurred (DependencyViolation) when calling the DeleteSecurityGroup operation: resource sg-xyz has a dependent object"

인터페이스 엔드포인트에서 보안 그룹을 제거하거나 교체하려면 다음 단계를 실행하세요.

  1. Amazon VPC 콘솔을 엽니다.
  2. 탐색 창에서 엔드포인트를 선택합니다.
  3. 인터페이스 엔드포인트를 선택한 다음 작업, 보안 그룹 관리를 선택합니다.
  4. 보안 그룹을 선택하거나 선택 취소한 다음 저장을 선택합니다.

AWS CLI 명령 describe-network-interfaces를 실행해 보안 그룹과 연결된 네트워크 인터페이스를 찾습니다.**<group-id>**는 보안 그룹 ID로 바꾸고 **<region>**는 해당 AWS 리전으로 바꾸세요.

aws ec2 describe-network-interfaces --filters Name=group-id,Values=<group-id> --region <region> --output json

명령 출력을 검토합니다. 출력이 비어 있으면 보안 그룹과 연결된 리소스가 없는 것입니다.

명령 출력 예시:

{
    "NetworkInterfaces": []
}

You're not authorized to perform the DeleteSecurityGroup operation

DeleteSecurityGroup API를 사용하려면 적절한 AWS Identity and Access Management(IAM) 권한을 설정해야 합니다.

중요: 삭제하려는 보안 그룹이 인스턴스와 연결되어 있거나 다른 보안 그룹에서 참조되는 경우 DeleteSecurityGroup API가 실패합니다. 이 경우 DependencyViolation 오류가 발생하여 작업이 실패합니다.

보안 그룹을 삭제하려고 할 때 올바른 권한이 없는 경우 다음 오류가 발생합니다.

"Failed to delete security groups. An unknown error happened. You are not authorized to perform "DeleteSecurityGroup" operation"

DeleteSecurityGroup 작업 오류를 해결하려면 다음 단계를 따릅니다.

  1. AWS CloudTrail 콘솔을 엽니다.
  2. 탐색 창에서 이벤트 기록을 선택합니다.
  3. 속성 조회 드롭다운 목록에서 이벤트 이름을 선택합니다.
  4. 검색 상자에 DeleteSecurityGroup을 입력해 작업의 API 호출을 확인합니다.
  5. 이벤트 기록 목록의 이 오류 메시지는 오류가 IAM 권한과 관련이 있음을 나타냅니다.
    "You are not authorized to perform this operation."
  6. 작업을 삭제하는 사용자 또는 역할에 필요한 AWS IAM 정책에 DeleteSecurityGroup 작업이 추가되었는지 확인합니다.
    자세한 내용을 보려면 IAM ID 권한 추가 및 제거를 참조하세요.
  7. AWS Organizations에서 조직의 서비스 제어 정책(SCP)을 변경합니다. 그런 다음 IAM 사용자나 역할의 권한을 변경합니다.
    참고: 주 계정 소유자가 아니라면 주 계정 소유자에게 SCP를 변경해 달라고 요청합니다.

자세한 내용을 보려면 권한이 SCP에 주는 영향을 참조하세요.

사용자는 VPC 소유자가 생성한 보안 그룹을 삭제할 수 없습니다.

소유하지 않은 공유 Amazon VPC에 있는 보안 그룹을 삭제할 때 다음 오류가 발생합니다.

"You are not authorized to perform DeleteSecurityGroup operation. A subnet in this vpc is shared but the provided object is not owned by you."

DeleteSecurityGroup 작업 오류를 해결하려면 다음 단계를 따릅니다.

  1. AWS CloudTrail 콘솔을 엽니다.
  2. 탐색 창에서 이벤트 기록을 선택합니다.
  3. 속성 조회 드롭다운 목록에서 이벤트 이름을 선택합니다.
  4. 검색 상자에 DeleteSecurityGroup을 입력해 작업의 API 호출을 확인합니다.
  5. 계정에서 보안 그룹을 소유하고 있는지 확인하세요. 조직의 다른 계정이 보안 그룹을 소유하고 있으면 주 소유자에게 보안 그룹을 삭제해 달라고 요청하세요.

관련 정보

다른 AWS 계정과 공유된 VPC를 삭제하려면 어떻게 해야 하나요?

AWS 공식
AWS 공식업데이트됨 일 년 전