ガイド

DigitalOcean Spacesのファイルマネージャー: Nubboに接続する

DigitalOcean SpacesバケットをNubboに接続する方法。アクセスキー、リージョン、ウィザードの各手順、CORSルール、失敗したときの対処法を説明します。

NubboはSpacesのアクセスキーとバケットのリージョンを使ってDigitalOcean Spacesに接続します。数分でバケットがファイルエクスプローラーに表示され、直接アップロード、共有リンク、ギャラリーを使えるようになります。このガイドでは、自動接続と1つのバケットに限定したキーでの接続という2つの方法について、Nubboのウィザードを順を追って説明します。

できること

  • バケットをドライブのように閲覧: フォルダ、表示切り替え、検索、ゴミ箱、ラベル、お気に入り。
  • ブラウザとDigitalOcean Spacesの間でファイルを直接アップロード、ダウンロード。ファイルがNubboのサーバーを経由することはありません。
  • パスワード、有効期限、ダウンロード回数制限付きでファイルやフォルダを共有し、バケットにファイルを受け取り、ギャラリーを作成。
  • キーはAES-256-GCMで暗号化して保存され、いつでもバケットの接続を解除できます。

始める前に

DigitalOcean SpacesのアカウントとNubboのアカウントが必要です。接続する各バケットがプランの上限にカウントされます: 無料プランは2つ、Personalは5つまでで、Proは無制限です。Spacesはnyc3、ams3、sfo2、sfo3、sgp1、lon1、fra1、tor1、blr1、syd1、atl1、ric1、mkc1の13リージョンで提供されています。リージョンごとにエンドポイントが異なるため、Nubboではリージョンを指定します。

接続方法を選ぶ

Nubboのウィザードには2つの方法があります。どちらも最後は同じで、バケットが接続され、ブラウザからアップロードできる状態になります。

自動限定キーで接続
キーアカウント全体にアクセス1つのバケットに限定
バケットNubboが既存のバケットを使うか新規作成する先にご自身で作成する
CORSNubboがルールを追加するご自身でルールを追加する
選ぶべき場合いちばん早い方法アカウント全体へのアクセスを許可したくない場合

自動接続

ステップ1: DigitalOcean Spacesでキーを作成する

  1. DigitalOceanのコントロールパネルで Spaces Object Storage を開き、Access Keys タブに移動します。
  2. Create Access Key を押し、Full access を選んで nubbo などの名前を付けます。
  3. アクセスキーとシークレットをコピーします。DigitalOceanがシークレットを表示するのは一度だけです。

ステップ2: Nubboでバケットを接続する

  1. Nubboで バケット を開き、バケットを接続 を押します。DigitalOcean Spaces を選んで 続行 を押します。

    DigitalOcean Spacesを選択したNubboウィザードのプロバイダーのステップ DigitalOcean Spacesを選択したNubboウィザードのプロバイダーのステップ
  2. 自動 を選んで 続行 を押します。

    自動と限定キーで接続の選択肢がある接続方法のステップ 自動と限定キーで接続の選択肢がある接続方法のステップ
  3. キー のステップでアクセスキーとシークレットを貼り付け、バケットのリージョンを選びます。キーを確認 を押します。Nubboはキーが有効で、アカウント全体にアクセスできることを確認します。

    クイックガイドとキーの入力欄があるDigitalOcean Spacesのキーのステップ クイックガイドとキーの入力欄があるDigitalOcean Spacesのキーのステップ
  4. バケットを1つ選んで このバケットを使用 を押すか、新規作成 を選んで名前を入力し(求められた場合はリージョンも選び)、作成して準備 を押します。Nubboはアプリからのアップロードとダウンロードだけを許可するCORSルールをバケットに追加し、既存のルールはそのまま残します。

    バケットの一覧と新規作成の選択肢があるバケットのステップ バケットの一覧と新規作成の選択肢があるバケットのステップ
  5. 3つのチェックを確認し、必要なら Nubboでの名前 を変更して 完了 を押します。バケットが バケット ページに表示され、エクスプローラーで開けるようになります。

    接続、バケット、CORSのチェックが表示された完了のステップ 接続、バケット、CORSのチェックが表示された完了のステップ

お使いのキーでNubboがCORSルールを追加できない場合、ウィザードは CORS のステップに進みます。その場合は CORSルールの追加 の手順に従ってください。

限定キーでの接続

ステップ1: DigitalOcean Spacesでバケットとキーを準備する

  1. Spaces Object Storage で Create Bucket を押し、リージョンと名前を選んでバケットを作成します。
  2. Access Keys で Create Access Key を押し、Limited access を選びます。
  3. Read/Write/Delete 権限でバケットを選び、キーに名前を付けて作成します。
  4. アクセスキーとシークレットをコピーします。バケットポリシーが設定されたバケットでは、限定キーは使えません。

ステップ2: Nubboでバケットを接続する

  1. バケット ページで バケットを接続 を押し、DigitalOcean Spaces を選んでから 限定キーで接続 を選びます。
  2. アクセスキーとシークレットを貼り付け、リージョンを選びます。キーを確認 を押します。
  3. バケット名を正確に入力し、アクセスを確認 を押します。
  4. ウィザードが CORS のステップに進み、追加すべきルールが表示されます。

CORSルールの追加

CORSルールにより、https://nubbo.app のブラウザからバケットのファイルをアップロード、ダウンロードできるようになります。ウィザードの CORS のステップに表示されるルールと同じものです。

  1. Spaces Object Storage でバケットを開き、Settings に移動します。
  2. CORS Configurations で Add を押します。
  3. フォームに次の値を入力し、Save CORS Configuration を押します。
Origin: https://nubbo.app
Allowed Methods: GET, PUT, POST, DELETE, HEAD
Allowed Headers: *
Access Control Max Age: 3600

限定キーの場合はご自身で追加する必要があります。DigitalOceanでは、APIからCORSを変更するにはFull accessのキーが必要です。

バケットに追加するルールが表示されたCORSのステップ バケットに追加するルールが表示されたCORSのステップ

保存したらNubboに戻り、追加したので確認 を押します。プロバイダーによっては反映まで1分ほどかかります。お使いのキーにCORSを変更する権限があれば、自動で設定を試す で自動的に設定できます。

うまくいかないとき

Nubboのメッセージ対処法
「認証情報が無効です。アクセスキーとシークレットアクセスキーを確認してください。」両方のキーを、先頭と末尾に空白が入らないようにもう一度コピーしてください。
「このキーは1つのバケットに限定されているようです。限定キーの手順で続行するか、フルアクセスのキーを作成してください。」限定キーで続行を押すか、アカウント全体にアクセスできるキーを作成して別のキーを試すを押してください。
「バケットが見つかりません。名前とリージョンを確認してください。」バケット名が正確か、選んだリージョンがバケットのリージョンと同じか確認してください。
「このキーにはバケットを作成する権限がありません。」フルアクセスのキーを使うか、管理画面でバケットを作成して管理画面で作成しましたを押してください。
「この名前はこのプロバイダーですでに使用されています。別の名前をお試しください。」バケット名はプロバイダー全体で一意です。別の名前を選んでください。
「このキーには設定する権限がありません。」上記の説明に沿って、CORSルールを手動で追加してください。
「まだ動作していません。ルールを見直して再度確認してください。プロバイダーによっては反映まで1分ほどかかります。」オリジンが末尾のスラッシュなしで正確に https://nubbo.app になっているか確認し、1分待ってから再度確認してください。
「このバケットはすでに使用されています。」そのバケットは、ご自身または別のアカウントですでにNubboに接続されています。
「バケットは別のリージョンにあります。設定されているリージョンを確認してください。」バケットを作成したときと同じリージョンをNubboで選んでください。
「アクセスが拒否されました。認証情報が有効か、権限を確認してください。」限定キーの場合は、そのバケットに対してRead/Write/Deleteがあり、バケットにバケットポリシーがないか確認してください。

料金

Spacesはストレージと転送量を含む月額料金で請求されます。詳しくは DigitalOcean Spacesの料金 で説明しています。

よくある質問

どの種類のSpacesキーが必要ですか?

自動接続ではFull accessのキーが必要です。限定キーの場合は、バケットに対してRead/Write/Deleteを持つLimited accessのキーを使います。

Nubboではどのリージョンを選べばよいですか?

バケットのリージョンです: nyc3、ams3、sfo2、sfo3、sgp1、lon1、fra1、tor1、blr1、syd1、atl1、ric1、mkc1のいずれかです。コントロールパネルのバケット名の横に表示されています。

限定キーだとNubboがCORSを設定できないのはなぜですか?

DigitalOceanでは、APIからCORSを変更するにはFull accessのキーが必要だからです。限定キーの場合は、Settings、CORS Configurationsでご自身で追加してください。

複数のリージョンのバケットを接続できますか?

はい。各バケットはそれぞれのリージョンで接続され、プランで許可される数まで追加できます。

出典

料金と制限は以下の公式ページに基づいています。プロバイダーは変更することがあるため、契約前にご確認ください。