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

S3に関する調査が必要になったときの 効率よく調査できるTips

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

S3に関する調査が必要になったときの 効率よく調査できるTips

Avatar for caad TakaraShinya

caad TakaraShinya

November 02, 2025
Tweet

More Decks by caad TakaraShinya

Other Decks in Technology

Transcript

  1. S3調査でよくある悩み Amazon S3に保存された⼤量のデータを調査する際に直⾯する⼀般的な課題 ファイルが多すぎて、どれを⾒ればいいかわ からない 膨⼤な数のファイルの中から、⽬的のデータを⾒つけ出 すのに苦労する。 調査のために全ファイルをダウンロードする のは時間とコストがかかりすぎる 必要なデータがファイルの⼀部であるにも関わらず、全

    体をダウンロードしなければならず、時間、ネットワー ク帯域、データ転送コストが無駄になる。 ローカルPCのストレージが⾜りない ⼤規模なS3数据をローカル環境にすべて保存するだけの ストレージ容量がない。 データ鮮度の問題 ダウンロードしたデータはS3上の最新の状態を反映して おらず、データが古くなる可能性がある。 これらの課題を解決するための新しいアプローチ 3 / 18
  2. 従来の調査方法:ローカルへの全件ダウンロード S3に保存されたデータを調査する際、最も直感的な⽅法の⼀つが、必要なファイルをローカル環境にダウンロードするこ とです。 S3バケット ダウンロード ローカル環境 調査 時間と帯域幅の消費 ⼤容量のファイルをダウンロードするには、膨⼤な時間とネットワー ク帯域幅が必要です。必要なデータがファイルの⼀部である場合で

    も、全体をダウンロードしなければならないため、無駄が⽣じます。 ストレージ容量の圧迫 ローカル環境のストレージ容量には限りがあり、⼤規模なS3数据をす べて保存することは現実的ではありません。 コストの増加 データ転送量に応じて料⾦が発⽣するため、不要なダウンロードはコ ストの増加に直結します。 データ鮮度の問題 ダウンロードしたデータは、その時点のスナップショットであり、S3 上の数据が更新された場合、ローカルのデータは古くなります。 従来の調査⽅法の課題 4 / 18
  3. 解決策:Mountpoint for S3とは? Mountpoint for Amazon S3は、Amazon S3バケットをローカルのファイルシステムのようにマウントできるオープン ソースのファイルクライアントです。これにより、S3 APIを意識することなく、使い慣れたLinuxコマンドや既存のファイ

    ルベースのアプリケーションでS3上のファイルに直接アクセスできるようになります。 S3バケット ローカルファイルシステム 既存アプリケーション ファイルシステムインター フェース S3オブジェクトをファイルとしてマウント し、ファイルアプリケーションのAPIコール をS3 REST APIコールに変換します。 ⾼いスループット性能 AWS Common Runtime (CRT)と統合され、 データのプリフェッチ、シーケンシャルデー タの最適化、データのキャッシングによって パフォーマンスが向上します。 既存ツールの活⽤ UNIXスタイルのファイルアクセスを知って いる既存のアプリケーション、コマンド、 ツール(ls, cat, dd, findなど)をS3バケット に対してそのまま使⽤できます。
  4. Mountpoint for S3の仕組み Mountpoint for S3は、Linuxの仮想ファイルシステム (VFS) を利⽤하여動作します。ユーザーが⾏うファイル操作がどのようにS3 API コールに変換されるかを以下のように追跡できます。

    ファイル操作 ls, cat, open, read などのコ マンドや関数 VFS (仮想ファイル システム) ファイル操作をMountpoint への呼び出しに変換 Mountpoint 呼び出しをS3 APIコールに 変換して処理 S3 API LIST, GET, PUT などのS3 APIコール 透過的な変換 アプリケーション側でS3 APIを直接扱うためのコード変更が不 要。既存のツールやワークフローをそのまま活⽤できます。 API抽象化 S3 APIの詳細を意識せずに、標準的なファイルシステムインター フェースでS3オブジェクトにアクセスできます。 Mountpoint for S3 はオープンソースのファイルクライアントです 7 / 18
  5. Mountpoint for S3の主な特徴① ファイルシステムインターフェース S3オブジェクトをファイルとしてマウントし、ファイ ル操作のように扱えます ファイルアプリケーションのAPIコールをS3 REST API コールに変換します

    既存のツールやワークフローを変更せずに利⽤できます ⾼いスループット性能 AWS Common Runtime (CRT)と統合され、効率的な データ処理が可能に データのプリフェッチ、シーケンシャル最適化、 キャッシング機能でパフォーマンス向上 ネットワーク帯域を有効に活⽤し、最⼤100 GB/秒の データ転送能⼒を活⽤ Mountpoint for S3はオープンソースのファイルクライアントです 8 / 18
  6. Mountpoint for S3の主な特徴② 既存ツールの活⽤ S3オブジェクトをファイルとし てマウントし、既存のLinuxコマ ンドやアプリケーションで直接 操作可能 `ls`, `cat`,

    `dd`, `find`などの UNIXスタイルファイルアクセス をS3バケットにも適⽤ S3 APIを意識せずに、使い慣れ たツールでデータ操作が可能に 開発効率の向上 ローカルファイルのようにS3上 のデータを扱えるため、開発サ イクルの短縮に寄与 学習コストや作業の複雑さが軽 減され、エンジニアの⽣産性と 満⾜度が向上 既存のスキルセットとツールを 最⼤限に活⽤できる画期的なア プローチ コスト削減の可能性 必要なデータのみをオンデマン ドで読み込むことで、不要な データ転送量を削減 S3オペレーションコストを効果 的に抑えることができる Mountpoint⾃体の利⽤に追加料 ⾦は発⽣せず、⽀払いは基礎と なるS3オペレーションに対して のみ 実務上でのメリットが豊富にあります 9 / 18
  7. 導入手順:コマンド例 1 RPMパッケージのダウンロード ダウンロードコマンド $ wget https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm Mountpoint for S3のRPMパッケージをダウンロードします

    2 Mountpointのインストール インストールコマンド $ sudo yum install ./mount-s3.rpm ダウンロードしたRPMパッケージをインストールします Mountpoint for S3の導⼊⼿順 10 / 18
  8. 導入手順:コマンド例 4 S3バケットのマウント マウントコマンド $ mount-s3 hogehoge hogehoge 作成したディレクトリにS3バケットをマウントします 3

    マウントポイントの作成 ディレクトリ作成 $ mkdir hogehoge S3バケットをマウントするためのローカルディレクトリを作成します Mountpoint for S3の導⼊⼿順 10 / 18
  9. 実践例:S3上のファイル探索 マウントしたS3バケット内をLinuxコマンドで探索する実例 bash - 80x24 $ cd hogehoge $ ls

    -l | head -10 total 0 drwxr-xr-x 2 hoge hoge 0 Aug 7 23:07 2024_12_30 drwxr-xr-x 2 hoge hoge 0 Aug 7 23:07 2024_12_31 ... $ cd 2024_12_30/hogehoge $ ls -l | head -10 total 2680 -rw-r--r-- 1 jeff jeff 19337 Feb 10 2024 17-12-01.jpg -rw-r--r-- 1 jeff jeff 19380 Feb 10 2024 17-15-01.jpg ... ファイル探索の効率化 S3バケット内のファイル構造を即座に把握可能 必要に応じて特定のディレクトリのみに移動し て探索 ローカル環境に全ファイルをダウンロードする ことなく、必要最⼩限の情報のみ取得 既存のLinuxコマンド(ls, find, grepなど)をそ のまま使⽤可能 Mountpoint for S3の利点 12 / 18
  10. 実践例:S3上のファイルを直接処理 Mountpoint for S3を使⽤することで、S3上のファイルを ローカルにダウンロードすることなく直接操作できます。 ripgrepによるファイル検索 S3バケット内に保存された⼤量のファイルから特定 の⽂字列を含むファイル名を検索する例です。通常 であればすべてをダウンロードする必要があります が、Mountpointを使⽤すれば直接処理可能です。

    重要なポイント ローカル環境への全ダウンロードが不要 使い慣れたLinuxコマンドをそのまま使⽤ S3の存在を意識せずにファイル操作可能 bash # S3バケットをマウント $ mount-s3 hogehoge hogehoge # 画像ファイルが含まれたディレクトリに移動 $ cd hogehoge/2024_12_30/hoge # ripgrepで文字列でファイル検索 (スレッドを利用して並列実行も可能) $ ./rg --threads $(($(nproc) * 2)) -l --glob '!hogehoge-prod/monitoring/' \ "memory|cpu|" \ ./hogehoge-prod/ > /tmp/filecontent_hit_list_globed.txt MountpointがバックグラウンドでS3からのデータ読み込みを効率的に処理する ため、ユーザーはS3の存在を意識せずに既存のツールを活⽤できます。 Mountpoint for S3 13 / 18
  11. Mountpoint導入による効果① 調査時間の劇的な短縮 ⼤容量ファイルのダウンロード待ち時間がゼロ 必要なデータに即座にアクセス可能 バージニア等、遠隔地のデータでも⾼速 ※24万件中 2300件のファイル抽出が30分かからず データ転送コストの削減 必要なデータのみをオンデマンドで読み込むた め、不要なデータ転送が削減され、S3からのデー

    タ転送コストを抑制できます。Mountpointの利⽤ ⾃体には追加コストがかかりません。 ローカルストレージの節約 ⼤規模なS3数据をローカルに保存する必要がなく なり、ローカルPCのストレージ容量を圧迫する⼼ 配がなくなります。必要な場合のみデータがロー カルにキャッシュされるため、効率的なストレー ジ利⽤が可能です。 エンジニアの作業ストレス軽減 S3 APIを意識することなく、使い慣れたLinuxコマ ンドや既存のアプリケーションでS3上のデータを 扱えるため、学習コストや作業の複雑さが軽減さ れ、エンジニアの⽣産性と満⾜度が向上します。 Mountpoint for S3の導⼊による定量的効果 14 / 18
  12. 他のS3調査手法との比較 Mountpoint for S3 特徴 • ファイルシステムインターフェース • ⾼いスループット性能 •

    既存ツールの活⽤可 最適なユースケース • ⼤規模データ調査 • ETLプロセス Amazon Athena 特徴 • SQLによるクエリ • 即座に実⾏可能 • コスト効率が良い 最適なユースケース • 分析クエリ • レポート作成 S3 Select 特徴 • JSONデータの抽出 • 低遅延で⾼効率 • API経由でのアクセス 最適なユースケース • API連携 • データ加⼯ ⽬的に応じて最適な調査⼿法を選択し、活⽤することが重要です S3調査⼿法の⽐較 16 / 18
  13. まとめ:Mountpoint for S3の活用ポイント ファイルシステムインターフェースの活⽤ 既存のLinuxコマンドやアプリケーションを変更せずにS3 データに対して直接アクセスできるため、調査フローワー クの効率化が期待できる。 ⾼いスループット性能 AWS Common

    Runtimeと統合され、データのプリフェッ チやキャッシングによりパフォーマンスが向上。ネット ワーク帯域を効率的に活⽤できる。 コスト削減の効果 必要なデータのみをオンデマンドで読み込むことで、不要 なデータ転送量を削減し、S3オペレーションコストを抑え ることができる。 既存ツールの活⽤ `ls`, `cat`, `grep`, `ripgrep`など、⻑年使い慣れたコマ ンドラインツールやスクリプトをS3データに対してそのま ま適⽤できる。 ベストプラクティス S3バケットのマウントポイントは、⽤途に合わせて適切なオプショ ンで設定する ⼤規模データセットの調査には、Mountpoint for S3を推奨 Mountpoint for S3 | 効率的なS3データ調査 17 / 18