DB 스냅샷에서 복원 - Amazon Relational Database Service

DB 스냅샷에서 복원

이 섹션에서는 DB 스냅샷에서 복원하는 방법을 보여줍니다.

Amazon RDS는 개별 데이터베이스가 아닌 전체 DB 인스턴스를 백업하여 DB 인스턴스의 스토리지 볼륨 스냅샷을 생성합니다. DB 스냅샷에서 복원하여 새 DB 인스턴스를 생성할 수 있습니다. 복원할 DB 스냅샷의 이름을 입력한 다음 복원으로부터 생성된 새 DB 인스턴스의 이름을 입력하면 됩니다. DB 스냅샷에서 기존 DB 인스턴스로 복원할 수 없습니다. 복원할 때 새 DB 인스턴스가 생성됩니다.

복원된 DB 인스턴스는 available 상태가 되면 바로 사용할 수 있습니다. DB 인스턴스는 백그라운드에서 데이터를 계속 로드합니다. 이를 지연 로딩이라고 합니다.

아직 로드되지 않은 데이터에 액세스하는 경우, DB 인스턴스는 Amazon S3에서 요청된 데이터를 즉시 다운로드한 후, 백그라운드에서 데이터의 나머지 로드를 계속 진행합니다. 자세한 내용은 Amazon EBS 스냅샷을 참조하세요.

빠른 액세스가 필요한 테이블에 대한 지연 로딩의 영향을 완화하기 위해 SELECT *와 같은 전체 테이블 스캔과 관련된 작업을 수행할 수 있습니다. 이를 통해 Amazon RDS는 S3에서 백업된 모든 테이블 데이터를 다운로드할 수 있습니다.

DB 인스턴스를 복원하고 원본 DB 스냅샷과 다른 스토리지 유형을 사용할 수 있습니다. 이 경우 데이터를 새로운 스토리지 유형으로 마이그레이션하기 위해 추가 작업이 필요하기 때문에 복원 프로세스가 오래 걸립니다. 마그네틱 스토리지로 또는 스토리지에서 복원할 때 마이그레이션 프로세스의 속도가 가장 느립니다. 이는 마그네틱 스토리지에는 프로비저닝된 IOPS 또는 범용(SSD) 스토리지의 IOPS 기능이 없기 때문입니다.

DB 인스턴스 스냅샷에서 DB 인스턴스를 복원하기 위해 AWS CloudFormation을 사용할 수 있습니다. 자세한 내용은 AWS CloudFormation 사용 설명서AWS::RDS::DBInstance를 참조하세요.

참고

공유되고 동시에 암호화된 DB 스냅샷에서는 DB 인스턴스를 복원할 수 없습니다. 대신 DB 스냅샷의 사본을 만들어 거기에서 DB 인스턴스를 복원할 수 있습니다. 자세한 내용은 DB 스냅샷 복사 단원을 참조하십시오.

RDS 추가 지원 버전을 사용하여 DB 인스턴스를 복원하는 방법에 대한 자세한 내용은 Amazon RDS 추가 지원이 포함된 DB 인스턴스 또는 다중 AZ DB 클러스터 복원 섹션을 참조하세요.

파라미터 그룹 고려 사항

복원된 DB 인스턴스를 올바른 파라미터 그룹과 연결할 수 있도록 생성한 DB 스냅샷에 대한 DB 파라미터 그룹을 유지하는 것이 좋습니다.

기본 DB 파라미터 그룹은 다른 그룹을 선택하지 않는 한 복원된 인스턴스와 연결됩니다. 기본 파라미터 그룹에서는 사용자 정의 파라미터 설정을 사용할 수 없습니다.

DB 인스턴스를 복원할 때 파라미터 그룹을 지정할 수 있습니다.

DB 파라미터 그룹에 대한 자세한 내용은 파라미터 그룹 작업 단원을 참조하십시오.

보안 그룹 고려 사항

DB 인스턴스를 복원할 때 다른 항목을 선택하지 않는 한 기본 Virtual Private Cloud(VPC), DB 서브넷 그룹 및 VPC 보안 그룹이 복원된 인스턴스와 연결됩니다.

  • Amazon RDS 콘솔을 사용하는 경우 사용자 지정 VPC 보안 그룹을 지정하여 인스턴스와 연결하거나 새 VPC 보안 그룹을 생성할 수 있습니다.

  • AWS CLI를 사용 중이라면 restore-db-instance-from-db-snapshot 명령에 --vpc-security-group-ids 옵션을 포함하여 인스턴스에 연결할 사용자 지정 VPC 보안 그룹을 지정할 수 있습니다.

  • Amazon RDS API를 사용 중이라면 VpcSecurityGroupIds.VpcSecurityGroupId.N 작업에 RestoreDBInstanceFromDBSnapshot 파라미터를 포함할 수 있습니다.

복원이 완료되고 새 DB 인스턴스를 사용할 수 있게 되면 DB 인스턴스를 수정하여 VPC 설정을 변경할 수도 있습니다. 자세한 내용은 Amazon RDS DB 인스턴스 수정 단원을 참조하십시오.

옵션 그룹 고려 사항

DB 인스턴스를 복원할 경우 기본 DB 옵션 그룹은 대부분의 경우 복원된 DB 인스턴스와 연결됩니다.

원본 DB 인스턴스가 영구 또는 영구 옵션이 포함된 옵션 그룹과 연결된 경우는 예외입니다. 예를 들어 원본 DB 인스턴스가 Oracle Transparent Data Encryption(TDE)을 사용하는 경우 복원된 DB 인스턴스는 TDE 옵션이 있는 옵션 그룹을 사용해야 합니다.

DB 인스턴스를 다른 VPC로 복원하는 경우 다음 중 하나를 수행하여 DB 옵션 그룹을 할당해야 합니다.

  • 해당 VPC 그룹의 기본 옵션 그룹을 인스턴스에 할당합니다.

  • 해당 VPC에 연결된 다른 옵션 그룹을 할당합니다.

  • 새 옵션 그룹을 생성하여 해당 DB 인스턴스에 배정. Oracle TDE와 같은 지속적 또는 영구적 옵션의 경우 지속적 또는 영구적 옵션을 포함하는 새 옵션 그룹을 생성해야 합니다.

DB 옵션 그룹에 대한 자세한 내용은 옵션 그룹 작업 섹션을 참조하세요.

리소스 태깅 고려 사항

DB 스냅샷에서 DB 인스턴스를 복원할 때 RDS는 새 태그를 지정하는지 여부를 확인합니다. 그렇다면 새 태그가 복원된 DB 인스턴스에 추가됩니다. 새 태그가 없는 경우 RDS는 스냅샷 생성 시 원본 DB 인스턴스의 태그를 복원된 DB 인스턴스에 추가합니다.

자세한 내용은 DB 인스턴스 스냅샷에 태그 복사 단원을 참조하십시오.

Db2 고려 사항

BYOL 모델에서는 RDS for Db2 DB 인스턴스를 사용자 IBM Site ID 및 사용자 IBM Customer ID가 포함된 사용자 지정 파라미터 그룹과 연결해야 합니다. 그렇지 않으면 스냅샷에서 DB 인스턴스를 복원하려는 시도가 실패합니다. 자세한 내용은 기존 보유 라이선스 사용rdsadmin.restore_database 단원을 참조하세요.

Microsoft SQL Server 고려 사항

RDS for Microsoft SQL Server DB 스냅샷을 새 인스턴스로 복원할 때에는 항상 스냅샷과 동일한 버전으로 복원할 수 있습니다. 경우에 따라서는 DB 인스턴스의 버전을 변경할 수도 있습니다. 다음은 버전을 변경할 때 적용되는 제한 사항입니다.

  • DB 스냅샷에는 새 버전에 할당되는 스토리지가 충분히 있어야 합니다.

  • 다음 버전 변경만이 지원됩니다.

    • Standard Edition에서 Enterprise Edition으로 변경

    • Web Edition에서 Standard Edition 또는 Enterprise Edition으로 변경

    • Express Edition에서 Web Edition, Standard Edition 또는 Enterprise Edition으로 변경

스냅샷을 복원하여 지원되지 않는 새 버전으로 변경할 경우, 기본 백업과 복원 기능을 사용할 수 있습니다. SQL Server는 데이터베이스에서 활성화된 SQL Server 기능을 기반으로 데이터베이스가 새 버전과 호환되는지 여부를 확인합니다. 자세한 내용은 기본 백업 및 복원 기능을 사용하여 SQL Server 데이터베이스 가져오기 및 내보내기 섹션을 참조하세요.

Oracle Database 고려 사항

DB 스냅샷에서 Oracle 데이터베이스를 복원할 때는 다음 사항을 고려하세요.

  • DB 스냅샷을 복원하기 전에 이후 Oracle 데이터베이스 릴리스로 업그레이드할 수 있습니다. 자세한 내용은 Oracle DB 스냅샷 업그레이드 단원을 참조하십시오.

  • 단일 테넌트 구성을 사용하는 CDB 인스턴스의 스냅샷을 복원하는 경우 PDB 이름을 변경할 수 있습니다. CDB 인스턴스가 다중 테넌트 구성을 사용하는 경우 PDB 이름을 변경할 수 없습니다. 자세한 내용은 CDB 백업 및 복원 단원을 참조하십시오.

  • CDB 이름은 항상 RDSCDB이며 변경할 수 없습니다. 이 CDB 이름은 모든 CDB 인스턴스에서 동일합니다.

  • DB 스냅샷에서는 테넌트 데이터베이스와 직접 상호 작용할 수 없습니다. 다중 테넌트 구성을 사용하는 CDB 인스턴스의 스냅샷을 복원하는 경우 포함된 테넌트 데이터베이스를 모두 복원하는 것입니다. describe-db-snapshot-tenant-database를 사용하여 복원하기 전에 DB 스냅샷 내의 테넌트 데이터베이스를 검사할 수 있습니다.

  • Oracle GoldenGate를 사용하는 경우 항상 compatible 파라미터를 포함하는 파라미터 그룹을 유지하십시오. DB 스냅샷에서 DB 인스턴스를 복원하는 경우 compatible 값 이상을 가진 파라미터 그룹을 지정합니다.

  • DB 스냅샷을 복원할 때 데이터베이스 이름을 변경하도록 선택할 수 있습니다. 온라인 redo 로그의 총 크기가 20GB를 초과하는 경우 RDS는 온라인 redo 로그 크기를 기본 설정인 512MB(4x128MB)로 재설정할 수 있습니다. 크기가 작을수록 적절한 시간 내에 복원 작업을 완료할 수 있습니다. 나중에 온라인 redo 로그를 다시 생성하고 크기를 변경할 수 있습니다.

스냅샷에서 복원

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 DB 스냅샷에서 DB 인스턴스를 복원할 수 있습니다.

참고

DB 인스턴스 복원 시 스토리지 양을 줄일 수 없습니다. 할당된 스토리지를 늘릴 경우, 10% 이상 늘려야 합니다. 이 값을 10% 미만으로 늘리면 오류가 발생합니다. RDS for SQL Server DB 인스턴스를 복원할 때는 할당된 스토리지를 늘릴 수 없습니다.

DB 스냅샷에서 DB 인스턴스를 복원하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 [Snapshots]를 선택합니다.

  3. 복원 원본으로 사용할 DB 스냅샷을 선택합니다.

  4. 작업에서 스냅샷 복원을 선택합니다.

  5. 스냅샷 복원(Restore snapshot) 페이지의 DB 인스턴스 식별자(DB instance identifier)에 복원된 DB 인스턴스의 이름을 입력합니다.

  6. 할당된 스토리지 크기와 같은 다른 설정을 지정합니다.

    각 설정에 대한 자세한 내용은 DB 인스턴스에 대한 설정 단원을 참조하세요.

  7. [DB 인스턴스 복원(Restore DB instance)]을 선택합니다.

DB 스냅샷에서 DB 인스턴스를 복원하려면 AWS CLI 명령 restore-db-instance-from-db-snapshot을 사용합니다.

이 예에서는 mydbsnapshot이라는 이전에 생성된 DB 스냅샷에서 복원합니다. 그리고 mynewdbinstance라는 새 DB 인스턴스로 복원해야 합니다. 이 예에서는 할당된 스토리지 크기도 설정합니다.

다른 설정을 지정할 수 있습니다. 각 설정에 대한 자세한 내용은 DB 인스턴스에 대한 설정 단원을 참조하세요.

Linux, macOS, Unix:

aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifier mynewdbinstance \ --db-snapshot-identifier mydbsnapshot \ --allocated-storage 100

Windows의 경우:

aws rds restore-db-instance-from-db-snapshot ^ --db-instance-identifier mynewdbinstance ^ --db-snapshot-identifier mydbsnapshot ^ --allocated-storage 100

다음과 비슷한 출력이 반환됩니다.

DBINSTANCE mynewdbinstance db.t3.small MySQL 50 sa creating 3 n 8.0.28 general-public-license

DB 스냅샷에서 DB 인스턴스를 복원하려면 Amazon RDS API 함수 RestoreDBInstanceFromDBSnapshot을 다음 파라미터와 함께 호출합니다.

  • DBInstanceIdentifier

  • DBSnapshotIdentifier