Upgrade to Pro — share decks privately, control downloads, hide ads and more …

オンプレ→S3の大容量データ移行における サービス選定のリアル / 20251011 JAWS...

オンプレ→S3の大容量データ移行における サービス選定のリアル / 20251011 JAWS FESTA 2025 Makihara

Avatar for Ryunosuke Makihara

Ryunosuke Makihara

October 11, 2025
Tweet

More Decks by Ryunosuke Makihara

Other Decks in Technology

Transcript

  1. ©Fusic Co., Ltd. 1 CONFIDENTIAL 自己紹介 はじめに 槇原 竜之輔 MAKIHARA

    RYUNOSUKE 株式会社Fusic 事業本部 クラウドエンジニアリング部門 チームリーダー 🦍 • 出身:佐賀県佐賀市 • 現職:Fusic@福岡(2020~) • 前職:某警備会社のIT子会社@東京(2018~2019) • 趣味:甲賀流忍者検定(中級)、スパルタンレース    将棋、漫画、映画(アクション、ホラー、サメ等) • 好きなAWSサービス: ECS、VPC Reachability Analyzer 2024/2025 Japan All AWS Certifications Engineer 2025 Japan AWS Top Engineer (Services)
  2. ©Fusic Co., Ltd. 4 CONFIDENTIAL 代表的なデータ移行用の AWSサービス データ移行で使用するAWSサービス AWS Snowball

    大容量データをオンプレミスからAWSに物理的に移行するためのサービス。 オフラインで高速転送を実現。 AWS DataSync オンプレミスとAWS間(に限らないが)でデータを効率的に転送するサービス。 ネットワークを通じて高速な移行が可能。 AWS Database Migration Service (DMS) データベースの移行を支援するサービス。 異なるデータベース間でデータを簡単に転送・同期。 AWS Application Migration Service (AMG) アプリケーションの移行を支援するサービス。 物理サーバ、VMWare、Hyper-V、EC2や他のクラウドからの移行が可能。 AWS Elastic VMWare Service (EVS)も先日リリースされた
  3. ©Fusic Co., Ltd. 5 CONFIDENTIAL 代表的なデータ移行用の AWSサービス データ移行で使用するAWSサービス AWS Snowball

    大容量データをオンプレミスからAWSに物理的に移行するためのデバイス。 オフラインで高速転送を実現。 AWS DataSync オンプレミスとAWS間(に限らないが)でデータを効率的に転送するサービス。 ネットワークを通じて高速な移行が可能。 AWS Database Migration Service (DMS) データベースの移行を支援するサービス。 異なるデータベース間でデータを簡単に転送・同期。 AWS Application Migration Service (AMG) アプリケーションの移行を支援するサービス。 物理サーバ、VMWare、Hyper-V、EC2や他のクラウドからの移行が可能。 AWS Elastic VMWare Service (EVS)も先日リリースされた
  4. ©Fusic Co., Ltd. 6 CONFIDENTIAL AWS Snowball (Edge) データ移行で使用するAWSサービス •

    オンプレミスの大容量データをオフラインで AWSに運ぶためのサービス • 現在2種類が存在する、が... ◦ Snowball Edge Storage Optimized ◦ Snowball Edge Compute Optimized • 以下はサービス終了済み ◦ Snowball ◦ Snowball Edge 旧モデル ◦ Snowcone ◦ Snowmobile 2025/10/07 サービスの新規受入が 2025/11/07までと発表...
  5. ©Fusic Co., Ltd. 7 CONFIDENTIAL AWS DataSync データ移行で使用するAWSサービス • オンラインでファイルやオブジェクトの

    データを高速で転送するためのサービス • NFS、SMB、HDFS、オブジェクトストレージに 対応している • オンプレミス→AWSだけでなく、 S3、EFS、FSxや他のクラウド間との連携 が可能 • 再送・整合性検証等をマネージドに行う
  6. ©Fusic Co., Ltd. 9 CONFIDENTIAL 対象データ条件 サービス検討 • 以下の条件が設定されていると仮定 ◦

    オンプレミス環境のNFSサーバに存在 ◦ 500TB程度 ◦ ネットワークの帯域制限あり ◦ 移行期間はある程度確保されている 500TB(NFS)
  7. ©Fusic Co., Ltd. 10 CONFIDENTIAL 検討① AWS Snowball (Edge) サービス検討

    • 500TBを移行する必要台数 = 500 [TB] / 80 [TB/台] = 6.25 [台] ≒ 7 [台] ◦ ※検討当時は80TBのものしかなかった • 注意点 ◦ 複数台が同時に届くとは限らない ◦ 物理的に接続する場所はあるのか ▪ 左図のデバイスで重さは22.54 kg ◦ 書き込みにも時間がかかる ので、 速度の計算が必須 https://docs.aws.amazon.com/ja_jp/snowball/latest/developer-guide/receive-device.html デバイスの計画的輸送の必要性 & 物理接続の要件を考慮して今回は採用見送り
  8. ©Fusic Co., Ltd. 11 CONFIDENTIAL 検討② AWS DataSync サービス検討 •

    4Gbps(=500MB/s)利用可能だとすると、転送は 500,000,000 [MB] / 500 [MB/s] = 1,000,000 [s] ≒ 277.77 [時間] ≒ 11.57 [日] • 注意点 ◦ DataSyncエージェントは仮想マシンで起動する ▪ 推奨メモリは 32GBもしくは64GB ◦ DataSyncエージェントはDataSync用の ドメインに対して通信できる必要 がある 条件を満たせる環境だったため、検証を開始
  9. ©Fusic Co., Ltd. 12 CONFIDENTIAL 検証① 仮想的な環境での動作検証 サービス検討 • AWS環境上で検証

    • 動作確認及び手順書作成 • ベアメタルの EC2に エージェントを導入 • 送信元:EFSのエンドポイント • 送信先:S3バケット DataSync エージェント EC2 (i3.metal) EFS NFS接続 ファイル転送 S3 DataSync AWS Cloud 問題なく実行可能
  10. ©Fusic Co., Ltd. 13 CONFIDENTIAL オンプレミス環境 AWS Cloud 検証② 実環境での動作検証

    サービス検討 • 実環境での検証 • エージェントが動作する ホストOSからはNFSマウント 確認済み • 手順書に基づいたエージェントの導 入とテスト接続 • 送信元:NFSファイルサーバ • 送信先:S3バケット DataSync エージェント NFS接続 ファイル転送 S3 DataSync サーバ ファイルサーバ 実行エラー
  11. ©Fusic Co., Ltd. 14 CONFIDENTIAL DataSyncエラー原因調査 サービス検討 ファイルサーバ サーバ DataSync

    エージェント NFS v3, 4, 4.1, 4.2 今回のケースでは 、NFSプロトコルのバージョン、NFSサーバ設定、 物理機器の設定、開放が必要なポート等複合的な原因が考えられた → 移行開始までの期間が迫っていたためDataSyncの採用を見送り
  12. ©Fusic Co., Ltd. 16 CONFIDENTIAL AWS CLI (s3 sync) 採用したアーキテクチャ

    • AWS CLIのaws s3 cp/syncコマンドで S3にファイルをアップロード可能 ◦ 初回送信後ファイルが更新される可能性がある為 今回はs3 syncコマンドを採用 ▪ OSがマウントしたディレクトリを対象とする • 移行対象のディレクトリをリストとして受け取り 順次実行するスクリプトを用意 ◦ 細かい単位で転送することで再送処理の負荷軽減 ◦ エラー処理・ログローテーション は自前実装 S3 サーバ AWS CLI HTTPS
  13. ©Fusic Co., Ltd. 17 CONFIDENTIAL パフォーマンス設定のためのオプション 採用したアーキテクチャ max_concurrent_requests max_bandwidth AWS

    CLIにおけるS3へのアップロード・ ダウンロードの速度を制限するための設定。 厳格な設定ではなく、あくまで目安になる 点に注意。 AWS CLIにおけるS3へのアップロード・ ダウンロードにおける並列数の設定。 デフォルトだと10。 並列数を上げると速度の向上が見込める が、 サーバの負荷も増える点が注意。 $ aws configure set default.s3.max_concurrent_requests 20 $ aws configure set default.s3.max_bandwidth 50MB/s $ cat ~/.aws/config [default] s3 = max_concurrent_requests = 20 max_bandwidth = 50MB/s
  14. ©Fusic Co., Ltd. 18 CONFIDENTIAL 監視設定 採用したアーキテクチャ S3バケットのリクエストメトリクスを有効化→「BytesUploaded」メトリクスを監視 ・一定期間送信されたバイト数が0 →

    転送が完了した or スクリプトの不具合 ・1分間に送信された合計バイト数がしきい値を超える → 転送速度が超過している 例) 1分間に送信されたバイト数の合計が15GBの場合 15GB/1分 = 15GB/60秒 = 250MB/s S3 CloudWatch SNS
  15. ©Fusic Co., Ltd. 19 CONFIDENTIAL S3に格納したオブジェクトの検証方法 採用したアーキテクチャ S3 Inventory S3バケット内のオブジェクトのリストとメタデータを日次・週

    次でファイルとして出力する。 CSV、ORC、Parquet形式で出力可能。 S3 Metadata オブジェクトごとのメタデータをApache Icebergの形で管理する。 数分程度で情報が更新される。 ※2025年10月10日時点では東京・大阪リージョンには  まだ展開されていない
  16. ©Fusic Co., Ltd. 20 CONFIDENTIAL S3 InventoryとAthenaによる転送済みファイルの検証 採用したアーキテクチャ サーバ AWS

    CLI Amazon Athena S3 Inventoryで出力されたバケットに対してAthenaからクエリを投げることで 前日時点での統計データを算出することが可能。 ・合計バイト数 ・合計オブジェクト数 ・プレフィックス単位での集計 転送 オブジェクトの メタデータの出力 SQLクエリの実行
  17. ©Fusic Co., Ltd. 21 CONFIDENTIAL 他に検討したツール s5cmd 採用したアーキテクチャ AWS CLIを用いた操作より、かなり速い速度でS3へのアップロード・

    ダウンロードが可能なツール。 AWSの公式ブログでも紹介されていて実績はある。 → 今回はネットワークの帯域制限があるため、   速度は一定ならば問題ないので採用を見送った。 s5cmd is a very fast S3 and local filesystem execution tool. It comes with support for a multitude of operations including tab completion and wildcard support for files, which can be very handy for your object storage workflow while working with large number of files. https://github.com/peak/s5cmd
  18. ©Fusic Co., Ltd. 23 CONFIDENTIAL データ移行の検証に必要だったこと 反省 実機での検証 オンプレミスが関わってくる場合、出来るだけ実際のオンプレミス環境で再現 を

    行うのが望ましい。 オンプレミス環境に利用可能な実機がない場合でも、 予備機等で環境を近付けたものを用意したい。 ベアメタルの EC2インスタンスタイプ +NFSサーバでの検証 i3.metalやi4i.metal等のEC2インスタンスだと仮想マシンを実行することが 可能。(時間あたりの利用料が高いので利用の際は注意が必要 ) データの送信元はEFSやFSx等のAWSサービスを出来るだけ使用せず、 同じくEC2上に建てた方が、より実機に近づける 。
  19. ©Fusic Co., Ltd. 24 CONFIDENTIAL データ移行の検証に必要だったこと 反省 実機での検証 オンプレミスが関わってくる場合、出来るだけ実際のオンプレミス環境で再現 を

    行うのが望ましい。 オンプレミス環境に利用可能な実機がない場合でも、 予備機等で環境を近付けたものを用意したい。 ベアメタルの EC2インスタンスタイプ +NFSサーバでの検証 i3.metalやi4i.metal等のEC2インスタンスだと仮想マシンを実行することが 可能。(時間あたりの利用料が高いので利用の際は注意が必要 ) データの送信元はEFSやFSx等のAWSサービスを出来るだけ使用せず、 同じくEC2上に建てた方が、より実機に近づける 。 結論:実際の環境に近く、繰り返し検証を行える環境を早めに整えるべきだった
  20. ©Fusic Co., Ltd. 26 CONFIDENTIAL 今後オフラインでの移行はどうすれば良いのか 余談 • オンライン転送 →

    引き続きDataSyncを検討を推奨 • オフライン転送 → AWS Data Transfer Terminalの利用 or AWSパートナーのソリューション の検討を推奨 New customers should explore AWS DataSync for online transfers, AWS Data Transfer Terminal for secure physical transfers, or AWS Partner solutions. https://docs.aws.amazon.com/snowball/latest/developer-guide/snowball-edge-availability-change.html