NextcloudでS3互換ストレージを外部ストレージとしてマウントする方法

NextcloudでS3互換バケットをマウントするには、組み込みの外部ストレージサポートアプリを有効にし、管理者の外部ストレージ設定にAmazon S3ストレージエントリを追加して、バケットの認証情報とプロバイダーのエンドポイントの詳細を指定します。Nextcloudは互換性のあるサービスにAmazon S3バックエンドを使用するため、S3ベンダーごとに個別のアプリをインストールする必要はありません。ホスト名、リージョン、パス形式の設定は、オブジェクトストレージプロバイダーによって異なります。

このガイドは、2026年10月6日時点のNextcloudのS3および外部ストレージバックエンドに関する最新の管理ドキュメントに基づいています。サーバーのバージョンやテーマによってラベルが若干異なる場合があります。マウントポイントはアクセス可能であっても、特にバケット内でファイルを直接変更した場合など、ローカルのNextcloudフォルダとは異なる動作をする場合があります。

バケツを追加する前に確認すべきことは何ですか?

Nextcloudの設定を開く前に、S3プロバイダーに以下の詳細を確認してください。

  • バケット名とアクセスキーの認証情報。
  • プロバイダの汎用S3エンドポイントホスト名(例:)s3.example.net。バケット名が既に含まれているバケット固有のURLではなく、エンドポイント自体を使用してください。
  • プロバイダーが必要とする場合は、地域または署名地域を指定します。
  • リクエストに仮想ホスト形式(https://bucket.endpoint/)を使用するか、パス形式(https://endpoint/bucket)を使用するかを指定します。
  • HTTPSポート(通常は443番)と、サーバーがファイアウォールとDNSを介してそのエンドポイントに到達できるかどうか。

このマウント専用のアクセスキーを作成し、必要なバケットとアクションのみに権限を制限してください。チケット、スクリーンショット、シェル履歴に機密情報を貼り付けないでください。NextcloudのS3設定にはアクセスキーIDとシークレットアクセスキーが必要です。プロバイダー固有の権限ポリシーをすべて自動的に検証するわけではありません。

これは、S3をNextcloudのプライマリストレージにするのと同じことですか?

いいえ。外部ストレージマウントは、既存のバケットをNextcloud内のフォルダとして公開します。これは、バケットを他のS3ツールからアクセス可能な状態に保ちながら、バケット内のファイルを参照または管理したい場合に便利です。プライマリオブジェクトストレージは、運用上の前提条件が異なる、サーバー全体のアーキテクチャです。どちらかを選択する必要がある場合は、本番環境のデータ設計を変更する前に、 Nextcloudのプライマリオブジェクトストレージに関するドキュメントを確認してください。

ウェブインターフェースでS3互換マウントを追加するにはどうすればよいですか?

1. 外部ストレージのサポートを有効にする

Nextcloud管理者としてサインインし、「アプリ」を開いて、同梱されている外部ストレージサポートアプリを有効にしてください。このアプリはNextcloudに付属していますが、デフォルトでは無効になっている場合があります。既に有効になっている場合は、ストレージ設定に進んでください。

2. 管理者の外部ストレージページを開きます。

プロファイルメニューを開き、「設定」を選択し、 「管理」セクションの「外部ストレージ」を探してください。このページは、管理者が設定したマウント用です。個人設定でユーザーが構成したストレージは、そのユーザーのみが利用できます。一方、管理者が設定したマウントは、選択したユーザーやグループが利用できます。

3. マウントを作成し、S3バックエンドを選択します。

新しい行に、たとえば のようなシンプルなフォルダ名Archiveを入力します。これは Nextcloud で表示されるフォルダ名となり、パスではなく名前である必要があります。スラッシュは使用しないでください。ストレージタイプのセレクターで、Amazon S3を選択します。認証で、アクセスキーを選択します。

4. バケットと認証情報を入力します

プロバイダーから提供されたバケット名、アクセスキーID、およびシークレットアクセスキーを正確に入力してください。シークレットはパスワードとして扱ってください。Nextcloudのドキュメントには、このバックエンドのバケット名は、サービスが別の場所でホストされている場合でも、AWS S3の命名規則を満たす必要があると記載されています。アンダースコアは使用できません。プロバイダーのバケット名にアンダースコアが含まれている場合は、認証情報のトラブルシューティングを行う前に、プロバイダーが互換性のあるバケット名を提供しているかどうかを確認してください。

5. エンドポイント、リージョン、およびリクエストスタイルを設定します。

AmazonがホストするS3の場合は、正しいリージョンを指定してください。Amazon以外のサービスの場合は、プロバイダの汎用ホスト名を設定してください。プロバイダが公開しているエンドポイントとリージョンの値を使用してください。S3互換製品すべてに共通するリージョン値はありません。

設定何を入力すればよいか
ホスト名s3.example.netバケットのサブドメインやパスを含まない、一般的なエンドポイント。
ポートプロバイダのTLSポート番号。一般的には443番ポートです。
SSLを有効にするエンドポイントがHTTPSをサポートしている場合は、有効のままにしてください。信頼できる証明書を使用してください。
地域必要に応じてプロバイダーの署名領域を指定します。互換性のあるサービスの場合は、プロバイダーが推奨する値のままにしてください。
パススタイルを有効にするendpoint/bucketエンドポイントがではなく の形式のリクエストを必要とする場合にのみ有効にしますbucket.endpoint。
レガシー(v2)認証プロバイダが特に古い署名バージョンを要求する場合を除き、省略してください。デフォルトはv4です。

Nextcloudの最新のS3ガイドでは、Amazon以外のストレージには汎用エンドポイントホスト名を使用するよう明記されています。また、パス形式のアドレス指定はプロバイダに依存すると説明されています。プロバイダのS3ドキュメントから適切なアドレス指定モードがわかる場合は、推測でパス形式を切り替えないでください。

6. マウントの使用者を制限する

「利用可能」機能を使用して、意図した Nextcloud ユーザーまたはグループのみにマウントを割り当ててください。管理者が設定したマウントは、それ以外の場合は広く利用可能になる可能性があります。また、保存後にマウントのオプションを確認してください。読み取り専用モードや共有コントロールは、アーカイブや共有バケットに適している場合があります。共有動作は、Nextcloud を介してファイルを公開できるユーザーに影響を与える可能性があるため、慎重に設定してください。

7. Nextcloudが接続できることを確認します。

必須項目が有効な場合、ストレージ行は自動的に保存されます。ステータスインジケーターが緑色の場合は、Nextcloudが設定済みのストレージを使用できることを示します。赤色または黄色の場合は、接続または設定に注意が必要であることを示します。管理ページでは、失敗したストレージが一時的に10分間使用不可と表示される場合があります。値を修正した後、ステータスアイコンをクリックするか、ページを再読み込みして再度チェックを実行してください。

8. 無害なファイルでテストする

マウントポイントへのアクセス権を持つユーザーとしてファイルを開きます。フォルダが表示されることを確認し、小さなテストファイルを作成またはアップロードして再度ダウンロードし、バケットが書き込み可能である場合はそのファイルを削除します。マウントポイントが読み取り専用である場合は、ユーザーがファイルを読み取れることを確認し、書き込みがブロックされていることを確認します。緑色のインジケーターが表示されているだけでは、すべてのユーザー権限や意図した読み書き動作が正しいとは限りません。

コマンドラインからマウント状態を確認するにはどうすればよいですか?

サーバーを管理するインストールの場合、Nextcloud はocc外部ストレージ用のコマンドも提供します。Nextcloud のインストールディレクトリからコマンドを実行し、システムに適したウェブサーバーアカウントを使用してください。多くの Linux インストールでは ですwww-dataが、パッケージやコンテナのインストールでは異なる場合があります。

sudo -E -u www-data php occ files_external:list
sudo -E -u www-data php occ files_external:verify <mount_id>

<mount_id>listコマンドで表示されるIDに置き換えてください。検証が成功すれば、Nextcloudがその時点で設定された接続を確立できることが確認できます。Nextcloud AIOまたはその他のコンテナデプロイメントの場合は、occホストコマンドをそのままコピーするのではなく、そのデプロイメントのドキュメントに記載されている方法でアプリコンテナ内で実行してください。

値が正しく見える場合でも、マウントが失敗することがあるのはなぜですか?

症状最初のチェック
赤または黄色のステータスバケットのスペル、キーとシークレット、エンドポイントのホスト名、TLSポート、DNS、ファイアウォールの送信元、および証明書の信頼性を確認してください。
署名または認証エラー署名領域と鍵の権限についてプロバイダーに確認してください。プロバイダーがパス形式のアドレス指定を必要とするかどうかを確認してください。
接続タイムアウトNextcloudホストが設定されたポート上のS3エンドポイントにアクセスできることを確認してください。ノートパソコンからのブラウザアクセスは、サーバーへの接続を証明するものではありません。
一部のフォルダーまたはオブジェクトが欠落していますオブジェクト接頭辞にサポートされていないスラッシュが繰り返し使用されていないか確認し、外部ストレージのスキャンを実行することを検討してください。
管理者には有効だが、ユーザーには有効ではない割り当て、グループメンバーシップ、およびユーザーが正しいマウントを開いているかどうかを確認するために、「利用可能」を確認してください。

サービスが自己署名証明書を使用する場合、サーバーはその証明書を信頼する必要があります。証明書の検証を無効にすることは安全な代替手段ではありません。Nextcloudの現在のマニュアルでは、などの繰り返し区切り文字はPhotos//cat.pngサポートされておらず、影響を受けるプレフィックスは無視される可能性があると警告しています。

バケット内のファイルが直接変更された場合、どうなりますか?

Nextcloud は外部ストレージ用に内部ファイルキャッシュを保持しています。別のツールが S3 内のオブジェクトを直接追加、編集、または削除した場合、Nextcloud は変更をすぐに認識しない可能性があります。現在の外部ストレージガイドでは、プッシュ通知のないストレージタイプについては定期的な再スキャンを推奨しています。マウント ID は、files_external:list次のコマンドで確認できます。

sudo -E -u www-data php occ files_external:scan <mount_id>

必要な鮮度とサーバーの負荷に応じてスキャンをスケジュールしてください。スキャンは、即時の変更通知とは異なります。Nextcloud はメタデータのリスクについても説明しています。再スキャンでは、外部からの名前変更が削除された古いオブジェクトと新しいオブジェクトとして解釈され、古いエントリに関連付けられた Nextcloud 側の共有、タグ、コメント、アクティビティ履歴が削除される可能性があります。そのため、メタデータの保持が重要な場合は、Nextcloud を介して名前変更を実行してください。

セットアップが完了したことをどのように確認しますか?

  • 管理者の外部ストレージページで、S3マウントの状態が緑色で表示されます。
  • 対象グループに属するユーザーはマウントポイントを表示できますが、割り当てられていないユーザーは表示できません。
  • テスト用のアップロード、ダウンロード、削除は意図どおりに動作するか、読み取り専用マウントの場合は書き込みがブロックされます。
  • サーバーは、設定されたスキャン間隔後にNextcloud以外で行われた変更を検出できます。
  • 認証情報はNextcloudの設定ファイルとプロバイダーアカウントにのみ保存され、アクセスは必要なバケットに限定されます。

バージョン固有の詳細については、公式のNextcloud S3外部ストレージガイド、外部ストレージ管理ガイド、および公式のoccコマンドリファレンスを参照してください。エンドポイント、リージョン、権限、およびアドレス指定の要件はプロバイダーによって異なるため、これらの値については各プロバイダーのS3セットアップドキュメントが優先されます。

コメントを残す

クライアントブラウザでのJitsi MeetにおけるCPU使用率の高さを修正する

クライアントブラウザでのJitsi MeetにおけるCPU使用率の高さを修正する

Jitsi MeetブラウザのCPUスパイクを診断し、ビデオタイル、カメラエフェクト、ブラウザグラフィック、ホスト設定をチェックすることで、クライアントの負荷を軽減します。

PrometheusとGrafanaを使用してJitsi Videobridgeのメトリクスを監視する方法

PrometheusとGrafanaを使用してJitsi Videobridgeのメトリクスを監視する方法

Jitsi Videobridgeに内蔵されたPrometheusエンドポイントを使用して、Jitsi Videobridgeの状態、会議の負荷、トラフィックを追跡し、Grafanaでデータを探索およびグラフ化できます。

Jitsi Meet Docker のカスタムドメイン名の設定方法

Jitsi Meet Docker のカスタムドメイン名の設定方法

Jitsi Meet Docker 用のカスタムドメインを、DNS、PUBLIC_URL、HTTPS、Let's Encrypt、ファイアウォールポート、NAT 設定、エンドツーエンド検証とともに構成します。

SSL更新後にZimbra管理コンソールで発生する404 Not Foundエラーを修正する

SSL更新後にZimbra管理コンソールで発生する404 Not Foundエラーを修正する

SSL更新後に発生するZimbra管理コンソールの404エラーを修正するには、正しいURLとポート、プロキシルーティング、サービスステータス、デプロイ済みの証明書、およびログを確認してください。

Nextcloudの「PHP OPcacheが正しく設定されていません」という警告を修正する

Nextcloudの「PHP OPcacheが正しく設定されていません」という警告を修正する

アクティブなPHP SAPI、サイズ制限、コメント、および再検証設定を確認することで、NextcloudのPHP OPcache構成警告を診断および修正する方法を学びましょう。

MySQLバージョンアップグレード後のKopanoデータベース移行エラーを修正する

MySQLバージョンアップグレード後のKopanoデータベース移行エラーを修正する

MySQLまたはMariaDBのアップグレード後にKopanoデータベースの移行が失敗した場合は、バックアップ、サーバーバージョン、SQLモード、文字セット、スキーマ状態、およびログを確認してトラブルシューティングを行います。

NextcloudでLDAPとActive Directory認証を設定する方法

NextcloudでLDAPとActive Directory認証を設定する方法

セキュアなトランスポート、ユーザーおよびグループフィルタ、ログイン属性、そしてテスト済みの展開機能を使用して、NextcloudをLDAPまたはActive Directoryに接続します。

GoogleサービスなしでElement Android通知を修正する方法:UnifiedPushガイド

GoogleサービスなしでElement Android通知を修正する方法:UnifiedPushガイド

UnifiedPush、Androidの権限設定、バッテリー設定、および信頼性の高い検証テストを設定することで、Googleサービスを削除した端末におけるElement Android通知の問題を修正します。

Nextcloudの「データベースに一部のインデックスが欠落しています」という警告を修正する

Nextcloudの「データベースに一部のインデックスが欠落しています」という警告を修正する

Nextcloudのデータベースインデックス不足警告を、公式のoccコマンドでクリアします。まずバックアップを作成し、変更内容をプレビューしてから修復を実行し、結果を確認してください。

Element WebでKeycloakを使用してシングルサインオン(SSO)を設定する方法

Element WebでKeycloakを使用してシングルサインオン(SSO)を設定する方法

Element Web 用の Keycloak SSO を設定するには、OIDC を Synapse に接続し、正確なコールバック URL を設定し、ユーザー クレームをマッピングし、ログアウトをテストします。