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
データのエクスポートおよびインポート機能は多くシナリオで役立ちます。たとえば、テスト目的で一連のベースラインデータを保守するとします。ベースラインデータを 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 の料金
データをエクスポートおよびインポートデータするための前提条件
データのエクスポートとインポートに AWS Data Pipeline を使用するときは、パイプラインによって実行できるアクションと消費できるリソースを指定する必要があります。許可されるそれらのアクションとリソースは AWS Identity and Access Management (IAM) ロールを使用して定義します。
また、IAM ポリシーを作成し、ユーザー、ロール、またはグループにアタッチすることでアクセスを制御できます。これらのポリシーでは、DynamoDB データに対してインポートおよびエクスポートが許可されるユーザーを指定できます。
重要
AWS Management Console の外部で AWS を操作するには、ユーザーはプログラムによるアクセスが必要です。プログラムによるアクセスを許可する方法は、AWS にアクセスしているユーザーのタイプによって異なります。
ユーザーにプログラムによるアクセス権を付与するには、以下のいずれかのオプションを選択します。
どのユーザーがプログラムによるアクセスを必要としますか? | To | By |
---|---|---|
ワークフォース ID (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 を使用したことがない場合は、DataPipelineDefaultRole と DataPipelineDefaultResourceRole を自分で作成する必要があります。作成したそれらのロールを使用して、必要に応じていつでも DynamoDB データをエクスポートしたりインポートしたりできます。
注記
以前に AWS Data Pipeline コンソールを使用してパイプラインを作成した場合、DataPipelineDefaultRole と DataPipelineDefaultResourceRole はその時点で自動的に作成されています。その場合、これ以上の操作は必要ありません。このセクションをスキップし、 コンソールを使用したパイプラインの作成を開始できます。詳細については、「DynamoDB から Amazon S3 にデータをエクスポートする」および「Amazon S3 から DynamoDB にデータをインポートする」を参照してください。
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
コンソールダッシュボードで [Roles] (ロール) をクリックします。
-
[Create Role] (ロールの作成) をクリックし、次の操作を実行します。
-
[AWS のサービス] の信頼されたエンティティで、[データパイプライン] を選択します。
-
[Select your use case] (ユースケースの選択) パネルで、[Data Pipeline] (データパイプライン)、[Next: Permissions] (次のステップ: アクセス許可) の順に選択します。
-
AWSDataPipelineRole
ポリシーが自動的にアタッチされることに注意してください。[Next: Review] (次のステップ: レビュー) を選択します。 -
[Role name] (ロール名) フィールドで、ロール名として「
DataPipelineDefaultRole
」と入力し、[Create role] (ロールの作成) を選択します。
-
-
[ロールの作成] をクリックし、次の操作を実行します。
-
[AWS のサービス] の信頼されたエンティティで、[データパイプライン] を選択します。
-
[Select your use case] (ユースケースの選択) パネルで、[EC2 Role for Data Pipeline] (データパイプラインの EC2 ロール)、[Next: Permissions] (次のステップ: 許可) の順に選択します。
-
AmazonEC2RoleForDataPipelineRole
ポリシーが自動的にアタッチされることに注意してください。[Next: Review] (次のステップ: レビュー) を選択します。 -
[ロール名] フィールドで、ロール名として「
DataPipelineDefaultResourceRole
」と入力し、[ロールの作成] を選択します。
-
これらのロールを作成できたので、DynamoDB コンソールを使用したパイプラインの作成を開始できます。詳細については、DynamoDB から Amazon S3 にデータをエクスポートする および Amazon S3 から DynamoDB にデータをインポートする を参照してください。
AWS Identity and Access Management を使用してエクスポートおよびインポートタスクを実行するためのアクセス許可の、ユーザーおよびグループへの付与
他のユーザー、ロール、またはグループに DynamoDB テーブルデータのエクスポートとインポートを許可するには、IAM ポリシーを作成し、指定したユーザーまたはグループにアタッチできます。ポリシーには、これらのタスクを実行するために必要なアクセス権限のみが含まれます。
完全なアクセス権の付与
次の手順では、AWS マネージドポリシー (AmazonDynamoDBFullAccess
、AWSDataPipeline_FullAccess
) と Amazon EMR インラインポリシーをユーザーにアタッチする方法について説明します。これらのマネージドポリシーは、AWS Data Pipeline および DynamoDB リソースへのフルアクセスを提供し、Amazon EMR インラインポリシーとともに使用することで、ユーザーはこのドキュメントで説明するアクションを実行できます。
注記
提案されたアクセス許可の範囲を制限するために、上記のインラインポリシーは、dynamodbdatapipeline
タグの使用を強制しています。この制限なしにこのドキュメントを利用する場合は、該当するポリシーの Condition
のセクションを削除してください。
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
IAM コンソールダッシュボードで [Users] (ユーザー) をクリックし、変更するユーザーを選択します。
-
[Permissions] (アクセス権限) タブで [Add Policy] (ポリシーの追加) をクリックします。
-
[Attach permissions] (アクセス許可の付与) パネルで、[Attach existing policies directly] (既存のポリシーを直接アタッチ) を選択します。
-
AmazonDynamoDBFullAccess
とAWSDataPipeline_FullAccess
の両方を選択して、[Next: Review] (次のステップ: 確認) をクリックします。 -
[Add permissions] (アクセス許可の追加) をクリックします。
-
[Permissions] (アクセス権限) タブで [Add inline policy] (インラインポリシーの追加) を選択します。
-
[Create a policy] (ポリシーの作成) ページで JSON タブをクリックします。
-
以下の内容を貼り付けます。
{ "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" } } } ] }
-
[Review policy] (ポリシーの確認) をクリックします。
-
名前フィールドに「
EMRforDynamoDBDataPipeline
」と入力します。 -
[Create policy] (ポリシーの作成) をクリックします。
注記
同様の手順を使用して、この管理ポリシーをユーザーではなく、グループにアタッチすることもできます。
特定の DynamoDB テーブルへのアクセスを制限する
アクセスを制限し、ユーザーがテーブルのサブセットのエクスポートまたはインポートのみできるようにするには、カスタマイズした IAM ポリシードキュメントを作成する必要があります。「完全なアクセス権の付与」で説明されているプロセスをカスタムポリシーの開始点として使用し、このポリシーを変更して、指定したテーブルのみの操作をユーザーに許可できます。
例えば、ユーザーに Forum、Thread、Reply のテーブルに対してのみエクスポートまたはインポートを許可するとします。この手順では、ユーザーがそれらテーブルを操作できるが、それ以外は操作できないようにするカスタムポリシーを作成する方法を示します。
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
コンソールダッシュボードから [Policies] (ポリシー) をクリックし、[Create Policy] (ポリシーの作成) をクリックします。
-
[ポリシーの作成] パネルで、[AWS マネージドポリシーをコピー] に移動し、[選択] をクリックします。
-
[AWS マネージドポリシーをコピー] パネルで、
AmazonDynamoDBFullAccess
に移動し、[選択] をクリックします。 -
[Review Policy] (ポリシーの確認) パネルで、以下の作業を行います。
-
自動生成される [Policy Name] (ポリシー名) および [Description] (説明) を確認します。必要に応じて、これらの値を変更できます。
-
[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...
-
-
ポリシーの設定が正しいことを確認したら、[Create Policy] (ポリシーの作成) をクリックします。
ポリシーを作成したら、ユーザーにポリシーをアタッチできます。
-
IAM コンソールダッシュボードで [Users] (ユーザー) をクリックし、変更するユーザーを選択します。
-
[Permissions] (アクセス許可) タブで [Attach Policy] (ポリシーのアタッチ) をクリックします。
-
[Attach Policy] (ポリシーのアタッチ) パネルでポリシー名を選択し、[Attach Policy] (ポリシーのアタッチ) をクリックします。
注記
同様の手順を使用して、ポリシーをユーザーではなくグループにアタッチすることもできます。
DynamoDB から Amazon S3 にデータをエクスポートする
このセクションでは、1 つ以上の DynamoDB テーブルから Amazon S3 バケットにデータをエクスポートする方法について説明します。エクスポートを実行する前に、Amazon S3 バケットを作成する必要があります。
重要
これまでに AWS Data Pipeline を使用したことがない場合は、この手順を実行する前に 2 つの IAM ロールを設定する必要があります。詳細については、「」を参照してくださいAWS Data Pipeline の IAM ロールの作成
AWS Management Console にサインインして AWS Data Pipeline コンソール (https://console.aws.amazon.com/datapipeline/
) を開きます。 -
現在の AWS リージョンにパイプラインがない場合は、[Get started now] (今すぐ始める) を選択します。
それ以外の場合、少なくとも 1 つのパイプラインがある場合は、[Create new pipeline] (新しいパイプラインの作成) を選択します。
-
[Create Pipeline] (パイプラインの作成) ページで、次の操作を実行します。
-
[Name] (名前) フィールドで、パイプラインの名前を入力します。例:
MyDynamoDBExportPipeline
。 -
[Source] (ソース) パラメータで、[Build using a template] (テンプレートを使用してビルドする) を選択します。ドロップダウンテンプレートのリストから、[Export DynamoDB table to S3] (DynamoDB テーブルを S3 にエクスポートする) を選択します。
-
[Source DynamoDB table name] (ソース DynamoDB テーブル名) フィールドに、エクスポートする DynamoDB テーブルの名前を入力します。
-
[Output S3 Folder] (出力 S3 フォルダ) テキストボックスに、エクスポートファイルが書き込まれる Amazon S3 の URI を入力します。例:
s3://mybucket/exports
この URI の形式は
s3://
で、次のような構成になっています。bucketname
/folder
-
bucketname
は Amazon S3 バケットの名前です。 -
folder
はそのバケット内のフォルダーの名前です。フォルダーが存在しない場合は、自動的に作成されます。フォルダーの名前を指定しない場合は、s3://
という形式で名前が付けられます。bucketname
/region
/tablename
-
-
[S3 location for logs] (S3 ログの場所) テキストボックスに、エクスポート用のログファイルが書き込まれる Amazon S3 の URI を入力します。例:
s3://mybucket/logs/
[S3 Log Folder] (S3 ログフォルダ) の URI 形式は [Output S3 Folder (出力 S3 フォルダ) と同じです。URI はフォルダに解決される必要があります。ログファイルを S3 バケットの最上位に書き込むことはできません。
-
-
キー
dynamodbdatapipeline
と値true
を含むタグを追加します。 -
すべての設定が正しいことを確認したら、[Activate] (有効化) をクリックします。
これで、パイプラインが作成されます。このプロセスが完了するまでに数分かかることがあります。AWS Data Pipeline コンソールで進捗状況をモニターすることができます。
エクスポートが完了したら、Amazon S3 コンソールae10f955-fb2f-4790-9b11-fbfea01a871e_000000
のように識別子の値で、拡張子はありません。このファイルの内部形式については、「AWS Data Pipeline デベロッパーガイド」の「データエクスポートファイルの確認」を参照してください。
Amazon S3 から DynamoDB にデータをインポートする
このセクションでは、すでに DynamoDB テーブルからデータをエクスポートし、エクスポートファイルが Amazon S3 バケットに書き込まれていることを前提とします。このファイルの内部形式については、「AWS Data Pipeline デベロッパーガイド」の「データエクスポートファイルの確認」を参照してください。これは、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 つのテーブルのみです。
AWS Management Console にサインインして AWS Data Pipeline コンソール (https://console.aws.amazon.com/datapipeline/
) を開きます。 -
(省略可能) クロスリージョンのインポートを実行する場合、ウィンドウの右上隅にあるインポート先リージョンを選択します。
-
[Create new pipeline] (新しいパイプラインの作成) を選択します。
-
[Create Pipeline] (パイプラインの作成) ページで、次の操作を実行します。
-
[Name] (名前) フィールドで、パイプラインの名前を入力します。例:
MyDynamoDBImportPipeline
。 -
[Source] (ソース) パラメータで、[Build using a template] (テンプレートを使用してビルドする) を選択します。ドロップダウンテンプレートのリストから、[Import DynamoDB backup data from S3] (S3 から DynamoDB バックアップデータをインポートする) を選択します。
-
[Input S3 Folder] (S3 フォルダに入力) テキストボックスに、エクスポートファイルがある Amazon S3 の URI を入力します。例:
s3://mybucket/exports
この URI の形式は
s3://
で、次のような構成になっています。bucketname
/folder
-
bucketname
は Amazon S3 バケットの名前です。 -
folder
はエクスポートファイルを含むフォルダーの名前です。
インポートジョブでは、指定した Amazon S3 の場所にファイルが見つかることが想定されます。このファイルの内部形式については、「AWS Data Pipeline デベロッパーガイド」の「データエクスポートファイルの確認」を参照してください。
-
-
[Target DynamoDB table name] (ターゲット DynamoDB テーブル名) フィールドに、データをインポートする DynamoDB テーブルの名前を入力します。
-
[S3 location for logs] (S3 ログの場所) テキストボックスに、インポート用のログファイルが書き込まれる Amazon S3 の URI を入力します。例:
s3://mybucket/logs/
[S3 Log Folder] (S3 ログフォルダ) の URI 形式は [Output S3 Folder (出力 S3 フォルダ) と同じです。URI はフォルダに解決される必要があります。ログファイルを S3 バケットの最上位に書き込むことはできません。
-
キー
dynamodbdatapipeline
と値true
を含むタグを追加します。
-
-
すべての設定が正しいことを確認したら、[Activate] (有効化) をクリックします。
これで、パイプラインが作成されます。このプロセスが完了するまでに数分かかることがあります。インポートジョブはパイプラインの作成直後に開始されます。
トラブルシューティング
このセクションでは、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
AWS Data Pipeline コンソールには、DynamoDB と Amazon S3 間でデータをエクスポートするための定義済みテンプレートが 2 つ用意されています。これらのテンプレートの詳細については、AWS Data Pipeline デベロッパーガイドの次のセクションを参照してください。