공개 접근 설정이 활성화되거나 누락된 AWS DMS 복제 인스턴스

AWS DMS 복제 인스턴스의 공인 IP 설정을 확인하고, 변경에 필요한 리소스 교체와 연결 경로를 함께 계획합니다.

설명

CloudFormation의 AWS::DMS::ReplicationInstance에서 PubliclyAccessible이 true이면 복제 인스턴스에 공인 IP 주소가 할당됩니다. 속성을 생략해도 기본값은 true입니다. 공인 IP가 필요하지 않다면 false를 명시해 사설 IP를 사용하는 구성을 선택하세요.

공인 IP의 필요 여부는 소스 및 대상 시스템에 연결하는 방식에 따라 달라집니다. 실제 외부 접근은 서브넷, 라우팅, 보안 그룹과 네트워크 ACL 등의 설정에 좌우되며, 공인 IP가 있다는 사실만으로 데이터나 자격 증명이 공개되는 것은 아닙니다.

잠재적 영향

  • 공인 IP와 네트워크 규칙이 불필요한 외부 연결을 함께 허용한다면, 복제 인스턴스에서 접근 가능한 서비스의 노출 범위가 넓어질 수 있습니다.
  • 임시 마이그레이션용 인스턴스와 외부 연결을 허용하는 규칙을 작업 후에도 남겨두면 불필요한 접근 경로가 유지될 수 있습니다.

해결 방법

  • 소스 및 대상 엔드포인트에 필요한 연결 방식을 확인하고, 공인 IP가 필요하지 않다면 PubliclyAccessible을 명시적으로 false로 설정하세요. 필요한 서브넷, 경로 및 보안 그룹도 함께 구성하세요.
  • CloudFormation에서 이 속성을 변경하면 복제 인스턴스 교체가 필요합니다. 적용 전에 교체 과정, 복제 작업의 연속성 및 엔드포인트 연결을 계획하고 검증하세요.
  • 보안 그룹과 네트워크 ACL은 실제로 필요한 통신만 허용하도록 제한하고, 작업 종료 후 인스턴스와 관련 네트워크 규칙을 정리하세요. false 설정만으로 모든 통신이 사설 경로를 사용한다고 단정하지 마세요.

예시

다음 예제는 공인 IP 설정을 비교합니다. EngineVersion: "3.4.3"은 이전 릴리스의 값이므로 실제 배포에는 지원되는 버전을 확인하세요. 두 예제 모두 서브넷과 보안 그룹 구성이 생략되어 있어 완성된 배포 지침은 아닙니다.

공인 IP 사용

yaml
Resources:
  ReplicationInstance:
    Type: "AWS::DMS::ReplicationInstance"
    Properties:
      ReplicationInstanceIdentifier: my-replication-instance
      ReplicationInstanceClass: dms.r5.large
      AllocatedStorage: 100
      EngineVersion: "3.4.3"
      PubliclyAccessible: true

공인 IP 사용 안 함

yaml
Resources:
  ReplicationInstance:
    Type: "AWS::DMS::ReplicationInstance"
    Properties:
      ReplicationInstanceIdentifier: my-replication-instance
      ReplicationInstanceClass: dms.r5.large
      AllocatedStorage: 100
      EngineVersion: "3.4.3"
      PubliclyAccessible: false

설명:

  • 첫 번째 예시: PubliclyAccessible: true는 공인 IP 사용을 지정합니다. 외부에서 실제로 접근 가능한지는 네트워크 경로와 허용 규칙에 따라 달라집니다.
  • 두 번째 예시: PubliclyAccessible: false는 공인 IP를 사용하지 않도록 설정합니다. 필요한 소스 및 대상 연결과 보안 그룹을 별도로 구성하고 검증하세요.

참조