こんにちは、株式会社エーピーコミュニケーションズ、クラウド事業部の松尾です。
- はじめに
- ゴール
- 環境
- AWS DataSyncとは
- DataSyncエージェントをデプロイ
- サービスエンドポイントの選択
- エージェントのアクティベーション
- ロケーションの作成
- タスクの作成
- データの移行
- まとめ
- おわりに
はじめに
この記事は以下の手順を紹介する内容となっています。
前回までにNo4まで完了しています。本記事ではNo5を紹介します。
- オンプレミスのADとAWS Managed Microsoft AD間に双方向の信頼を設定する
- ADMT等のツールでユーザーアカウントとグループを移行する
- ファイルサーバー上のアクセス権限であるAccess Control List(ACL)を複製する
- 移行先へAmazon FSxを作成する
- AWS DataSyncを利用し、既存のACLを保ったままファイルとフォルダをAmazon FSxに移行する
ゴール
- 移行元環境のフォルダを移行先環境へ、フォルダのACLを保ったまま移行すること
- 移行手法はAWS DataSync
- 移行元環境はEC2に構築したSMB ファイルサーバ
- 移行先環境はAmazon FSx for Windows ファイルサーバー
環境
DataSyncAgentを移行元環境へ構築しアクティブ化を行ったのち、移行先環境へDataSyncを使ってデータを移行してみます。
AWS DataSyncとは
まず最初にDataSyncのアーキテクチャを再確認します。
AWS DataSync公式ドキュメント
AWS DataSync転送の仕組み - AWS DataSync
によると、このような構成になります。
いくつか方法はありますが、今回DataSyncAgentはEC2として構築することにします。(移行元環境がAWSであるため)
DataSyncエージェントをデプロイ
ここからは以下を参考に実施していきます。
まずはDataSyncAgentのAMIからEC2を起動していきます。
数字の新しいものを選択。
インスタンスタイプは2Xlarge以上が求められます。 今回はリンク先で推奨されている「m5.2xlarge」にしてみます。
セキュリティグループは、
にインバウンド、アウトバウンドの要件がありますが、今回は検証のため、インバウンドに自端末からHTTP80の許可のみ設定し、アウトバウンドは全許可としました。 HTTP80の許可はDataSyncエージェントのアクティベーション時のみに必要で、アクティベーション後には不要になるため閉じることが推奨です。
サービスエンドポイントの選択
今回はサービスエンドポイントは、「VPCエンドポイント」を選択してみます。
エンドポイントを作成していきます。
完成
エージェントのアクティベーション
AWS DataSync から「エージェントを作成」
パラメータを入力し「キーを取得する」
「エージェントのアドレス」はグローバルにIP到達性があることが必要そうで、EC2のプライベートIP
プライベートIPでは失敗しました。今回はグローバルIPをパラメータとして進めています。
アクティベーションキーの取得に成功すると確認画面になります。
エージェント名とタグを設定して「エージェントを作成する」
エージェント作成完了!
ロケーションの作成
データを転送するには「タスク」という単位で行います。「タスク」は「ソースロケーション」から「デスティネーションロケーション」へ転送する形に設定していきます。
ソースロケーション
送信元の設定です。今回は移行元環境に構築した共有フォルダを設定します。
移行元環境にはSMB ファイルサーバを構築済みです。
通信要件はこちらを参考にしてください。
「ロケーションを作成する」をクリック
パラメータを入力
パラメータ入力後、「ロケーションを作成する」をクリック
ソースロケーションの作成完了
デスティネーションロケーション
ソースロケーションと同様にデスティネーションロケーションも作成していきます。
ロケーションタイプにFSxを選択
ユーザーにはAWS Managed Microsoft ADのユーザを設定
タスクの作成
ソースロケーションとデスティネーションロケーションが作成できたので「タスク」を作成していきます。
「タスク」から「タスクを作成する」をクリック
作成したソースロケーションを選択
作成したデスティネーションロケーションを選択
タスク名の他は詳細パラメータです
今回はロギングを無効にしたのみで他はデフォルト値としました。
レビュー画面で内容を確認し「タスクを作成する」をクリック
データの移行
タスクの「アクション」から「開始」をクリックして開始する
ステータスが実行中に遷移
タスクが完了後、「履歴」から実行結果を確認する
今回は3ファイルだけだったので参考にならないがデータ転送パフォーマンスも確認可能
移行先のEC2でマウントしたファイルサーバ(FSx)にフォルダが移行されていることが確認できた
ファイル権限エラー
事象
移行後のフォルダへアクセスしようとするとエラーになってしまった。
フォルダのACL設定なのかDatasync設定なのか、別途調査予定。
原因
原因は移行したフォルダのACLで許可されていないユーザでアクセスしようとしていたためでした。
移行方法に問題は無く、確認しようとしたユーザ(AWS Managed Microsoft ADのAdmin)が間違っていた、ということになります。
対応
フォルダのACLで許可されたユーザでフォルダアクセスを確認していきます。
読み書き可能な「hr-user」では、HRフォルダへファイルを作成(書き込み)が出来ることを確認。
読み取りのみ可能な「hr-r-user」では、HRフォルダへファイルを作成(書き込み)が出来ないことを確認。
ENGフォルダへはアクセスが不可。
まとめ
AWS DataSyncAgentはAMIで提供されていたので構築は手軽でした。
DataSyncの設定としても「ロケーション」と「タスク」にアーキテクチャが分かれていて、分かりやすいものでした。
全体としては、AD構築やAD移行のフェーズも含めたため手順が増えてしまいましたが、無事データの移行まで完了できました。
実際、ファイルサーバ移行とActiveDirectory移行はセットになることは多いので、設定の流れやアーキテクチャの整理になったかと思います。
セキュリティグループを広めに空けていたり、エラーとなった箇所もあったのでまだまだ改善すべき部分はありそうです。
おわりに
私達クラウド事業部はAWSなどのクラウド技術を活用したSI/SESのご支援をしております。
www.ap-com.co.jpwww.ap-com.co.jp
また、一緒に働いていただける仲間も募集中です! ご興味持っていただけましたらぜひお声がけください。