Amazon Aurora 리소스 암호화
Amazon Aurora는 온프레미스 클라이언트와 Amazon Aurora 간에 이동하든 Amazon Aurora와 다른 AWS 리소스 간에 이동하든 관계없이 저장 데이터와 전송 중 데이터를 모두 보호합니다. Amazon Aurora는 로그, 자동 백업 및 스냅샷을 포함하여 Amazon Aurora DB 클러스터의 모든 사용자 데이터를 암호화합니다.
데이터가 암호화된 이후 Amazon Aurora가 성능에 미치는 영향을 최소화한 상태에서 데이터 액세스 및 암호 해독의 인증을 투명하게 처리합니다. 암호화를 사용하도록 데이터베이스 클라이언트 애플리케이션을 수정하지 않아도 됩니다.
참고
암호화/비암호화 DB 클러스터의 경우에는 AWS 리전 간 복제에서도 원본과 읽기 전용 복제본 사이에 전송되는 데이터가 암호화됩니다.
주제
Amazon Aurora 리소스 암호화 개요
Amazon Aurora 암호화된 DB 클러스터는 기본 스토리지에 대한 무단 액세스로부터 데이터의 보안을 유지해 추가 계층의 데이터 보호를 제공합니다. Amazon Aurora에서 2026년 2월 18일 또는 이후에 생성된 모든 새 데이터베이스 클러스터는 업계 표준 AES-256 암호화를 사용하여 저장 시 암호화됩니다. 이 암호화는 백그라운드에서 자동으로 수행되므로 별도의 조치 없이 데이터를 보호할 수 있습니다. 또한 이를 사용하면 민감한 데이터 보호와 관련된 운영 부담 및 복잡성을 줄일 수 있습니다. 저장 데이터 암호화를 사용하면 규정 요구 사항을 충족하면서 실수로 인한 위협과 악의적인 위협 모두에서 규정 준수에 민감한 애플리케이션과 보안에 중요한 애플리케이션을 보호할 수 있습니다.
Amazon Aurora는 AWS Key Management Service 키를 사용하여 이러한 리소스를 암호화합니다. AWS KMS는 안전하고 가용성이 높은 하드웨어와 소프트웨어를 결합하여 클라우드에 맞게 규모가 조정된 키 관리 시스템을 제공합니다. 새 데이터베이스 클러스터를 생성할 때 Amazon Aurora는 기본적으로 AWS 소유 키와 함께 서버 측 암호화(SSE)를 사용합니다. 그러나 보안 및 규정 준수 요구 사항에 따라 세 가지 암호화 유형 중에서 선택할 수 있습니다.
-
AWS 소유 키(SSE-RDS) - 보거나 관리할 수 없는 완전히 AWS에서 제어하는 암호화 키로, Aurora에서 기본 암호화에 자동으로 사용합니다.
-
AWS 관리형 키(AMK) - 이 키는 AWS에서 생성 및 관리하며 계정에 표시되지만 사용자 지정할 수 없습니다. 월별 요금은 없지만 AWS KMS API 요금이 적용됩니다.
-
고객 관리형 키(CMK) - 사용자의 계정에 키가 저장되며 사용자가 생성, 소유, 관리하는 유형입니다. 키에 대해 사용자가 모든 것을 제어합니다(AWS KMS 비용 적용).
AWS 관리형 키는 이전 버전과의 호환성을 위해 계속 사용할 수 있는 레거시 암호화 옵션입니다. Amazon Aurora는 기본적으로 AWS 소유 키를 사용하여 데이터를 암호화하므로 추가 요금이나 관리 오버헤드 없이 강력한 보안 보호를 제공합니다. 대부분의 사용 사례에서는 단순성과 비용 효율성을 위해 기본 AWS 소유 키를 사용하거나 암호화 키를 완전히 제어해야 하는 경우 고객 관리형 키(CMK)를 사용하는 것이 좋습니다. 이러한 키 유형에 대한 자세한 내용은 고객 관리형 키 및 AWS 관리형 키를 참조하세요.
참고
중요: 2026년 2월 18일 이전에 생성되고 암호화를 옵트인하지 않은 소스 데이터베이스 인스턴스 또는 클러스터는 해당 소스에서 생성된 스냅샷, 복제본 및 Amazon Aurora 복제본(읽기 인스턴스)은 암호화되지 않은 상태로 유지됩니다. 그러나 Amazon Aurora 클러스터 외부에서의 복원 작업 및 논리적 복제는 암호화된 인스턴스를 생성합니다.
Amazon Aurora 암호화된 DB 클러스터의 경우 모든 DB 인스턴스, 로그, 백업 및 스냅샷이 암호화됩니다. 암호화의 가용성 및 제한에 대한 자세한 내용은 Amazon Aurora 암호화 가용성 및 Amazon Aurora 암호화된 DB 클러스터의 제한 섹션을 참조하세요.
암호화된 DB 클러스터를 생성할 때 고객 관리형 키 또는 Amazon Aurora용 AWS 관리형 키를 선택하여 DB 클러스터를 암호화할 수 있습니다. 고객 관리형 키의 키 식별자를 지정하지 않으면 Amazon Aurora는 새 DB 클러스터에 AWS 관리형 키를 사용합니다. Amazon Aurora는 AWS 계정에 대해 Amazon Aurora용 AWS 관리형 키을(를) 생성합니다. AWS 계정에 각 AWS 리전의 Amazon Aurora에 대한 다른 AWS 관리형 키이(가) 있습니다.
Amazon Aurora 리소스 암호화 및 복호화에 사용되는 고객 관리형 키를 관리하려면 AWS Key Management Service(AWS KMS)를 사용합니다.
AWS KMS를 사용하면 고객 관리형 키를 생성하고 이 키의 사용을 제어하는 정책을 정의할 수 있습니다. AWS KMS는 CloudTrail을 지원하므로 KMS 키 사용을 감사하여 고객 관리형 키가 적절하게 사용되고 있는지 확인할 수 있습니다. 고객 관리형 키는 Amazon Aurora를 비롯해 Amazon S3, Amazon EBS, Amazon Redshift 등 지원되는 AWS 서비스에서 사용할 수 있습니다. AWS KMS와 통합되는 서비스 목록은 AWS 서비스 통합
-
암호화된 DB 인스턴스를 생성하면 해당 DB 인스턴스에서 사용된 KMS 키를 변경할 수 없습니다. 암호화된 DB 인스턴스를 생성하기 전에 KMS 키 요구 사항을 결정해야 합니다. DB 클러스터의 암호화 키를 변경해야 하는 경우 다음 단계를 따르세요.
-
클러스터의 수동 스냅샷을 생성합니다.
-
복원 작업 중에 스냅샷을 복원하고 원하는 KMS 키로 암호화를 활성화합니다.
-
-
암호화되지 않은 스냅샷을 복원하고 암호화를 선택하지 않으면 생성된 데이터베이스 클러스터는 저장 시 기본 암호화(AWS 소유 키)를 사용하여 암호화됩니다.
-
스냅샷을 공유한 AWS 계정의 AWS 관리형 키을(를) 사용하여 암호화된 스냅샷은 공유할 수 없습니다.
-
DB 클러스터 내 각 DB 인스턴스는 동일한 KMS 키로 암호화된 동일한 스토리지를 공유합니다.
중요
Amazon Aurora는 KMS 키를 비활성화하면 DB 클러스터의 KMS 키에 대한 액세스 권한을 잃을 수 있습니다. 이 경우 암호화된 DB 클러스터는 inaccessible-encryption-credentials-recoverable 상태입니다. DB 클러스터는 7일 동안 이 상태로 유지되며, 이 기간 동안 인스턴스가 중지됩니다. 이 기간 동안 DB 클러스터에 대한 API 호출은 성공하지 못할 수 있습니다. DB 클러스터를 복구하려면 KMS 키를 활성화하고 이 DB 클러스터를 다시 시작하세요. AWS Management Console, AWS CLI 또는 RDS API에서 KMS 키를 활성화할 수 있습니다. AWS CLI 명령 start-db-cluster 또는 AWS Management Console을 사용하여 DB 클러스터를 다시 시작합니다.
inaccessible-encryption-credentials-recoverable 상태는 중지할 수 있는 DB 클러스터에만 적용됩니다. 리전 간 읽기 전용 복제본이 있는 클러스터와 같이 중지할 수 없는 인스턴스에는이 복구 가능 상태를 적용할 수 없습니다. 자세한 내용은 Aurora DB 클러스터 중지 및 시작에 대한 제한 사항 섹션을 참조하세요.
7일 이내에 DB 클러스터가 복구되지 않으면 터미널 inaccessible-encryption-credentials 상태가 됩니다. 이 상태에서는 DB 클러스터를 더 이상 사용할 수 없으며 백업에서 DB 클러스터를 복원할 수만 있습니다. 데이터베이스에서 데이터가 손실되지 않도록 보호하려면 항상 백업을 활성화하는 것이 좋습니다.
DB 클러스터를 생성하는 동안 Aurora는 호출 주체가 KMS 키에 대한 액세스 권한이 있는지 확인하고 DB 클러스터의 전체 수명 기간 동안 사용하는 KMS 키에서 부여를 생성합니다. MS 키에 대한 호출 주체의 액세스 권한을 취소해도 실행 중인 데이터베이스에는 영향을 미치지 않습니다. 스냅샷을 다른 계정으로 복사하는 등 계정 간 시나리오에서 KMS 키를 사용하는 경우, KMS 키를 다른 계정과 공유해야 합니다. 다른 KMS 키를 지정하지 않고 스냅샷에서 DB 클러스터를 만들면 새 클러스터는 소스 계정의 KMS 키를 사용합니다. DB 클러스터를 생성한 후 키에 대한 액세스 권한을 취소해도 클러스터에는 영향을 미치지 않습니다. 그러나 키를 비활성화하면 해당 키로 암호화된 모든 DB 클러스터에 영향을 미칩니다. 이를 방지하려면 스냅샷 복사 작업 중에 다른 키를 지정하세요.
KMS 키에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 AWS KMS keys 섹션 및 AWS KMS key 관리 섹션을 참조하세요.
Amazon Aurora DB 클러스터 암호화
2026년 2월 18일 이후에 생성된 모든 새 DB 클러스터는 기본적으로 AWS 소유 키로 암호화됩니다.
AWS 관리형 키 또는 고객 관리형 키를 사용하여 새 DB 클러스터를 암호화하려면 콘솔에서 옵션을 선택합니다. DB 클러스터 생성에 대한 자세한 내용은 Amazon Aurora DB 클러스터 생성 단원을 참조하십시오.
create-db-cluster AWS CLI 명령을 사용하여 암호화된 DB 클러스터를 생성할 경우 --storage-encrypted 파라미터를 설정합니다. CreateDBCluster API 작업을 사용할 경우 StorageEncrypted 파라미터를 true로 설정하십시오.
암호화된 DB 클러스터를 생성한 후에는 해당 DB 클러스터에서 사용된 KMS 키를 변경할 수 없습니다. 따라서 암호화된 DB 클러스터를 생성하기 전에 KMS 키 요구 사항을 결정해야 합니다.
AWS CLI create-db-cluster 명령을 사용하여 고객 관리형 키로 암호화된 DB 클러스터를 생성하는 경우 --kms-key-id 파라미터를 KMS 키의 키 식별자로 설정합니다. Amazon RDS API CreateDBInstance 작업을 사용하는 경우 KmsKeyId 파라미터를 KMS 키의 키 식별자로 설정합니다. 다른 AWS 계정에서 고객 관리형 키를 사용하려면 키 ARN 또는 별칭 ARN을 지정합니다.
DB 클러스터에 대해 암호화가 켜져 있는지 확인
AWS Management Console, AWS CLI 또는 RDS API를 사용하여 DB 클러스터에 대해 저장 데이터 암호화가 켜져 있는지 확인합니다.
DB 클러스터에 대해 저장 데이터 암호화가 켜져 있는지 확인하려면
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔을 엽니다. -
탐색 창에서 Databases(데이터베이스)를 선택합니다.
-
세부 정보를 보기 위해 확인하려는 DB 클러스터의 이름을 선택합니다.
-
구성(Configuration) 탭을 선택하고 암호화(Encryption) 값을 확인합니다.
AWS CLI를 통해 DB 클러스터에 대해 저장 데이터 암호화가 켜져 있는지 확인하려면 다음 옵션을 사용하여 describe-db-clusters 명령을 호출합니다.
-
--db-cluster-identifier– DB 클러스터의 이름입니다.
다음 예에서는 쿼리를 사용하여 mydb DB 클러스터의 저장 데이터 암호화에 대해 TRUE 또는 FALSE 중 하나를 반환합니다.
예
aws rds describe-db-clusters --db-cluster-identifiermydb--query "*[].{StorageEncrypted:StorageEncrypted}" --output text
Amazon RDS API를 통해 DB 클러스터에 대해 저장 데이터 암호화가 켜져 있는지 확인하려면 다음 파라미터를 사용하여 DescribeDBClusters를 호출합니다.
-
DBClusterIdentifier– DB 클러스터의 이름입니다.
Amazon Aurora 암호화 가용성
Amazon Aurora 암호화는 현재 모든 데이터베이스 엔진과 스토리지 유형에 사용할 수 있습니다.
참고
Amazon Aurora 암호화는 db.t2.micro DB 인스턴스 클래스에서는 사용 가능하지 않습니다.
전송 중 암호화
- 물리적 계층에서의 암호화
-
AWS 글로벌 네트워크를 통해 AWS 리전으로 이동하는 모든 데이터는 AWS 보안 시설에서 나가기 전에 물리적 계층에서 자동으로 암호화됩니다. AZ 간에 전송되는 모든 트래픽은 암호화됩니다. 이 섹션에 나열된 암호화 계층을 비롯한 추가 암호화 계층은 추가적인 보호 기능을 제공할 수 있습니다.
- Amazon VPC 피어링 및 전송 게이트웨이 교차 리전 피어링에서 제공하는 암호화
-
Amazon VPC 및 Transit Gateway 피어링을 사용하는 모든 리전 간 트래픽은 리전을 종료하면 자동으로 대량 암호화됩니다. AWS 보안 시설에서 나가기 전에 모든 트래픽에 대한 추가 암호화 계층이 물리적 계층에서 자동으로 제공됩니다.
- 인스턴스 간 암호화
-
AWS는 모든 유형의 DB 인스턴스 간 보안 프라이빗 연결을 제공합니다. 또한 일부 인스턴스 유형은 기본 Nitro 시스템 하드웨어의 오프로드 기능을 사용하여 인스턴스 간 전송 중 트래픽을 자동으로 암호화합니다. 이 암호화는 256비트 암호화와 함께 관련 데이터로 인증된 암호화(AEAD) 알고리즘을 사용합니다. 네트워크 성능에는 영향을 미치지 않습니다. 인스턴스 간에 이러한 전송 중 트래픽 암호화를 추가로 지원하려면 다음 요구 사항을 충족해야 합니다.
-
이러한 인스턴스는 다음 인스턴스 유형을 사용합니다.
-
범용: M6i, M6id, M6in, M6idn, M7g
-
메모리 최적화: R6i, R6id, R6in, R6idn, R7g, X2idn, X2iedn, X2iezn
-
-
인스턴스가 동일한 AWS 리전에 있습니다.
-
인스턴스가 동일한 VPC 또는 피어링된 VPC에 있으며, 트래픽이 로드 밸런서나 전송 게이트웨이 같은 가상 네트워크 디바이스 또는 서비스를 통과하지 않습니다.
-
Amazon Aurora 암호화된 DB 클러스터의 제한
Amazon Aurora 암호화된 DB 클러스터에는 다음과 같은 제한이 있습니다.
-
암호화된 DB 클러스터의 암호화를 비활성화할 수 없습니다.
-
암호화되지 않은 기존 클러스터가 있는 경우 해당 클러스터에서 생성된 모든 스냅샷도 암호화되지 않습니다. 암호화되지 않은 클러스터에서 암호화된 스냅샷을 생성하려면 복사 작업 중에 스냅샷을 복사하고 고객 관리형 키를 지정해야 합니다. 고객 관리형 키를 지정하지 않으면 암호화되지 않은 스냅샷에서 암호화된 스냅샷을 생성할 수 없습니다.
-
암호화되지 않은 DB 의 암호화된 스냅샷은 생성할 수 없습니다.
-
암호화된 DB 클러스터의 스냅샷은 DB 클러스터와 동일한 KMS 키를 사용하여 암호화해야 합니다.
-
암호화되지 않은 DB 클러스터를 암호화된 DB 클러스터로 변환할 수 없습니다. 하지만 암호화되지 않은 스냅샷을 암호화된 Aurora DB 클러스터로 복원할 수 있습니다. 암호화되지 않은 스냅샷에서 복원할 때 KMS 키를 지정하면 가능합니다.
-
암호화되지 않은 기존 클러스터가 있는 경우 해당 클러스터에서 생성된 모든 Amazon Aurora 복제본(읽기 인스턴스)도 암호화되지 않습니다. 암호화되지 않은 클러스터에서 암호화된 클러스터를 생성하려면 데이터베이스 클러스터를 복원해야 합니다. 복원된 클러스터는 복원 작업 후 기본적으로 암호화됩니다.
-
암호화된 스냅샷을 한 AWS 리전에서 다른 리전으로 복사하려면 대상 AWS 리전에 KMS 키를 지정해야 합니다. 이는 KMS 키가 생성된 AWS 리전에만 해당하기 때문입니다.
소스 스냅샷은 복사 프로세스 전체에서 암호화를 유지합니다. Amazon Aurora는 봉투 암호화를 사용하여 복사 프로세스 중에 데이터를 보호합니다. 봉투 암호화에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서에서 봉투 암호화를 참조하세요.
-
암호화된 DB 클러스터의 암호화를 해제할 수 없습니다. 하지만 암호화된 DB 클러스터에서 데이터를 내보내고 암호화되지 않은 DB 클러스터로 해당 데이터를 가져올 수 있습니다.