AWS Data Pipelineを利用したAmazon DynamoDBのエクスポートについて
最終更新日:2026年8月10日
この記事でわかること
はじめに
| 項目 | AWS | Microsoft Azure | Google Cloud |
|---|---|---|---|
| 世界シェア | 約33%(首位) | 約22% | 約11% |
| 強み | サービス数・実績 | Microsoft製品連携 | データ分析・AI |
| 無料枠 | 12ヶ月+常時無料 | 12ヶ月無料 | 常時無料枠あり |
| 主な資格 | CLF / SAA / SAP | AZ-900 / AZ-104 | ACE / PCA |
本記事では、まずAWS Data Pipelineと Amazon DynamoDBの概要と利点について紹介し、その後、AWS Data PipelineとAmazon DynamoDBの統合ついて紹介します。
AWS Data Pipelineとは
AWS Data Pipelineは、AWSのコンピューティングサービスやストレージサービス、オンプレミス間で信頼性の高いデータ処理やデータ移動を自動化するウェブサービスです。以下では、6つの利点を紹介します。
1.信頼性
(設計上の対策)
AWS Data Pipelineは、高可用性を備えた分散型インフラストラクチャ上に構築されています。これにより、アクティビティ実行における高い耐障害性が得られます。
(障害発生時の対策)
アクティビティロジックやデータソースに障害が発生した場合は、AWS Data Pipelineが自動的にアクティビティを再試行します。失敗が続くと、AWS Data Pipelineは失敗通知をAmazon SNS経由で送信します。また、Amazon SNSでは失敗だけでなく、正常実行や計画したアクティビティの遅延についても通知が行われるように設定することができます。
2.ユーザビリティ
AWS Data Pipelineでは、使いやいように以下の工夫がされています。
- ドラッグアンドドロップで操作できるコンソールによって、簡単にパイプラインの作成が可能
- パイプラインテンプレートのライブラリを提供
まず1つ目については、よく使用される前提条件がサービスに組み込まれているため、前提条件を使用するための追加のロジックの記入が不要です。つまり、Amazon S3バケットの名前とチェックするファイルのパスを入力するだけでAmazon S3のファイルの有無を確認でき、残りの作業はAWS Data Pipelineが行います。
2つ目については、このテンプレートを使用することで、以下のような複雑なユースケースのパイプラインも簡単に作成できます。
規則的なログファイルの処理、Amazon S3へのデータのアーカイブ、SQLクエリの定期的な実行
3.フレキシビリティ
AWS Data Pipelineでは、以下のことができます。
- スケジュールの設定、依存関係の追跡、エラー処理などの機能の利用
- AWSが提供しているアクティビティや前提条件の使用
- ユーザー独自のカスタムアクティビティやカスタム前提条件の記述
これにより、AWS Data Pipelineを設定することで以下のアクションをとらせることができます。
- Amazon EMRのジョブの実行
- データベースに対するSQLクエリの直接実行
- Amazon EC2やユーザーのデータセンターで稼働するカスタムアプリケーションの実行
AWS Data Pipelineでは、アプリケーションロジックを確実にスケジュール設定して実行するための複雑な作業が不要で、高機能なカスタムパイプラインを作成して、データの分析や処理を行うことができるようになります。
4.スケーラブル
フレキシブルな設計がされているAWS Data Pipelineでは、大量のファイルの処理を1つの処理と同じように簡単に行うことができます。つまり、以下に示す、どの場合についても簡単に送信作業で行うことができます。
- 1台のマシンへの送信、多数のマシンへの送信
- シリアル送信、パラレル送信
5.コスト
AWS Data Pipelineは、使用コストが安価な上に、新規利用者を対象に以下の無料利用枠が提供されています。
- AWSで実行する低頻度の前提条件3つ
- AWSで実行する低頻度のアクティビティ5つ
ここで、低頻度とは実行スケジュールが1回/日以下のものを指します。無料利用枠の適用条件や料金体系は変更される場合があるため、最新料金はAWS公式サイトでご確認ください。
6.透過性
ユーザーは、ビジネスロジックを実行するコンピューティングリソースのコントロール権を所有しています。そのため、容易にロジックの拡張とデバッグを行うことができます。
また、実行ログ全体が自動的にAmazon S3に送信されるため、パイプラインで起きたことについて永続的で詳細なレコードを取得できます。
Amazon DynamoDBとは
Amazon DynamoDBは、規模に関係なく数ミリ秒台のパフォーマンスを実現する、高速でフレキシブルなNoSQLデータベースサービスです。以下では、3つの利点を紹介します。
1.スケールに応じたパフォーマンス
Amazon DynamoDBは、前述のように、規模に関係なく一貫した数ミリ秒台の応答時間を実現しています。また、レイテンシーがマイクロ秒の高速なアクセスを必要とするユースケースのために、DynamoDB Acceleratorでは、フルマネージド型のインメモリキャッシュを提供しています。
DynamoDB グローバルテーブルでは、グローバルに分散しているアプリケーションのデータへローカルかつ高速にアクセスできるように、複数のAWSリージョン間でデータをレプリケートしています。
2.サーバーレス
Amazon DynamoDBは、サーバーレスのため、サーバー管理が不要です。Amazon DynamoDBには、可用性とフォールトトレランス機能が組み込まれているため、自動的に、テーブルをスケールアップ/ダウンして容量を調整し、パフォーマンスを維持してくれます。
またコストについて、Amazon DynamoDBでは、プロビジョニング済みとオンデマンドのキャパシティモードがいずれも使用できます。そのため、ワークロードごとに容量を指定する、もしくは使用するリソース分のみを支払うことでコストを最適化できます
3.エンタープライズ対応
Amazon DynamoDBは、ACIDトランザクションをサポートしています。これにより、ビジネスクリティカルなアプリケーションを大規模に構築することができます。Amazon DynamoDBは、デフォルトで全てのデータを暗号化しており、全てのテーブルに対してきめ細かいIDとアクセスコントロールを提供しています。
数百TBのデータを完全にバックアップして、直前の35日間の任意の時点に復元できます(ポイントインタイムリカバリ)。これ関わるパフォーマンスへの影響やダウンタイムはありません。また、Amazon DynamoDBは、可用性を保証するためのサービスレベルアグリーメントでもサポートされています。
AWS Data PipelineとAmazon DynamoDBの統合
AWS Data Pipelineを使用すると、DynamoDBテーブルのエクスポート/インポートが可能になります。これにより、Amazon DynamoDBのデータをAmazon S3へバックアップすることができます。ここで、DynamoDBテーブルのエクスポート/インポートで利用するAWSサービスと役割を整理します。
・AWS Data Pipeline
エクスポート/インポートのワークフローの管理
・Amazon S3
Amazon DynamoDBに対してエクスポート/インポートするデータを格納
・Amazon EMR
Amazon S3とAmazon DynamoDBの間で読み込みと書き込みを実行
したがって、AWS Data Pipelineを使用したDynamoDBテーブルのエクスポート/インポートには、上記のサービスを利用するための追加料金が発生します。
以下でエクスポートを行うまでの手順を紹介します。
事前準備
・AWS Data PipelineのAmazon IAMロールの作成
次の2つを作成します。
1.DataPipelineDefaultRole ー パイプラインによって自動的に実行されるアクション
ロールの作成時に自動的にアタッチされるポリシー:AWSDataPipelineRole
2.DataPipelineDefaultResourceRole ー パイプラインによって自動的にプロビジョニングされるAWSリソース
ロールの作成時に自動的にアタッチされるポリシー:AmazonEC2RoleForDataPipelineRole
・Amazon S3バケットの作成
Amazon DynamoDBからAmazon S3へのエクスポート
エクスポートの方法として、Amazon DynamoDBのコンソールからテーブルを選択し、[アクション]→[エクスポート]と選択して進める方法もありますが、本記事では、AWS Data Pipelineコンソールから進める方法を紹介します。
【要注意】エクスポート方法は用途に応じて使い分けを
DynamoDBコンソールの[エクスポート]機能は、ポイントインタイムリカバリの仕組みを利用してAWS Data PipelineやAmazon EMRを経由せずに直接Amazon S3へエクスポートできる方法です。追加のパイプライン構築が不要で手軽なため、単発のバックアップ・分析用途であればこちらの方が簡単な場合があります。本記事で紹介するAWS Data Pipeline経由の方法は、定期実行や他の処理と組み合わせた自動化ワークフローに組み込みたい場合に適しています。画面構成や設定項目はAWSのアップデートで変更されることがあるため、実施前に必ずAWS公式ドキュメントの最新情報をご確認ください。
1.AWS Data Pipelineコンソールを開きます。
2.パイプラインの有無によって次を選択します。
- すでに現在のAWSリージョンにパイプラインが無い場合:[今すぐ始める]を選択
- 1つ以上のパイプラインがある場合:[Create new pipeline]を選択
3.パイプラインの作成ページで各種設定を行います。
- [Name]フィールドでパイプラインの名前設定
- [Source]パラメータで、[Build using a template]と[Export DynamoDB table to S3]を選択
- [Source DynamoDB table name]フィールドに、エクスポートするDynamoDBテーブルの名前を入力
- [Output S3 Folder]テキストボックスに、エクスポートファイルが書き込まれるAmazon S3のURLを入力
- [S3 location for logs]テキストボックスに、エクスポート用のログファイルが書き込まれるAmazon S3のURLを入力
ここでの注意点は、[S3 Log Folder]のURLは、4つ目の[Output S3 Folder]と同じである点と、ログファイルをAmazon S3バケットの最上位に書き込むことができない点です。
4.全ての設定が完了し、確認した後、[Active]をクリックします。
これにより、パイプラインが作成・実行されます。エクスポートによって出力されたファイル名は、拡張子なしの識別子の値です。
インポートについては、前述のエクスポートのステップ3における[Source]パラメータの選択を[Import DynamoDB backup data from S3]にするといったように、エクスポートの手順と大きな違いはありません。
押さえておきたいポイント
- AWS Data Pipelineは、AWSの各種コンピューティング・ストレージサービスやオンプレミス環境の間で、データ処理・データ移動のワークフローをスケジュール管理・自動化するサービスです。信頼性・柔軟性・拡張性に優れる一方、パイプラインの実行にはAmazon EMRなど追加リソースの利用料が別途発生する点に注意が必要です。
- DynamoDBテーブルをAmazon S3へエクスポートする方法は、本記事で紹介したAWS Data Pipeline+Amazon EMR経由の方法のほかに、DynamoDBコンソールから直接実行できるネイティブの「エクスポート」機能(ポイントインタイムリカバリを利用)もあります。追加のパイプライン構築が不要でより手軽なため、要件に応じて使い分けるとよいでしょう。
- IAMロールやS3バケットなど事前準備の設定内容は、AWSのアップデートにより名称や手順が変更される場合があるため、実際の作業前には必ずAWS公式ドキュメントの最新情報を確認しましょう。
よくある質問
AWS Data PipelineとAWS Glueはどう違いますか?
どちらもAWS上でデータ処理・ETLワークフローを扱うサービスですが、AWS Data Pipelineはスケジュールに沿ってAmazon EC2やAmazon EMRなどのコンピューティングリソースを制御しながらデータ移動・処理を行う仕組みであるのに対し、AWS Glueはサーバーレスでスキーマ検出やETLジョブの実行を簡易に行える点が特徴です。新規にデータ統合基盤を構築する場合は、要件に応じてAWS Glueなど他のサービスも比較検討することをおすすめします。
DynamoDBのデータをAmazon S3にエクスポートするのに、必ずAWS Data Pipelineが必要ですか?
必須ではありません。DynamoDBコンソールの[エクスポート]機能を使えば、AWS Data PipelineやAmazon EMRを経由せずに直接Amazon S3へエクスポートできます。本記事で紹介したAWS Data Pipeline経由の方法は、既存のパイプライン運用に組み込みたい場合や、定期実行・インポートまで含めて自動化したい場合に有効です。
AWS Data Pipelineの利用料金はどのくらいかかりますか?
AWS Data Pipeline自体の利用料に加え、パイプラインの実行によって呼び出されるAmazon EMRやAmazon S3、Amazon EC2などのリソースの利用料が別途発生します。無料利用枠の内容や具体的な料金は変更される場合があるため、最新料金はAWS公式サイトでご確認ください。
まとめ
本記事では、まずAWS Data Pipelineと Amazon DynamoDBの概要と利点について紹介し、その後、AWS Data PipelineとAmazon DynamoDBの統合について、データのエクスポートを中心に紹介しました。AWS Data PipelineとAmazon DynamoDBの統合することで、バグ発生時のデータの復元や、マルチリージョンアプリケーションをサポートするためのAmazon DynamoDBのデータ連携などにも活用できます。
▼ アクロビジョンについて


