macOSでOpenStack Swiftをマウント — NetDriveドライブ設定

読了目安 8 分 provider-guide openstack macos
Robin
RobinDeveloper Advocate
NetDrive 3.18以降でOpenStack SwiftオブジェクトストアをネイティブmacOSボリュームとしてマウント。Keystone v2/v3認証とFinder統合のステップバイステップ手順。

オンプレミスのOpenStackクラスタ上で60TBのモデル学習データを運用しているデータサイエンスチームは、Linuxで既に得ているのと同じものをmacOSでも必要としています——Swiftを直接指すファイルシステムパスです。これにより、Pythonスクリプトは余計な抽象化レイヤーなしで/Volumes/swift-data/を参照できます。NetDriveはバージョン3.1以降OpenStack Swiftに対応しており、macOS 14 Sonoma以降では、セットアップ全体が5分もかかりません。

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

OpenStack SwiftをmacOSのFinderに直接マウント

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

  • FinderのネイティブなVolumesエントリとしてSwiftコンテナにアクセス
  • Keystone v2およびv3認証に対応
  • Apple Siliconをネイティブサポート — macOS 14 Sonoma以降
WindowsmacOS
NetDrive for macOSをダウンロード →

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

必要な認証情報

NetDriveを開く前に、OpenStack管理者またはHorizonダッシュボードから以下を入手してください。

  • Auth URL — Keystoneのアイデンティティエンドポイント。例:https://keystone.example.org:5000/v3。バージョンパス(/v2.0または/v3)を管理者から提供された通り正確に含めてください。NetDriveはこれをそのまま使用します。
  • ユーザー名とパスワード — OpenStackのユーザー認証情報です。デプロイメントによってはユーザーパスワードの代わりにアプリケーション認証情報を発行する場合もありますが、いずれの形式でもNetDriveの認証フィールドで使用できます。
  • プロジェクト/テナント名 — 対象コンテナを所有するOpenStackプロジェクト(Keystone v3)またはテナント(Keystone v2)です。クラスタの唯一のユーザーであっても、このフィールドは必須です。
  • リージョン — クラスタがマルチリージョンの場合のリージョン名(例:RegionOne)。単一リージョンのデプロイメントでは空欄のままにしてください。
  • コンテナ名 — ドライブのルートとしてマウントする特定のSwiftコンテナです。空欄にするとアカウントレベルでマウントされ、すべてのコンテナがFinder上でトップレベルのフォルダとして表示されます。特定のコンテナを直接対象にする場合は名前を入力してください。

デフォルトでHTTPSが使用され、これを強く推奨します——Swiftの認証トークンを平文のHTTPで送信すべきではありません。

OpenStack Swiftロゴ — OpenStackプライベートクラウドプラットフォームのオブジェクトストレージコンポーネント

macOSバージョンに関する注意: OpenStack Swiftサポートは、NetDriveバージョン3.1以降で提供されています。macOS 14 Sonoma以降を使用している場合は、NetDrive 3.18以上が必要です。まだmacOS 13 Venturaを使用している場合は、NetDrive 3.17が対応する最新バージョンです——そして以下のSwiftセットアップ手順は同一です。

NetDriveでSwiftドライブを追加する

  1. MacでNetDriveを開きます——インストール後はメニューバーに常駐しています。
  2. Add Driveをクリックします(ドライブマネージャーウィンドウの**+**ボタン)。
  3. プロバイダー一覧からOpenStack Swiftを選択します。
  4. 認証情報フィールドを入力します:Auth URLUsernamePasswordProject/Tenant Name。該当する場合はRegionContainer Nameも追加してください。
  5. ドライブの表示名を付けます——これが/Volumes/配下でFinderに表示されるボリューム名になります。
  6. Mount Typeを、完全な読み書きアクセスにはNetwork Driveに、このMacからクラスタへの書き込みを防ぎたい場合はRead-only Driveに設定します。
  7. Mountをクリックします。

ボリュームは数秒以内にFinderのサイドバーに表示されます。/Volumes/swift-data/を参照するスクリプトは、パスの変更なしにすぐに実行できます。

OpenStack Swiftがネイティブボリュームとしてマウントされた、複数のクラウドプロバイダーを表示するmacOS上のNetDriveドライブマネージャー

Finderでのファイル操作

マウントが完了すると、SwiftコンテナはFinder上でローカルドライブのように見え、動作します。TIFFをPhotoshopにドラッグしたり、JSONをVS Codeで開いたり、動画をQuickLookでプレビューしたりと、任意のアプリでファイルを直接開くことができ、保存内容は自動的にオブジェクトストアに書き戻されます。NetDriveはファイル内容をオンデマンドで取得します。マウント時にコンテナ全体をMacにダウンロードすることはありません。

フラットな名前空間に数万個のオブジェクトを持つ大規模なコンテナは、初回オープン時の一覧表示が遅くなります。これに該当する場合、Swift側でオブジェクトをプレフィックスに整理すると大幅に改善します——NetDriveはプレフィックスをフォルダとしてレンダリングし、全オブジェクトのフラットな一覧を一度にリクエストするのではなく、段階的に読み込みます。

Spotlight検索はマウントされたNetDriveボリュームでも機能します。チームがファイル名やメタデータでSwiftコンテナ内のファイルを検索する必要がある場合、追加の設定なしにそのまま動作します。

ローカルドライブと並んで、macOSのネイティブボリュームとしてFinderからアクセス可能なOpenStack Swiftコンテナの内容

ログイン時の自動マウント

Swiftクラスタへの共有リレーとして常時稼働させるMacでは、ドライブの設定でAuto MountOn Loginに設定してください。ユーザーがログインするたびに、手動操作なしでボリュームが再接続されます。

認証情報はmacOSのキーチェーンに保存されるため、再接続はサイレントに行われ、パスワード入力は不要です。ユーザーログイン前にドライブをマウントしておく必要がある場合——例えば、ヘッドレスなファイルリレーとして動作するMac miniなど——は、代わりにOn Bootに設定してください。

macOS上で接続済みかつ正常なOpenStack Swiftボリュームを示すNetDriveのマウントステータスインジケーター

まとめ

NetDriveでOpenStack SwiftをmacOSにマウントすると、プライベートクラウドに裏付けられた/Volumes/エントリが得られます——既存スクリプトのパス変更は不要、追加のデーモン管理も不要、そして主要なOpenStackディストリビューションのKeystone認証済みクラスタに対して標準でHTTPS接続が利用できます。

同じクラスタ上のWindowsワークステーションでも同じワークフローを使いたい場合は、Mount OpenStack Swift on Windows with NetDriveで、Finderボリュームの代わりにドライブレター割り当てを使った同一の認証情報セットアップを解説しています。ハイブリッドインフラにS3互換ストレージも含まれる場合は、同じNetDriveインストールから両方を同時にマウントできます——そのセットアップについてはMount Amazon S3 on macOS with NetDriveをご覧ください。

— Robin, NetDrive