AWS DataSyncを使ってS3内のファイルをEFSに移動させてみた。

この記事を書いたチーム:tenko

前書き

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

データ移行って結構大変ですよね。
つい最近もとあるシステムのデータを手動で移行するという作業を行い、結構大変だなっと思いながら作業しました。
その中で今回は採用されませんでしたが、AWSサービス内でとても安全で高速に移行できるサービスの調査を行ったので、今回はそちらのサービスを紹介します。
そのサービスは今回紹介するAWS DataSyncです。
AWS DataSyncはオンプレミスサーバーからAWSサービスへのデータ移行やAWSサービス間のデータ移行をサポートしており、設定する事で簡単にデータ移行が行える便利なサービスです。
AWSでは、データ移行系のサービスは複数ありますが、その中でもDataSyncについては比較的に扱い易いサービスだと思います。

今回はAWS DataSyncを使って簡単なデモを行っていきます。

 

手順の流れ

①送信元のS3を作成してサンプルファイルを配置する
②送信先のEFSを作成してEC2内のディレクトリにアタッチする
③AWS DataSyncのタスクを作成する
④AWS DataSyncのタスクを実行してEC2からEFSの中身を確認する

手順①
S3のコンソールで検証用のS3バケットを作成してファイルを配置しました。
今回は検証用の為、デフォルトで作成して配置するファイル名は「DataSyncDemo.txt」としました。

手順②
EFSを作成してEC2にアタッチします。

作成したEFSをEC2の以下の部分にディレクトリにアタッチします。

ついでにディレクトリの中身にデータが無いことも確認します。

手順③
AWS DataSyncのタスクを作成
AWSDataSyncのコンソール画面から左メニューのタスクを選択して、「タスクを作成する」を選択して送信元と送信先のロケーションを設定します。

詳しい手順内容を今回は省きますが、設定内容は以下になっています。
・送信元のロケーション

・送信先のロケーション

・タスクの設定

※今回はスケジュール運転を設定せずにS3バケット内のすべてのデータを送るように設定しました。またログについては配信しない設定しました。

手順④
タスクの実行後にEC2から移行されたファイルを確認
実行方法はタスクの詳細画面から「開始」→「デフォルトから開始する」で実行しました。

実行して、しばらくするとタスクのステータスが「実行中」から「利用可能」になると処理が完了になります。
また画面内の「履歴」タブから実行履歴が確認できます。

次にEC2側から確認してみたいと思います。

無事にS3内のデータが送信されていますね。
ちょっと「DataSyncDemo.txt」の中身を見てみようと思います。

無事に成功している内容のメッセージが記載されていましたね。

デモはこれで以上になります。

AWS DataSyncはとても便利なサービスだと改めて思いました。
是非、ストレージサービス間の大量データの移行などを依頼されたら試してみてください。

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス