

# DB クラスターのエクスポートタスクの作成
<a name="export-cluster-data.Exporting"></a>

エクスポートタスクを作成して、Aurora DB クラスターから Amazon S3 バケットにデータをエクスポートします。1 つの AWS アカウント につき、最大 5 つの DB クラスターエクスポートタスクを同時に実行できます。

**注記**  
データベースのタイプとサイズによっては、DB クラスターデータのエクスポートに時間がかかることがあります。エクスポートタスクは、まず、データベース全体をクローニングおよびスケーリングしてから、Amazon S3 にデータを抽出します。このフェーズでのタスクの進捗状況は、[**起動中**] と表示されます。タスクが S3 へのデータのエクスポートに切り替わると、進捗状況は [**進行中**] と表示されます。  
エクスポートが完了するまでにかかる時間は、データベースに格納されているデータによって異なります。例えば、数値のプライマリキーまたはインデックス列が適切に配信されているテーブルは、最も速くエクスポートされます。テーブルにパーティション化に適した列が含まれていない場合や文字列ベースの列にインデックスが 1 つしかない場合、エクスポートには低速なシングルスレッド処理が使用されるため、処理に時間がかかります。

AWS マネジメントコンソール、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>

**[Export to Amazon S3]** (Amazon S3 へのエクスポート) コンソールオプションは、Amazon S3 にエクスポートできる DB クラスターに対してのみ表示されます。DB クラスターは、次の理由により、エクスポートに使用できない場合があります。
+ DB エンジンが S3 エクスポートでサポートされていない。
+ DB クラスターのバージョンが S3 エクスポートでサポートされていない。
+ DB クラスターが作成された AWS リージョンで S3 エクスポートがサポートされていない。

**DB クラスターデータをエクスポートするには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、**データベース**を選択します。

1. データをエクスポートする DB クラスターを選択します。

1. [**アクション**] で、[**Amazon S3 にエクスポート**] を選択します。

   [**EAmazon S3 にエクスポート**] ウィンドウが表示されます。

1. [**エクスポート識別子**] に、エクスポートタスクを識別する名前を入力します。この値は、S3 バケットで作成されるファイルの名前としても使用されます。

1. エクスポートするデータを選択します。
   + **[All]** (すべて) を選択すると、DB クラスター内のすべてのデータがエクスポートされます。
   + **[Partial]** (部分的) を選択すると、DB クラスターの特定部分がエクスポートされます。クラスターのどの部分をエクスポートするかを特定するには、**[Identifiers]** (識別子) に 1 つ以上のデータベース、スキーマ、またはテーブルをスペースで区切って入力します。

     次の形式を使用します。

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

     次に例を示します。

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

1. [**S3 バケット**] で、エクスポート先のバケットを選択します。

   エクスポートされたデータを S3 バケット内のフォルダパスに割り当てるには、[**S3 プレフィックス**] にオプションのパスを入力します。

1. **IAM ロール** の場合は、選択した S3 バケットへの書き込みアクセスを許可するロールを選択するか、新しいロールを作成します。
   + 「[IAM ロールを使用した Amazon S3 バケットへのアクセスの提供](export-cluster-data.Setup.md#export-cluster-data.SetupIAMRole)」のステップに従ってロールを作成した場合は、そのロールを選択します。
   + 選択した S3 バケットへの書き込みアクセス権を付与するロールを作成しなかった場合は、**[Create a new role]** (新しいロールの作成) を選択して、ロールを自動的に作成します。次に、**[IAM role name]** (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-cluster-export* という名前が付けられ、データを *amzn-s3-demo-destination-bucket* という名前の S3 バケットにエクスポートします。

**Example**  
Linux、macOS、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`