Redshift 저장 암호화 점검

Redshift의 실제 저장 암호화와 기존 클러스터의 전환 요구사항을 확인하세요.

설명

Redshift는 분석용 데이터를 장기간 저장하는 경우가 많으므로 데이터 웨어하우스와 스냅샷의 암호화가 중요합니다. 실제로 비암호화인 기존 클러스터는 저장 데이터 보호 기준을 충족하지 못할 수 있습니다.

현재 Redshift 클러스터 생성 API는 기본적으로 암호화를 사용하며 Encrypted: false를 허용하지 않습니다. 따라서 암호화 설정 생략을 새 클러스터의 평문 저장으로 해석해서는 안 됩니다. 이전에 생성한 클러스터와 스냅샷은 실제 상태를 확인하세요.

잠재적 영향

권한 없는 주체가 비암호화 저장 데이터나 스냅샷을 확보하면 운영 데이터와 민감정보가 노출될 수 있습니다. KMS 키를 사용할 수 없게 되면 데이터 접근이나 복구에 장애가 생길 수도 있습니다.

해결 방법

  • encrypted = true를 명시하고 실제 클러스터와 스냅샷의 상태, 조직이 요구하는 KMS 키를 확인하세요.
  • 기존 비암호화 클러스터는 지원되는 암호화 전환 절차와 Terraform 계획을 검토하세요. 전환 중 쓰기 제한이나 중단이 발생할 수 있으므로 애플리케이션과 처리 작업을 준비하세요.
  • 필요한 키 권한과 백업을 보존하고 전환 후 데이터 일관성, 연결과 복구를 검증하세요.

예시

노드 유형은 리전과 단일 노드 구성을 지원하는 값으로 지정하세요. 비밀번호를 안전하게 공급하고 Terraform 상태 접근을 제한하세요. 네트워크와 백업 정책은 별도로 구성해야 합니다.

암호화 비활성화 요청

hcl
resource "aws_redshift_cluster" "analytics" {
  cluster_identifier = "tf-redshift-cluster"
  database_name      = "mydb"
  master_username    = "foo"
  master_password    = var.redshift_password
  node_type          = var.redshift_node_type
  cluster_type       = "single-node"
  encrypted          = false
}

비암호화를 요청하는 설정이지만 현재 클러스터 생성 API에서는 거부됩니다. 새 비암호화 클러스터를 만드는 유효한 절차가 아닙니다.

암호화 활성화 요청

hcl
resource "aws_redshift_cluster" "analytics" {
  cluster_identifier = "tf-redshift-cluster"
  database_name      = "mydb"
  master_username    = "foo"
  master_password    = var.redshift_password
  node_type          = var.redshift_node_type
  cluster_type       = "single-node"
  encrypted          = true
}

저장 암호화를 명시합니다. 기존 클러스터에 적용할 때는 지원되는 전환 방법과 운영 영향을 먼저 확인하세요.

참조