Object Storage (S3)
アップロード、アセット、バックアップ向けの S3互換オブジェクトストレージです。s3 アドオンをプロビジョニングすると、default という名前の public-read バケット も作成されるため、追加設定なしでファイルを配信できます。
プロビジョニング
lizard add s3最初の S3 アドオンの名前は s3 なので、${{s3.S3_ENDPOINT}} などもすぐに使えます。
環境変数
| 変数 | 説明 |
|---|---|
S3_ENDPOINT | S3互換エンドポイント URL |
S3_DEFAULT_BUCKET | 自動作成されるバケット名 (default) |
S3_ACCESS_KEY_ID | アクセスキー |
S3_SECRET_ACCESS_KEY | シークレットキー |
S3_REGION | リージョン |
サービスを接続
lizard secrets set \
S3_ENDPOINT='${{s3.S3_ENDPOINT}}' \
S3_DEFAULT_BUCKET='${{s3.S3_DEFAULT_BUCKET}}' \
S3_ACCESS_KEY_ID='${{s3.S3_ACCESS_KEY_ID}}' \
S3_SECRET_ACCESS_KEY='${{s3.S3_SECRET_ACCESS_KEY}}' \
S3_REGION='${{s3.S3_REGION}}' \
--service api
lizard redeploy --service apiAWS SDKを使用する
エンドポイントは S3互換です。path-style アドレッシングを設定してください:
import { S3Client } from "@aws-sdk/client-s3";
const s3 = new S3Client({
endpoint: process.env.S3_ENDPOINT,
region: process.env.S3_REGION,
forcePathStyle: true, // required
credentials: {
accessKeyId: process.env.S3_ACCESS_KEY_ID!,
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY!,
},
});公開ファイル
任意の public バケット内のオブジェクトは、認証なしで次の 2 つの方法で配信されます:
- Gateway URL (ダッシュボードに表示):
https://s3-<region>.onlizard.com/<addonId>/<bucket>/<key> - Platform proxy (ダッシュボードのホスト。長期間有効な immutable キャッシュヘッダー付き):
<dashboard-host>/api/s3/<addonId>/public/<bucket>/<key>
default バケットにアップロードされたものはすべて、すぐに次の URL で公開されます:
<dashboard-host>/api/s3/<addonId>/public/default/<key>オブジェクトの参照
ダッシュボードで S3 browser (lizard open) を開くと、オブジェクトとバケットのアップロード、ダウンロード、管理を行えます。
Bucket ACL の変更 (バケットを public/private にすること) はまだ CLI ではできません — ダッシュボードから管理してください。
ストレージを拡張
lizard scale --service s3 --storage 16384関連項目
- Managed Addons — 命名、参照、ダッシュボードのブラウザーについて。
- サービス間参照 — 参照構文と解決方法。