

# Amazon RDS의 단일 AZ DB 인스턴스에 대한 DB 스냅샷 생성
<a name="USER_CreateSnapshot"></a>

Amazon RDS는 개별 데이터베이스가 아닌 전체 DB 인스턴스를 백업하여 DB 인스턴스의 스토리지 볼륨 스냅샷을 생성합니다. 단일 AZ DB 인스턴스에서 이 DB 스냅샷을 생성하면 잠시 I/O가 중단되는데, 해당 DB 인스턴스의 크기 및 클래스에 따라 대체로 몇 초에서 몇 분 정도 지속됩니다. MariaDB, MySQL, Oracle 및 PostgreSQL의 경우, 다중 AZ 배포에 대한 백업 시 기본 AZ에서는 I/O 작업이 중단되지 않습니다. 백업이 예비 복제본으로부터 수행되기 때문입니다. SQL Server의 경우, 다중 AZ 배포에 대한 백업 도중 I/O 작업이 일시적으로 중단됩니다.

DB 스냅샷을 생성할 때는 백업할 DB 인스턴스를 구분한 다음 나중에 복구할 수 있도록 DB 스냅샷을 명명해야 합니다. 스냅샷을 생성하는 데 걸리는 시간은 데이터베이스 크기에 따라 다릅니다. 스냅샷에는 전체 스토리지 볼륨이 포함되기 때문에 임시 파일 같은 파일들의 크기가 스냅샷을 생성하는 데 걸리는 시간에 영향을 미치기도 합니다.

**참고**  
DB 스냅샷을 생성하려면 DB 인스턴스가 `available` 상태여야 합니다.  
PostgreSQL DB 인스턴스의 경우 로그되지 않은 테이블의 데이터가 스냅샷에서 복원되지 않을 수 있습니다. 자세한 내용은 [PostgreSQL로 작업하기 위한 모범 사례](CHAP_BestPractices.md#CHAP_BestPractices.PostgreSQL) 섹션을 참조하세요.

자동 백업과 달리 수동 스냅샷에는 백업 보존 기간이 적용되지 않습니다. 스냅샷이 만료되지 않습니다.

MariaDB, MySQL 및 PostgreSQL 데이터를 매우 장기간 백업하려면 스냅샷 데이터를 Amazon S3로 내보내는 것이 좋습니다. DB 엔진의 메이저 버전이 더 이상 지원되지 않는 경우에는 스냅샷에서 해당 버전으로 복원할 수 없습니다. 자세한 내용은 [Amazon S3 for Amazon RDS로 DB 스냅샷 데이터 내보내기](USER_ExportSnapshot.md) 섹션을 참조하세요.

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 DB 스냅샷을 생성할 수 있습니다.

## 콘솔
<a name="USER_CreateSnapshot.CON"></a>

**DB 스냅샷을 생성하려면**

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

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

   [**수동 스냅샷(Manual snapshots)**] 목록이 나타납니다.

1. **스냅샷 생성(Take Snapshot)**을 선택합니다.

   [**DB 스냅샷 생성(Take DB Snapshot)**] 창이 나타납니다.  
![\[DB 스냅샷을 생성합니다.\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/take_db_snapshot.png)

1. 스냅샷을 생성할 **DB 인스턴스**를 선택합니다.

1. **스냅샷 이름**을 입력합니다.

1. **스냅샷 생성(Take Snapshot)**을 선택합니다.

**수동 스냅샷** 목록이 나타나고 새로운 DB 스냅샷 상태가 `Creating`으로 표시됩니다. 스냅샷 상태가 `Available`이 되면 스냅샷 생성 시간을 볼 수 있습니다.

## AWS CLI
<a name="USER_CreateSnapshot.CLI"></a>

AWS CLI를 사용하여 DB 스냅샷을 생성할 때는 백업할 DB 인스턴스를 식별한 후 나중에 복구할 수 있도록 DB 스냅샷에 이름을 지정해야 합니다. 이를 위해서는 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-snapshot.html) 명령을 다음 파라미터와 함께 사용하면 됩니다.
+ `--db-instance-identifier`
+ `--db-snapshot-identifier`

이번 예에서는 *mydbinstance*라는 이름의 DB 인스턴스에서 *mydbsnapshot*라는 이름의 DB 스냅샷을 생성합니다.

**Example**  
대상 LinuxmacOS, 또는Unix:  

```
1. aws rds create-db-snapshot \
2.     --db-instance-identifier mydbinstance \
3.     --db-snapshot-identifier mydbsnapshot
```
Windows의 경우:  

```
1. aws rds create-db-snapshot ^
2.     --db-instance-identifier mydbinstance ^
3.     --db-snapshot-identifier mydbsnapshot
```

## RDS API
<a name="USER_CreateSnapshot.API"></a>

Amazon RDS API를 사용하여 DB 스냅샷을 생성할 때는 백업할 DB 인스턴스를 식별한 후 나중에 복구할 수 있도록 DB 스냅샷에 이름을 지정해야 합니다. 이를 위해서는 Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBSnapshot.html) 명령을 다음 파라미터와 함께 사용하면 됩니다.
+ `DBInstanceIdentifier`
+ `DBSnapshotIdentifier`