기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용하여 Amazon RDS for SQL Server 테이블을 S3 버킷으로 내보내기 AWS DMS
Subhani Shaik, Amazon Web Services
요약
SQL Server용 Amazon Relational Database Service(RDS)는 Amazon Web Services()AWS클라우드의 다른 데이터베이스(DB) 엔진 연결 서버에 데이터 로드를 지원하지 않습니다. 대신 AWS Database Migration Service (AWS DMS)를 사용하여 Amazon RDS for SQL Server 테이블을 다른 DB 엔진에서 데이터를 사용할 수 있는 Amazon Simple Storage Service(Amazon S3) 버킷으로 내보낼 수 있습니다.
AWS DMS 를 사용하면 데이터베이스를 로 AWS 빠르고 안전하게 마이그레이션할 수 있습니다. 소스 데이터베이스는 마이그레이션 중에도 완벽하게 작동하여 데이터베이스를 사용하는 애플리케이션의 가동 중지 시간을 최소화합니다.는 가장 널리 사용되는 상용 및 오픈 소스 데이터베이스로 데이터를 마이그레이션할 AWS DMS 수 있습니다.
이 패턴은 AWS DMS 엔드포인트를 구성하는 AWS Secrets Manager 동안를 사용합니다. Secrets Manager는 애플리케이션, 서비스, IT 리소스에 액세스하는 데 필요한 보안 암호를 지키도록 도와줍니다. 이 서비스를 사용하면 수명 주기 동안 데이터베이스 보안 인증 정보, API 키 및 기타 보안 암호를 손쉽게 교체, 관리 및 검색할 수 있습니다. 사용자와 애플리케이션은 Secrets Manager를 직접적으로 호출하여 보안 암호를 검색하므로 민감한 정보를 하드코딩할 필요가 없습니다. Secrets Manager는 Amazon RDS, Amazon Redshift 및 Amazon DocumentDB(MongoDB 호환)에 대한 내장 통합을 통해 보안 암호 교체를 제공합니다. 또한 이 서비스는 API 키 및 OAuth 토큰을 비롯한 다른 유형의 보안 암호로 확장할 수 있습니다. Secrets Manager를 사용하면 세분화된 권한을 사용하여 보안 암호에 대한 액세스를 제어하고 AWS 클라우드, 타사 서비스 및 온프레미스의 리소스에 대한 보안 암호 교체를 중앙에서 감사할 수 있습니다.
사전 조건 및 제한 사항
사전 조건
활성 AWS 계정
Amazon S3 버킷
Virtual Private Cloud(VPC)
DB 서브넷
Amazon RDS for SQL Server
Amazon RDS 인스턴스를 대신하여 S3 버킷에 액세스(객체 나열, 가져오기 및 넣기)할 수 있는 AWS Identity and Access Management (IAM) 역할
Amazon RDS 인스턴스 자격 증명을 저장하기 위한 Secrets Manager
아키텍처
기술 스택
Amazon RDS for SQL Server
AWS DMS
Amazon S3
AWS Secrets Manager
대상 아키텍처
다음 다이어그램은 도움을 받아 Amazon RDS 인스턴스에서 Amazon S3 버킷으로 데이터를 내보내는 아키텍처를 보여줍니다 AWS DMS.

소스 엔드포인트를 통해 소스 Amazon RDS 인스턴스에 연결하는 AWS DMS 마이그레이션 작업
소스 Amazon RDS 인스턴스에서 데이터 복사
대상 엔드포인트를 통해 대상 Amazon S3 버킷에 연결하는 AWS DMS 마이그레이션 작업
복사된 데이터를 쉼표로 구분된 값(CSV) 형식으로 Amazon S3 버킷으로 내보내기
도구
AWS 서비스
AWS Database Migration Service (AWS DMS)를 사용하면 데이터 스토어를 AWS 클라우드로 마이그레이션하거나 클라우드와 온프레미스 설정의 조합 간에 마이그레이션할 수 있습니다.
AWS Identity and Access Management (IAM)는 AWS 리소스에 대한 액세스를 인증하고 사용할 수 있는 권한을 부여받은 사용자를 제어하여 리소스에 대한 액세스를 안전하게 관리하는 데 도움이 됩니다.
Amazon Relational Database Service(RDS)를 사용하면 AWS 클라우드에서 관계형 데이터베이스를 설정, 운영 및 확장할 수 있습니다.
Amazon Simple Storage Service(S3)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.
AWS Secrets Manager를 이용하면 코드의 시크릿을 포함해 하드 코딩된 보안 인증을 Secrets Manager에서 프로그래밍 방식으로 시크릿을 검색하도록 하는 API 호출로 바꿀 수 있습니다.
기타 도구
Microsoft SQL Server Management Studio(SSMS)
는 SQL 서버 구성 요소에 대한 액세스, 구성 및 관리를 포함하여 SQL Server를 관리하기 위한 도구입니다.
모범 사례
전체 마이그레이션 전에 테이블 하위 집합으로 개념 증명을 실행하여 성능을 벤치마킹하고 문제를 식별합니다.
소스 Amazon RDS 인스턴스의 부하를 줄이려면 피크 데이터베이스 시간 동안 AWS DMS 작업을 실행하지 마세요.
에 대한 모범 사례를 AWS DMS 따릅니다.
Amazon S3의 보안 모범 사례를 따릅니다.
에픽
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
Amazon RDS for SQL Server 인스턴스를 생성합니다. |
| DBA, DevOps 엔지니어 |
인스턴스의 보안 인증 정보를 설정합니다. |
| DBA, DevOps 엔지니어 |
인스턴스 클래스, 스토리지, Auto Scaling, 가용성을 구성합니다. |
| DBA, DevOps 엔지니어 |
VPC, 서브넷 그룹, 퍼블릭 액세스, 보안 그룹을 지정합니다. | Amazon RDS 인스턴스를 생성하는 데 필요한 VPC, DB 서브넷 그룹 및 VPC 보안 그룹을 선택합니다. 모범 사례를 따릅니다. 예를 들면 다음과 같습니다.
| DBA, DevOps 엔지니어 |
모니터링, 백업 및 유지 관리를 구성합니다. |
| DBA, DevOps 엔지니어 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
테이블을 만들고 예제 데이터를 로드합니다. | 새 데이터베이스에서 테이블을 생성합니다. 추가 정보 섹션의 예제 코드를 사용하여 데이터를 테이블에 로드합니다. | DBA, DevOps 엔지니어 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
보안 암호를 생성합니다. |
이 보안 암호는 AWS DMS 소스 엔드포인트에 사용됩니다. | DBA, DevOps 엔지니어 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
Amazon RDS에 액세스할 수 있도록 IAM 역할을 생성합니다. |
| DBA, DevOps 엔지니어 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
Amazon S3 버킷을 생성합니다. | Amazon RDS for SQL Server의 데이터를 저장하려면 콘솔에서 S3를 선택한 다음 버킷 생성을 선택합니다. Amazon S3 버킷을 공개적으로 사용할 수 없는지 확인합니다. | DBA, DevOps 엔지니어 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
가 Amazon S3에 액세스 AWS DMS 하기 위한 IAM 역할을 생성합니다. | 가 Amazon S3 버킷에서 객체 AWS DMS 를 나열, 가져오기 및 넣을 수 있도록 허용하는 IAM 역할을 생성합니다. | DBA, DevOps 엔지니어 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
AWS DMS 소스 엔드포인트를 생성합니다. |
| DBA, DevOps 엔지니어 |
AWS DMS 대상 엔드포인트를 생성합니다. | Amazon S3를 대상 엔진으로 선택하여 대상 엔드포인트를 생성합니다. 이전에 생성한 IAM 역할의 Amazon S3 버킷 이름과 폴더 이름을 입력합니다. | DBA, DevOps 엔지니어 |
AWS DMS 복제 인스턴스를 생성합니다. | 동일한 VPC, 서브넷 및 보안 그룹에서 AWS DMS 복제 인스턴스를 생성합니다. 인스턴스 클래스 선택에 대한 자세한 내용은 AWS 설명서를 참조하세요. | DBA, DevOps 엔지니어 |
AWS DMS 마이그레이션 작업을 생성합니다. | Amazon RDS for SQL Server에서 Amazon S3 버킷으로 데이터를 내보내려면 데이터베이스 마이그레이션 작업을 생성합니다. 마이그레이션 유형에서 기존 데이터 마이그레이션을 선택합니다. 생성한 AWS DMS 엔드포인트 및 복제 인스턴스를 선택합니다. | DBA, DevOps 엔지니어 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
데이터베이스 마이그레이션 작업을 실행합니다. | SQL Server 테이블 데이터를 내보내려면 데이터베이스 마이그레이션 작업을 시작합니다. 작업은 Amazon RDS for SQL Server의 데이터를 CSV 형식으로 Amazon S3 버킷으로 내보냅니다. | DBA, DevOps 엔지니어 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
리소스를 삭제합니다. | 추가 비용이 발생하지 않도록 콘솔을 사용하여 다음 순서대로 리소스를 삭제합니다.
| DBA, DevOps 엔지니어 |
문제 해결
| 문제 | Solution |
|---|---|
Microsoft SQL Server 관련 문제 해결 | 사용 중 Microsoft SQL Server 관련 문제 해결에 대한 자세한 내용은 Microsoft SQL Server 관련 문제 해결을 AWS DMS참조하세요. https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.SQLServer |
마이그레이션 작업 문제 해결 | 사용 시 마이그레이션 문제 해결에 대한 자세한 내용은의 마이그레이션 작업 문제 해결을 AWS DMS참조하세요. AWS Database Migration Service |
관련 리소스
추가 정보
데이터베이스와 테이블을 생성하고 예제 데이터를 로드하려면 다음 코드를 사용합니다.
--Step1: Database creation in RDS SQL Server CREATE DATABASE [Test_DB] ON PRIMARY ( NAME = N'Test_DB', FILENAME = N'D:\rdsdbdata\DATA\Test_DB.mdf' , SIZE = 5120KB , FILEGROWTH = 10%) LOG ON ( NAME = N'Test_DB_log', FILENAME = N'D:\rdsdbdata\DATA\Test_DB_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%) GO --Step2: Create Table USE Test_DB GO Create Table Test_Table(ID int, Company Varchar(30), Location Varchar(20)) --Step3: Load sample data. USE Test_DB GO Insert into Test_Table values(1,'AnyCompany','India') Insert into Test_Table values(2,'AnyCompany','USA') Insert into Test_Table values(3,'AnyCompany','UK') Insert into Test_Table values(4,'AnyCompany','Hyderabad') Insert into Test_Table values(5,'AnyCompany','Banglore')