MEGAZONEブログ
![Automating a 20 TB file server migration](https://www.hyperbilling.jp/wp-content/uploads/2024/03/image1-1.png)
Automating a 20 TB file server migration
20TBのファイルサーバー移行の自動化
Pulisher : AI & Data Analytics Center ソン・スルギ
Description:20TBファイルサーバーの移行にAWS DataSyncとTerraformの一部コマンドラインを使用した事例を紹介したセッション
はじめに
データのサイズだけでなく、ファイル数が増えた時、効率的にデータを移すことは容易なことではありません。 このような大容量、多数のファイルを移行する方法についてのノウハウを持つ経験を通じて試行錯誤を減らし、不必要なリソースの無駄が発生しないように、本セッションを通じて大容量データをどのように効果的に処理できるのかについてのインサイトを得ることができると期待しています。
セッションの概要紹介
このセッションでは、AWSコミュニティのヒーローであるDave Stauffacherが、10億以上のファイルを含む20テラバイトのファイルシステムをわずか2時間のダウンタイムでAmazon FSx for Windows File Serverに移行した方法を紹介します。Dave StauffacherがAWS DataSync、Terraform、そしていくつかのコマンドラインマジックを使用してプロセスを自動化した方法と、移行中に学んだ貴重な教訓をご紹介します。
![](https://www.hyperbilling.jp/wp-content/uploads/2024/03/image2-1.png)
![](https://www.hyperbilling.jp/wp-content/uploads/2024/03/image3-1.png)
移管対象データ
・2019年基準で14TBのデータを保有しており、このデータは10億個のファイルで構成されています。
・データサイズよりも重要なのは、ファイル数が多いことであり、一般的なブロックレベルのデータ移行ツールを使用するのが難しいため、困難な状況です。
・このような困難を解決する方法として、Amazon FSx for Windowsを活用することを決定し、Teffaformをベースに進めることにしました。
![](https://www.hyperbilling.jp/wp-content/uploads/2024/03/image4-1-1024x563.png)
![](https://www.hyperbilling.jp/wp-content/uploads/2024/03/image5-1-1024x571.png)
DataSyncとTerraformを活用した移行計画
・AWS DataSyncは、様々なソースから様々な宛先にファイルレベルのコピーを実行できるファイルコピーツールです。
・DataSyncを使用してデータ移行を自動化し、管理するためにTerraformを使って構築を行いました。
・ユーザーはソース位置とターゲット位置を定義し、スケジュール名、タスクなどのパラメータを指定してデータ移行作業を設定します。
![](https://www.hyperbilling.jp/wp-content/uploads/2024/03/image7-1.png)
![](https://www.hyperbilling.jp/wp-content/uploads/2024/03/image6-1-1024x566.png)
Data Syncの大量実行に対する効率的な管理及びコスト最適化のための自動化方策
・コスト削減のために初期4つのエージェントと8つのTaskでデータ移行を進めたが、性能向上のためにエージェント及びTaskを拡張していき、管理が難しくなった。
・Terraformを活用してタスク及びエージェントの拡張及び縮小を自動化して管理する案を作成し、性能及びコストが最適化されるようにしました。
![](https://www.hyperbilling.jp/wp-content/uploads/2024/03/image10-1.png)
![](https://www.hyperbilling.jp/wp-content/uploads/2024/03/image9-1-1024x570.png)
効果的なマイグレーション戦略
・データ移行を進める際、重要な作業を特定し、その作業をどのような順序で実行するかを決定することが重要な戦略の一つです。
・重要なデータ作業を優先的に処理してグループを形成し、そのグループがダウンタイム内に完了できるように計画を立てる必要があります。
・AWS DataSyncとTerraformを効果的に活用すれば、全体のデータ移行作業を効率的に管理し、主要作業を重点的に処理して全体的なプロセスを最適化することができます。
![](https://www.hyperbilling.jp/wp-content/uploads/2024/03/image8-1-1024x572.png)
セッションを終えて
データ移行時には、新規データに対する損失防止対策が必要です。
グループ化や優先順位などを通じた精密な移管計画が必要であり、移管後はデータに対する検証過程が必ず必要です。
全プロセスを自動化すれば便利ですが、問題発生時に措置ができるように人が介入できるポイントを確保する必要があります。
コスト削減のための計画が常にコスト削減につながるわけではなく、性能向上のためのコスト投入が常に性能向上につながるわけではありません。
性能向上のための費用投入が常に性能向上につながるわけではないことを覚えて、状況と環境に適した選択をすることが重要です。
マイグレーション完了後の時点についても、継続的なデータ管理ができるように今後の計画を立てることが必要です。
最適化の概念がコストは削減し、性能は向上させ、可能なプロセスは自動化することだと考えてきましたが、現場ではこのような理想的なことはあまり起こらず、そのような現実をよく知り、各環境に適したコスト/性能構造、自動化方案に対する絶え間ない悩みが必要な過程であることが分かりました。