가동 중지 시간을 최소화하면서 외부 데이터베이스의 데이터를 Amazon Relational Database Service(Amazon RDS) 인스턴스로 가져오고 싶습니다.
해결 방법
데이터 가져오기 준비
참고: 데이터를 가져올 때 발생하는 가동 중지 시간은 소스 데이터베이스의 크기와 데이터베이스 엔진 유형에 따라 달라집니다.
모든 Amazon RDS 데이터 가져오기 및 내보내기 작업에서 다음 작업을 수행하십시오.
- 해당하는 경우 압축 및 다중 스레드를 사용하여 데이터를 병렬로 로드 및 언로드합니다. 대량의 데이터를 병렬로 로드하는 경우 데이터를 가져오기 전에 클라이언트 시스템에 충분한 리소스가 있는지 확인하십시오.
- 대상 Amazon RDS DB 인스턴스의 백업 보존을 0으로 설정하여 자동 백업을 비활성화하고 대용량 데이터 로드의 성능을 개선합니다. 그런 다음, RDS DB 인스턴스를 재부팅하여 이 변경 사항을 적용합니다.
참고: 프로덕션 인스턴스의 백업을 비활성화하지 않는 것이 좋습니다. 백업을 비활성화하면 특정 시점 복구가 차단되고 이전에 자동화된 DB 인스턴스 스냅샷이 삭제되며, 삭제된 스냅샷이 복구되지 않습니다.
- 데이터 로드가 완료된 후 자동 백업을 비활성화합니다. 데이터 로드의 중요한 단계에서 DB 스냅샷을 만드는 것이 좋습니다. 이렇게 하면 필요한 경우 ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html)스냅샷에서 인스턴스를 복원[할 수 있습니다.
다중 AZ 데이터 로드의 쓰기 작업으로 인한 오버헤드를 줄이려면 다중 AZ를 비활성화하십시오.
참고: 모든 프로덕션 RDS DB 인스턴스에 다중 AZ를 사용하는 것이 좋습니다. 데이터 로드가 완료된 후 다중 AZ를 활성화해야 합니다.
온프레미스 환경에서 데이터를 가져오려면 AWS Database Migration Service(AWS DMS)를 사용하십시오. AWS DMS는 가동 중지 시간을 최소화하면서 같은 유형 및 다른 유형의 마이그레이션을 지원합니다.
Amazon RDS for MySQL로 데이터 가져오기
외부 MySQL 데이터베이스에서 데이터를 가져오려면 외부 MySQL 데이터베이스에서 Amazon RDS for MySQL DB 인스턴스로 데이터 가져오기를 참조하십시오.
Amazon RDS for MariaDB로 데이터 가져오기
외부 MariaDB 데이터베이스에서 데이터를 가져오려면 외부 MariaDB 데이터베이스에서 Amazon RDS for MariaDB DB 인스턴스로 데이터 가져오기를 참조하십시오.
Amazon RDS for PostgreSQL로 데이터 가져오기
외부 PostgreSQL 데이터베이스에서 데이터를 가져오려면 Amazon Elastic Compute Cloud(Amazon EC2) 또는 Amazon Simple Storage Service(Amazon S3)를 사용하십시오.
참고: PostgreSQL 버전 10.7 이상을 실행하는 경우에만 Amazon S3를 사용하여 데이터를 가져올 수 있습니다.
자세한 내용은 PostgreSQL 웹 사이트에서 pg_dump, psql 및 copy를 참조하십시오.
Amazon RDS for Oracle로 데이터 가져오기
외부 오라클 데이터베이스에서 데이터를 가져오려면 Oracle SQL Developer, Oracle Datapump 또는 AWS DMS를 사용하십시오.
대규모 데이터베이스의 경우 데이터베이스 링크를 사용하여 인스턴스에 정의된 디렉터리로 데이터 펌프 내보내기 및 가져오기를 수행하십시오. 내보내기 파라미터를 지정하려면 데이터베이스 링크를 사용해야 합니다. 자세한 내용은 Oracle 웹 사이트에서 데이터베이스 링크 만들기, Oracle Data Pump 내보내기, Oracle Data Pump 가져오기 및 Oracle Data Pump 내보내기 파라미터 정보를 참조하십시오.
Amazon S3와 함께 Oracle Data Pump를 사용하려면 Oracle Data Pump 및 S3 버킷을 사용하여 데이터 가져오기를 참조하십시오. 데이터베이스 링크와 함께 Oracle Data Pump를 사용하려면 Oracle Data Pump 및 데이터베이스 링크를 사용하여 데이터 가져오기를 참조하십시오.
Oracle Data Pump에 대한 자세한 내용은 Oracle Data Pump 개요를 참조하십시오. impdp 명령에 대한 자세한 내용은 Oracle 웹 사이트에서 Oracle Data Pump 가져오기 시작을 참조하십시오.
Amazon RDS for SQL Server로 데이터 가져오기
외부 SQL Server 데이터베이스에서 데이터를 가져오려면 기본 백업 및 복원을 사용하십시오.
참고: 기본 백업 및 복원에 대한 제한 사항과 권장 사항을 검토하십시오.
SQL Server Management Studio, Transact-SQL 또는 PowerShell을 사용하여 전체 데이터베이스 백업을 만들 수 있습니다. 자세한 내용은 SQL Server 웹 사이트의 전체 데이터베이스 백업 만들기를 참조하십시오.
그런 다음, rds_restore_database 저장 프로시저를 사용하여 Amazon RDS for SQL Server로 복원합니다.
Aurora MySQL 호환으로 데이터 가져오기
외부 MySQL 데이터베이스에서 Amazon Aurora MySQL 호환 버전으로 데이터를 가져오려면 논리적 마이그레이션 또는 물리적 마이그레이션을 사용하십시오.
참고: 물리적 마이그레이션을 선택하는 경우 제한 사항 및 고려 사항을 검토하십시오.
mysqldump 또는 mydumper와 같은 기본 도구를 사용하여 MySQL 데이터베이스의 복사본을 만들 수 있습니다. 또한 Aurora MySQL 호환 바이너리 로그 복제를 사용하여 가동 중지 시간을 줄일 수 있습니다.
참고: 모든 마이그레이션 옵션의 경우 소스 테이블을 모두 동적 행 형식의 InnoDB 스토리지 엔진으로 변환해야 합니다. 이렇게 하면 마이그레이션 속도가 빨라집니다. 자세한 내용은 Aurora MySQL 호환 DB 클러스터로 데이터 마이그레이션을 참조하십시오.
대규모 데이터베이스 마이그레이션의 경우 mydumper 및 myloader를 사용하여 다중 스레드 덤프 및 가져오기를 수행하십시오.
Aurora PostgreSQL 호환으로 데이터 가져오기
외부 PostgreSQL 데이터베이스에서 데이터를 가져오려면 AWS DMS 또는 Amazon S3를 사용하십시오.
참고: 데이터베이스에서 Aurora PostgreSQL 호환 버전 10.14, 11.9, 12.4 이상을 실행하는 경우에만 Amazon S3를 사용하여 데이터를 가져올 수 있습니다.
소스 데이터베이스의 복사본을 만들려면 pg_dump 및 pg_restore와 같은 기본 도구를 사용하십시오.
Aurora PostgreSQL 호환 DB 인스턴스로 데이터를 가져오려면 다음 작업을 수행하십시오.
관련 정보
Amazon RDS 모범 사례
복제를 사용하여 MySQL DB 인스턴스에서 데이터 내보내기
PostgreSQL 데이터베이스를 Amazon RDS 및 Amazon Aurora로 마이그레이션하는 모범 사례