내용으로 건너뛰기

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) 인스턴스를 시작하고 기본 보안 그룹을 지정하지 않으면 AWS에서 자동으로 기본 보안 그룹을 연결합니다.

기본 보안 그룹을 삭제하려고 하면 다음 오류가 표시됩니다.

"error: Client.CannotDelete"

기본 보안 그룹은 삭제할 수 없습니다. 하지만 기본 보안 그룹의 규칙 수정은 가능합니다.

보안 그룹 규칙이 보안 그룹을 참조하지 않는지 확인

보안 그룹을 삭제하기 전에 다음 단계를 완료하여 보안 그룹 규칙을 삭제하십시오.

  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 피어링 연결의 다른 쪽 끝을 지정하려면 DescribeSecurityGroupReferences API를 사용하십시오.

AWS 리소스와 연결된 보안 그룹 연결 해제

삭제하려는 보안 그룹이 AWS 리소스와 연결되어 있는 경우 연결을 해제하십시오. Amazon EC2 인스턴스나 Amazon API Gateway VPC 링크와 같은 AWS 리소스와 연결된 보안 그룹은 삭제할 수 없습니다.

중요: 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 보안 그룹과 연결된 리소스를 찾는 방법은 무엇입니까?를 참조하십시오.

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

요청자 관리형 네트워크 인터페이스와 연결된 보안 그룹은 삭제할 수 없습니다.

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

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

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를 실행해 보안 그룹과 연결된 네트워크 인터페이스를 찾습니다.

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

참고: example-group-id를 보안 그룹의 ID로, example-region을 AWS 리전으로 바꾸십시오.

명령 출력을 검토합니다. 출력이 비어 있는 경우 보안 그룹은 AWS 리소스와 연결되지 않은 것입니다.

명령 출력 예시:

{
    "NetworkInterfaces": []
}

Amazon VPC Lattice 서비스 네트워크의 보안 그룹 문제 해결

Amazon VPC Lattice 서비스 네트워크 VPC 연결에 연결한 보안 그룹을 삭제하면 다음 오류가 표시됩니다.

"errorCode": "Client.DependencyViolation"

참고: 오류 이벤트의 이름을 식별할 수 없는 경우 CloudTrail 로그에서 DeleteSecurityGroup 이벤트가 있는지 확인하십시오.

이 문제를 해결하려면 다음 단계를 완료하십시오.

  1. Amazon VPC 콘솔을 엽니다.
  2. VPC 서비스로 이동합니다.
  3. 왼쪽 탐색 창에서 서비스 네트워크를 선택합니다.
  4. 목록에서 서비스 네트워크를 선택합니다.
  5. VPC 연결 탭을 선택하고, snva-123b567891t1112a와 비슷한 연결 ID를 가진 VPC 연결이 있는지 확인합니다.
  6. 보안 그룹에 연결된 VPC 연결 ID를 선택합니다.
  7. 보안 그룹 섹션에서 편집을 선택합니다. 그런 다음 보안 그룹을 삭제합니다.

DeleteSecurityGroup을 수행할 권한 설정

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 호출을 확인합니다.
    참고: Event history 목록에 있는 "You are not authorized to perform this operation" 오류 메시지는 이 오류가 IAM 권한과 관련된 것임을 나타냅니다.
  5. DeleteSecurityGroup 작업이 IAM 사용자 또는 역할의 정책에 추가되었는지 확인합니다.
    자세한 내용을 보려면 IAM ID 권한 추가 및 제거를 참조하세요.
  6. AWS Organizations에서 조직의 서비스 제어 정책(SCP)을 변경합니다. 그런 다음 IAM 사용자나 역할의 권한을 변경합니다.
    참고: 주 AWS 계정 소유자가 아니라면 주 계정 소유자에게 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를 삭제하려면 어떻게 해야 합니까?

VPC Lattice 서비스 네트워크 연결 관리