DB クラスターのエクスポートタスクの作成 - Amazon Aurora

DB クラスターのエクスポートタスクの作成

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

注記

データベースのタイプとサイズによっては、DB クラスターデータのエクスポートに時間がかかることがあります。エクスポートタスクは、まず、データベース全体をクローニングおよびスケーリングしてから、Amazon S3 にデータを抽出します。このフェーズでのタスクの進捗状況は、[起動中] と表示されます。タスクが S3 へのデータのエクスポートに切り替わると、進捗状況は [進行中] と表示されます。

エクスポートが完了するまでにかかる時間は、データベースに格納されているデータによって異なります。例えば、数値のプライマリキーまたはインデックス列が適切に配信されているテーブルは、最も速くエクスポートされます。テーブルにパーティション化に適した列が含まれていない場合や文字列ベースの列にインデックスが 1 つしかない場合、エクスポートには低速なシングルスレッド処理が使用されるため、処理に時間がかかります。

AWS Management Console、AWS CLI、または RDS API を使用して、DB クラスターデータを Amazon S3 にエクスポートできます。

Lambda 関数を使用して DB クラスターデータをエクスポートする場合は、Lambda 関数ポリシーに kms:DescribeKey アクションを追加します。詳細については、「AWS Lambda のアクセス許可」を参照してください。

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

  • DB エンジンが S3 エクスポートでサポートされていない。

  • DB クラスターのバージョンが S3 エクスポートでサポートされていない。

  • DB クラスターが作成された AWS リージョンで S3 エクスポートがサポートされていない。

DB クラスターデータをエクスポートするには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

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

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

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

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

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

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

    • [All] (すべて) を選択すると、DB クラスター内のすべてのデータがエクスポートされます。

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

      次の形式を使用します。

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

      次に例を示します。

      mydatabase mydatabase2.myschema1 mydatabase2.myschema2.mytable1 mydatabase2.myschema2.mytable2
  7. [S3 バケット] で、エクスポート先のバケットを選択します。

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

  8. IAM ロール の場合は、選択した S3 バケットへの書き込みアクセスを許可するロールを選択するか、新しいロールを作成します。

    • IAM ロールを使用した Amazon S3 バケットへのアクセスの提供」のステップに従ってロールを作成した場合は、そのロールを選択します。

    • 選択した S3 バケットへの書き込みアクセス権を付与するロールを作成しなかった場合は、[Create a new role] (新しいロールの作成) を選択して、ロールを自動的に作成します。次に、[IAM role name] (IAM ロール名) にロールの名前を入力します。

  9. [KMS key] (KMS キー) として、エクスポートされたデータの暗号化に使用するキーの ARN を入力します。

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

AWS CLI を使用して DB クラスターデータを Amazon S3 にエクスポートするには、以下の必須オプションを指定して start-export-task コマンドを使用します。

  • --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 バケットにエクスポートします。

Linux、macOS、Unix の場合:

aws rds start-export-task \ --export-task-identifier my-cluster-export \ --source-arn arn:aws:rds:us-west-2:123456789012:cluster:my-cluster \ --s3-bucket-name amzn-s3-demo-destination-bucket \ --iam-role-arn iam-role \ --kms-key-id my-key

Windows の場合:

aws rds start-export-task ^ --export-task-identifier my-DB-cluster-export ^ --source-arn arn:aws:rds:us-west-2:123456789012:cluster:my-cluster ^ --s3-bucket-name amzn-s3-demo-destination-bucket ^ --iam-role-arn iam-role ^ --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 コマンドに --s3-prefix オプションを含めます。

Amazon RDS API を使用して DB クラスターデータを Amazon S3 にエクスポートするには、以下の必須パラメータを指定して StartExportTask オペレーションを使用します。

  • ExportTaskIdentifier

  • SourceArn - DB クラスターの ARN。

  • S3BucketName

  • IamRoleArn

  • KmsKeyId