LinuxでImageKitをマウント — NetDriveの実験的ビルド

読了目安 7 分 provider-guide imagekit linux
Kai
KaiJunior Engineer
NetDriveの実験的なLinuxビルドで、ImageKitのメディアライブラリをUbuntuのマウントポイントにマウントする方法。セットアップ手順とターミナルからのマウント確認方法。

ある製品撮影スタジオのUbuntuレンダーファームでは、夜間のリサイズバッチのたびにImageKitライブラリから最新のヒーローショットを取得する必要があるが、ジョブスクリプトはAPI呼び出しではなく、普通のファイルパスを期待している。先にコピーをダウンロードするやり方は、誰かが午後にアセットを差し替えるまでは機能するが、その後はレンダーファームが古いバージョンを黙ってリサイズしてしまう。NetDriveのLinuxビルドは、WindowsやmacOSですでにそうしているのと同じように、ImageKitを通常のUbuntuマウントポイントとしてマウントするので、スクリプトはAPIと話す代わりにパスから読み込むだけで済む。

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

UbuntuマシンにImageKitをマウントする

NetDrive を使えば Google Drive、OneDrive、S3、SFTP、WebDAV などが Windows と macOS でネイティブドライブとして表示されます — 同期も、まるごとダウンロードも不要です。

  • ImageKitが通常のUbuntuマウントポイントとして現れる
  • アセットはオンデマンドでストリーミングされる — 別途管理が必要な同期クライアントは不要
  • S3、SFTP、その他20以上のプロバイダーと同じドライブマネージャーで並行して動作
WindowsmacOS
NetDrive for Linuxをダウンロード →

無料トライアル。永久ライセンスとサブスクリプションプランあり。

ダッシュボードよりマウントポイントが優れている理由

ImageKit自体のダッシュボードとAPIは、日々のアップロードや変換処理には十分だが、どちらもcronジョブやtarコマンドに読み込み用のファイルシステムパスを渡してはくれない。APIを使うスクリプトは、アセットのフォルダを一覧するだけのために認証トークンやページネーションを扱わなければならない — このオーバーヘッドは、ライブラリがマウントされてシェルから見て他のディレクトリと変わらなくなった瞬間に消える。

ImageKitは直近のリリースサイクルで、Koofr、Filen、Files.com、OpenDriveと並んでNetDriveの対応プロバイダー一覧に加わった。他のすべてのプラットフォームと同様、Linux上でNetDriveの最新リリースを実行すれば利用できる。

ImageKit logo, the media library storage provider now mountable through NetDrive

Ubuntuへのインストール

NetDrive for LinuxはUbuntuのパッケージリポジトリからは提供されておらず、代わりにGitHubリリースとして配布される。

  1. github.com/NetDrive/installerにアクセスし、使用中のUbuntuバージョンに合うリリースを取得する。
  2. そのリポジトリの案内に従って、マウントが依存するドライバーコンポーネントをインストールする — 通常は初回にsudoが必要になる。
  3. NetDriveパッケージ自体をインストールする。
  4. ドライブを追加する前に、一度NetDriveを起動してドライバーコンポーネントを読み込ませる。

サポートされる最小バージョンはUbuntu 16.04で、NetDriveの比較ページではLinuxは依然として実験的と位置づけられている — WindowsとmacOSがテストの大部分を占め、修正の対応も速い。ビルドサーバーや開発機にマウントしたImageKitライブラリを置く分には妥当な用途だが、無人稼働の本番パイプラインに使うなら、まず自分のハードウェアで十分にテストする価値がある。

NetDrive mounting a cloud storage account as a local drive — the same interaction the Linux build provides at a mount point

ImageKitアカウントを接続する

  1. NetDriveのDrive Managerを開き+ Add Driveをクリックする。
  2. プロバイダー一覧からImageKitを選択する。
  3. プロンプトが表示されたら、ImageKitアカウントの認証情報でサインインする。
  4. マウントポイントを設定する — /mnt/imagekitのようなパス、または自分が管理する空のディレクトリであれば何でもよい。
  5. **Connectをクリックする。**NetDriveが認証を行い、そのパスにライブラリをマウントする。

マウントの確認と書き戻し

ヘッドレス機やリモートマシンではGUIだけを信用せず、パイプラインを向ける前にシェルからマウントを確認する。

# Confirm the mount is listed
mount | grep imagekit

# Or just try listing it
ls /mnt/imagekit

Confirming that a cloud drive connected successfully after mounting

接続直後に一覧が空になるのは、たいていルートフォルダの読み込みがまだ終わっていないだけなので、何か問題があると決めつける前に数秒待ってみるとよい。書き戻しも読み込みと同じ仕組みで動作する — リサイズ済みのアセットをマウントポイントにコピーすると、NetDriveはそれを書き込んだプロセスをブロックせずバックグラウンドでアップロードをキューに入れるので、バッチジョブが各ファイルの転送完了を待ってそこに座り続けることはない。

Background upload queue showing file transfer progress to a mounted cloud drive

Linuxビルドで踏まえておくべきこと

  • **独立したリリースサイクル。**Linuxドライバーは独自のスケジュールでリリースされるため、WindowsやmacOSに入った修正が同じ週にLinuxへ自動的に反映されるとは限らない。
  • **apt統合はない。**インストールと更新はUbuntuのパッケージマネージャーではなく、GitHubリリースを通じて行う。
  • **WindowsとmacOSが安定運用の対象。**NetDriveはこの2つを本番運用向けとして扱っており、Linuxはさらなる告知があるまで実験的というラベルのままである。

まとめ

UbuntuでImageKitをマウントすれば、NetDriveがすでにWindowsとmacOSで提供しているメディアライブラリへのプレーンなファイルシステムアクセスを、aptではなくGitHub上にあるインストーラーを通じてLinuxマシンでも得られる。より多くテストされたプラットフォームでの同じプロバイダーについては、Mount ImageKit on Windows with NetDriveを参照のこと。LinuxでのNetDrive運用全体についてはNetDrive on Ubuntu Linuxを、同じビルドでの別のオブジェクトストレージプロバイダーについてはMount Backblaze B2 on Linux with NetDriveを参照のこと。

— Kai, NetDrive