메뉴
Amazon Relational Database Service
사용 설명서 (API Version 2014-10-31)

Amazon RDS 리소스 암호화

Amazon RDS DB 인스턴스에 대해 암호화 옵션을 활성화하여 휴면 상태의 Amazon RDS 인스턴스와 스냅샷을 암호화할 수 있습니다. 휴면 상태에서 암호화된 데이터에는 DB 인스턴스에 대한 기본 스토리지, 자동 백업, 읽기 전용 복제본, 스냅샷이 포함됩니다.

Amazon RDS 암호화된 인스턴스는 Amazon RDS 인스턴스를 호스팅하는 서버의 데이터를 업계 표준 AES-256 암호화 알고리즘을 사용하여 암호화합니다. 데이터가 암호화되면 Amazon RDS가 성능에 미치는 영향을 최소화한 상태에서 데이터 액세스 및 암호 해독의 인증을 투명하게 처리합니다. 암호화를 사용하도록 데이터베이스 클라이언트 애플리케이션을 수정하지 않아도 됩니다.

Amazon RDS 암호화된 인스턴스는 기본 스토리지에 대한 무단 액세스로부터 데이터의 보안을 유지해 추가 계층의 데이터 보호를 제공합니다. 클라우드에 배포된 애플리케이션의 데이터 보호를 강화하고 휴면 상태의 데이터 암호화를 위한 규정 준수 요구 사항을 만족하기 위해 Amazon RDS 암호화를 사용할 수 있습니다.

또한 Amazon RDS에서는 TDE(Transparent Data Encryption)를 사용하여 Oracle 또는 SQL Server DB 인스턴스 암호화를 지원합니다. TDE를 저장 데이터 암호화와 함께 사용하면 데이터베이스의 성능에 약간의 영향을 미칠 수 있지만, TDE를 저장 데이터 암호화와 함께 사용할 수 있습니다. 암호화 방법별로 다른 키를 관리해야 합니다. TDE에 대한 자세한 내용은 Oracle Transparent Data Encryption, AWS CloudHSM Classic을 사용하여 Amazon RDS Oracle TDE 키 저장 또는 Microsoft SQL Server Transparent Data Encryption(TDE) 지원 단원을 참조하십시오.

Amazon RDS 리소스의 암호화 및 암호 해독에 사용되는 키를 관리하려면 AWS Key Management Service(AWS KMS)를 사용합니다. AWS KMS는 클라우드에 맞게 확장된 키 관리 시스템을 제공하기 위해 안전하고 가용성이 높은 하드웨어 및 소프트웨어를 결합합니다. AWS KMS를 사용하면 암호화 키를 생성하고 이 키를 사용할 수 있는 방법을 제어하는 정책을 정의할 수 있습니다. AWS KMS는 CloudTrail를 지원하므로 키가 적절하게 사용되고 있는지 확인하기 위해 키 사용을 감사할 수 있습니다. AWS KMS 키는 Amazon RDS 및 지원되는 AWS 서비스(예: Amazon Simple Storage Service(Amazon S3), Amazon Elastic Block Store(Amazon EBS), Amazon Redshift)와 함께 사용할 수 있습니다. AWS KMS를 지원하는 서비스 목록을 보려면 AWS Key Management Service 개발자 안내서지원되는 서비스로 이동하십시오.

Amazon RDS 암호화된 인스턴스에 대해 모든 로그, 백업, 스냅샷이 암호화됩니다. 동일한 리전에 있는 경우, Amazon RDS 암호화된 인스턴스의 읽기 전용 복제본 또한 마스터 인스턴스와 동일한 키를 사용하여 암호화됩니다. 마스터와 읽기 전용 복제본이 서로 다른 리전에 있을 경우 해당 리전의 암호화 키를 사용하여 암호화하십시오.

DB 인스턴스에 대해 Amazon RDS 암호화 활성화

새로운 DB 인스턴스에 대해 암호화를 활성화하려면 Amazon RDS 콘솔의 [Enable encryption]에서 [Yes]를 선택합니다. DB 인스턴스 생성에 대한 자세한 내용은 다음 항목 중 하나를 참조하십시오.

rds-create-db-instance AWS CLI 명령을 사용하여 암호화된 RDS DB 인스턴스를 생성할 경우 --storage-encrypted 파라미터를 true로 설정하십시오. CreateDBInstance API 작업을 사용할 경우 StorageEncrypted 파라미터를 true로 설정하십시오.

암호화된 DB 인스턴스를 생성할 때 암호화 키에 대한 AWS KMS 키 식별자를 제공할 수도 있습니다. AWS KMS 키 식별자를 지정하지 않으면 Amazon RDS가 새 DB 인스턴스에 대해 기본 암호화 키를 사용합니다. AWS KMS는 AWS 계정의 Amazon RDS에 대한 기본 암호화 키를 생성합니다. AWS 계정에는 AWS 리전마다 다른 기본 암호화 키가 있습니다.

암호화된 DB 인스턴스를 생성한 후에는 해당 인스턴스에 대한 암호화 키를 변경할 수 없습니다. 따라서 암호화된 DB 인스턴스를 생성하기 전에 암호화 키 요구 사항을 확인하십시오.

create-db-instance AWS CLI 명령을 사용하여 암호화된 RDS DB 인스턴스를 생성할 경우 DB 인스턴스의 AWS KMS 암호화 키에 대한 Amazon 리소스 이름(ARN)으로 --kms-key-id 파라미터를 설정하십시오. Amazon RDS API CreateDBInstance 작업을 사용할 경우 DB 인스턴스의 AWS KMS 키에 대한 ARN으로 KmsKeyId 파라미터를 설정하십시오.

다른 계정에 있는 키의 ARN을 사용하여 RDS DB 인스턴스를 암호화할 수 있습니다. 혹은 새 DB 인스턴스를 암호화하는 데 사용된 AWS KMS 암호화 키를 소유한 동일한 AWS 계정으로 DB 인스턴스를 생성할 수도 있습니다. 이 경우에는 전달하는 AWS KMS 키 ID가 키의 ARN이 아닌 AWS KMS 키 별칭일 수도 있습니다.

중요

Amazon RDS에서 더 이상 DB 인스턴스에 대한 암호화 키에 액세스할 수 없는 경우(예: 키에 대한 RDS 액세스 권한이 취소된 경우) 암호화된 DB 인스턴스가 터미널 상태로 전환됩니다. 이러한 경우에는 백업 파일에서만 DB 인스턴스를 복원할 수 있습니다. 데이터베이스에서 암호화된 데이터가 손실되지 않도록 보호하려면 암호화된 DB 인스턴스에 대해 항상 백업을 활성화하는 것이 좋습니다.

Amazon RDS 암호화된 인스턴스의 가용성

Amazon RDS 암호화된 인스턴스는 현재 모든 데이터베이스 엔진과 스토리지 형식에 사용할 수 있습니다. 중국(베이징) 리전에서는 현재 Amazon RDS 암호화를 사용할 수 없습니다.

Amazon RDS 암호화는 다음 DB 인스턴스 클래스에서 사용할 수 있습니다.

인스턴스 유형 인스턴스 클래스

범용(M4) - 현재 세대

db.m4.large

db.m4.xlarge

db.m4.2xlarge

db.m4.4xlarge

db.m4.10xlarge

db.m4.16xlarge

메모리 최적화(R3) - 현재 세대

db.r3.large

db.r3.xlarge

db.r3.2xlarge

db.r3.4xlarge

db.r3.8xlarge

메모리 최적화(R4) - 다음 세대

db.r4.large

db.r4.xlarge

db.r4.2xlarge

db.r4.4xlarge

db.r4.8xlarge

db.r4.16xlarge

확장 가능(T2) - 현재 세대

db.t2.small

db.t2.medium

db.t2.large

db.t2.xlarge

db.t2.2xlarge

범용(M3) - 이전 세대

db.m3.medium

db.m3.large

db.m3.xlarge

db.m3.2xlarge

참고

SQL Servere Express Edition을 실행하는 DB 인스턴스에는 비활성화되어 있는 암호화를 사용할 수 없습니다.

Amazon RDS 암호화 키 관리

IAM 콘솔에서 AWS Key Management Service(AWS KMS)를 사용하여 Amazon RDS 암호화된 인스턴스에 사용되는 키를 관리할 수 있습니다. 키를 완벽하게 제어하기 위해서는 고객 관리 키를 생성해야 합니다. AWS KMS가 프로비저닝하는 기본 키는 삭제, 취소 또는 교체가 불가능합니다.

AWS CloudTrail을 사용하여 고객 관리 키로 수행한 모든 작업의 감사 로그를 볼 수 있습니다.

중요

암호화된 DB 인스턴스에 대해 키를 비활성화할 경우 해당 DB 인스턴스에서 읽거나 쓸 수 없습니다. Amazon RDS에서 Amazon RDS가 액세스할 수 없는 키로 암호화된 DB 인스턴스가 발견될 경우, DB 인스턴스가 터미널 상태로 전환됩니다. 이러한 상태에서는 DB 인스턴스를 더 이상 사용하지 못하기 때문에 데이터베이스의 현재 상태를 복구할 수 없습니다. DB 인스턴스를 복원하려면 Amazon RDS의 암호화 키에 대한 액세스 권한을 다시 활성화한 후 백업에서 DB 인스턴스를 복원해야 합니다.

Amazon RDS 암호화된 인스턴스의 제한

Amazon RDS 암호화된 인스턴스에는 다음과 같은 제한이 있습니다.

  • Amazon RDS DB 인스턴스에 대한 암호화는 암호화를 생성할 때에만 활성화할 수 있으며 DB 인스턴스가 생성된 후에는 불가능합니다.

    다만 암호화되지 않은 DB 스냅샷의 사본을 암호화할 수 있기 때문에 암호화되지 않은 DB 인스턴스에 실질적으로 암호화를 추가할 수 있습니다. 즉, DB 인스턴스의 스냅샷을 만든 다음 해당 스냅샷의 암호화된 사본을 만들 수 있습니다. 그런 다음 암호화된 스냅샷에서 DB 인스턴스를 복구할 수 있고, 원본 DB 인스턴스의 암호화된 사본이 생깁니다. 자세한 내용은 DB 스냅샷 또는 DB 클러스터 스냅샷 복사 단원을 참조하십시오. Aurora DB 클러스터의 암호화 복사본을 생성할 때는 Amazon Aurora DB 클러스터 스냅샷까지 암호화할 필요 없습니다. 암호화되지 않은 DB 클러스터 스냅샷에서 복원할 때 KMS 암호화 키를 지정하면 복원된 DB 클러스터가 지정한 KMS 암호화 키를 사용해 암호화됩니다.

  • 암호화되지 않은 DB 인스턴스는 암호화를 비활성화하도록 수정할 수 없습니다.

  • 암호화되지 않은 DB 인스턴스의 암호화된 읽기 전용 복제본이나 암호화된 DB 인스턴스의 암호화되지 않은 읽기 전용 복제본은 보유할 수 없습니다.

  • 암호화된 읽기 전용 복제본은 소스 DB 인스턴스와 동일한 키를 사용해 암호화해야 합니다.

  • 암호화된 백업 또는 스냅샷을 암호화된 DB 인스턴스로 복원할 수 없습니다. 하지만 암호화되지 않은 DB 클러스터 스냅샷에서 복원할 때 KMS 암호화 키를 지정하면 암호화되지 않은 Aurora DB 클러스터 스냅샷도 암호화된 Aurora DB 클러스터로 복원할 수 있습니다.

  • 암호화된 MySQL DB 스냅샷은 Aurora MySQL DB 클러스터로 복원할 수 없습니다.

  • 암호화된 스냅샷을 한 리전에서 다른 리전으로 복사하려면 대상 리전의 KMS 키 식별자를 지정해야 합니다. 왜냐하면 KMS 암호화 키는 이 키를 생성한 리전에 고유한 것이기 때문입니다.

소스 스냅샷은 복사 프로세스 전체에서 암호화를 유지합니다. AWS Key Management Service(KMS)는 봉투 암호화를 이용해 복사 프로세스가 진행되는 동안 데이터를 보호합니다. 봉투 암호화에 대한 자세한 정보는 봉투 암호화를 참조하십시오.