메뉴
Amazon Relational Database Service
사용 설명서 (API Version 2014-10-31)

백업 작업

Amazon RDS는 DB 인스턴스의 자동 백업을 생성하여 저장합니다. Amazon RDS는 개별 데이터베이스가 아닌 전체 DB 인스턴스를 백업하여 DB 인스턴스의 스토리지 볼륨 스냅샷을 생성합니다.

Amazon RDS는 DB 인스턴스 백업 기간 동안 DB 인스턴스의 자동 백업을 생성합니다. Amazon RDS는 사용자가 지정한 백업 보존 기간에 따라 DB 인스턴스의 자동 백업을 저장합니다. 필요할 경우 백업 보존 기간 중 어느 특정 시점으로든 데이터베이스를 복구할 수 있습니다.

자동 백업이 실행되려면 DB 인스턴스가 ACTIVE 상태여야 합니다. 데이터베이스가 다른 상태일 경우(예: STORAGE_FULL) 자동 백업이 실행되지 않습니다.

또한 수동으로 DB 스냅샷을 생성하여 DB 인스턴스를 백업할 수도 있습니다. DB 스냅샷 생성에 대한 자세한 정보는 DB 스냅샷 생성을(를) 참조하십시오.

자동 및 수동 DB 스냅샷을 모두 복사하고 수동 DB 스냅샷을 공유할 수 있습니다. DB 스냅샷 복사에 대한 자세한 정보는 DB 스냅샷 또는 DB 클러스터 스냅샷 복사 단원을 참조하십시오. DB 스냅샷 공유에 대한 자세한 정보는 DB 스냅샷 또는 DB 클러스터 스냅샷 공유 단원을 참조하십시오.

백업 스토리지

각 리전의 Amazon RDS 백업 스토리지는 해당 리전의 자동 백업 및 수동 DB 스냅샷으로 구성됩니다. 백업 스토리지는 해당 리전의 모든 인스턴스에 대한 데이터베이스 스토리지 합계와 동일합니다. DB 스냅샷을 다른 리전으로 이동하면 대상 리전의 백업 스토리지가 증가합니다. 백업 스토리지 요금에 대한 정보는 Amazon RDS 요금 단원을 참조하십시오.

DB 인스턴스를 삭제하면 모든 자동 백업이 삭제됩니다. DB 인스턴스를 삭제한 후에는 자동 백업을 복구할 수 없습니다. Amazon RDS가 DB 인스턴스를 삭제하기 전에 최종 DB 스냅샷을 생성하도록 선택한 경우 이 스냅샷을 사용하여 DB 인스턴스를 복구할 수 있습니다.

수동 스냅샷은 삭제되지 않습니다.

백업 기간

자동 백업은 기본 백업 기간 동안 매일 실행됩니다. 백업 시간이 백업 기간에 할당된 시간보다 오래 걸릴 경우 백업은 백업 기간이 종료한 후에도 완료 시까지 계속 실행됩니다. 백업 기간은 해당 DB 인스턴스에 대한 주간 유지 보수 기간과 겹칠 수 없습니다.

자동 백업 기간 중에 백업 프로세스가 시작될 때 스토리지 I/O가 일시적으로 중단될 수 있습니다(일반적으로 몇 초). 다중 AZ 배포에 대한 백업 시 지연 시간이 몇 분으로 증가할 수도 있습니다. MariaDB, MySQL, Oracle 및 PostgreSQL의 경우, 다중 AZ 배포에 대한 백업 시 기본 AZ에서는 I/O 작업이 중단되지 않습니다. 백업이 예비 복제본으로부터 수행되기 때문입니다. SQL Server의 경우, 다중 AZ 배포에 대한 백업 도중 I/O 작업이 일시적으로 중단됩니다.

DB 인스턴스를 만들 때 기본 백업 기간을 지정하지 않으면 Amazon RDS는 지역별 8시간 블록에서 임의로 선택하여 30분 동안 백업 기간을 할당합니다. 다음 표는 기본 백업 기간이 할당된 각 지역별 시간 블록 목록입니다.

리전 시간 블록
미국 서부(오레곤) 지역 06:00–14:00 UTC
미국 서부(캘리포니아 북부) 리전 06:00–14:00 UTC
미국 동부(오하이오) 리전 03:00–11:00 UTC
미국 동부(버지니아 북부) 지역 03:00–11:00 UTC
아시아 태평양(뭄바이) 리전 16:30–00:30 UTC
아시아 태평양(서울) 리전 13:00–21:00 UTC
아시아 태평양(싱가포르) 리전 14:00–22:00 UTC
아시아 태평양(시드니) 리전 12:00–20:00 UTC
아시아 태평양(도쿄) 리전 13:00–21:00 UTC
캐나다(중부) 리전 06:29–14:29 UTC
EU(프랑크푸르트) 리전 20:00–04:00 UTC
EU(아일랜드) 지역 22:00–06:00 UTC
EU(런던) 리전 06:00–14:00 UTC
남아메리카(상파울루) 리전 23:00–07:00 UTC
AWS GovCloud (US) 03:00–11:00 UTC

백업 보존 기간

또한 DB 인스턴스를 생성하면서 백업 보존 기간도 설정할 수 있습니다. 백업 보존 기간을 설정하지 않으면, 기본 백업 보존 기간은 Amazon RDS API나 AWS CLI로 DB 인스턴스 생성 시 1일이며 CLI Console로 DB 인스턴스 생성 시 7일이 됩니다. Amazon Aurora DB 클러스터의 경우, 기본 백업 보존 기간은 DB 클러스터 생성 방법과 상관없이 1일이 됩니다. DB 인스턴스를 생성한 후 백업 보존 기간을 수정할 수 있습니다. 백업 보존 기간은 1일에서 35일 사이로 설정할 수 있습니다. 또한 백업 보존 기간을 0으로 설정하면 자동 백업이 비활성화됩니다. 수동 스냅샷 한도(리전당 100개)는 자동 백업에 적용되지 않습니다.

중요

백업 보존 기간을 0에서 0이 아닌 값으로 또는 0이 아닌 값에서 0으로 변경할 경우 인스턴스가 중단됩니다.

자동 백업 비활성화

대용량의 데이터를 로드하는 등 특정 상황에서 자동 백업을 잠시 비활성화해야 하는 경우가 있습니다.

중요

특정 시점으로 복구가 어렵기 때문에 자동 복구의 비활성화는 최대한 자제하는 것이 좋습니다. DB 인스턴스 자동 백업을 비활성화하면 해당 인스턴스에 대한 기존 자동 백업이 모두 삭제됩니다. 자동 백업을 비활성화한 후 다시 활성화하면 자동 백업을 다시 활성화한 시점부터만 복구할 수 있습니다.

이 예시에서는 백업 보존 파라미터를 0으로 설정하여 DB 인스턴스 mydbinstance의 자동 백업을 비활성화하겠습니다.

AWS Management Console

자동 백업을 즉시 비활성화하는 방법

  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 [DB Instances]를 선택한 다음 변경하려는 DB 인스턴스를 선택합니다.

  3. [Instance Actions]를 선택하고 [Modify]를 선택합니다. [Modify DB Instance] 창이 나타납니다.

  4. [Backup Retention Period]에 대해 [0]을 선택합니다.

  5. [Apply Immediately]를 선택합니다.

  6. [Continue]를 선택합니다.

  7. 확인 페이지에서 [Modify DB Instance]를 선택하여 변경 내용을 저장하고 자동 백업을 비활성화합니다.

CLI

자동 백업을 즉시 비활성화하려면, modify-db-instance 명령을 사용하고 --apply-immediately를 사용하여 백업 보존 기간을 0으로 설정합니다.

다음은 자동 백업을 즉시 비활성화하는 예제입니다.

Linux, OS X, Unix의 경우:

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

Windows의 경우:

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

수정 사항이 적용되는 시점을 알아보려면 백업 보존 기간 값이 0이 되고, mydbinstance가 이용 가능한 상태가 될 때까지 DB 인스턴스에 대해 describe-db-instances를 호출합니다.

Copy
aws rds describe-db-instances --db-instance-identifier mydbinstance

API

자동 백업을 즉시 비활성화하려면 다음 파라미터를 사용하여 ModifyDBInstance 작업을 호출합니다.

  • DBInstanceIdentifier = mydbinstance

  • BackupRetentionPeriod = 0

Copy
https://rds.amazonaws.com/ ?Action=ModifyDBInstance &DBInstanceIdentifier=mydbinstance &BackupRetentionPeriod=0 &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2009-10-14T17%3A48%3A21.746Z &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

자동 백업 활성화

DB 인스턴스에 자동 백업이 활성화되어 있지 않더라도 언제든지 활성화할 수 있습니다. 백업 보존 기간을 0이 아닌 양수 값으로 설정하여 자동 백업을 활성화합니다. 자동 백업을 활성화하면 인스턴스가 중단되고 백업 파일이 바로 생성됩니다.

이 예시에서는 백업 보존 기간을 0이 아닌 다른 양수 값(여기서는 3)으로 설정하여 DB 인스턴스 mydbinstance의 자동 백업을 활성화하겠습니다.

AWS Management Console

자동 백업을 즉시 활성화하는 방법

  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 [DB Instances]를 선택한 다음 변경하려는 DB 인스턴스를 선택합니다.

  3. [Instance Actions]를 선택하고 [Modify]를 선택합니다. [Modify DB Instance] 페이지가 나타납니다.

  4. [Backup Retention Period]에 대해 0이 아닌 양수 값(예: 3)을 선택합니다.

  5. [Apply Immediately]를 선택합니다.

  6. [Continue]를 선택합니다.

  7. 확인 페이지에서 [Modify DB Instance]를 선택하여 변경 내용을 저장하고 자동 백업을 활성화합니다.

CLI

자동 백업을 즉시 활성화하려면, AWS CLI modify-db-instance 명령을 사용합니다.

여기서는 백업 보존 기간을 3일로 설정하여 자동 백업을 활성화하겠습니다.

다음 파라미터를 포함합니다.

  • --db-instance-identifier

  • --backup-retention-period

  • --apply-immediately 또는 --no-apply-immediately

Linux, OS X, Unix의 경우:

Copy
aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --backup-retention-period 3 \ --apply-immediately

Windows의 경우:

Copy
aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --backup-retention-period 3 ^ --apply-immediately

API

자동 백업을 즉시 활성화하려면, AWS CLI ModifyDBInstance 명령을 사용합니다.

여기서는 백업 보존 기간을 3일로 설정하여 자동 백업을 활성화하겠습니다.

다음 파라미터를 포함합니다.

  • DBInstanceIdentifier

  • BackupRetentionPeriod

  • ApplyImmediately = true

Copy
https://rds.amazonaws.com/ ?Action=ModifyDBInstance &DBInstanceIdentifier=mydbinstance &BackupRetentionPeriod=3 &ApplyImmediately=true &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2009-10-14T17%3A48%3A21.746Z &AWSAccessKeyId=<AWS Access Key ID> &Signature=<Signature>

지원되지 않는 MySQL 스토리지 엔진에 대한 자동 백업

MySQL DB 엔진을 사용하는 경우, 자동 백업이 InnoDB 스토리지 엔진에서만 지원됩니다. MyISAM 등의 다른 MySQL 스토리지 엔진에서 이러한 기능을 사용하는 경우 백업 복원 시에 작동이 불안정할 수 있습니다. 특히 MyISAM과 같은 스토리지 엔진은 안정적인 충돌 복구를 지원하지 않으므로 충돌 이벤트가 발생하는 경우 테이블이 손상될 수 있습니다. 이 같은 이유로 InnoDB 스토리지 엔진을 사용할 것을 권장합니다.

  • 기존 MyISAM 테이블을 InnoDB 테이블로 변환하려면 alter table 명령을 사용하면 됩니다. 예: ALTER TABLE table_name ENGINE=innodb, ALGORITHM=COPY;

  • MyISAM을 사용하는 경우 REPAIR 명령을 사용하여 충돌 후 손상된 테이블을 수동으로 복구할 수 있습니다(http://dev.mysql.com/doc/refman/5.5/en/repair-table.html 참조). 그러나 MySQL 문서에 기재된 바와 같이 데이터를 전부 복원하지 못할 수도 있습니다.

  • MyISAM 테이블을 복원하기 전에 테이블의 스냅샷을 생성하려면 다음과 같이 합니다.

    1. MyISAM 테이블의 모든 활동을 중지합니다(모든 세션 닫기).

      SHOW FULL PROCESSLIST 명령에서 반환되는 각 프로세스에 대해 mysql.rds_kill 명령을 호출하여 모든 세션을 닫을 수 있습니다.

    2. 각 MyISAM 테이블에 잠금 및 플러시를 수행합니다. 예를 들어, 다음 명령은 myisam_table1myisam_table2라는 두 테이블을 잠그고 플러시합니다.

      Copy
      mysql> FLUSH TABLES myisam_table, myisam_table2 WITH READ LOCK;
    3. DB 인스턴스의 DB 스냅샷을 만듭니다. 스냅샷을 완료하면 MyISAM 테이블에서 잠금을 해제하고 활동을 다시 시작합니다. 다음 명령을 사용하여 테이블의 잠금을 해제할 수 있습니다.

      Copy
      mysql> UNLOCK TABLES;

    이러한 단계를 통해 MyISAM에서 메모리에 저장된 데이터를 디스크로 강제 플러시하여 DB 스냅샷 복원 시 깨끗한 상태에서 시작할 수 있습니다. DB 스냅샷을 만드는 방법에 대한 자세한 내용은 DB 스냅샷 생성을(를) 참조하십시오.

지원되지 않는 MariaDB 스토리지 엔진에 대한 자동 백업

MariaDB DB 엔진을 사용하는 경우, 자동 백업이 XtraDB 스토리지 엔진에서만 지원됩니다. Aria 등의 다른 MariaDB 스토리지 엔진에서 이러한 기능을 사용하는 경우 백업 복원 시에 작동이 불안정할 수 있습니다. Aria가 충돌 안정성을 개선한 MyISAM 대체 스토리지 엔진이지만, 충돌 이벤트가 발생하는 경우 여전히 테이블이 손상될 수 있습니다. 이 같은 이유로 XtraDB 스토리지 엔진을 사용할 것을 권장합니다.

  • 기존 Aria 테이블을 XtraDB 테이블로 변환하려면 ALTER TABLE 명령을 사용하면 됩니다. 예: ALTER TABLE table_name ENGINE=xtradb, ALGORITHM=COPY;

  • Aria를 사용하는 경우 REPAIR TABLE 명령을 사용하여 충돌 후 손상된 테이블을 수동으로 복구할 수 있습니다. 자세한 내용은 http://mariadb.com/kb/en/mariadb/repair-table/을(를) 참조하십시오.

  • Aria 테이블을 복원하기 전에 테이블의 스냅샷을 생성하려면 다음과 같이 합니다.

    1. Aria 테이블의 모든 활동을 중지합니다(모든 세션 닫기).

    2. 각 Aria 테이블에 잠금 및 플러시를 수행합니다.

    3. DB 인스턴스의 DB 스냅샷을 만듭니다. 스냅샷을 완료하면 Aria 테이블에서 잠금을 해제하고 활동을 다시 시작합니다. 이러한 단계를 통해 Aria에서 메모리에 저장된 데이터를 디스크로 강제 플러시하여 DB 스냅샷 복원 시 깨끗한 상태에서 시작할 수 있습니다.

관련 주제