AWS Database Migration Service에서 SSL 사용
Secure Sockets Layer(SSL)을 사용하여 소스와 대상 엔드포인트 연결을 암호화할 수 있습니다. 이 작업을 위해 AWS DMS 관리 콘솔 또는 AWS DMS API를 사용하여 엔드포인트에 인증서를 할당할 수 있습니다. 또한 AWS DMS 콘솔을 사용하여 인증서를 관리할 수도 있습니다.
모든 데이터베이스가 동일한 방식으로 SSL을 사용하는 것은 아닙니다. Amazon Aurora MySQL 호환 에디션은 클러스터에 있는 기본 인스턴스의 엔드포인트인 서버 이름을 SSL용 엔드포인트로 사용합니다. Amazon Redshift 엔드포인트는 이미 SSL 연결을 사용하므로 AWS DMS에서 설정한 SSL 연결이 필요하지 않습니다. Oracle 엔드포인트에서는 추가 단계가 필요합니다. 자세한 내용은 Oracle 엔드포인트용 SSL 지원 섹션을 참조하세요.
인증서를 엔드포인트에 할당하기 위해 루트 인증서나 중간 CA 인증서 체인을 제공하여 루트(인증서 번들로서)로 이어집니다. 즉, 이것은 엔드포인트에서 배포되는 서버 SSL 인증서에 서명하는 데 사용됩니다. 인증서는 PEM 형식 X509 파일로만 허용됩니다. 인증서를 가져올 때에는 엔드포인트에서 인증서를 지정하는 데 사용할 수 있는 Amazon 리소스 이름(ARN)을 수신합니다. Amazon RDS를 사용하는 경우 Amazon RDS에서 호스팅하는 rds-combined-ca-bundle.pem
파일에 제공된 루트 CA 및 인증서 번들을 다운로드할 수 있습니다. 이 파일을 다운로드하는 방법에 자세한 내용은 Amazon RDS 사용 설명서에서 SSL을 사용하여 DB 인스턴스에 대한 연결 암호화를 참조하세요.
여러 SSL 모드에서 선택하여 SSL 인증서 확인에 사용할 수 있습니다.
-
none - 연결이 암호화되지 않습니다. 이 옵션은 보안이 적용되지 않지만, 오버헤드를 줄여야 합니다.
-
require - CA 검증 없이 SSL(TLS)를 사용하여 연결이 암호화됩니다. 이 옵션은 보안이 강화되어 오버헤드가 증가합니다.
-
verify-ca - 연결이 암호화됩니다. 이 옵션은 보안이 강화되어 오버헤드가 증가합니다. 이 옵션은 서버 인증서를 확인합니다.
-
verify-full - 연결이 암호화됩니다. 이 옵션은 보안이 강화되어 오버헤드가 증가합니다. 이 옵션은 서버 인증서를 확인하고 서버 호스트 이름이 인증서의 호스트 이름 속성과 일치하는지 확인합니다.
데이터베이스 엔드포인트에서 작동하지 않는 SSL 모드도 있습니다. 다음 표에는 각 데이터베이스 엔진별로 지원되는 SSL 모드가 나와 있습니다.
DB 엔진 |
none |
[require] |
[verify-ca] |
[verify-full] |
---|---|---|---|---|
MySQL/MariaDB/Amazon Aurora MySQL |
기본값 | 지원되지 않음 | 지원 | 지원 |
Microsoft SQL Server |
기본값 | 지원 | 지원되지 않음 | 지원 |
PostgreSQL |
기본값 | 지원 | 지원 | 지원 |
Amazon Redshift |
기본값 | SSL이 활성화되지 않음 | SSL이 활성화되지 않음 | SSL이 활성화되지 않음 |
Oracle |
기본값 | 지원되지 않음 | 지원 | 지원되지 않음 |
SAP ASE |
기본값 | SSL이 활성화되지 않음 | SSL이 활성화되지 않음 | 지원 |
MongoDB |
기본값 | 지원 | 지원되지 않음 | 지원 |
Db2 LUW |
기본값 | 지원되지 않음 | 지원 | 지원되지 않음 |
Db2 for z/OS |
기본값 | 지원되지 않음 | 지원 | 지원되지 않음 |
참고
DMS 콘솔 또는 API의 SSL 모드 옵션은 Kinesis, DynamoDB와 같은 일부 데이터 스트리밍 및 NoSQL 서비스에는 적용되지 않습니다. 이러한 스트리밍 및 서비스는 기본적으로 안전하므로 DMS에서는 SSL 모드 설정이 없음으로 표시됩니다(SSL 모드=None). 엔드포인트에서 SSL을 사용하기 위한 추가 구성을 제공할 필요는 없습니다. 예를 들어 Kinesis를 대상 엔드포인트로 사용하는 경우, 기본적으로 안전합니다. Kinesis에 대한 모든 API 직접 호출은 SSL을 사용하므로 DMS 엔드포인트에서는 추가 SSL 옵션이 필요하지 않습니다. Kinesis 데이터 스트림에 연결할 때 기본적으로 DMS가 사용하는 HTTPS 프로토콜을 사용하여 SSL 엔드포인트를 통해 안전하게 데이터를 넣고 검색할 수 있습니다.
AWS DMS에서 SSL을 사용할 때 적용되는 제한 사항
AWS DMS에서 SSL을 사용할 때 다음과 같은 제한 사항이 있습니다.
-
SSL과 Amazon Redshift 대상 엔드포인트 간 연결은 지원되지 않습니다. AWS DMS는 Amazon S3 버킷을 사용하여 데이터를 Amazon Redshift 데이터베이스로 전송합니다. 이 전송은 기본적으로 Amazon Redshift로 암호화됩니다.
-
SSL이 활성화된 Oracle 엔드포인트를 통해 CDC(변경 데이터 캡처) 작업을 수행할 때 SQL 시간 초과가 발생할 수 있습니다. CDC 카운터가 예상 수치를 반영하지 않는 문제가 발생할 경우, 작업 설정의
ChangeProcessingTuning
섹션에서MinimumTransactionSize
파라미터를 더 낮은 값으로 설정합니다. 최저 100부터 시작할 수 있습니다.MinimumTransactionSize
파라미터에 대한 자세한 내용은 변경 처리 튜닝 설정을 참조하세요. -
인증서는 .pem 및 .sso(Oracle wallet) 형식으로만 가져올 수 있습니다.
-
경우에 따라 중간 CA(인증 기관)에서 서버 SSL 인증서를 서명할 수 있습니다. 이 경우 중간 CA에서 루트 CA까지 전체 인증서 체인을 하나의 .pem 파일로 가져와야 합니다.
-
서버에서 자체 서명 인증서를 사용하는 경우, SSL 모드로서 [require]를 선택합니다. require SSL 모드는 서버의 SSL 인증서를 명시적으로 신뢰하고 이 인증서가 CA에서 서명되었는지 여부를 확인하려고 하지 않습니다.
인증서 관리
DMS 콘솔을 사용하여 SSL 인증서를 보고 관리할 수 있습니다. 또한 DMS 콘솔을 사용하여 인증서를 가져올 수도 있습니다.
MySQL 호환, PostgreSQL 또는 SQL Server 엔드포인트에서 SSL 활성화
새로 생성한 엔드포인트 또는 기존 엔드포인트에 SSL 연결을 추가할 수 있습니다.
SSL을 통해 AWS DMS 엔드포인트를 생성하려면
-
AWS Management Console에 로그인하고 https://console.aws.amazon.com/dms/v2/
에서 AWS DMS 콘솔을 엽니다. AWS Identity and Access Management(IAM) 사용자로 로그인한 경우 AWS DMS에 액세스하기 위한 적절한 권한이 있어야 합니다. 데이터베이스 마이그레이션에 필요한 권한에 대한 자세한 내용은 AWS DMS 사용에 필요한 IAM 권한 섹션을 참조하세요.
-
탐색 창에서 [Certificates]를 선택합니다.
-
[Import Certificate]를 선택합니다.
-
엔드포인트와의 연결을 암호화하는 데 사용할 인증서를 업로드합니다.
참고
데이터베이스 엔드포인트 생성 페이지에서 새 CA 인증서 추가를 선택하여 엔드포인트를 생성하거나 수정할 때 AWS DMS 콘솔을 사용하여 인증서를 업로드할 수도 있습니다.
Aurora Serverless를 대상으로 사용하려면 Aurora Serverless에서 TLS/SSL 사용에 설명된 인증서를 받으세요.
-
2단계: 소스 및 대상 엔드포인트 지정 섹션의 설명과 같이 엔드포인트를 생성합니다.
기존 AWS DMS 엔드포인트를 수정하여 SSL을 사용하려면
-
AWS Management Console에 로그인하고 https://console.aws.amazon.com/dms/v2/
에서 AWS DMS 콘솔을 엽니다. IAM 사용자로 로그인한 경우 AWS DMS에 액세스하기 위한 적절한 권한이 있어야 합니다. 데이터베이스 마이그레이션에 필요한 권한에 대한 자세한 내용은 AWS DMS 사용에 필요한 IAM 권한 섹션을 참조하세요.
-
탐색 창에서 [Certificates]를 선택합니다.
-
[Import Certificate]를 선택합니다.
-
엔드포인트와의 연결을 암호화하는 데 사용할 인증서를 업로드합니다.
참고
데이터베이스 엔드포인트 생성 페이지에서 새 CA 인증서 추가를 선택하여 엔드포인트를 생성하거나 수정할 때 AWS DMS 콘솔을 사용하여 인증서를 업로드할 수도 있습니다.
-
탐색 창에서 [Endpoints]를 선택하고, 수정할 엔드포인트를 선택하고, [Modify]를 선택합니다.
-
SSL 모드의 값을 선택합니다.
verify-ca 또는 verify-full 모드를 선택할 경우 다음과 같이 CA 인증서에 사용할 인증서를 지정합니다.
-
수정을 선택합니다.
-
엔드포인트를 수정할 때 엔드포인트를 선택한 뒤 연결 테스트를 선택하여 SSL 연결이 잘 작동하는지 여부를 확인합니다.
소스와 대상 엔드포인트를 생성한 후 이 엔드포인트를 사용하는 작업을 생성합니다. 작업 생성에 대한 자세한 내용은 3단계: 태스크 생성 및 데이터 마이그레이션 섹션을 참조하세요.