AWS Data Pipeline を使用して DynamoDB データをエクスポートおよびインポートする - Amazon DynamoDB

AWS Data Pipeline を使用して DynamoDB データをエクスポートおよびインポートする

AWS Data Pipeline を使用して、DynamoDB テーブルから Amazon S3 バケット内のファイルにデータをエクスポートできます。またコンソールを使用して、Amazon S3 から同じ AWS リージョンまたは別のリージョンにある DynamoDB テーブルにデータをインポートもできます。

注記

DynamoDB コンソールは、Amazon S3 からのインポートと Amazon S3 へのエクスポートをネイティブでサポートするようになりました。これらのフローは AWS Data Pipeline インポートフローと互換性がありません。詳細については、「Amazon S3 からの DynamoDB データのインポート: 仕組み」、「Amazon S3 への DynamoDB データのエクスポート: 仕組み」、およびブログ記事「Export Amazon DynamoDB table data to your data lake in Amazon S3」(Amazon DynamoDB テーブル データを Amazon S3 のデータレイクにエクスポートする) を参照してください。

データのエクスポートおよびインポート機能は多くシナリオで役立ちます。たとえば、テスト目的で一連のベースラインデータを保守するとします。ベースラインデータを DynamoDB テーブルに入力し、Amazon S3 にエクスポートできます。続いて、テストデータを変更するアプリケーションを実行した後、Amazon S3 から DynamoDB テーブルにインポートして戻すことで、ベースラインデータを「リセット」できます。別の例としては、データの誤った削除や誤った DeleteTable オペレーションもあります。このような場合は、Amazon S3 にある前回のエクスポートファイルからデータを復元できます。ある AWS リージョン内の DynamoDB テーブルからデータをコピーして Amazon S3 に保存し、その後に Amazon S3 から別のリージョン内の同じ DynamoDB テーブルにインポートすることもできます。別のリージョン内のアプリケーションは、最も近い DynamoDB エンドポイントにアクセスしてデータの独自のコピーを操作できるので、ネットワークレイテンシーが短くなります。

重要

DynamoDB のバックアップと復元は、フルマネージドの機能です。本稼働アプリケーションのパフォーマンスや可用性に影響を与えることなく、数メガバイトから数百テラバイトまでのデータを持つテーブルをバックアップできます。AWS Management Console でのワンクリック操作か、単一の API コールだけでテーブルを復元できます。AWS Data Pipeline ではなく、DynamoDB のネイティブの Backup および復元機能を使用することを強くお勧めします。詳細については、「DynamoDB のオンデマンドバックアップおよび復元の使用」を参照してください。

次の図表に、AWS Data Pipeline を使用した DynamoDB データのエクスポートおよびインポートの概要を示します。

DynamoDB テーブルをエクスポートするには、AWS Data Pipeline コンソールを使用して新しいパイプラインを作成します。パイプラインによって Amazon EMR クラスターが起動され、実際のエクスポートが実行されます。Amazon EMR は、DynamoDB からデータを読み取り、Amazon S3 バケット内のエクスポートファイルにデータを書き込みます。

このプロセスは、データが Amazon S3 バケットから読み込まれて DynamoDB テーブルに書き込まれることを除き、インポートでも同様です。

重要

DynamoDB データのエクスポートまたはインポート時、基礎となる次の AWS サービスの使用に対して追加コストが発生します。

  • AWS Data Pipeline — Import/Export のワークフローを管理します。

  • Amazon S3 - DynamoDB に対してエクスポートまたはインポートするデータを格納します。

  • Amazon EMR - マネージド Hadoop クラスターを実行して、Amazon S3 と DynamoDB の間で読み込みと書き込みを行います。クラスター構成は、1 つの m3.xlarge インスタンスリーダーノードと 1 つの m3.xlarge インスタンスコアノードです。

詳細については、「AWS Data Pipeline の料金」、「Amazon EMR の料金」、および「Amazon S3 の料金」を参照してください。

データをエクスポートおよびインポートデータするための前提条件

データのエクスポートとインポートに AWS Data Pipeline を使用するときは、パイプラインによって実行できるアクションと消費できるリソースを指定する必要があります。許可されるそれらのアクションとリソースは AWS Identity and Access Management (IAM) ロールを使用して定義します。

また、IAM ポリシーを作成し、ユーザー、ロール、またはグループにアタッチすることでアクセスを制御できます。これらのポリシーでは、DynamoDB データに対してインポートおよびエクスポートが許可されるユーザーを指定できます。

重要

AWS Management Console の外部で AWS を操作するには、プログラマチックアクセス権が必要です。プログラマチックアクセス権を付与する方法は、AWS にアクセスしているユーザーのタイプによって異なります。

ユーザーにプログラマチックアクセス権を付与するには、以下のいずれかのオプションを選択します。

プログラマチックアクセス権を必要とするユーザー 目的 方法

ワークフォースアイデンティティ

(IAM Identity Center で管理されているユーザー)

一時的な認証情報を使用して、AWS CLI、AWS SDK、または AWS API へのプログラマチックリクエストに署名します。

使用するインターフェイス用の手引きに従ってください。

IAM 一時的な認証情報を使用して、AWS CLI、AWS SDK、または AWS API へのプログラムによるリクエストに署名します。 IAM ユーザーガイド」の「AWS リソースでの一時的な認証情報の使用」の指示に従ってください。
IAM

(非推奨)

長期的な認証情報を使用して、AWS CLI、AWS SDK、AWS API へのプログラムによるリクエストに署名します。

使用するインターフェイス用の手順に従ってください。

AWS Data Pipeline の IAM ロールの作成

AWS Data Pipeline を使用するには、次の IAM ロールが AWS アカウントにあることが必要です。

  • DataPipelineDefaultRole — パイプラインによって自動的に実行されるアクション。

  • DataPipelineDefaultResourceRole — パイプラインによって自動的にプロビジョンされる AWS リソース。DynamoDB データのエクスポートとインポートの場合、これらのリソースには Amazon EMR クラスターと、そのクラスターに関連付けられている Amazon EC2 インスタンスが含まれます。

これまでに AWS Data Pipeline を使用したことがない場合は、DataPipelineDefaultRoleDataPipelineDefaultResourceRole を自分で作成する必要があります。作成したそれらのロールを使用して、必要に応じていつでも DynamoDB データをエクスポートしたりインポートしたりできます。

注記

以前に AWS Data Pipeline コンソールを使用してパイプラインを作成した場合、DataPipelineDefaultRoleDataPipelineDefaultResourceRole はその時点で自動的に作成されています。その場合、これ以上の操作は必要ありません。このセクションをスキップし、 コンソールを使用したパイプラインの作成を開始できます。詳細については、「DynamoDB から Amazon S3 にデータをエクスポートする」および「Amazon S3 から DynamoDB にデータをインポートする」を参照してください。

  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. コンソールダッシュボードで [Roles] (ロール) をクリックします。

  3. [Create Role] (ロールの作成) をクリックし、次の操作を実行します。

    1. [AWS のサービス] の信頼されたエンティティで、[データパイプライン] を選択します。

    2. [Select your use case] (ユースケースの選択) パネルで、[Data Pipeline] (データパイプライン)、[Next: Permissions] (次のステップ: アクセス許可) の順に選択します。

    3. AWSDataPipelineRole ポリシーが自動的にアタッチされることに注意してください。[Next: Review] (次のステップ: レビュー) を選択します。

    4. [Role name] (ロール名) フィールドで、ロール名として「DataPipelineDefaultRole」と入力し、[Create role] (ロールの作成) を選択します。

  4. [ロールの作成] をクリックし、次の操作を実行します。

    1. [AWS のサービス] の信頼されたエンティティで、[データパイプライン] を選択します。

    2. [Select your use case] (ユースケースの選択) パネルで、[EC2 Role for Data Pipeline] (データパイプラインの EC2 ロール)、[Next: Permissions] (次のステップ: 許可) の順に選択します。

    3. AmazonEC2RoleForDataPipelineRole ポリシーが自動的にアタッチされることに注意してください。[Next: Review] (次のステップ: レビュー) を選択します。

    4. [ロール名] フィールドで、ロール名として「DataPipelineDefaultResourceRole」と入力し、[ロールの作成] を選択します。

これらのロールを作成できたので、DynamoDB コンソールを使用したパイプラインの作成を開始できます。詳細については、「DynamoDB から Amazon S3 にデータをエクスポートする」および「Amazon S3 から DynamoDB にデータをインポートする」を参照してください。

AWS Identity and Access Management を使用してエクスポートおよびインポートタスクを実行するためのアクセス許可の、ユーザーおよびグループへの付与

他のユーザー、ロール、またはグループに DynamoDB テーブルデータのエクスポートとインポートを許可するには、IAM ポリシーを作成し、指定したユーザーまたはグループにアタッチできます。ポリシーには、これらのタスクを実行するために必要なアクセス権限のみが含まれます。

完全なアクセス権の付与

次の手順では、AWS マネージドポリシー (AmazonDynamoDBFullAccessAWSDataPipeline_FullAccess) と Amazon EMR インラインポリシーをユーザーにアタッチする方法について説明します。これらのマネージドポリシーは、AWS Data Pipeline および DynamoDB リソースへのフルアクセスを提供し、Amazon EMR インラインポリシーとともに使用することで、ユーザーはこのドキュメントで説明するアクションを実行できます。

注記

提案されたアクセス許可の範囲を制限するために、上記のインラインポリシーは、dynamodbdatapipeline タグの使用を強制しています。この制限なしにこのドキュメントを利用する場合は、該当するポリシーの Condition のセクションを削除してください。

  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. IAM コンソールダッシュボードで [ユーザー] をクリックし、変更するユーザーを選択します。

  3. [Permissions] (アクセス権限) タブで [Add Policy] (ポリシーの追加) をクリックします。

  4. [Attach permissions] (アクセス許可の付与) パネルで、[Attach existing policies directly] (既存のポリシーを直接アタッチ) を選択します。

  5. AmazonDynamoDBFullAccessAWSDataPipeline_FullAccess の両方を選択して、[Next: Review] (次のステップ: 確認) をクリックします。

  6. [Add permissions] (アクセス許可の追加) をクリックします。

  7. [Permissions] (アクセス権限) タブで [Add inline policy] (インラインポリシーの追加) を選択します。

  8. [Create a policy] (ポリシーの作成) ページで JSON タブをクリックします。

  9. 以下の内容を貼り付けます。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "EMR", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeStep", "elasticmapreduce:DescribeCluster", "elasticmapreduce:RunJobFlow", "elasticmapreduce:TerminateJobFlows" ], "Resource": "*", "Condition": { "Null": { "elasticmapreduce:RequestTag/dynamodbdatapipeline": "false" } } } ] }
  10. [Review policy] (ポリシーの確認) をクリックします。

  11. 名前フィールドに「EMRforDynamoDBDataPipeline」と入力します。

  12. [Create policy] (ポリシーの作成) をクリックします。

注記

同様の手順を使用して、この管理ポリシーをユーザーではなく、グループにアタッチすることもできます。

特定の DynamoDB テーブルへのアクセスを制限する

アクセスを制限し、ユーザーがテーブルのサブセットのエクスポートまたはインポートのみできるようにするには、カスタマイズした IAM ポリシードキュメントを作成する必要があります。「完全なアクセス権の付与」で説明されているプロセスをカスタムポリシーの開始点として使用し、このポリシーを変更して、指定したテーブルのみの操作をユーザーに許可できます。

例えば、ユーザーに ForumThreadReply のテーブルに対してのみエクスポートまたはインポートを許可するとします。この手順では、ユーザーがそれらテーブルを操作できるが、それ以外は操作できないようにするカスタムポリシーを作成する方法を示します。

  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. コンソールダッシュボードから [Policies] (ポリシー) をクリックし、[Create Policy] (ポリシーの作成) をクリックします。

  3. [ポリシーの作成] パネルで、[AWS マネージドポリシーをコピー] に移動し、[選択] をクリックします。

  4. [AWS マネージドポリシーをコピー] パネルで、AmazonDynamoDBFullAccess に移動し、[選択] をクリックします。

  5. [Review Policy] (ポリシーの確認) パネルで、以下の作業を行います。

    1. 自動生成される [Policy Name] (ポリシー名) および [Description] (説明) を確認します。必要に応じて、これらの値を変更できます。

    2. [Policy Document] (ポリシードキュメント) テキストボックスで、特定のテーブルへのアクセスを制限するポリシーを編集します。デフォルトでは、ポリシーはすべてのテーブルの DynamoDB アクションをすべて許可します。

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarmHistory", "cloudwatch:DescribeAlarms", "cloudwatch:DescribeAlarmsForMetric", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "cloudwatch:PutMetricAlarm", "dynamodb:*", "sns:CreateTopic", "sns:DeleteTopic", "sns:ListSubscriptions", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "sns:Subscribe", "sns:Unsubscribe" ], "Effect": "Allow", "Resource": "*", "Sid": "DDBConsole" }, ...remainder of document omitted...

      ポリシーを制限するには、最初に次の行を削除します。

      "dynamodb:*",

      次に、Forum、Thread、および Reply テーブルへのアクセスのみを許可する新しい Action を構築します。

      { "Action": [ "dynamodb:*" ], "Effect": "Allow", "Resource": [ "arn:aws:dynamodb:us-west-2:123456789012:table/Forum", "arn:aws:dynamodb:us-west-2:123456789012:table/Thread", "arn:aws:dynamodb:us-west-2:123456789012:table/Reply" ] },
      注記

      us-west-2 は DynamoDB テーブルがあるリージョンに置き換えてください。123456789012 を使用する AWS アカウント番号で置き換えます。

      最後に、ポリシードキュメントに新しい Action を追加します。

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "dynamodb:*" ], "Effect": "Allow", "Resource": [ "arn:aws:dynamodb:us-west-2:123456789012:table/Forum", "arn:aws:dynamodb:us-west-2:123456789012:table/Thread", "arn:aws:dynamodb:us-west-2:123456789012:table/Reply" ] }, { "Action": [ "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarmHistory", "cloudwatch:DescribeAlarms", "cloudwatch:DescribeAlarmsForMetric", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "cloudwatch:PutMetricAlarm", "sns:CreateTopic", "sns:DeleteTopic", "sns:ListSubscriptions", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "sns:Subscribe", "sns:Unsubscribe" ], "Effect": "Allow", "Resource": "*", "Sid": "DDBConsole" }, ...remainder of document omitted...
  6. ポリシーの設定が正しいことを確認したら、[Create Policy] (ポリシーの作成) をクリックします。

ポリシーを作成したら、ユーザーにポリシーをアタッチできます。

  1. IAM コンソールダッシュボードで [ユーザー] をクリックし、変更するユーザーを選択します。

  2. [Permissions] (アクセス許可) タブで [Attach Policy] (ポリシーのアタッチ) をクリックします。

  3. [Attach Policy] (ポリシーのアタッチ) パネルでポリシー名を選択し、[Attach Policy] (ポリシーのアタッチ) をクリックします。

注記

同様の手順を使用して、ポリシーをユーザーではなくグループにアタッチすることもできます。

DynamoDB から Amazon S3 にデータをエクスポートする

このセクションでは、1 つ以上の DynamoDB テーブルから Amazon S3 バケットにデータをエクスポートする方法について説明します。エクスポートを実行する前に、Amazon S3 バケットを作成する必要があります。

重要

これまでに AWS Data Pipeline を使用したことがない場合は、この手順を実行する前に 2 つの IAM ロールを設定する必要があります。詳細については、「AWS Data Pipeline の IAM ロールの作成」を参照してください。

  1. AWS Management Console にサインインして AWS Data Pipeline コンソール (https://console.aws.amazon.com/datapipeline/) を開きます。

  2. 現在の AWS リージョンにパイプラインがない場合は、[Get started now] (今すぐ始める) を選択します。

    それ以外の場合、少なくとも 1 つのパイプラインがある場合は、[Create new pipeline] (新しいパイプラインの作成) を選択します。

  3. [Create Pipeline] (パイプラインの作成) ページで、次の操作を実行します。

    1. [Name] (名前) フィールドで、パイプラインの名前を入力します。例: MyDynamoDBExportPipeline

    2. [Source] (ソース) パラメータで、[Build using a template] (テンプレートを使用してビルドする) を選択します。ドロップダウンテンプレートのリストから、[Export DynamoDB table to S3] (DynamoDB テーブルを S3 にエクスポートする) を選択します。

    3. [Source DynamoDB table name] (ソース DynamoDB テーブル名) フィールドに、エクスポートする DynamoDB テーブルの名前を入力します。

    4. [Output S3 Folder] (出力 S3 フォルダ) テキストボックスに、エクスポートファイルが書き込まれる Amazon S3 の URI を入力します。例: s3://mybucket/exports

      この URI の形式は s3://bucketname/folder で、次のような構成になっています。

      • bucketname は Amazon S3 バケットの名前です。

      • folder はそのバケット内のフォルダーの名前です。フォルダーが存在しない場合は、自動的に作成されます。フォルダーの名前を指定しない場合は、s3://bucketname/region/tablename という形式で名前が付けられます。

    5. [S3 location for logs] (S3 ログの場所) テキストボックスに、エクスポート用のログファイルが書き込まれる Amazon S3 の URI を入力します。例: s3://mybucket/logs/

      [S3 ログフォルダ] の URI 形式は [出力 S3 フォルダ] と同じです。URI はフォルダに解決される必要があります。ログファイルを S3 バケットの最上位に書き込むことはできません。

  4. キー dynamodbdatapipeline と値 true を含むタグを追加します。

  5. すべての設定が正しいことを確認したら、[アクティブ化] をクリックします。

これで、パイプラインが作成されます。このプロセスが完了するまでに数分かかることがあります。AWS Data Pipeline コンソールで進捗状況をモニターすることができます。

エクスポートが完了したら、Amazon S3 コンソールに移動して、エクスポートファイルを表示できます。出力ファイル名は、ae10f955-fb2f-4790-9b11-fbfea01a871e_000000 のように識別子の値で、拡張子はありません。このファイルの内部形式については、「AWS Data Pipeline Developer Guide」の「File Structure」を参照してください。

Amazon S3 から DynamoDB にデータをインポートする

このセクションでは、すでに DynamoDB テーブルからデータをエクスポートし、エクスポートファイルが Amazon S3 バケットに書き込まれていることを前提とします。このファイルの内部形式については、「AWS Data Pipeline Developer Guide」の「File Structure」を参照してください。これは、AWS Data Pipeline を使用して DynamoDB でインポートできる唯一のファイル形式です。

ソーステーブルという用語は、データのエクスポート元となったテーブルに使用します。インポート先テーブルという用語は、データのインポート先となるテーブルに使用します。エクスポートファイルから Amazon S3 にデータをインポートできます。ただし、次のすべての条件を満たしていることが前提です。

  • インポート先テーブルがすでに存在する (インポートプロセスによってテーブルは作成されません。)

  • インポート先テーブルとソーステーブルのキースキーマが同じ

インポート先テーブルは空である必要はありません。ただしインポートプロセスでは、インポート先テーブルのデータ項目のうち、エクスポートファイルの項目とキーが同じものはすべて置き換えられます。たとえば、Customer テーブルに CustomerId というキーがあり、そのテーブルに 3 つの項目 (CustomerId 1、2、3) のみがあるとします。エクスポートファイルにも CustomerID 1、2、3 のデータ項目がある場合、インポート先テーブルの項目はエクスポートファイルのものと置き換えられます。エクスポートファイルに CustomerId 4 のデータ項目もある場合、その項目がインポート先テーブルに追加されます。

インポート先テーブルは異なる AWS リージョンに置くことができます。たとえば、米国西部 (オレゴン) リージョンに Customer テーブルがあり、そのデータを Amazon S3 にエクスポートするとします。その後、そのデータを欧州 (アイルランド) リージョンにある同一の Customer テーブルにインポートできます。これは、クロスリージョンのエクスポートとインポートと呼ばれています。AWS リージョンのリストについては、「AWS 全般のリファレンス」の「リージョンとエンドポイント」を参照してください。

AWS Management Console では、一度に複数のソーステーブルをエクスポートできます。ただし、一度にインポートできるのは 1 つのテーブルのみです。

  1. AWS Management Console にサインインして AWS Data Pipeline コンソール (https://console.aws.amazon.com/datapipeline/) を開きます。

  2. (省略可能) クロスリージョンのインポートを実行する場合、ウィンドウの右上隅にあるインポート先リージョンを選択します。

  3. [Create new pipeline] (新しいパイプラインの作成) を選択します。

  4. [Create Pipeline] (パイプラインの作成) ページで、次の操作を実行します。

    1. [Name] (名前) フィールドで、パイプラインの名前を入力します。例: MyDynamoDBImportPipeline

    2. [Source] (ソース) パラメータで、[Build using a template] (テンプレートを使用してビルドする) を選択します。ドロップダウンテンプレートのリストから、[Import DynamoDB backup data from S3] (S3 から DynamoDB バックアップデータをインポートする) を選択します。

    3. [Input S3 Folder] (S3 フォルダに入力) テキストボックスに、エクスポートファイルがある Amazon S3 の URI を入力します。例: s3://mybucket/exports

      この URI の形式は s3://bucketname/folder で、次のような構成になっています。

      • bucketname は Amazon S3 バケットの名前です。

      • folder はエクスポートファイルを含むフォルダーの名前です。

      インポートジョブでは、指定した Amazon S3 の場所にファイルが見つかることが想定されます。このファイルの内部形式については、「AWS Data Pipeline デベロッパーガイド」の「データエクスポートファイルの確認」を参照してください。

    4. [Target DynamoDB table name] (ターゲット DynamoDB テーブル名) フィールドに、データをインポートする DynamoDB テーブルの名前を入力します。

    5. [S3 location for logs] (S3 ログの場所) テキストボックスに、インポート用のログファイルが書き込まれる Amazon S3 の URI を入力します。例: s3://mybucket/logs/

      [S3 ログフォルダ] の URI 形式は [出力 S3 フォルダ] と同じです。URI はフォルダに解決される必要があります。ログファイルを S3 バケットの最上位に書き込むことはできません。

    6. キー dynamodbdatapipeline と値 true を含むタグを追加します。

  5. すべての設定が正しいことを確認したら、[アクティブ化] をクリックします。

これで、パイプラインが作成されます。このプロセスが完了するまでに数分かかることがあります。インポートジョブはパイプラインの作成直後に開始されます。

トラブルシューティング

このセクションでは、DynamoDB のエクスポートについていくつかの基本的な障害モードとトラブルシューティングを取り上げます。

エクスポートまたはインポート時にエラーが発生した場合、AWS Data Pipeline コンソールのパイプラインステータスは「ERROR」として表示されます。この場合は、エラーの発生したパイプラインの名前をクリックして、その詳細ページに移動します。これにより、パイプラインのすべてのステップの詳細と、各ステップのステータスが表示されます。特に、表示される実行スタックトレースを確認します。

最後に、Amazon S3 バケットに移動し、そこに書き込まれたすべてのエクスポートまたはインポートログファイルを探します。

次に示しているのは、パイプラインのエラーの原因として考えられるいくつかの一般的な問題とその対処方法です。パイプラインを診断するには、表示されたエラーと次に示している問題を比較します。

  • インポートの場合は、インポート先テーブルがすでに存在すること、インポート先テーブルにソーステーブルと同じキースキーマがあることを確認します。これらの条件が満たされていない場合、インポートは失敗します。

  • パイプラインに dynamodbdatapipeline タグがあることを確認してください。このタグがない場合、Amazon EMR API コールは成功しません。

  • 指定した Amazon S3 バケットが作成されていること、そのバケットに対する読み込みと書き込みのアクセス許可があることを確認します。

  • パイプラインがその実行タイムアウトを超えている可能性があります (このパラメータはパイプラインの作成時に設定しています。) たとえば、1 時間の実行タイムアウトを設定している場合がありますが、エクスポートジョブでこれより長い時間が必要だった可能性があります。パイプラインを削除して作成し直してみてください。ただし実行タイムアウト間隔は前回よりも長くします。

  • エクスポートが実行された元のバケットでない Amazon S3 バケット (エクスポートのコピーを含む) から復元する場合は、マニフェストファイルを更新します。

  • エクスポートまたはインポートを実行するための正しいアクセス許可がない可能性があります。詳細については、「データをエクスポートおよびインポートデータするための前提条件」を参照してください。

  • AWS アカウントのリソースクォータ (Amazon EC2 インスタンスの最大数や AWS Data Pipeline パイプラインの最大数など) に達した可能性があります。これらのクオータの引き上げリクエストなどの詳しい情報については、「AWS 全般のリファレンス」の「AWS のサービスクォータ」を参照してください。

注記

パイプラインのトラブルシューティングの詳細については、AWS Data Pipeline デベロッパーガイドの「トラブルシューティング」を参照してください。

AWS Data Pipeline と DynamoDB 用の定義済みテンプレート

AWS Data Pipeline のしくみをより深く理解するには、AWS Data Pipeline デベロッパーガイド を参照することをお勧めします。このガイドには、パイプラインを作成して操作する手順について説明したチュートリアルが含まれています。これらのチュートリアルは、独自のパイプラインの作成を開始するときに参考になります。また、AWS Data Pipeline のチュートリアルを参照することをお勧めします。このチュートリアルでは、要件に合わせてカスタマイズ可能なインポートおよびエクスポートパイプラインを作成するステップについて説明しています。「AWS Data Pipeline デベロッパーガイド」の「チュートリアル: AWS Data Pipeline を使用した Amazon DynamoDB のインポートとエクスポート」を参照してください。

AWS Data Pipeline には、パイプラインを作成するためのテンプレートがいくつか用意されています。次のテンプレートは DynamoDB に関連しています。

DynamoDB と Amazon S3 間でデータをエクスポートする

注記

DynamoDB コンソールは、独自の Amazon S3 へのエクスポートフローをサポートするようになりましたが、AWS Data Pipeline インポートフローとの互換性はありません。詳細については、「Amazon S3 への DynamoDB データのエクスポート: 仕組み」およびブログ記事「Export Amazon DynamoDB Table Data to Your Data Lake in Amazon S3, No Code Writing Required」(Amazon DynamoDB のテーブルデータを Amazon S3 のデータレイクにエクスポート、コード作成不要) を参照してください。

AWS Data Pipeline コンソールには、DynamoDB と Amazon S3 間でデータをエクスポートするための定義済みテンプレートが 2 つ用意されています。これらのテンプレートの詳細については、AWS Data Pipeline デベロッパーガイドの次のセクションを参照してください。