Redshift VPC와 서브넷 그룹 점검

Redshift의 실제 VPC와 서브넷 그룹을 확인하고 보안 그룹으로 필요한 데이터베이스 연결만 허용하세요.

설명

Redshift 클러스터는 승인된 네트워크에 배치하고 필요한 클라이언트만 연결하도록 관리해야 합니다. 서브넷 그룹이나 VPC 보안 그룹을 명시하지 않았다는 사실만으로 실제 VPC 배치나 공개 여부를 판단할 수는 없습니다. 보안 그룹을 생략하면 VPC의 기본 그룹이 사용될 수 있습니다.

VPC에 배치해도 공개 접근 설정과 보안 그룹이 허용하면 외부에서 접근할 수 있으므로 실제 설정을 함께 확인해야 합니다.

잠재적 영향

의도하지 않은 경로나 과도한 허용 규칙은 데이터베이스의 노출 범위를 넓힐 수 있습니다. 서브넷과 보안 그룹의 VPC가 맞지 않으면 배포나 연결이 실패할 수 있습니다.

해결 방법

승인된 서브넷으로 클러스터 서브넷 그룹을 구성하고 같은 VPC의 보안 그룹을 연결하세요. PubliclyAccessible, 라우팅, 인바운드 허용 범위와 데이터베이스 인증을 검토하고 필요한 연결만 허용하세요.

예시

네트워크 선택만 보여 주는 발췌입니다. 노드 유형, 클러스터 유형과 자격 증명 등 필수 생성 설정은 생략되어 있습니다. 서브넷과 보안 그룹 참조는 같은 VPC의 실제 리소스로 제공해야 합니다.

변경 전

yaml
Resources:
  RedshiftCluster:
    Type: AWS::Redshift::Cluster
    Properties:
      ClusterIdentifier: tf-redshift-cluster
      DBName: mydb

네트워크 선택이 명시되어 있지 않습니다. 이것만으로 실제 클러스터가 VPC 밖에 있거나 공개되었다고 판단할 수는 없습니다.

변경 후

yaml
Resources:
  RedshiftSubnetGroup:
    Type: AWS::Redshift::ClusterSubnetGroup
    Properties:
      Description: Subnet group for Redshift
      SubnetIds:
        - !Ref Subnet1
        - !Ref Subnet2

  RedshiftCluster:
    Type: AWS::Redshift::Cluster
    Properties:
      ClusterIdentifier: tf-redshift-cluster
      DBName: mydb
      ClusterSubnetGroupName: !Ref RedshiftSubnetGroup
      VpcSecurityGroupIds:
        - !Ref RedshiftSecurityGroup

서브넷 그룹과 VPC 보안 그룹을 명시합니다. 그룹 연결 자체가 규칙을 좁히거나 공개 접근을 비활성화하지는 않습니다.

참조