AWS Database Migration Service의 보안 - AWS Database Migration Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Database Migration Service의 보안

AWS에서는 클라우드 보안을 가장 중요하게 생각합니다. AWS 고객은 보안에 가장 보안에 민감한 조직의 요구 사항에 부합하도록 구축된 데이터 센터 및 네트워크 아키텍처의 혜택을 누릴 수 있습니다.

보안은 AWS과 사용자의 공동 책임입니다. 공동 책임 모델은 이 사항을 클라우드 내 보안 및 클라우드의 보안으로 설명합니다.

  • 클라우드의 보안 - AWS는 AWS클라우드에서 AWS서비스를 실행하는 인프라를 보호합니다.AWS는 또한 안전하게 사용할 수 있는 서비스를 제공합니다. 타사 감사원은 정기적으로 AWS 규제 준수 프로그램의 일환으로 보안 효과를 테스트하고 검증합니다. AWS DMS에 적용되는 규정 준수 프로그램에 대해 알아보려면 규정 준수 프로그램 제공 범위 내 AWS서비스를 참조하세요.

  • 클라우드 내 보안 – 귀하의 책임은 사용하는 AWS 서비스에 따라 결정됩니다. 또한 데이터의 민감도, 조직의 요구 사항, 관련 법률 및 규정을 비롯한 기타 요소에 대해서도 책임이 있습니다.

이 설명서는 AWS DMS 사용 시 공동 책임 모델을 적용하는 방법을 이해하는 데 도움이 됩니다. 다음 주제에서는 보안 및 규정 준수 목표를 충족하도록 AWS DMS을(를) 구성하는 방법을 보여줍니다. 또한 AWS DMS 리소스를 모니터링하고 보호하는 데 도움이 되는 다른 AWS 서비스를 사용하는 방법을 알아봅니다.

AWS DMS 리소스 및 데이터베이스(DB)에 대한 액세스를 관리합니다. 액세스를 관리하는 데 사용하는 방법은 AWS DMS를 사용하여 수행해야 하는 복제 작업에 따라 다릅니다.

  • AWS Identity and Access Management(IAM) 정책을 사용하여 AWS DMS 리소스를 관리할 수 있는 사용자를 결정하는 권한을 할당합니다. AWS DMS에서는 IAM 사용자로 로그인하려면 적절한 권한이 있어야 합니다. 예를 들면, IAM을 사용하여 DB 인스턴스 및 클러스터를 생성, 설명, 수정, 삭제하거나 리소스에 태그를 지정하거나 보안 그룹을 수정할 수 있는 사용자를 결정할 수 있습니다. IAM에 대한 정보 및 AWS DMS에서 사용하는 방법에 대한 자세한 내용은 에 대한 ID 및 액세스 관리 AWS Database Migration Service 섹션을 참조하세요.

  • AWS DMS는 TLS(전송 계층 보안)와의 엔드포인트 연결에 SSL(보안 소켓 계층)을 사용합니다. AWS DMS에서 SSL/TLS를 사용하는 방법에 대한 자세한 내용은 AWS Database Migration Service에서 SSL 사용 섹션을 참조하세요.

  • AWS DMS는 AWS Key Management Service(AWS KMS) 암호화 키를 사용하여 복제 인스턴스와 해당 엔드포인트 연결 정보에 사용되는 스토리지를 암호화합니다. 또한 AWS DMS는 Amazon S3 및 Amazon Redshift 대상 엔드포인트에 대해 AWS KMS 암호화 키를 사용하여 저장 시 대상 데이터를 보호합니다. 자세한 내용은 암호화 키 설정 및 AWS KMS 권한 지정 섹션을 참조하세요.

  • AWS DMS는 네트워크 액세스 제어를 최대한 강화할 목적으로 항상 Amazon VPC 서비스를 기반으로 한 Virtual Private Cloud(VPC)에서 복제 인스턴스를 실행합니다. DB 인스턴스 및 인스턴스 클러스터의 경우 복제 인스턴스와 동일한 VPC를 사용하거나 이 액세스 제어 수준에 맞게 추가 VPC를 사용합니다. 사용하는 각 Amazon VPC는 모든 포트의 모든 트래픽이 VPC 외부로 나가도록(송신) 허용하는 규칙이 있는 보안 그룹과 연결되어야 합니다. 해당 엔드포인트에서 올바른 수신이 활성화되어 있는 한 이 접근 방식을 통해 통신을 복제 인스턴스에서 원본과 대상 데이터베이스 엔드포인트로 전달할 수 있습니다.

    AWS DMS에 사용할 수 있는 네트워크 구성에 대한 자세한 내용은 복제 인스턴스용으로 네트워크 설정 섹션을 참조하세요. VPC에서 DB 인스턴스 또는 인스턴스 클러스터를 생성하는 방법에 대한 자세한 내용은 AWS 설명서에서 Amazon 데이터베이스의 보안 및 클러스터 관리 설명서를 참조하세요. AWS DMS를 지원하는 네트워크 구성에 대한 자세한 내용은 복제 인스턴스용으로 네트워크 설정 섹션을 참조하세요.

  • 데이터베이스 마이그레이션 로그를 확인하려면, 사용 중인 IAM 역할에 적합한 Amazon CloudWatch Log 권한이 필요합니다. AWS DMS 로깅에 대한 자세한 내용은 Amazon CloudWatch를 사용한 복제 태스크 모니터링 섹션을 참조하세요.

암호화 키 설정 및 AWS KMS 권한 지정

AWS DMS는 복제 인스턴스와 엔드포인트 연결 정보에서 사용하는 스토리지를 암호화합니다. 복제 인스턴스에서 사용하는 스토리지를 암호화하기 위해 AWS DMS는 AWS 계정에 고유한 AWS Key Management Service(AWS KMS) 키를 사용합니다. AWS KMS에서 이 키를 보고 관리할 수 있습니다. 계정의 기본 KMS 키(aws/dms)를 사용하거나 사용자 지정 KMS 키를 생성할 수 있습니다. 기존 KMS 키가 있는 경우, 암호화에 이 키를 사용할 수도 있습니다.

참고

암호화 키로 사용하는 사용자 지정 또는 기존 AWS KMS 키는 모두 대칭 키여야 합니다. AWS DMS는 비대칭 암호화 키 사용을 지원하지 않습니다. 대칭 및 비대칭 암호화 KMS 키에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html 섹션을 참조하세요.

복제 인스턴스 생성 페이지의 고급 섹션에서 사용자 지정 KMS 키를 선택하지 않은 경우, 복제 인스턴스를 처음 시작할 때 기본 KMS 키(aws/dms)가 생성됩니다. 기본 KMS 키를 사용할 경우, 마이그레이션을 위해 사용 중인 IAM 사용자 계정에 부여해야 하는 유일한 권한은 kms:ListAliaseskms:DescribeKey입니다. 기본 KMS 키 사용에 대한 자세한 정보는 AWS DMS 사용에 필요한 IAM 권한 섹션을 참조하세요.

사용자 지정 KMS 키를 사용하려면 다음 옵션 중 하나를 사용하여 사용자 지정 KMS 키에 대한 권한을 할당해야 합니다.

  • AWS KMS 사용자 지정 키에서 키 관리자 또는 키 사용자로서 마이그레이션에 사용되는 IAM 사용자 계정을 추가합니다. 이렇게 하면 필요한 AWS KMS 권한이 IAM 사용자 계정에 부여됩니다. 이 작업은 AWS DMS를 사용하기 위해 사용자가 IAM 사용자 계정에 부여하는 IAM 권한 외의 것입니다. 키 사용자에게 권한을 부여하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서키 사용자가 KMS 키를 사용하도록 허용을 참조하세요.

  • 사용자 지정 KMS 키에서 IAM 사용자 계정을 키 관리자/키 사용자로서 추가하지 않을 경우, AWS DMS를 사용할 수 있도록 IAM 사용자 계정에 부여해야 하는 IAM 권한에 다음 추가 권한을 부여해야 합니다.

    { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey", "kms:CreateGrant", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": "*" },

AWS DMS는 KMS 키 별칭에서도 작동합니다. 자체 AWS KMS 키를 생성하고 사용자에게 KMS 키에 대한 액세스 권한을 부여하는 방법에 대한 자세한 내용은 AWS KMS 개발자 안내서를 참조하세요.

KMS 키 식별자를 지정하지 않으면 AWS DMS는 기본 암호화 키를 사용합니다. AWS KMS는 AWS 계정의 AWS DMS에 대한 기본 암호화 키를 생성합니다. AWS 계정에는 AWS 리전마다 다른 기본 암호화 키가 있습니다.

AWS DMS 리소스 암호화에 사용되는 AWS KMS 키를 관리하려면 AWS Key Management Service를 사용합니다. AWS KMS는 클라우드에 맞게 확장된 키 관리 시스템을 제공하기 위해 안전하고 가용성이 높은 하드웨어 및 소프트웨어를 결합합니다. AWS KMS를 사용하면 암호화 키를 생성하고 이 키를 사용할 수 있는 방법을 제어하는 정책을 정의할 수 있습니다.

AWS KMS는 AWS Management Console에서 찾을 수 있습니다.
  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/kms에서 AWS Key Management Service(AWS KMS) 콘솔을 엽니다.

  2. AWS 리전을 변경하려면 페이지의 오른쪽 상단 모서리에 있는 리전 선택기를 사용합니다.

  3. 다음 옵션 중 하나를 선택하여 AWS KMS 키를 사용합니다.

    • AWS에서 계정을 위해 직접 생성하고 관리하는 키를 보려면 탐색 창에서 AWS 고객 관리형 키를 선택합니다.

    • 해당 계정에서 직접 생성하고 관리하는 키를 보려면 탐색 창에서 고객 관리형 키를 선택합니다.

AWS KMS는 AWS CloudTrail를 지원하므로 키가 적절하게 사용되고 있는지 확인하기 위해 키 사용을 감사할 수 있습니다. AWS KMS 키는 Amazon RDS, Amazon S3, Amazon Redshift, Amazon EBS 등 지원되는 AWS 서비스에서 AWS DMS와 함께 사용할 수 있습니다.

또한 특히 다음 AWS DMS 엔드포인트에 대한 대상 데이터를 암호화하기 위해 사용자 지정 AWS KMS 키를 생성할 수 있습니다.

KMS 키를 사용하여 AWS DMS 리소스를 생성한 후에는 이 리소스에서 암호화 키를 변경할 수 없습니다. AWS DMS 리소스를 생성하기 전에 암호화 키 요구 사항을 결정해야 합니다.

AWS Database Migration Service 네트워크 보안

AWS Database Migration Service를 사용할 때 생성하는 네트워크의 보안 요구 사항은 네트워크 구성 방법에 따라 달라집니다. AWS DMS의 네트워크 보안에 적용되는 일반 규칙은 다음과 같습니다.

  • 복제 인스턴스에는 리소스 및 대상 엔드포인트에 대한 액세스 권한이 있어야 합니다. 복제 인스턴스용 보안 그룹에는 데이터베이스 포트에서 밖으로 데이터베이스 엔드포인트까지 인스턴스를 내보내도록 허용하는 네트워크 ACL 또는 규칙이 있어야 합니다.

  • 데이터베이스 엔드포인트에는 복제 인스턴스에서 수신되는 액세스를 허용하는 네트워크 ACL과 보안 그룹 규칙이 포함되어야 합니다. 이 작업을 완료하기 위해 사용자의 구성에 따라 복제 인스턴스의 보안 그룹, 프라이빗 IP 주소, 퍼블릭 IP 주소 또는 NAT 게이트웨이의 퍼블릭 주소를 사용합니다.

  • 네트워크에서 VPN 터널을 사용하는 경우, NAT 게이트웨이 역할을 하는 Amazon EC2 인스턴스는 복제 인스턴스가 트래픽을 전송하도록 허용하는 규칙을 가진 보안 그룹을 사용해야 합니다.

기본적으로 AWS DMS 복제 인스턴스에서 사용하는 VPC 보안 그룹에는 모든 포트에서 0.0.0.0/0으로의 송신을 허용하는 규칙이 있습니다. 이 보안 그룹을 수정하거나 자체 보안 그룹을 사용하는 경우, 각 데이터베이스 포트에서 최소한 발신이 원본과 대상 엔드포인트에 허용되어야 합니다.

각 데이터베이스 마이그레이션에서 사용할 수 있는 네트워크를 구성할 때에는 다음 구체적인 보안 사항을 고려해야 합니다.

  • 하나의 VPC에 모든 데이터베이스 마이그레이션 구성 요소가 있는 구성 - 엔드포인트에서 사용되는 보안 그룹은 복제 인스턴스의 데이터베이스 포트에서 수신을 허용해야 합니다. 복제 인스턴스에서 사용하는 보안 그룹이 엔드포인트에 대한 수신이 있는지 확인하고, 그렇지 않으면 복제 인스턴스 액세스의 프라이빗 IP 주소를 허용하고 엔드포인트가 사용하는 보안 그룹에 규칙을 생성할 수 있습니다.

  • 여러 VPC를 사용한 구성 - 복제 인스턴스에서 사용하는 보안 그룹에는 데이터베이스의 VPC 범위와 DB 포트에 대한 규칙이 있어야 합니다.

  • AWS Direct Connect 또는 VPN을 사용하여 VPC에 대한 네트워크 구성 - VPC에서 온프레미스 VPN으로 트래픽 전송을 허용하는 VPN 터널입니다. 이 구성에서 VPC에는 특정 IP 주소나 범위로 지정된 트래픽을 호스트로 전송하는 라우팅 규칙이 포함되어 있어 트래픽을 VPC에서 온프레미스 VPN으로 연결할 수 있습니다. 이 경우에 트래픽을 복제 인스턴스의 프라이빗 IP 주소나 보안 그룹에서 NAT 인스턴스로 전송하도록 허용해야 하는 자체 보안 그룹 설정이 NAT 호스트에 적용되어 있습니다.

  • 인터넷을 사용한 네트워크와 VPC 연결 구성 - VPC 보안 그룹에는 트래픽을 VPC로 전달하지 않고 인터넷 게이트웨이로 전송하는 라우팅 규칙이 적용되어 있어야 합니다. 이 구성에서 엔드포인트와의 연결이 복제 인스턴스의 퍼블릭 IP 주소에서 오는 것으로 나타납니다.

  • 를 사용하여 VPC에 있지 않은 RDS DB 인스턴스를 VPC의 DB 인스턴스로 구성 ClassicLink - 원본 또는 대상 Amazon RDS DB 인스턴스가 VPC에 없고 보안 그룹을 VPC(복제 인스턴스가 있음)와 공유하지 않을 경우, 프록시 서버를 설정하고 ClassicLink를 사용하여 원본과 대상 데이터베이스를 연결할 수 있습니다.

  • 소스 엔드포인트가 복제 인스턴스에서 사용하는 VPC 외부에 있고 NAT 게이트웨이를 사용 - 단일 탄력적 네트워크 인터페이스에 연결된 단일 탄력적 IP 주소를 사용하여 Network Address Translation(NAT) 게이트웨이를 구성할 수 있습니다. 그런 다음 이 탄력적 네트워크 인터페이스는 NAT 식별자(nat-#####)를 수신합니다. VPC에 인터넷 게이트웨이가 아닌 해당 NAT 게이트웨이로의 기본 경로가 포함된 경우, 대신 복제 인스턴스가 인터넷 게이트웨이의 퍼블릭 IP 주소를 사용하여 데이터베이스 엔드포인트에 접촉하는 것으로 나타납니다. 이 경우에 VPC 외부에 있는 데이터베이스 엔드포인트로의 수신은 복제 인스턴스의 퍼블릭 IP 주소가 아닌 NAT 주소의 수신을 허용해야 합니다.

  • 비 RDBMS 엔진용 VPC 엔드포인트 - AWS DMS는 비 RDBMS 엔진용 VPC 엔드포인트를 지원하지 않습니다.

데이터베이스 암호 변경

대다수의 경우에 소스 또는 대상 엔드포인트에서 데이터베이스 암호를 쉽게 변경할 수 있습니다. 마이그레이션이나 복제 작업에 현재 사용하고 있는 엔드포인트의 데이터베이스 암호를 변경해야 하는 경우, 이 과정은 약간 더 복잡합니다. 다음 절차에서는 이 작업을 수행하는 방법을 보여 줍니다.

마이그레이션이나 복제 작업에 현재 사용하고 있는 엔드포인트의 데이터베이스 암호를 변경하려면
  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/dms/v2/에서 AWS DMS 콘솔을 엽니다.

    IAM 사용자로 로그인한 경우 AWS DMS에 액세스하기 위한 적절한 권한이 있어야 합니다. 필요한 권한에 대한 자세한 내용은 AWS DMS 사용에 필요한 IAM 권한 섹션을 참조하세요.

  2. 탐색 창에서 데이터베이스 마이그레이션 작업을 선택합니다.

  3. 변경하려는 엔드포인트를 사용하는 작업을 선택하여 데이터베이스 암호를 변경한 후 [중지]를 선택합니다.

  4. 작업을 중지한 동안 데이터베이스에서 사용하는 기본 도구를 사용하여 엔드포인트의 데이터베이스 암호를 변경할 수 있습니다.

  5. DMS 관리 콘솔로 돌아가 탐색 창에서 [엔드포인트]를 선택합니다.

  6. 암호를 변경할 데이터베이스의 엔드포인트를 선택하고 나서 [수정]을 선택합니다.

  7. 암호 상자에 새 암호를 입력하고 저장을 선택합니다.

  8. 탐색 창에서 데이터베이스 마이그레이션 작업을 선택합니다.

  9. 이전에 중지한 작업을 선택하고 시작/재개를 선택합니다.

  10. 작업을 계속할 방법에 따라 다시 시작 또는 재개를 선택하고 작업 시작을 선택합니다.