보안 그룹 VPC 선택 점검

보안 그룹을 의도한 VPC에 생성하세요.

설명

AWS::EC2::SecurityGroup에서 VpcId를 생략하면 해당 리전의 기본 VPC를 사용합니다. 기본 VPC도 없으면 생성에 실패하므로, 생략이 VPC 없는 보안 그룹을 뜻하지는 않습니다.

잠재적 영향

환경마다 기본 VPC가 다르거나 없으면 예상하지 않은 네트워크에 생성되거나 배포가 실패할 수 있습니다.

해결 방법

의도한 VPC를 VpcId로 명시하고 연결할 리소스와 호환되는지 확인하세요. 기존 그룹의 VPC 변경은 리소스를 교체하므로 연결에 미치는 영향도 검토하세요.

예시

기본 VPC에 의존하는 구성에 명시적인 VPC 참조를 추가합니다. AdminCidr에는 승인된 관리 주소 범위를, myVPC에는 실제 VPC 참조를 지정하세요.

변경 전

yaml
Resources:
  InstanceSecurityGroup:
    Type: 'AWS::EC2::SecurityGroup'
    Properties:
      GroupName: My Group Name
      # 22번 포트로 SSH 접근 허용
      GroupDescription: Enable SSH access via port 22
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: '22'
          ToPort: '22'
          CidrIp: !Ref AdminCidr

변경 후

yaml
Resources:
  InstanceSecurityGroup:
    Type: 'AWS::EC2::SecurityGroup'
    Properties:
      GroupName: My Group Name
      # 22번 포트로 SSH 접근 허용
      GroupDescription: Enable SSH access via port 22
      VpcId:
        Ref: myVPC
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: '22'
          ToPort: '22'
          CidrIp: !Ref AdminCidr

참조