설명
EC2 인스턴스가 기본 보안 그룹을 공유하면 한 번의 규칙 변경이 여러 리소스에 영향을 줄 수 있습니다. 인스턴스의 역할에 맞는 전용 보안 그룹을 사용하면 허용 포트와 접근 대상을 관리하기 쉽습니다.
기본 보안 그룹이라는 이유만으로 인터넷 인바운드가 허용되는 것은 아닙니다. 초기 규칙은 같은 보안 그룹을 사용하는 리소스의 인바운드와 전체 아웃바운드를 허용하며, 운영 중 변경될 수 있으므로 실제 규칙을 확인해야 합니다.
잠재적 영향
- 공유된 규칙이 필요 이상의 통신을 허용하거나 변경 시 여러 서비스에 영향을 줄 수 있습니다.
- 리소스별 접근 목적과 담당자를 구분하기 어려워져 불필요한 허용이 남을 수 있습니다.
해결 방법
- 인스턴스 용도별 전용 보안 그룹을 연결하고 필요한 포트와 접근 대상만 허용하세요.
- 여러 보안 그룹을 연결했다면 전체 허용 규칙을 함께 검토하세요.
- 기본 그룹의 규칙을 제거하기 전에 연결된 리소스와 필요한 통신을 확인하고, 전환 후 연결을 테스트하세요.
예시
아래는 보안 그룹 선택을 보여 주는 발췌입니다. AMI와 참조는 환경에 맞게 제공해야 합니다. SecurityGroups에 이름을 지정하는 방식은 기본 VPC용이며, 다른 VPC에서는 SecurityGroupIds에 그룹 ID를 사용하세요.
변경 전
yaml
Resources:
MyEC2Instance:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-79fd7eee
SecurityGroups:
- !Ref default
default가 기본 보안 그룹 이름으로 해석되도록 별도로 정의된 경우의 예입니다.
변경 후
yaml
Resources:
MyEC2Instance:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-79fd7eee
SecurityGroups:
- !Ref AppServerSecurityGroup
전용 그룹을 선택합니다. 그룹 이름을 바꾸는 것만으로 접근이 제한되지는 않으므로 해당 그룹의 실제 규칙을 확인하세요.