前回の#1では、AWS DataSyncはどういったサービスか、オンプレミスからのデータ移行にDataSyncが用いられる理由、実際にデータ移行をするための権限周りの準備などを紹介していきました。
1をまだ見ていないよという方がいらっしゃいましたら、ぜひ以下から一読していただいたうえで#2を読んでいただければと思います。
AWS DataSyncを使ってAmazon S3のログを移行させてみた。#1準備編 - JBS Tech Blog
実際にログを移行させてみた
移行元ロケーションの作成
まず初めに移行元S3ロケーションを作成していきます。移行元のS3ロケーションはGUIコンソールからは作成ができません。そのためAWS CLIを用いて作成を行います。
aws datasync create-location-s3 --s3-bucket-arn arn:aws:s3:::(移行元バケット) --s3-storage-class STANDARD --s3-config BucketAccessRoleArn="arn:aws:iam::移行先アカウント:role/datasync-transfer-role" --region ap-northeast-1
上記のコードを打ち込むことで、移行元ロケーションが作成されます。
作成された移行元ロケーションはコンソール上で確認できるので、できているか確認しましょう。
移行先ロケーションの作成
次に移行先S3ロケーションを作成していきます。こちらは、GUIコンソールで作成が可能です。
ロケーションタイプはS3を選択、S3 URlの部分では作成したS3を選択し、IAMロールでは作成したIAMロールを選択します。
タスクの作成
移行元、移行先でロケーションの作成を行った後、移行先のアカウントでタスクの作成を行います。
まず初めに、送信元ロケーションの設定を行います。既存のロケーションから、作成したロケーションを選択し[次へ]をクリックします。
次に、送信先ロケーションの設定を行います。送信先ロケーションも送信元ロケーションと同様に、既存のロケーションで作成した移行先のロケーションを選択して、[次へ]をクリックします。
最後に設定構成を行います。
「Task mode」では、タスクのパフォーマンスを選択します。
「Source data options」では、スキャンするコンテンツを選択します。
「Transfer options」では、転送するデータの種類と検証を選択します。
「schedule」では、タスクをいつ実行するかを選択します。
「logging」では、CloudWatchに記録されるログレベルとCloudWatch logグループを選択します。
今回は検証のため上記の画像のような設定にしました。上記の設定を行ったらタスクの作成は完了です。
タスクの実行と転送
まず初めに、移行元のS3バケットに、今回検証で使用するデモデータを用意します。今回は、上記画像のようなデモデータを7個用意しました。
タスクの作成が完了したら、いよいよデータ転送を行っていきます。先程作成したタスクをクリックし、[開始]をクリックします。タスクが実行されデータ転送が始まります。
結果を見ていきましょう。移行先のバケットの中身を確認すると、しっかりと7個のデータが送られているのを確認できました。
以上で、実践編を終了します。
最後に
#1に続き今回は実践編を行いました。#1,2を通してAWS DataSyncを触ってきましたが、感想としては、権限周りの設定部分が難しいと感じました。
今回は検証というのもあり、細かい権限周りの設定部分は触れてこなかったですが、本番機などの実稼働しているシステムに導入する際はさらに複雑な権限周りの設定が必要になってくるので、しっかり設定確認を行うことが大事かと思います。
しかし、実際のコンソールからの操作は難しくなく、一度に大量のデータを迅速に送ることが可能なので、非常に実用性が高いサービスだと感じました。
最後までお読みいただきありがとうございました。
年永 純(日本ビジネスシステムズ株式会社)
HC1部5G所属。AWSやAzureなどのクラウドサービスを主に取り扱っており、現在は仮想化基盤やオンプレミス製品なども触ったりしています。 ディズニー大好きです。
担当記事一覧