Skip to main content
Square Cloud Blob Storage サービスの概要

なぜ Square Cloud Blob Storage を選ぶのか?

ラテンアメリカ最大のボットホスティングプラットフォームとして、ブラジルの大規模 Discord サーバー上位 100 のうち 80 に信頼される私たちは、自分たちのコミュニティが繰り返し直面していた問題を解決するために Blob Storage を構築しました。Discord の CDN はもともとストレージバックエンドとして作られたものではなく、リンクが切れたり、期限切れになったり、レート制限を受けたりします。Blob Storage はそれを、耐久性を重視して設計されたオブジェクトストアに置き換えます。 設計は意図的にシンプルです。S3 互換のオブジェクトストレージがファイルの真実の源 (source of truth) であり、グローバル CDN がエッジから配信します。S3 設計の 11 ナインの耐久性と、グローバルキャッシュの読み取りレイテンシーを両立でき、すべてのプランに十分なストレージ枠が含まれています。

主な特徴

転送料なし

上り/下り転送料ゼロ。 必要なだけアップロードして配信できます。支払うのはストレージ分だけで、帯域幅には一切課金されません。

グローバル CDN

公開ファイルはグローバル CDN から、エッジで、世界中どこにいるユーザーの近くから配信されます。

プライベートファイル

ファイルを公開 URL なしで保存し、一時リンクや共有リンクを通じて配布できます。どのファイルもいつでも公開とプライベートを切り替えられます。

共有リンク

有効期限を設定でき、取り消しが可能で、ダウンロード回数を制限でき、Pro と Enterprise ではパスワードを要求できるリンクです。

S3 互換

API キーから導出される認証情報を使い、S3 ゲートウェイ経由で aws-cli、boto3、rclone や任意の AWS SDK を利用できます。

ブラウザからのアップロード

サーバーがアップロードトークンを発行し、ブラウザが直接アップロードします。ブラウザが API キーを目にすることはありません。

プレフィックスごとのルール

アカウント設定で、プレフィックス配下のすべてに対してデフォルト値 (公開範囲、有効期限、キャッシュ)、制限 (サイズ、ファイル形式)、N 日後の自動削除を設定できます。

サーバー側の操作

ファイルをダウンロードせずにコピー、移動、名前変更でき、ヘッダー (キャッシュ、disposition、メタデータ) をその場で変更できます。

仕組み

ファイルは REST API、ブラウザ (アップロードトークンを使用)、または任意の S3 ツールから入ってきます。各ファイルは公開かプライベートのどちらかで、公開 URL、一時リンク、共有リンクのいずれかを通じて配信されます。

ストレージと料金

ストレージはプランに含まれており、転送料は一切かかりません。ストレージ枠を超えて保持した分にのみ料金が発生します。

含まれるストレージ枠

各プランには、追加費用なしでストレージ枠が含まれており、プランが上がるほど増えていきます:

ストレージ枠に達した場合

使用量が含まれるストレージ枠に達すると、空き容量を確保するかプランをアップグレードするまで、新しいアップロードは STORAGE_QUOTA_EXCEEDED で拒否されます。すでに保存されているものは通常どおり配信され続けます。ストレージ枠を超えて保持されているストレージ (たとえばプランのダウングレード後) には、次の料金がかかります。

ストレージ枠を超えた分

含まれるストレージ枠を超えた分は使い始めた GiB ごとに R$ 0.20。
アカウント統計では、現在の使用量、今月の平均、ストレージ枠を超えて保持されているストレージの推定費用を確認できます。
Blob Storage は有効なプランの加入者のみが利用できます。有効なプランのないアカウントでも、ファイルの一覧表示、ダウンロード、削除、プライベート化は引き続き行えます。プランが期限切れになるか解約されると、保存されているファイルは削除キューに入るため、できるだけ早く更新してください。すでに削除されたファイルは復元できません。

プラン別の機能

すべてのプランで API のすべての機能を利用できます: 公開ファイルとプライベートファイル、一時リンク、共有リンク、S3 ゲートウェイ、アップロードトークン、プレフィックスごとのルール。一部のオプションはプランによって異なり、いずれも同じ 403 UPGRADE_REQUIRED コードを返し、message で適用されるプラン (または上限) を示します。

公開ファイルとプライベートファイル

すべてのオブジェクトは公開またはプライベートのどちらかであり、その id で区別できます: pub/<user_id>/<path> または prv/<user_id>/<path>。
  • 公開ファイルには恒久的な CDN URL があります: https://blob.squarecloud.dev/pub/<user_id>/<path>。
  • プライベートファイルには公開 URL がありません (url は null)。一時リンク、共有リンク、API、または S3 ゲートウェイを通じて読み取ります。
  • 2026年9月のアップデート以前にアップロードされたレガシーファイルは、元の id <user_id>/<path> を保持し、すべてのルートがこの id を受け付けます。https://public-blob.squarecloud.dev/<user_id>/<path> 上の元の URL は 30 日間(2026年10月25日まで) 引き続き機能します。Object Copy(move: true)で移動すると、blob.squarecloud.dev 上の URL を取得できます。
公開、非公開化、各種リンクの動作についてはリンクと共有をお読みください。

サポートされているファイル形式

登録済みの MIME タイプがない形式を含め、事実上あらゆるファイル形式を受け付けます: .bam、.vcf、.fasta、.fastq、.parquet、.h5、.npy など。保存される拡張子はアップロードしたファイル名から取得され、複合圧縮の接尾辞は保持されます (reads.fastq.gz は .fastq.gz のままです)。 唯一の例外は実行ファイルとインストーラー (.exe、.msi、.bat、.apk など) の拒否リストで、これらは BLOCKED_FILE_TYPE で拒否されます。
配信は設計上安全です: 配信される Content-Type はサーバー側で決定され、クライアントからの値は決して使われません。不明な形式やブラウザでレンダリング可能な形式 (.html、.svg、.xml) は常にダウンロード (application/octet-stream) として配信されるため、悪意のあるアップロードがブラウザ上でレンダリングされることはありません。

パフォーマンスと耐久性

Blob Storage はリリース前に広範なベンチマークを実施しました。主な結果は次のとおりです。
  • レイテンシー: ファイル受信の平均は 約 11 ms。
  • 耐久性: 99.999999999% (11 ナイン) を実現するよう設計されています。
  • エッジ配信: 公開ファイルは CDN のエッジにキャッシュされるため、繰り返しの読み取りがオリジンまで戻ることはありません。
  • ヘルスチェック: https://blob.squarecloud.dev/pub/status は OK を返し、キャッシュされることはないため、監視の対象に設定できます。
Blob Storage のグローバルレイテンシーベンチマーク
注意: ベンチマーク結果は管理された条件下でのテストに基づいており、地理的な位置、ファイルサイズ、ネットワーク品質、ピーク時の利用状況によって異なります。最も正確な数値を得るには、本番環境からテストしてください。
地域による制限: アフリカおよび一部のアジア地域のユーザーは、データセンターからの物理的な距離や現地のネットワークインフラにより、レイテンシーが高くなる場合があります。

ファイルをホストする方法

1

API キーを取得する

アカウント設定で blob:write スコープを持つ API キーを作成します。認証を参照してください。
2

アップロードする

100 MB までのファイルはオブジェクトのアップロードに送信します。それより大きい 10 GiB までのファイルはチャンクアップロードのフローを使用します。S3 ツールを使いたい場合は、代わりに S3 ゲートウェイを指定してください。
3

配信する

公開ファイルにはレスポンスの url を使用し、プライベートファイルには一時リンクまたは共有リンクを作成します。
curl を使った最初のアップロードとダウンロードは、Blob Storage API のクイックスタートで説明しています。
JavaScript をお使いですか? Blob SDK (@squarecloud/blob) が、シンプルアップロードとマルチパートアップロード、リンク、共有、ルール、S3 ゲートウェイを、Node.js でもブラウザでも代わりに処理してくれます。

よくある質問

Blob Storage は Hobby 以上のすべてのプランで利用でき、それぞれに独自のストレージ枠が含まれています (上の表を参照)。詳しい比較はプランと料金をご覧ください。
オブジェクトを削除するかプランをアップグレードするまで、新しいアップロードは STORAGE_QUOTA_EXCEEDED で拒否されます。すでに保存されているものは通常どおり配信され続けます。ストレージ枠を超えて保持されているストレージ (たとえばダウングレード後) には使い始めた GiB ごとに R$ 0.20 の料金がかかり、アカウント統計でいつでも推定額を確認できます。
一時リンクは最大 24 時間有効で、取り消すことはできません。今すぐユーザーにファイルを渡すときに使用します。共有リンクは最大 30 日間有効で、取り消しが可能で、ダウンロード回数を制限でき、Pro と Enterprise ではパスワードを要求できます。リンクと共有を参照してください。
はい。https://s3-blob.squarecloud.app の S3 ゲートウェイは aws-cli、boto3、rclone、AWS SDK で動作します。アクセスキーのペアは S3 認証情報から取得します。これは API キーから導出されるため、キーを取り消すとペアも取り消されます。
すべてのプランでプレフィックスごとのルールを利用できます (Hobby と Standard で 5、Pro で 10、Enterprise で 20)。カスタムメタデータとパスワード保護された共有リンクには Pro または Enterprise が必要です。7 日未満の有効期限と自動削除、およびエッジキャッシュなしで配信されるファイルには Enterprise が必要です。これらのプラン以外ではリクエストが 403 UPGRADE_REQUIRED で拒否され、その message で機能を利用できるプランが示されます。
30 日間は使えます。2026年9月のアップデート以前にアップロードされたレガシーファイルは、2026年10月25日まで public-blob.squarecloud.dev 上の URL を保持し、id <user_id>/<path> はすべてのルートで引き続き有効です。その後も公開リンクを使うには、Object Copy(move: true)でファイルを移動してください。新しいファイルは blob.squarecloud.dev/pub/... から配信され、その id は pub/ または prv/ で始まります。