

# スナップショットエクスポートタスクの作成
<a name="aurora-export-snapshot.Exporting"></a>

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

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

AWS マネジメントコンソール、AWS CLI、または RDS API を使用して DB スナップショットを Amazon S3 にエクスポートできます。

Lambda 関数を使用してスナップショットをエクスポートする場合は、Lambda 関数ポリシーに `kms:DescribeKey` アクションを追加します。詳細については、「[AWS Lambda のアクセス許可](https://docs.aws.amazon.com/lambda/latest/dg/lambda-permissions.html)」を参照してください。

## コンソール
<a name="aurora-export-snapshot.ExportConsole"></a>

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

**DB スナップショットをエクスポートするには**

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

1. ナビゲーションペインで、[**スナップショット**] を選択します。

1. タブから、エクスポートするスナップショットのタイプを選択します。

1. スナップショットのリストで、エクスポートするスナップショットを選択します。

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

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

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

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

     次の形式を使用します。

     ```
     {{database}}[.{{schema}}][.{{table}}] {{database2}}[.{{schema2}}][.{{table2}}] ... {{database}}n[.{{schema}}n][.{{table}}n]
     ```

     次に例を示します。

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

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

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

1. **IAM ロール** の場合は、選択した S3 バケットへの書き込みアクセスを許可するロールを選択するか、新しいロールを作成します。
   + 「[IAM ロールを使用した Amazon S3 バケットへのアクセスの提供](aurora-export-snapshot.Setup.md#aurora-export-snapshot.SetupIAMRole)」のステップに従ってロールを作成した場合は、そのロールを選択します。
   + 選択した S3 バケットへの書き込みアクセス権を付与するロールを作成しなかった場合は、**[Create a new role]** (新しいロールの作成) を選択して、ロールを自動的に作成します。次に、**[IAM role name]** (IAM ロール名) にロールの名前を入力します。

1. [**AWS KMS key**] で、エクスポートされたデータの暗号化に使用するキーの ARN を入力します。

1. [**Amazon S3 にエクスポート**] を選択します。

## AWS CLI
<a name="aurora-export-snapshot.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` 
+ `--s3-bucket-name` 
+ `--iam-role-arn` 
+ `--kms-key-id` 

以下の例では、スナップショットエクスポートタスクには {{my-snapshot-export}} という名前が付けられ、スナップショットを {{amzn-s3-demo-destination-bucket}} という名前の S3 バケットにエクスポートします。

**Example**  
Linux、macOS、Unix の場合:  

```
1. aws rds start-export-task \
2.     --export-task-identifier {{my-snapshot-export}} \
3.     --source-arn arn:aws:rds:{{AWS_Region}}:123456789012:snapshot:{{snapshot-name}} \
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-snapshot-export}} ^
3.     --source-arn arn:aws:rds:{{AWS_Region}}:123456789012:snapshot:{{snapshot-name}} ^
4.     --s3-bucket-name {{amzn-s3-demo-destination-bucket}} ^
5.     --iam-role-arn {{iam-role}} ^
6.     --kms-key-id {{my-key}}
```
サンプル出力を次に示します。  

```
{
    "Status": "STARTING", 
    "IamRoleArn": "iam-role", 
    "ExportTime": "2019-08-12T01:23:53.109Z", 
    "S3Bucket": "{{amzn-s3-demo-destination-bucket}}", 
    "PercentProgress": 0, 
    "KmsKeyId": "my-key", 
    "ExportTaskIdentifier": "my-snapshot-export", 
    "TotalExtractedDataInGB": 0, 
    "TaskStartTime": "2019-11-13T19:46:00.173Z", 
    "SourceArn": "arn:aws:rds:AWS_Region:123456789012:snapshot:snapshot-name"
}
```
スナップショットのエクスポート先である S3 バケット内のフォルダパスを指定するには、[start-export-task](https://docs.aws.amazon.com/cli/latest/reference/rds/start-export-task.html) コマンドに `--s3-prefix` オプションを含めます。

## RDS API
<a name="aurora-export-snapshot.ExportAPI"></a>

Amazon RDS API を使用して DB スナップショットを Amazon S3 にエクスポートするには、以下の必須パラメータを指定して [StartExportTask](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartExportTask.html) オペレーションを使用します。
+ `ExportTaskIdentifier`
+ `SourceArn`
+ `S3BucketName`
+ `IamRoleArn`
+ `KmsKeyId`