Amazon Aurora 리소스 암호화 - Amazon Aurora

Amazon Aurora 리소스 암호화

Amazon AuroraAmazon Aurora DB 클러스터를 암호화할 수 있습니다. 유휴 시 암호화되는 데이터로는 DB 클러스터에 대한 기본 스토리지, 자동 백업 파일, 읽기 전용 복제본 및 스냅샷이 포함됩니다.

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

참고

암호화/비암호화 DB 클러스터의 경우에는 AWS 리전 간 복제에서도 원본과 읽기 전용 복제본 사이에 전송되는 데이터가 암호화됩니다.

Amazon Aurora 리소스 암호화 개요

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

Amazon Aurora 암호화된 DB 클러스터의 경우 모든 DB 인스턴스, 로그, 백업 및 스냅샷이 암호화됩니다. Amazon Aurora 암호화된 클러스터의 읽기 전용 복제본을 암호화할 수도 있습니다. Amazon Aurora는 AWS KMS key을(를) 사용하여 이러한 리소스를 암호화합니다. KMS 키에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 AWS KMS keys 섹션 및 AWS KMS key 관리 섹션을 참조하세요. DB 클러스터의 각 DB 인스턴스는 DB 클러스터와 동일한 KMS 키를 사용하여 암호화됩니다. 암호화된 스냅샷을 복사하는 경우 소스 스냅샷을 암호화하는 데 사용된 것과 다른 KMS 키를 사용하여 대상 스냅샷을 암호화할 수 있습니다.

AWS 관리형 키을(를) 사용하거나 고객 관리형 키를 생성할 수 있습니다. Amazon Aurora 리소스의 암호화 및 복호화에 사용되는 고객 관리형 키를 관리하려면 AWS Key Management Service(AWS KMS)을(를) 사용합니다. AWS KMS은(는) 클라우드에 맞게 크기 조정된 키 관리 시스템을 제공하기 위해 안전하고 가용성이 높은 하드웨어 및 소프트웨어를 결합합니다. AWS KMS을(를) 사용하면 고객 관리형 키를 생성하고 이 키를 사용할 수 있는 방법을 제어하는 정책을 정의할 수 있습니다. AWS KMS은(는) CloudTrail을 지원하므로 고객 관리형 키가 적절하게 사용되고 있는지 확인하기 위해 KMS 키 사용을 감사할 수 있습니다. 고객 관리형 키는 Amazon Aurora를 비롯해 Amazon S3, Amazon EBS, Amazon Redshift 등 지원되는 AWS 서비스에서 사용할 수 있습니다. AWS KMS와 통합되는 서비스 목록은 AWS 서비스 통합을 참조하세요.

Amazon Aurora DB 클러스터 암호화

새로운 DB 클러스터를 암호화하려면 콘솔에서 암호화 활성화(Enable encryption)를 선택합니다. DB 클러스터 생성에 대한 자세한 내용은 Amazon Aurora DB 클러스터 생성 단원을 참조하십시오.

create-db-cluster AWS CLI 명령을 사용하여 암호화된 DB 클러스터를 생성할 경우 --storage-encrypted 파라미터를 설정합니다. CreateDBCluster API 작업을 사용할 경우 StorageEncrypted 파라미터를 true로 설정하십시오.

암호화된 DB 클러스터를 생성할 때 Amazon Aurora에 사용할 고객 관리형 키 또는 AWS 관리형 키을(를) 선택하여 DB 클러스터를 암호화할 수 있습니다. 고객 관리형 키의 키 식별자를 지정하지 않으면 Amazon Aurora는 새 DB 클러스터에 AWS 관리형 키을(를) 사용합니다. Amazon Aurora는 AWS 계정에 대해 Amazon Aurora용 AWS 관리형 키을(를) 생성합니다. AWS 계정에 각 AWS 리전의 Amazon Aurora에 대한 다른 AWS 관리형 키이(가) 있습니다.

KMS 키에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드AWS KMS keys 단원을 참조하십시오.

암호화된 DB 클러스터를 생성한 후에는 해당 DB 클러스터에서 사용된 KMS 키를 변경할 수 없습니다. 따라서 암호화된 DB 클러스터를 생성하기 전에 KMS 키 요구 사항을 결정해야 합니다.

AWS CLI create-db-cluster 명령을 사용하여 고객 관리형 키로 암호화된 DB 클러스터를 생성하는 경우 --kms-key-id 파라미터를 KMS 키의 키 식별자로 설정합니다. Amazon RDS API CreateDBInstance 작업을 사용하는 경우 KmsKeyId 파라미터를 KMS 키의 키 식별자로 설정합니다. 다른 AWS 계정에서 고객 관리형 키를 사용하려면 키 ARN 또는 별칭 ARN을 지정합니다.

중요

Amazon Aurora가 DB 클러스터의 KMS 키에 대한 액세스 권한을 잃을 수도 있습니다. 예를 들어 KMS 키가 사용 중지되어 있거나 KMS 키에 대한 Aurora 액세스 권한이 취소되면 Aurora는 액세스 권한을 잃습니다. 이 경우 암호화된 DB 클러스터는 inaccessible-encryption-credentials-recoverable 상태입니다. DB 클러스터는 7일 동안 이 상태로 유지됩니다. 이 시간 동안 DB 클러스터를 시작하면 KMS 키가 활성 상태인지 확인되고 활성 상태인 경우 DB 클러스터가 복구됩니다. AWS CLI 명령 start-db-cluster 또는 AWS Management Console을 사용하여 DB 클러스터를 다시 시작합니다.

DB 클러스터가 복구되지 않으면 터미널 inaccessible-encryption-credentials 상태가 됩니다. 이러한 경우에는 백업 파일에서만 DB 클러스터를 복원할 수 있습니다. 데이터베이스에서 암호화된 데이터가 손실되지 않도록 보호하려면 암호화된 DB 인스턴스에 대해 항상 백업을 활성화하는 것이 좋습니다.

DB 클러스터에 대해 암호화가 켜져 있는지 확인

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 DB 클러스터에 대해 저장 데이터 암호화가 켜져 있는지 확인합니다.

DB 클러스터에 대해 저장 데이터 암호화가 켜져 있는지 확인하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 Databases(데이터베이스)를 선택합니다.

  3. 세부 정보를 보기 위해 확인하려는 DB 클러스터의 이름을 선택합니다.

  4. 구성(Configuration) 탭을 선택하고 암호화(Encryption) 값을 확인합니다.

    그러면 활성화(Enabled) 또는 비활성화(Not enabled) 중 하나가 표시됩니다.

    DB 클러스터에 대해 저장 데이터 암호화 확인

AWS CLI를 통해 DB 클러스터에 대해 저장 데이터 암호화가 켜져 있는지 확인하려면 다음 옵션을 사용하여 describe-db-clusters 명령을 호출합니다.

  • --db-cluster-identifier – DB 클러스터의 이름입니다.

다음 예에서는 쿼리를 사용하여 mydb DB 클러스터의 저장 데이터 암호화에 대해 TRUE 또는 FALSE 중 하나를 반환합니다.

aws rds describe-db-clusters --db-cluster-identifier mydb --query "*[].{StorageEncrypted:StorageEncrypted}" --output text

Amazon RDS API를 통해 DB 클러스터에 대해 저장 데이터 암호화가 켜져 있는지 확인하려면 다음 파라미터를 사용하여 DescribeDBClusters를 호출합니다.

  • DBClusterIdentifier – DB 클러스터의 이름입니다.

Amazon Aurora 암호화 가용성

Amazon Aurora 암호화는 현재 모든 데이터베이스 엔진과 스토리지 유형에 사용할 수 있습니다.

참고

Amazon Aurora 암호화는 db.t2.micro DB 인스턴스 클래스에서는 사용 가능하지 않습니다.

전송 중 암호화

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 키를 지정하면 가능합니다.

  • 암호화되지 않은 Aurora DB 클러스터에서 암호화된 Aurora 복제본을 생성할 수 없습니다. 암호화된 Aurora DB 클러스터에서 암호화되지 않은 Aurora 복제본을 생성할 수 없습니다.

  • 암호화된 스냅샷을 한 AWS 리전에서 다른 리전으로 복사하려면 대상 AWS 리전에 KMS 키를 지정해야 합니다. 이는 KMS 키가 생성된 AWS 리전에만 해당하기 때문입니다.

    소스 스냅샷은 복사 프로세스 전체에서 암호화를 유지합니다. Amazon Aurora는 봉투 암호화를 사용하여 복사 프로세스 중에 데이터를 보호합니다. 봉투 암호화에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서에서 봉투 암호화를 참조하세요.

  • 암호화된 DB 클러스터의 암호화를 해제할 수 없습니다. 하지만 암호화된 DB 클러스터에서 데이터를 내보내고 암호화되지 않은 DB 클러스터로 해당 데이터를 가져올 수 있습니다.