AWS DataSyncについて調べてみた

この記事は株式会社ナレッジコミュニケーションが運営する[Amazon AI by ナレコム Advent Calendar 2018](https://qiita.com/advent-calendar/2018/knowcom-amazonai)の21日目の記事になります。
![2018-12-21_12h02_12.png](https://qiita-image-store.s3.amazonaws.com/0/229923/cddb09f3-d550-8d31-d56d-9e16c82ce685.png)

##はじめに
今回は先日開催されたre:Invent 2018で発表されたサービス、AWS DataSyncをご紹介します。

後述にて詳細を紹介しますが、そもそもAWS DataSyncはデータ転送サービスです。
一見、AmazonAIのアドベントカレンダーとは関係ないように思われるかもしれませんが、実はAIを活用する周辺のサービスとしては重要な役割があります。

そもそも、AIサービスを利用するにあたり、膨大なデータが必要です。また、S3に保存しているデータをAIサービスと連携する、といったケースが一般的だと思いますが、データは現状社内にあり、AIを活用するためにS3にデータを移動したいが、転送速度や、コスト、定期的にデータセットを転送しなくてはならないなどの課題があると思います。

そこで役に立つのがAWS DataSyncというわけです。それではさっそくどんなサービスか見ていきましょう。

![2018-12-21_12h07_33.png](https://qiita-image-store.s3.amazonaws.com/0/229923/86713c36-0936-1426-16eb-33d2c455825c.png)

引用元：[[AWS クラウドサービス活用資料集]AWS re:Invent 2018 アップデート速報【NEW!】](https://d1.awsstatic.com/webinars/jp/pdf/services/20181130_AWS-BlackBelt_reinvent2018digest_1205.pdf)

##AWS DataSync概要
AWS DataSyncとは、オンプレミスからAWS（Amazon S3 / Amazon EFS）へ、AWS（Amazon S3 / Amazon EFS）からオンプレミスへ、データの移動を簡単におこなえるマネージド型のデータ転送サービスです。

AWS DataSyncはオンプレミスにエージェントを導入することで使用可能です。このエージェントを使用することで、仮想マシンとしてデプロイされ、NFSプロトコルを介して既存のストレージに接続し、AWS DataSyncサービスとの間でデータの送受信を行います。

AWS側のストレージはAmazon S3もしくはAmazon EFSを対象として設定が可能です。また、データ転送に関連する多くのタスク等を設定することで簡単かつ高速なデータ転送による同期が実行されます。

####ユースケース
- データ移行
   - データセンターを閉鎖するか、ストレージアレイを廃止する場合など

- ハイブリッドワークロードのためのデータ処理
   - 処理のために AWS の内外に移動する必要があるデータをオンプレミスシステムで生成または使用している場合など

- データ保護
   - 大規模なネットワークアタッチトストレージ (NAS) システムを使用している場合など

####利用可能なリージョン
- us-east-1（バージニア北部）
- us-east-2（オハイオ）
- us-west-1（北カリフォルニア）
- us-west-2（オレゴン）
- eu-central-1（フランクフルト）
- eu-west-1（アイルランド）
- ap-northeast-1（東京）
- ap-northeast-2（ソウル）
- ap-southeast-1（シンガポール）
- ap-southeast-2（シドニー）

※東京リージョンで使用する際でも、コンソールで表示される言語は英語です。

####料金
| リージョン別料金 | 料金は、DataSync が利用可能なすべての AWS リージョンで同じです。 |
| :----------------------------: | :----------------------------: |
| Amazon S3 または Amazon EFS との間でコピーされたデータ | 0.04 USD/転送されたデータ 1 ギガバイト (GB) |
※別途Amazon S3やAmazon EFSの料金が発生します。


引用元：[AWS DataSync](https://aws.amazon.com/jp/datasync/) 

##使用方法
この記事では、オンプレミスからAmazon S3もしくはAmazon EFSへデータを転送する方法について、ご紹介します。
コンソールからAWS DataSyncを開き、[ Get started ]を選択します。
※AWS DataSyncを開始する前に、利用したいリージョンを選択しておきます。
※エージェントをデプロイするためのハードウェア要件は、[AWS DataSync ハードウェア要件](https://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/requirements.html) を参照してください。
![2018-12-21_14h08_02.png](https://qiita-image-store.s3.amazonaws.com/0/229923/575d87c3-4b1f-33ca-aa93-65947715af9f.png)


####エージェントの作成
オンプレミスからAWS / AWSからオンプレミスへのデータ転送方法を選択し、エージェントを作成していきます。
![2018-12-21_14h14_10.png](https://qiita-image-store.s3.amazonaws.com/0/229923/1de244db-12a4-a51c-5422-46e932365c27.png)

まずエージェントをダウンロードし、必要事項を入力していきます。
![2018-12-21_15h43_10.png](https://qiita-image-store.s3.amazonaws.com/0/229923/7025ba1e-3a05-6e55-a1b8-df97731f56a6.png)

####データ転送元の指定
![2018-12-21_15h54_39.png](https://qiita-image-store.s3.amazonaws.com/0/229923/29593714-1839-2653-9762-5d5168ab6772.png)

####データ転送先の指定
![2018-12-21_15h57_01.png](https://qiita-image-store.s3.amazonaws.com/0/229923/9c362162-f512-439d-6add-eb3da5892bb7.png)

####タスクの作成
ここではファイル管理や帯域幅の指定などのオプションを設定することが可能です。
![2018-12-21_16h05_37.png](https://qiita-image-store.s3.amazonaws.com/0/229923/2c0a1371-18ab-c3ca-3e9b-41beed251e10.png)

####AWS DataSyncの実行
作成したタスクを実行すればすぐにデータ転送が始まります。
![2018-12-21_16h12_00.png](https://qiita-image-store.s3.amazonaws.com/0/229923/dc0d2d3e-cfbb-6820-4825-9bd27804cddc.png)

##さいごに
AWS DataSyncと類似しているサービスがいくつかあるので、用途や価格によってサービスを使い分ける必要がありそうです。
類似サービスについては簡単な比較と各サービスのリンクを下記に記載しておきます。

- [AWS Snowball](https://aws.amazon.com/jp/snowball/) 
    - 大規模なデータ転送を物理的に行うサービス

- [AWS Snowmobile](https://aws.amazon.com/jp/snowmobile/) 
    - 上述のAWS Snowballより更に大きなデータ転送を行うサービス
    
- [Kinesis Data Firehose](https://aws.amazon.com/jp/kinesis/data-firehose/) 
    - データの移動ではなく、ストリーミングデータを扱うサービス

- [S3 Transfer Acceleration](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/transfer-acceleration.html) 
    - Amazon S3のみを対象としたサービス

- [EFS File Sync](https://aws.amazon.com/jp/blogs/news/efs-file-sync-faster-file-transfer-to-amazon-efs-file-systems/)
    - Amazon EFSのみを対象としたサービス
      
- [AWS Storage Gateway](https://aws.amazon.com/jp/storagegateway/) 
    - AWS DataSyncと違い、タスクでの処理ができない。
Amazon S3、Amazon Glacier、Amazon EBSを対象としたサービス