Data PipelineでDynamoDBのExport, Importを実行

DynamoDBのデータをData Pipelineを利用してエクスポート、インポートする方法を確認します。

利用するAWSリソース

  • Data Pipeline
    • ワークフローを管理
  • S3
    • Exportデータの格納先
  • EMR
    • 分散処理フレームワーク
    • 1台の マスターノードコアノード タスクノード にジョブを振り分ける
    • Hadoop Apache Spark Presto などの分散処理アプリケーションをサポート

前準備

IAM Roleの作成

下記2つのIAM Roleを作成しておきます。

  • DataPipelineDefaultRole
    • 「Data Pipeline」および「Data Pipeline管理のEMRクラスター」を呼び出すことを許可
  • DataPipelineDefaultResourceRole
    • 「Data Pipelineが起動するEC2インスタンス」に対して「S3」「DynamoDB」などのサービスへのアクセスを許可
694-aws-data-pipeline-dynamodb_role1.png

DataPipelineDefaultRoleでは1を選択。

DataPipelineDefaultResourceRoleでは2を選択。

2つのIAMロールを作成しました。

694-aws-data-pipeline-dynamodb_role2.png

S3バケットの作成

Export先のS3バケットを作成しておきます。
ここでは例として dynamodb-export-wakuwaku-sample というバケットを作成しました。

Export

パイプラインの設定

694-aws-data-pipeline-dynamodb_export_1.png

Data Pipelineの管理画面を開き、Get started nowをクリックします。

694-aws-data-pipeline-dynamodb_export_2.png

Nameにパイプラインの名前を入力します。

SourceExport DynamoDB table to S3を指定します。

Source DynamoDB table nameにエクスポートしたいテーブル名を指定します。

Output S3 folderにエクスポート先となるS3バケットを指定します。

694-aws-data-pipeline-dynamodb_export_3.png

Schedule
今回、スケジューリング設定はしませんが、ここで設定しておくことができます。

Pipeline Configuration
今回、ログ出力はしませんが、トラブル対応としてログ出力しておいたほうが安心です。

Security/Access
先ほど作成したIAMロールを選択しています。

設定が完了したらAcrivateをクリックします。

パイプラインの生成完了 & 実行

パイプラインが生成されました。

694-aws-data-pipeline-dynamodb_export_4.png

Data PipelineのStatusについては下記ページにて確認できます。

パイプラインの実行完了

エクスポート処理が完了しました。今回、DynamoDBのデータ量は5項目しかなかったのですが、全体の処理に10分ほど時間がかかりました。

694-aws-data-pipeline-dynamodb_export_5.png

以下のようにS3にエクスポートされました。

694-aws-data-pipeline-dynamodb_export_6.png

Import

Import先のDynamoDBテーブル作成

694-aws-data-pipeline-dynamodb_import_1.png

Import先のDynamoDBテーブルを作っておく必要があります(キースキーマは同じにする)。

ここでは、users-importというテーブルを作成しました。

パイプラインの設定

694-aws-data-pipeline-dynamodb_import_2.png

Nameにパイプラインの名前を入力します。

SourceImport DynamoDB backup data from S3を指定します。

Target DynamoDB table nameにインポート先のテーブル名を指定します。

Input S3 folderにインポート元となるS3バケットのFolderを指定します。

その他はExportのときと同じ設定で、Acrivateをクリックすると、users-importにデータがimportされます。

参考

【エンジニア向け】仕事を見つける方法

転職する

転職エージェントを活用する

転職サイトの場合、自身でサイト上から企業を探す必要があります。 一方「レバテックキャリア」 などの転職エージェントの場合、エージェントが企業を紹介してくれます。エージェントが間に入ることにより、日程調整や、条件交渉などもサポートしてくれます。

転職ドラフトを活用する

転職ドラフト」は、 企業がITエンジニアをドラフトという形で指名するサービスです。年収が最初に提示されるなどのメリットがあります。 ただ、初回登録時にレジュメ作成が必要で、すでにエンジニア経験が豊富にあるエンジニア向けのサービスかと思います。 レジュメ作成が手間ですが、自身のキャリアを見直す機会になり、他の仕事探しにも役立つはずです。

エンジニア転職保証のあるスクールを活用する

ある程度、開発経験のあるかたであれば、独学で必要なスキルを身につけることができるはずです。ただ、別業種からエンジニアに転職したい場合など、1から独学で学ぶのはハードルが高いです。そういった方は、スクールの活用を検討しても良いと思います。 「TechAcademy」は、エンジニア転職保証コースを提供しています。給付金制度の対象講座として認定されているため、金銭面の負担も抑えることができます。

フリーランスとして活動する

レバテックフリーランス」「ITプロパートナーズ」「ギークスジョブ」は、フリーランスエージェントサービスです。 エージェントによって、支払いサイトなど細かい違いはありますが、まずは良い案件を見つけることが重要です。 登録自体は無料なので、複数エージェントに登録して、より多くの案件を紹介してもらうのがおすすめです。

logo
わくわくBank.
技術系の記事を中心に、役に立つと思ったこと、整理したい情報などを掲載しています。