当社のクライアントは、さまざまなドキュメントを保存する Windows ファイル共有を持っています。
データレイクを構築する目的で、ワイルドカードパターン ( *.pdf
、など)に一致するファイルをこれらのファイル共有から S3 バケットに取り込む必要があります。*.xlsx
私たちはさまざまな代替案を検討していますが、これを行う方法について、より良いアイデアを持っている人がいると感じています。
クライアントの Windows ファイル サーバーでエージェント ソフトウェアを実行します。
1.a. 新規/変更/削除されたファイルを S3 にコピーし、成功したか失敗したかを通知するレポート HTTP API を呼び出す PowerShell スクリプトを作成し
rclone
、タスク スケジューラを使用してそのスクリプトが定期的に実行されるようにスケジュールします。1.b. 同じことを行いますが、
aws s3 sync
from を使用しますaws-cli
。1.c. Facebook Watchman または同様のファイル監視ソリューションに基づいて、独自のアップローダーを開発します。
クライアント ファイル サーバーに SFTP または WebDAV サーバーを設定し、
rclone
弊社が管理する EC2 インスタンスから実行します。
他にもっとシンプルなテクノロジーがないか知りたいです。Amazon FSx が役に立つでしょうか? たとえば、Amazon FSx Windows ファイルシステムでクライアントのファイル共有をミラーリングするための自動レプリケーションメカニズムのようなものでしょうか?
あるいは、「Amazon S3 バックエンドを使用して独自の Dropbox を作成する」という別の種類のソリューションがあるのでしょうか?
答え1
Cloudberry Backup を使用できます。これは一方向同期アプリです。Windows Server にインストールし、S3 アカウントを追加し、ファイル形式フィルターと S3 バケットへの宛先を使用してローカル ファイル パスを構成します。このアプリにはスケジューラが内蔵されており、自動的に実行できます。これまでのところ、これが私が使用しているソリューションです。AWS CLI や FreeFileSync などの他のオープン ソース アプリは、同期前に両側をチェックする必要があり、巨大なファイルが増えると問題が発生したため、私の要件を満たすことができませんでした。しかし、オンウェイ同期ではこの問題が解決され、最新のファイルを Windows Server に保持するだけです。