S3互換ソース移行ガイド
概要
このガイドでは、imgix管理APIを使用して、Webフォルダから新しくサポートされたS3互換ソースへの移行を支援します。新しいソースを作成することも、既存のWebフォルダをS3互換ソースに変換することもできます。統合されたS3互換ソースは以下の通りです:
ソースがWebフォルダからS3互換ソースに移行された後、それに関連するバケットへの公開アクセスを無効にすることができます。
要件
S3互換ソースを作成するには、S3互換ストレージプロバイダーから以下の情報が必要です:
- アクセスキー
- シークレットアクセスキー
- バケット
- エンドポイントURL
- リージョン
リージョン値は通常、S3互換のオリジンのURLに記載されています。例えば、このLinodeバケットのURLを見てみましょう:
imgix-s3-compatible.us-east-1.linodeobjects.com
ここから、リージョン値us-east-1
を抽出できます。
他の必要なフィールドは、各プロバイダーのドキュメントで確認できます:
DigitalOcean
Wasabi
Linode
Cloudflare R2
ダッシュボードを使用したソースの作成
imgixでソースを作成するためのガイドがいくつかあります。詳細はこちらをご覧ください:
既存のソースを変換する場合は、ソースの設定を編集して、ソースタイプを変更することができます。
管理APIを使用したソースの作成
管理APIを使用してソースを作成/更新するには、S3互換プロバイダーの要件に加えて、以下が必要です:
- 有効なimgix APIキー(ソース権限が有効になっていること)
- アカウントのimgix APIキーのページにアクセスできない場合は、アカウント管理者に連絡してください
- ソースID(Webフォルダソースを変換する場合)
storage_provider
名。有効な値は以下の通りです:- DigitalOcean
- Wasabi
- Linode
新しいS3互換ソースの作成
管理APIを使用してソースを作成するには:
POST https://api.imgix.com/api/v1/sources/$source_id
{
"data": {
"attributes": {
"name": "$new_source_name",
"deployment": {
"type": "s3_compatible",
"storage_provider": "$storage_provider",
"access_key_id": "$access_key_id",
"bucket_name": "$bucket_name",
"secret_key": "$secret_key",
"endpoint_url": "$endpoint_url",
"region": "$region",
"imgix_subdomains": [
"$imgix_subdomain"
]
}
},
"type": "sources"
},
"jsonapi": {
"version": "1.0"
}
}
既存のWebフォルダをS3互換ソースに移行
管理APIを使用してWebフォルダをS3互換ソースに変換するには:
PATCH https://api.imgix.com/api/v1/sources/$source_id
{
"data": {
"attributes": {
"name": "$sourceName",
"deployment": {
"type": "s3_compatible",
"storage_provider": "$storage_provider",
"access_key_id": "$access_key_id",
"bucket_name": "$bucket_name",
"secret_key": "$secret_key",
"endpoint_url": "$endpoint_url",
"region": "$region",
"imgix_subdomains": [
"$imgix_subdomain"
]
}
},
"id": "$source_id",
"type": "sources"
},
"jsonapi": {
"version": "1.0"
}
}
例
DigitalOceanで新しいS3互換ソースを作成するには:
{
"data": {
"attributes": {
"name": "DigitalOcean example Source",
"deployment": {
"type": "s3_compatible",
"storage_provider": "DigitalOcean",
"access_key_id": "$YOUR_DO_ACCESS_KEY",
"bucket_name": "imgix-assets-digitalocean",
"secret_key": "$YOUR_DO_SECRET_KEY",
"endpoint_url": "sfo3.digitaloceanspaces.com",
"region": "sfo3",
"imgix_subdomains": [
"imgix-digitalocean-example"
]
}
},
"type": "sources"
},
"jsonapi": {
"version": "1.0"
}
}