

# Amazon S3 への DB クラスターデータのエクスポート
<a name="export-cluster-data"></a>

ライブの Amazon Aurora DB クラスターから Amazon S3 バケットにデータをエクスポートできます。エクスポートプロセスはバックグラウンドで実行されるため、アクティブな DB クラスターのパフォーマンスには影響しません。

デフォルトでは、DB クラスター内のすべてのデータがエクスポートされます。ただし、特定のデータベース、スキーマ、またはテーブルのセットをエクスポートすることもできます。

Amazon Aurora は DB クラスターをクローンして、クローンからデータを抽出し、そのデータを Amazon S3 バケットに保存します。データは Apache Parquet 形式で一貫して圧縮され、保存されます。個々の Parquet ファイルのサイズは通常、1～10 MB です。

Aurora MySQL バージョン 2 とバージョン 3 のスナップショットデータをエクスポートすることで得られる高速パフォーマンスは、DB クラスターデータのエクスポートには当てはまりません。詳細については、「[Amazon S3 への DB クラスタースナップショットデータのエクスポート](aurora-export-snapshot.md)」を参照してください。

エクスポートするのがすべてのデータなのか、部分的なデータなのかに関係なく、DB クラスター全体をエクスポートすると課金されます。詳細については、「[Amazon Aurora 料金](https://aws.amazon.com/rds/aurora/pricing/)」ページを参照してください。

データをエクスポートすると、Amazon Athena や Amazon Redshift Spectrum などのツールを使用して、エクスポートしたデータを直接分析できます。Athena を使用して Parquet データを読み取る方法の詳細については、*Amazon Athena ユーザーガイド* の [Parquet SerDe](https://docs.aws.amazon.com/athena/latest/ug/parquet-serde.html) を参照してください。Redshift Spectrum を使用して Parquet データを読み取る方法の詳細については、[Amazon Redshift Database デベロッパーガイド](https://docs.aws.amazon.com/redshift/latest/dg/copy-usage_notes-copy-from-columnar.html)の「*列指向データ形式からの COPY*」を参照してください。

機能の可用性とサポートは、各データベースエンジンの特定のバージョンと AWS リージョン によって異なります。S3 への DB クラスターデータのエクスポートのバージョンとリージョンの可用性の詳細については、「[Amazon S3 へのクラスターデータエクスポートでサポートされているリージョンと Aurora DB エンジン](Concepts.Aurora_Fea_Regions_DB-eng.Feature.ExportClusterToS3.md)」を参照してください。

次のプロセスを使用して、DB クラスターデータを Amazon S3 バケットにエクスポートします。詳細については、次のセクションを参照してください。

**DB クラスターデータのエクスポートの概要**

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

1. Amazon S3 バケットへのアクセスを設定します。

   *バケット*とは、Amazon S3 オブジェクトまたはファイルのコンテナです。バケットにアクセスするための情報を指定するには、次のステップに従います。

   1. DB クラスターデータのエクスポート先の S3 バケットを特定します。S3 バケットは DB クラスターと同じ AWS リージョンにある必要があります。詳細については、「[エクスポート先の Amazon S3 バケットの特定](export-cluster-data.Setup.md#export-cluster-data.SetupBucket)」を参照してください。

   1. DB クラスターエクスポートタスクによる S3 バケットへのアクセス権を付与する AWS Identity and Access Management (IAM) ロールを作成します。詳細については、「[IAM ロールを使用した Amazon S3 バケットへのアクセスの提供](export-cluster-data.Setup.md#export-cluster-data.SetupIAMRole)」を参照してください。

1. サーバー側の暗号化用の対称暗号化 AWS KMS key を作成します。KMS キーは、エクスポートデータを S3 に書き込むときに、AWS KMS サーバー側の暗号化を設定するために、クラスターエクスポートタスクによって使用されます。

   KMS キーポリシーには、`kms:CreateGrant` と `kms:DescribeKey` の両方のアクセス許可を含める必要があります。Amazon Aurora での KMS キーの使用方法の詳細については、「[AWS KMS key 管理](Overview.Encryption.Keys.md)」を参照してください。

   KMS キーポリシーに deny ステートメントがある場合は、必ず AWS サービスプリンシパル `export.rds.amazonaws.com` を明示的に除外してください。

   AWSアカウント内で KMS キーを使用することも、クロスアカウント KMS キーを使用することもできます。詳細については、「[クロスアカウント AWS KMS key を使用する](aurora-export-snapshot.Setup.md#aurora-export-snapshot.CMK)」を参照してください。

1. コンソールまたは `start-export-task` CLI コマンドを使用して、DB クラスターを Amazon S3 にエクスポートします。詳細については、「[DB クラスターのエクスポートタスクの作成](export-cluster-data.Exporting.md)」を参照してください。

1. Amazon S3 バケット内のエクスポートされたデータにアクセスするには、*Amazon Simple Storage Service ユーザーガイド*の「[オブジェクトのアップロード、ダウンロード、管理](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-download-objects.html)」を参照してください。

以下のセクションで、DB クラスターのエクスポートタスクのセットアップ、エクスポート、モニタリング、キャンセル、トラブルシューティングについて説明します。

**Topics**
+ [DB クラスターのエクスポートに関する考慮事項](export-cluster-data.Considerations.md)
+ [Amazon S3 バケットへのアクセスを設定する](export-cluster-data.Setup.md)
+ [DB クラスターのエクスポートタスクの作成](export-cluster-data.Exporting.md)
+ [DB クラスターエクスポートタスクのモニタリング](export-cluster-data.Monitoring.md)
+ [DB クラスターエクスポートタスクのキャンセル](export-cluster-data.Canceling.md)
+ [DB クラスターのエクスポートのトラブルシューティング](export-cluster-data.Troubleshooting.md)

# DB クラスターのエクスポートに関する考慮事項
<a name="export-cluster-data.Considerations"></a>

以下のセクションでは、DB クラスターデータを Amazon S3 にエクスポートする際の制限、ファイル命名規則、データ変換とストレージについて説明します。

**Topics**
+ [制約事項](#export-cluster-data.Limits)
+ [ファイル命名規則](#export-cluster-data.FileNames)
+ [データ変換と保存形式](#export-cluster-data.data-types)

## 制約事項
<a name="export-cluster-data.Limits"></a>

DB クラスターデータの Amazon S3 へのエクスポートには、次の制限があります。
+ 同じ DB クラスターに対して複数のエクスポートタスクを同時に実行することはできません。これは、フルエクスポートと部分エクスポートの両方に当てはまります。
+ 1 つの AWS アカウント につき、最大 5 つの DB スナップショットエクスポートタスクを同時に実行できます。
+ Aurora Serverless v1 DB クラスターは、S3 へのエクスポートをサポートしていません。
+ Aurora MySQL および Aurora PostgreSQL は、プロビジョニングされたエンジンモードでのみ S3 へのエクスポートをサポートします。
+ S3 へのエクスポートでは、コロン (:) を含む S3 プレフィックスをサポートしていません。
+ S3 ファイルパスの次の文字は、エクスポート時にアンダースコア (\$1) に変換されます。

  ```
  \ ` " (space)
  ```
+ データベース、スキーマ、またはテーブルの名前に次の文字以外の文字が含まれている場合、部分的なエクスポートはサポートされません。ただし、DB クラスター全体をエクスポートすることはできます。
  + ラテン文字 (A-Z)
  + 数字 (0-9)
  + ドル記号 (\$1)
  + 下線 (\$1)
+ データベーステーブルの列名では、一部の文字と空白文字の使用はサポートされていません。列名に次の文字が含まれるテーブルは、エクスポート時にスキップされます。

  ```
  , ; { } ( ) \n \t = (space)
  ```
+ 名前にスラッシュ (/) が含まれるテーブルは、エクスポート時にスキップされます。
+ Aurora PostgreSQL の一時テーブルとログに記録されていないテーブルは、エクスポート中にスキップされます。
+ データに BLOB や CLOB などの大きいオブジェクト (500 MB に近いか、それ以上) が含まれている場合、エクスポートは失敗します。
+ テーブルに、2 GB に近いか、それ以上のサイズの大きな行が含まれている場合、そのテーブルはエクスポート時にスキップされます。
+ 部分エクスポートの場合、`ExportOnly` リストの最大サイズは 200 KB です。
+ エクスポートタスクごとに一意の名前を使用することを強くお勧めします。一意のタスク名を使用しない場合、次のエラーメッセージが表示されることがあります。

  ExportTaskAlreadyExistsFault: StartExportTask オペレーションを呼び出すときにエラー (ExportTaskAlreadyExists) が発生しました。ID *xxxxx* のエクスポートタスクは既に存在します。
+ 一部のテーブルはスキップされる可能性があるため、エクスポート後にデータの行数とテーブル数を確認することをお勧めします。

## ファイル命名規則
<a name="export-cluster-data.FileNames"></a>

特定のテーブルのエクスポートされたデータは、`base_prefix/files` の形式で保存されます。そのベースプレフィックスは次のとおりです。

```
export_identifier/database_name/schema_name.table_name/
```

例:

```
export-1234567890123-459/rdststcluster/mycluster.DataInsert_7ADB5D19965123A2/
```

出力ファイルは次の命名規則を使用します。*partition\$1index* は英数字です。

```
partition_index/part-00000-random_uuid.format-based_extension
```

例:

```
1/part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet
    a/part-00000-d7a881cc-88cc-5ab7-2222-c41ecab340a4-c000.gz.parquet
```

ファイルの命名規則は変更されることがあります。したがって、ターゲットテーブルを読み込む場合は、テーブルのベースプレフィックス内のすべてを読み込むことをお勧めします。

## データ変換と保存形式
<a name="export-cluster-data.data-types"></a>

DB クラスターを Amazon S3 バケットにエクスポートすると、Amazon Aurora はデータを Parquet 形式に変換してエクスポートし、保存します。詳細については、「[Amazon S3 バケットにエクスポートする際のデータ変換](aurora-export-snapshot.Considerations.md#aurora-export-snapshot.data-types)」を参照してください。

# Amazon S3 バケットへのアクセスを設定する
<a name="export-cluster-data.Setup"></a>

Amazon S3 バケットを特定したら、それにアクセスするアクセス許可を DB クラスターエクスポートタスクに与えます。

**Topics**
+ [エクスポート先の Amazon S3 バケットの特定](#export-cluster-data.SetupBucket)
+ [IAM ロールを使用した Amazon S3 バケットへのアクセスの提供](#export-cluster-data.SetupIAMRole)
+ [クロスアカウント Amazon S3 バケットを使用する](#export-cluster-data.Setup.XAcctBucket)

## エクスポート先の Amazon S3 バケットの特定
<a name="export-cluster-data.SetupBucket"></a>

DB クラスターデータをエクスポートする Amazon S3 バケットを特定します。既存の S3 バケットを使用するか、新しい S3 バケットを作成します。

**注記**  
S3 バケットは DB クラスターと同じ AWS リージョンにある必要があります。

Amazon S3 バケットの操作の詳細については、*Amazon Simple Storage Service ユーザーガイド*で次のトピックを参照してください。
+ [S3 バケットのプロパティを表示する方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/view-bucket-properties.html)
+ [Amazon S3 バケットのデフォルト暗号化を有効にする方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/default-bucket-encryption.html)
+ [S3 バケットを作成する方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)

## IAM ロールを使用した Amazon S3 バケットへのアクセスの提供
<a name="export-cluster-data.SetupIAMRole"></a>

DB クラスターデータを Amazon S3 にエクスポートする前に、エクスポートタスクに対して Amazon S3 バケットへの書き込みアクセス許可を付与します。

このアクセス権限を付与するには、バケットへのアクセスを可能にする IAM ポリシーを作成し、次に IAM ロールを作成して、このロールにポリシーをアタッチします。後で IAM ロールを DB クラスターエクスポートタスクに割り当てることができます。

**重要**  
AWS マネジメントコンソール を使用して DB クラスターをエクスポートする予定がある場合は、DB クラスターをエクスポートするときに IAM ポリシーとロールを自動的に作成することもできます。手順については、「[DB クラスターのエクスポートタスクの作成](export-cluster-data.Exporting.md)」を参照してください。

**Amazon S3 へのアクセス権をタスクに付与するには**

1. IAM ポリシーを作成します。このポリシーでバケットおよびオブジェクトへのアクセス許可を与えることにより、DB クラスターエクスポートタスクから Amazon S3 にアクセスできるようにします。

   Amazon Aurora から S3 バケットへのファイル転送を許可するために、以下の必須アクションをポリシーに含めます。
   + `s3:PutObject*`
   + `s3:GetObject*` 
   + `s3:ListBucket` 
   + `s3:DeleteObject*`
   +  `s3:GetBucketLocation`

   ポリシーには、S3 バケットとバケット内のオブジェクトを識別するために、以下のリソースを含めます。次のリソースのリストは、Amazon S3 にアクセスするための Amazon リソースネーム (ARN) 形式を示しています。
   + `arn:aws:s3:::amzn-s3-demo-bucket`
   + `arn:aws:s3:::amzn-s3-demo-bucket/*`

   Amazon Aurora の IAM ポリシーの作成の詳細については、「[IAM データベースアクセス用の IAM ポリシーの作成と使用](UsingWithRDS.IAMDBAuth.IAMPolicy.md)」を参照してください。*IAM ユーザーガイド*の「[チュートリアル: はじめてのカスタマー管理ポリシーの作成とアタッチ](https://docs.aws.amazon.com//IAM/latest/UserGuide/tutorial_managed-policies.html)」も参照してください。

   以下の AWS CLI コマンドでは、これらのオプションを指定して、`ExportPolicy` という名前の IAM ポリシーを作成します。*amzn-s3-demo-bucket* という名前のバケットへのアクセスを許可します。
**注記**  
ポリシーを作成したら、ポリシーの ARN を書き留めます。ポリシーを IAM ロールにアタッチする場合、後続のステップで ARN が必要です。

   ```
   aws iam create-policy  --policy-name ExportPolicy --policy-document '{
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "ExportPolicy",
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject*",
                   "s3:ListBucket",
                   "s3:GetObject*",
                   "s3:DeleteObject*",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }'
   ```

1. IAM ロールを作成して、Aurora がこの IAM ロールがユーザーに代わって Amazon S3 バケットにアクセスすると見なすことができるようにします。詳細については、*IAM ユーザーガイド*の「[IAM ユーザーにアクセス許可を委任するロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)」を参照してください。

   以下の例は、AWS CLI コマンドを使用して、`rds-s3-export-role` という名前のロールを作成する例を示しています。

   ```
   aws iam create-role  --role-name rds-s3-export-role  --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
               "Service": "export.rds.amazonaws.com"
             },
            "Action": "sts:AssumeRole"
          }
        ] 
      }'
   ```

1. 作成した IAM ポリシーを、作成した IAM ロールにアタッチします。

   次の AWS CLI コマンドでは、先ほど作成したポリシーを `rds-s3-export-role` という名前のロールにアタッチします。`your-policy-arn` は、以前のステップで書き留めたポリシー ARN に置き換えます。

   ```
   aws iam attach-role-policy  --policy-arn your-policy-arn  --role-name rds-s3-export-role
   ```

## クロスアカウント Amazon S3 バケットを使用する
<a name="export-cluster-data.Setup.XAcctBucket"></a>

S3 バケットは AWS アカウント全体で使用できます。詳細については、「[クロスアカウント Amazon S3 バケットを使用する](aurora-export-snapshot.Setup.md#aurora-export-snapshot.Setup.XAcctBucket)」を参照してください。

# 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`

# DB クラスターエクスポートタスクのモニタリング
<a name="export-cluster-data.Monitoring"></a>

DB クラスターのエクスポートは、AWS マネジメントコンソール、AWS CLI、または RDS API を使用してモニタリングできます。

## コンソール
<a name="export-cluster-data.MonitorConsole"></a>

**DB クラスターのエクスポートをモニタリングするには**

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

1. ナビゲーションペインで **[Exports in Amazon S3]** (Amazon S3 にエクスポート) を選択します。

   DB クラスターのエクスポートは **[Source type]** (ソースタイプ) 列に表示されます。エクスポートのステータスは **[Status]** (ステータス) 列に表示されます。

1. 特定の DB クラスターのエクスポートに関する詳細情報を表示するには、エクスポートタスクを選択します。

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

AWS CLI を使用して DB クラスターのエクスポートをモニタリングするには、[describe-export-tasks](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-export-tasks.html) コマンドを使用します。

次の例は、すべての DB クラスターのエクスポートに関する最新情報を表示する方法を示しています。

**Example**  

```
 1. aws rds describe-export-tasks
 2. 
 3. {
 4.     "ExportTasks": [
 5.         {
 6.             "Status": "CANCELED",
 7.             "TaskEndTime": "2022-11-01T17:36:46.961Z",
 8.             "S3Prefix": "something",
 9.             "S3Bucket": "amzn-s3-demo-bucket",
10.             "PercentProgress": 0,
11.             "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/K7MDENG/bPxRfiCYEXAMPLEKEY",
12.             "ExportTaskIdentifier": "anewtest",
13.             "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
14.             "TotalExtractedDataInGB": 0,
15.             "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:parameter-groups-test"
16.         },
17. {
18.             "Status": "COMPLETE",
19.             "TaskStartTime": "2022-10-31T20:58:06.998Z",
20.             "TaskEndTime": "2022-10-31T21:37:28.312Z",
21.             "WarningMessage": "{\"skippedTables\":[],\"skippedObjectives\":[],\"general\":[{\"reason\":\"FAILED_TO_EXTRACT_TABLES_LIST_FOR_DATABASE\"}]}",
22.             "S3Prefix": "",
23.             "S3Bucket": "amzn-s3-demo-bucket1",
24.             "PercentProgress": 100,
25.             "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/2Zp9Utk/h3yCo8nvbEXAMPLEKEY",
26.             "ExportTaskIdentifier": "thursday-events-test", 
27.             "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
28.             "TotalExtractedDataInGB": 263,
29.             "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:example-1-2019-10-31-06-44"
30.         },
31.         {
32.             "Status": "FAILED",
33.             "TaskEndTime": "2022-10-31T02:12:36.409Z",
34.             "FailureCause": "The S3 bucket amzn-s3-demo-bucket2 isn't located in the current AWS Region. Please, review your S3 bucket name and retry the export.",
35.             "S3Prefix": "",
36.             "S3Bucket": "amzn-s3-demo-bucket2",
37.             "PercentProgress": 0,
38.             "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/2Zp9Utk/h3yCo8nvbEXAMPLEKEY",
39.             "ExportTaskIdentifier": "wednesday-afternoon-test",
40.             "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
41.             "TotalExtractedDataInGB": 0,
42.             "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:example-1-2019-10-30-06-45"
43.         }
44.     ]
45. }
```
特定のエクスポートタスクに関する情報を表示するには、`--export-task-identifier` オプションを `describe-export-tasks` コマンドに含めます。出力をフィルタリングするには、`--Filters` オプションを含めます。その他のオプションについては、[ describe-export-tasks](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-export-tasks.html) コマンドを参照してください。

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

Amazon RDS API を使用して DB クラスターのエクスポートに関する情報を表示するには、[DescribeExportTasks](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeExportTasks.html) オペレーションを使用します。

エクスポートワークフローの完了を追跡したり、別のワークフローを開始したりするには、Amazon Simple Notification Service トピックをサブスクライブします。Amazon SNS の詳細については、「[Amazon RDS イベント通知の操作](USER_Events.md)」を参照してください。

# DB クラスターエクスポートタスクのキャンセル
<a name="export-cluster-data.Canceling"></a>

DB クラスターのエクスポートタスクをキャンセルするには、AWS マネジメントコンソール、AWS CLI、または RDS API を使用できます。

**注記**  
エクスポートタスクをキャンセルしても、Amazon S3 にエクスポート済みのデータは削除されません。コンソールを使用してデータを削除する方法については、「[S3 バケットからオブジェクトを削除する方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/delete-objects.html)」を参照してください。CLI を使用してデータを削除するには、[delete-object](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html) コマンドを使用します。

## コンソール
<a name="export-cluster-data.CancelConsole"></a>

**DB クラスターのエクスポートタスクをキャンセルするには**

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

1. ナビゲーションペインで **[Exports in Amazon S3]** (Amazon S3 にエクスポート) を選択します。

   DB クラスターのエクスポートは **[Source type]** (ソースタイプ) 列に表示されます。エクスポートのステータスは **[Status]** (ステータス) 列に表示されます。

1. キャンセルするエクスポートタスクを選択します。

1. [**キャンセル**] を選択します。

1. 確認ページで [**エクスポートタスクをキャンセル**] を選択します。

 

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

AWS CLI を使用してエクスポートタスクをキャンセルするには、[cancel-export-task](https://docs.aws.amazon.com/cli/latest/reference/rds/cancel-export-task.html) コマンドを使用します。このコマンドには、`--export-task-identifier` オプションが必要です。

**Example**  

```
 1. aws rds cancel-export-task --export-task-identifier my-export
 2. {
 3.     "Status": "CANCELING",
 4.     "S3Prefix": "",
 5.     "S3Bucket": "amzn-s3-demo-bucket",
 6.     "PercentProgress": 0,
 7.     "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/K7MDENG/bPxRfiCYEXAMPLEKEY",
 8.     "ExportTaskIdentifier": "my-export",
 9.     "IamRoleArn": "arn:aws:iam::123456789012:role/export-to-s3",
10.     "TotalExtractedDataInGB": 0,
11.     "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:export-example-1"
12. }
```

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

Amazon RDS API を使用してエクスポートタスクをキャンセルするには、`ExportTaskIdentifier` パラメータを指定して [CancelExportTask](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CancelExportTask.html) オペレーションを使用します。

# DB クラスターのエクスポートのトラブルシューティング
<a name="export-cluster-data.Troubleshooting"></a>

以下のセクションは、DB クラスターの Amazon S3 へのエクスポートタスクの失敗メッセージと PostgreSQL アクセス許可エラーのトラブルシューティングに役立ちます。

## Amazon S3 エクスポートタスクの障害メッセージ
<a name="export-cluster-data.failure-msg"></a>

次の表では、Amazon S3 エクスポートタスクに障害が発生したときに返されるメッセージについて説明します。


| 障害メッセージ | 説明 | 
| --- | --- | 
| ソース DB クラスターの検索またはアクセスに失敗しました: [クラスター名] | ソース DB クラスターはクローニングできません。 | 
| 不明な内部エラーが発生しました。 |  不明なエラー、例外、または障害により、タスクが失敗しました。  | 
| エクスポートタスクのメタデータを S3 バケット 「バケット名」 に書き込む際に、不明な内部エラーが発生しました。 |  不明なエラー、例外、または障害により、タスクが失敗しました。  | 
| RDS エクスポートは、IAM ロール「ロール ARN」を引き受けることができないため、エクスポートタスクのメタデータを書き込めませんでした。 |  エクスポートタスクは IAM ロールを引き受け、S3 バケットへのメタデータの書き込みが許可されているかどうかを検証します。タスクが IAM ロールを引き受けられない場合は失敗します。  | 
| RDS エクスポートで、KMS キー 「キー ID」 を持つ IAM ロール 「ロール ARN」 を使用した S3 バケット 「バケット名」へのエクスポートタスクのメタデータの書き込みに失敗しました。エラーコード:「エラーコード」 |  1 つ以上のアクセス許可が不足しているため、エクスポートタスクが S3 バケットにアクセスできません。この障害メッセージは、次のいずれかのエラーコードを受信したときにレイズされます。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/export-cluster-data.Troubleshooting.html) これらのエラーコードは、IAM ロール、S3 バケット、または KMS キーの設定が間違っていることを示しています。  | 
| IAM ロール [ロール ARN]には、S3 バケット [バケット名] で [S3 アクション] を呼び出す権限がありません。許可を確認してエクスポートを再試行してください。 |  IAM ポリシーの設定が間違っています。S3 バケットに対する特定の S3 アクションのためのアクセス許可がないため、エクスポートタスクが失敗します。  | 
| KMS キーチェックに失敗しました。KMS キーの認証情報をチェックして、再試行してください。 | KMS キーの認証情報のチェックに失敗しました。 | 
| S3 の認証情報のチェックに失敗しました。S3 バケットと IAM ポリシーに対するアクセス許可をチェックします。 | S3 の認証情報のチェックに失敗しました。 | 
| S3 バケット「バケット名」が無効です。どちらかが現在の AWS リージョン リージョンにないか、存在しません。S3 バケット名を確認して、エクスポートを再試行してください。 | S3 バケットが無効です。 | 
| S3 バケット [バケット名] が現在の AWS リージョン リージョンにありません。S3 バケット名を確認して、エクスポートを再試行してください。 | S3 バケットが間違った AWS リージョン にあります。 | 

## PostgreSQL のアクセス許可エラーのトラブルシューティング
<a name="export-cluster-data.postgres-permissions"></a>

PostgreSQL データベースを Amazon S3 にエクスポートするときに、特定のテーブルがスキップされたことを示す `PERMISSIONS_DO_NOT_EXIST` エラーが表示される場合があります。このエラーは、通常、DB クラスターの作成時に指定したスーパーユーザーに、これらのテーブルにアクセスするアクセス許可がない場合に発生します。

このエラーを修正するには、次のコマンドを実行します。

```
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name TO superuser_name
```

スーパーユーザー権限の詳細については、「[マスターユーザーアカウント権限](UsingWithRDS.MasterAccounts.md)」を参照してください。