설명
Redshift 저장 데이터 암호화는 데이터베이스와 관련 스냅샷을 보호합니다. 현재 새 프로비저닝 클러스터의 CreateCluster API는 기본적으로 암호화를 사용하며 명시적인 Encrypted: false를 거부합니다. 이 기본값 변경을 기존 클러스터나 스냅샷 복원에 그대로 적용해서는 안 됩니다. 실제 리소스의 암호화 상태를 확인하세요.
기존 비암호화 클러스터에는 지원되는 KMS 암호화 전환을 적용할 수 있습니다. AWS가 암호화된 새 클러스터로 데이터를 이전하는 과정을 관리하므로, 키 권한과 서비스 영향을 고려해 변경을 계획해야 합니다.
잠재적 영향
- 기존 비암호화 클러스터와 스냅샷은 조직의 저장 데이터 암호화 요구 사항을 충족하지 못할 수 있습니다.
- 지원되지 않는 옵션이나 도구로 변경하면 배포가 실패하거나 실제 암호화 상태가 그대로 남을 수 있습니다.
해결 방법
- 실제 클러스터와 관련 스냅샷의 암호화, KMS 키와 사용 권한을 확인하세요. 새 클러스터에는 현재 API의 암호화 요구 사항을 적용하세요.
- 기존 클러스터는 암호화 변경을 지원하는 도구나
ModifyClusterAPI로 전환하세요.community.aws1.5.0의 수정 작업은encrypted를 전달하지 않으므로 옵션만 추가해서는 암호화되지 않습니다. - 스냅샷 처리와 서비스 영향을 검토한 뒤 변경하고, 완료 후 실제 암호화와 데이터 접근을 검증하세요. 네트워크·DB 권한과 TLS도 별도로 유지하세요.
예시
비밀번호는 안전하게 관리하는 변수로 제공하고, redshift_node_type에는 설치한 community.aws 모듈과 해당 리전에서 지원하며 단일 노드 구성에 사용할 수 있는 유형을 지정하세요. 네트워크·인증 설정은 실제 환경에 맞게 구성해야 합니다.
현재 API가 거부하는 암호화 비활성화
yaml
- name: Basic cluster provisioning example
community.aws.redshift:
identifier: tf-redshift-cluster
command: create
db_name: mydb
username: foo
password: "{{ redshift_admin_password }}"
node_type: "{{ redshift_node_type }}"
cluster_type: single-node
encrypted: false
명시적인 encrypted: false는 현재 생성 API에서 거부됩니다. 이 예시는 비암호화 클러스터를 만드는 배포 절차가 아닙니다.
새 클러스터 암호화 요청
yaml
- name: Basic cluster provisioning example
community.aws.redshift:
identifier: tf-redshift-cluster
command: create
db_name: mydb
username: foo
password: "{{ redshift_admin_password }}"
node_type: "{{ redshift_node_type }}"
cluster_type: single-node
encrypted: true
새 클러스터 생성 시 암호화를 명시적으로 요청합니다. 기존 클러스터의 암호화 전환에는 앞서 설명한 지원되는 변경 절차가 필요합니다.