

# DB 클러스터 내보내기 작업 생성
<a name="export-cluster-data.Exporting"></a>

내보내기 작업을 생성하여 Aurora DB 클러스터의 데이터를 Amazon S3 버킷으로 내보냅니다. AWS 계정당 최대 5개의 DB 클러스터 내보내기 작업을 동시에 수행할 수 있습니다.

**참고**  
DB 클러스터 데이터 내보내기는 데이터베이스 유형 및 크기에 따라 다소 시간이 걸릴 수 있습니다. 내보내기 작업은 먼저 전체 데이터베이스를 복제하고 크기를 조정한 다음 Amazon S3로 데이터를 추출합니다. 이 단계 동안의 작업 진행 상황은 **Starting**으로 표시됩니다. 작업이 S3로 데이터 내보내기로 전환되면 진행 상황이 **진행 중(In progress)**으로 표시됩니다.  
내보내기를 완료하는 데 걸리는 시간은 데이터베이스에 저장된 데이터에 따라 다릅니다. 예를 들어 숫자로 된 기본 키 또는 인덱스 열이 잘 분산되어 있는 테이블은 가장 빠르게 내보냅니다. 분할에 적합한 열을 포함하지 않는 테이블과 문자열 기반 열에 인덱스가 하나만 있는 테이블은 내보내기가 더 느린 단일 스레드 프로세스를 사용하기 때문에 더 오래 걸립니다.

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 DB 클러스터 데이터를 Amazon S3로 내보낼 수 있습니다.

Lambda 함수를 사용하여 DB 클러스터를 내보내는 경우 Lambda 함수 정책에 `kms:DescribeKey` 작업을 추가합니다. 자세한 내용은 [AWS Lambda 권한](https://docs.aws.amazon.com/lambda/latest/dg/lambda-permissions.html)을 참조하세요.

## 콘솔
<a name="export-cluster-data.ExportConsole"></a>

**Amazon S3로 내보내기** 콘솔 옵션은 Amazon S3로 내보낼 수 있는 DB 클러스터에만 나타납니다. 다음과 같은 이유로 DB 클러스터를 내보내기에 사용하지 못할 수 있습니다.
+ DB 엔진이 S3 내보내기를 지원하지 않습니다.
+ DB 클러스터 버전이 S3 내보내기에 지원되지 않습니다.
+ DB 클러스터가 생성된 AWS 리전에서 S3 내보내기가 지원되지 않습니다.

**DB 클러스터 데이터를 내보내는 방법**

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

1. 탐색 창에서 **Databases**(데이터베이스)를 선택합니다.

1. 데이터를 내보낼 DB 클러스터를 선택합니다.

1. **작업**에서 **Export to Amazon S3(Amazon S3로 내보내기)**를 선택합니다.

   **Export to Amazon S3(Amazon S3로 내보내기)** 창이 나타납니다.

1. **Export identifier(내보내기 식별자)**에 내보내기 작업을 식별할 이름을 입력합니다. 이 값은 S3 버킷에 생성된 파일의 이름에도 사용됩니다.

1. 내보낼 데이터를 선택합니다.
   + DB 클러스터의 모든 데이터를 내보내려면 **All**(모두)을 선택합니다.
   + DB 클러스터의 특정 부분을 내보내려면 **Partial**(부분)을 선택합니다. 클러스터에서 내보낼 부분을 식별하려면 **Identifiers**(식별자)에 공백으로 구분된 하나 이상의 데이터베이스, 스키마 또는 테이블을 입력합니다.

     다음 형식을 사용합니다.

     ```
     database[.schema][.table] database2[.schema2][.table2] ... databasen[.scheman][.tablen]
     ```

     예:

     ```
     mydatabase mydatabase2.myschema1 mydatabase2.myschema2.mytable1 mydatabase2.myschema2.mytable2
     ```

1. **S3 버킷**에서 내보낼 버킷을 선택합니다.

   내보낸 데이터를 S3 버킷의 폴더 경로에 할당하려면 **S3 prefix(S3 접두사)**에 선택적 경로를 입력합니다.

1. **IAM 역할**에서 선택한 S3 버킷에 대한 쓰기 액세스 권한을 부여하는 역할을 선택하거나 새 역할을 생성합니다.
   + [IAM 역할을 사용하여 Amazon S3 버킷에 대한 액세스 권한 제공](export-cluster-data.Setup.md#export-cluster-data.SetupIAMRole)의 단계에 따라 역할을 생성한 경우에는 해당 역할을 선택합니다.
   + 선택한 S3 버킷에 대한 쓰기 액세스 권한을 부여하는 역할을 생성하지 않은 경우 **Create a new role**(새 역할 생성)을 선택하여 역할을 자동으로 생성합니다. 그런 다음 **IAM 역할 이름**에 해당 역할의 이름을 입력합니다.

1. **KMS key**(KMS 키)에 내보낸 데이터를 암호화하는 데 사용할 키의 ARN을 입력합니다.

1. **Amazon S3로 내보내기**를 선택합니다.

## AWS CLI
<a name="export-cluster-data.ExportCLI"></a>

AWS CLI를 사용하여 DB 클러스터 데이터를 Amazon S3로 내보내려면 [start-export-task](https://docs.aws.amazon.com/cli/latest/reference/rds/start-export-task.html) 명령을 다음과 같은 필수 옵션과 함께 사용합니다.
+ `--export-task-identifier`
+ `--source-arn` – DB 클러스터의 Amazon 리소스 이름(ARN)입니다.
+ `--s3-bucket-name`
+ `--iam-role-arn`
+ `--kms-key-id`

다음 예에서 내보내기 작업의 이름은 *my\$1cluster\$1export*이고, 이 작업은 데이터를 *amzn-s3-demo-destination-bucket*이라는 S3 버킷으로 내보냅니다.

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

```
1. aws rds start-export-task \
2.     --export-task-identifier my-cluster-export \
3.     --source-arn arn:aws:rds:us-west-2:123456789012:cluster:my-cluster \
4.     --s3-bucket-name amzn-s3-demo-destination-bucket \
5.     --iam-role-arn iam-role \
6.     --kms-key-id my-key
```
Windows의 경우:  

```
1. aws rds start-export-task ^
2.     --export-task-identifier my-DB-cluster-export ^
3.     --source-arn arn:aws:rds:us-west-2:123456789012:cluster:my-cluster ^
4.     --s3-bucket-name amzn-s3-demo-destination-bucket ^
5.     --iam-role-arn iam-role ^
6.     --kms-key-id my-key
```
샘플 출력은 다음과 같습니다.  

```
{
    "ExportTaskIdentifier": "my-cluster-export",
    "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:my-cluster",
    "S3Bucket": "amzn-s3-demo-destination-bucket",
    "IamRoleArn": "arn:aws:iam:123456789012:role/ExportTest",
    "KmsKeyId": "my-key",
    "Status": "STARTING",
    "PercentProgress": 0,
    "TotalExtractedDataInGB": 0,
}
```
DB 클러스터 내보내기를 위해 S3 버킷에 폴더 경로를 제공하려면 [start-export-task](https://docs.aws.amazon.com/cli/latest/reference/rds/start-export-task.html) 명령에 `--s3-prefix` 옵션을 포함합니다.

## RDS API
<a name="export-cluster-data.ExportAPI"></a>

Amazon RDS API를 사용하여 DB 클러스터 데이터를 Amazon S3로 내보내려면 다음 필수 파라미터와 함께 [StartExportTask](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartExportTask.html) 작업을 사용합니다.
+ `ExportTaskIdentifier`
+ `SourceArn` – DB 클러스터의 ARN입니다.
+ `S3BucketName`
+ `IamRoleArn`
+ `KmsKeyId`