쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

원하는 소스에서 Amazon RDS for MySQL DB 인스턴스로 데이터 가져오기

포커스 모드
원하는 소스에서 Amazon RDS for MySQL DB 인스턴스로 데이터 가져오기 - Amazon Relational Database Service

데이터 로드 전후에 대상 Amazon RDS DB 인스턴스의 DB 스냅샷을 만드는 것이 좋습니다. Amazon RDS DB 스냅샷은 DB 인스턴스를 알려진 상태로 복원하는 데 사용할 수 있는 DB 인스턴스의 완전한 백업입니다. DB 스냅샷을 시작하면 데이터베이스가 백업되는 동안 DB 인스턴스에 대한 I/O 작업이 일시 중단됩니다.

필요한 경우 로드 직전에 DB 스냅샷을 만들면 데이터베이스를 로드 이전의 상태로 복원할 수 있습니다. 로드 직후에 생성된 DB 스냅샷은 사고 발생 시 데이터를 꼭 로드하지 않아도 되도록 해주고, 새 데이터베이스 인스턴스를 시드하는 데 사용될 수도 있습니다.

아래 목록에 수행할 단계가 나와 있습니다. 각 단계에 대해서는 다음에 이어지는 섹션에서 자세히 설명합니다.

  1. 로드할 데이터를 포함한 플랫 파일을 만듭니다.

  2. 대상 DB 인스턴스에 액세스 중인 애플리케이션을 모두 중지합니다.

  3. DB 스냅샷을 만듭니다.

  4. Amazon RDS 자동 백업 비활성화를 고려하세요.

  5. 데이터를 로드합니다.

  6. 자동 백업을 다시 활성화합니다.

1단계: 로드할 데이터를 포함한 플랫 파일 만들기

쉼표로 구분된 값(CSV)과 같은 일반적인 형식을 사용하여 로드할 데이터를 저장합니다. 각 테이블에는 자체 파일이 있어야 하며, 여러 테이블에 대한 데이터를 같은 파일에 결합할 수 없습니다. 각 파일의 이름은 그에 상응하는 테이블과 같은 이름으로 지정합니다. 파일 확장명은 원하는 대로 정할 수 있습니다. 예를 들어, 테이블 이름이 sales인 경우 파일 이름은 sales.csv 또는 sales.txt일 수 있지만 sales_01.csv일 수는 없습니다.

가능하면 항상 로드되는 테이블의 기본 키를 기준으로 데이터를 정렬하십시오. 그러면 로드 시간이 대폭 단축되고 데이터 스토리지 요구 사항이 최소화됩니다.

이 절차의 수행 속도와 효율성은 파일의 크기를 작게 유지하느냐에 좌우됩니다. 개별 파일의 압축되지 않은 크기가 1GiB보다 큰 경우에는 파일을 여러 개의 파일로 분할하고 각각 하나씩 따로 로드합니다.

Unix와 같은 시스템(Linux 포함)에서는 split 명령을 사용합니다. 예를 들어 다음 명령을 실행하면 sales.csv 파일이 1GiB 미만의 여러 파일로 분할되며, 줄 바꿈에서만 분할됩니다(-C 1024m). 새 파일 이름은 sales.part_00, sales.part_01 등으로 지정됩니다.

split -C 1024m -d sales.csv sales.part_

다른 운영 체제에서는 이와 유사한 유틸리티를 사용할 수 있습니다.

2단계: 대상 DB 인스턴스에 액세스 중인 애플리케이션을 모두 중지

대량 로드를 시작하기 전에 로드하려는 대상 DB 인스턴스에 액세스하는 모든 애플리케이션의 활동을 중단합니다. 로드 중인 테이블 혹은 참조 테이블을 다른 세션이 수정하는 경우에는 더욱 더 중단해야 합니다. 그러면 로드 중에 발생하는 제약 조건 위반의 위험이 줄어들고 로드 성능이 향상됩니다. 또한 로드에 관여하지 않는 프로세스에 의한 변경 내용이 손실되지 않고 로드 직전의 시점으로 DB 인스턴스를 복원할 수 있습니다.

물론, 이것이 가능하지 않거나 유용하지 않을 수도 있습니다. 로드 전에 애플리케이션이 DB 인스턴스에 액세스하지 못하게 막을 수 없다면, 데이터의 가용성과 무결성을 보장하기 위한 일련의 단계를 수행하세요. 필요한 구체적인 단계는 특정 사용 사례와 사이트 요구 사항에 따라 크게 달라집니다.

3단계: DB 스냅샷 만들기

아무런 데이터도 없는 새 DB 인스턴스로 데이터를 로드할 경우에는 이 단계를 건너뛰어도 됩니다. 그렇지 않을 경우, 필요하다면 DB 인스턴스의 DB 스냅샷을 만들면 DB 인스턴스를 로드 직전의 시점으로 복원할 수 있습니다. 앞서 언급한 바와 같이, DB 스냅샷을 시작하면 데이터베이스가 백업되는 동안 DB 인스턴스에 대한 I/O 작업이 몇 분간 일시 중단됩니다.

아래 예시에서는 AWS CLI create-db-snapshot 명령을 실행하여 AcmeRDS 인스턴스의 DB 스냅샷을 만들고 DB 스냅샷에 "preload" 식별자를 지정합니다.

대상 LinuxmacOS, 또는Unix:

aws rds create-db-snapshot \ --db-instance-identifier AcmeRDS \ --db-snapshot-identifier preload

Windows의 경우:

aws rds create-db-snapshot ^ --db-instance-identifier AcmeRDS ^ --db-snapshot-identifier preload

DB 스냅샷 기능에서 복원하는 기능을 사용하여 테스트 실행을 위한 테스트 DB 인스턴스를 만들거나 로드 중의 변경 사항을 실행 취소할 수도 있습니다.

DB 스냅샷에서 데이터베이스를 복원하면 모든 DB 인스턴스와 마찬가지로 고유 식별자와 엔드포인트가 있는 새 DB 인스턴스가 생성된다는 점을 꼭 명심해야 합니다. 엔드포인트를 변경하지 않고 DB 인스턴스를 복원해야 한다면, 우선 엔드포인트를 다시 사용할 수 있도록 DB 인스턴스를 삭제해야 합니다.

예를 들어 테스트 실행 또는 다른 테스트를 위한 DB 인스턴스를 만들려면 DB 인스턴스에 고유 식별자를 지정합니다. 예제에서 AcmeRDS-2"는 식별자입니다. 이 예제는 AcmeRDS-2와 연결된 엔드포인트를 사용하여 DB 인스턴스에 연결합니다.

대상 LinuxmacOS, 또는Unix:

aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifier AcmeRDS-2 \ --db-snapshot-identifier preload

Windows의 경우:

aws rds restore-db-instance-from-db-snapshot ^ --db-instance-identifier AcmeRDS-2 ^ --db-snapshot-identifier preload

기존 엔드포인트를 재사용하려면 우선 DB 인스턴스를 삭제한 다음, 복원된 데이터베이스에 같은 식별자를 지정해야 합니다.

대상 LinuxmacOS, 또는Unix:

aws rds delete-db-instance \ --db-instance-identifier AcmeRDS \ --final-db-snapshot-identifier AcmeRDS-Final aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifier AcmeRDS \ --db-snapshot-identifier preload

Windows의 경우:

aws rds delete-db-instance ^ --db-instance-identifier AcmeRDS ^ --final-db-snapshot-identifier AcmeRDS-Final aws rds restore-db-instance-from-db-snapshot ^ --db-instance-identifier AcmeRDS ^ --db-snapshot-identifier preload

앞의 예제에서는 DB 인스턴스의 최종 DB 스냅샷을 생성한 후에 삭제합니다. 이 단계는 선택 사항이지만 권장됩니다.

4단계: Amazon RDS 자동 백업 비활성화를 고려하세요.

주의

특정 시점으로 복구를 수행을 유지할 필요가 있는 경우에는 자동 백업을 비활성화하지 마세요.

자동 백업을 비활성화하면 기존 백업이 전부 지워지므로, 자동 백업이 비활성화된 후에는 특정 시점으로 복구할 수 없습니다. 자동 백업 비활성화는 성능 최적화 수단으로서, 데이터 로드에 필수 사항은 아닙니다. 자동 백업을 비활성화해도 수동 DB 스냅샷에는 영향을 주지 않습니다. 기존의 모든 수동 DB 스냅샷을 계속 복원 작업에 사용할 수 있습니다.

자동 백업을 비활성화하면 로드 시간이 약 25% 단축되고 로드 중에 필요한 스토리지 공간의 양이 줄어듭니다. 아무런 데이터도 없는 새 DB 인스턴스로 데이터를 로드할 경우에는 백업을 비활성화하는 것이 로드 속도를 높이고 백업에 필요한 추가 스토리지의 사용을 피하는 손쉬운 방법입니다. 하지만 이미 데이터가 있는 DB 인스턴스로 로드할 경우도 있습니다. 그렇다면 특정 시점으로 복구를 수행할 능력을 상실하는 데 따른 영향에 비해 백업을 해제할 때의 이점을 비교합니다.

DB 인스턴스에서는 기본적으로 자동 백업이 활성화되어 있습니다(보존 기간은 하루). 자동 백업을 비활성화하기 위해 백업 보존 기간을 0으로 설정합니다. 로드 후에는 백업 보존 기간을 0이 아닌 값으로 설정하여 백업을 다시 활성화할 수 있습니다. 백업을 설정하거나 해제하려면 Amazon RDS가 DB 인스턴스를 종료했다가 다시 시작하여 MariaDB 또는 MySQL 로깅을 설정하거나 해제합니다.

AWS CLI modify-db-instance 명령을 실행하여 백업 보존 기간을 0으로 설정하고 변경 사항을 즉시 적용합니다. 보존 기간을 0으로 설정하려면 DB 인스턴스를 다시 시작해야 하므로, 다시 시작 프로세스가 완료될 때까지 기다린 후 계속 진행합니다.

대상 LinuxmacOS, 또는Unix:

aws rds modify-db-instance \ --db-instance-identifier AcmeRDS \ --apply-immediately \ --backup-retention-period 0

Windows의 경우:

aws rds modify-db-instance ^ --db-instance-identifier AcmeRDS ^ --apply-immediately ^ --backup-retention-period 0

AWS CLI describe-db-instances 명령으로 DB 인스턴스의 상태를 확인할 수 있습니다. 다음 예제에서는 AcmeRDS DB 인스턴스의 DB 인스턴스 상태를 표시합니다.

aws rds describe-db-instances --db-instance-identifier AcmeRDS --query "*[].{DBInstanceStatus:DBInstanceStatus}"

DB 인스턴스 상태가 available이면 계속할 준비가 된 것입니다.

5단계: 데이터 로드

MySQL LOAD DATA LOCAL INFILE 문을 사용하여 플랫 파일의 행을 데이터베이스 테이블로 읽어들입니다.

다음 예시는 이름이 sales.txt인 파일에서 데이터베이스의 Sales 테이블로 데이터를 로드하는 방법을 보여줍니다.

mysql> LOAD DATA LOCAL INFILE 'sales.txt' INTO TABLE Sales FIELDS TERMINATED BY ' ' ENCLOSED BY '' ESCAPED BY '\\'; Query OK, 1 row affected (0.01 sec) Records: 1 Deleted: 0 Skipped: 0 Warnings: 0

LOAD DATA 문에 대한 자세한 내용은 MySQL 설명서를 참조하세요.

6단계: Amazon RDS 자동 백업 재활성화

로드가 완료된 후에는 백업 보존 기간을 로드 이전의 값으로 다시 설정하여 Amazon RDS 자동 백업을 다시 활성화합니다. 앞서 언급한 것처럼, Amazon RDS가 DB 인스턴스를 다시 시작하므로 잠시 작동이 중단되는 상황에 대비하십시오.

다음 예시에서는 AWS CLI modify-db-instance 명령을 실행하여 AcmeRDS DB 인스턴스에서 자동 백업을 설정하고 보존 기간을 1일로 설정합니다.

대상 LinuxmacOS, 또는Unix:

aws rds modify-db-instance \ --db-instance-identifier AcmeRDS \ --backup-retention-period 1 \ --apply-immediately

Windows의 경우:

aws rds modify-db-instance ^ --db-instance-identifier AcmeRDS ^ --backup-retention-period 1 ^ --apply-immediately
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.