S3互換ソースの追加

S3互換ソースは、Amazon S3 APIをサポートするオブジェクトストレージプロバイダーにImgixを接続します。これには、Amazon S3のほか、Cloudflare R2、Wasabi、DigitalOcean Spacesなどのプロバイダーが含まれます。

Imgixは、お客様が提供する認証情報を使用してバケットに接続するため、アセットを公開アクセス可能にする必要はありません。

S3互換ソースのセットアップ

注意: ホスト名の使用、整合性保証、リージョンの処理などの動作は、プロバイダーによって異なる場合があります。使用するエンドポイントやリージョンが不明な場合は、ストレージプロバイダーのドキュメントを参照してください。

  1. Imgixダッシュボードのソースページに移動し、新規ソースボタンをクリックします。

  2. メディアの保存方法は?のオプションからS3互換ストレージを選択します。

    S3互換セットアップのスクリーンショット

  3. S3互換ソースの詳細を入力します。

    S3互換セットアップのスクリーンショット

    注意: バケットへの読み取り専用アクセス権を持つ、Imgix専用の認証情報を作成することを強く推奨します。Imgixがアセットを配信するために必要なのは、オブジェクトのリスト表示とファイルの取得の権限のみです。

    • アクセスキーID: Imgixがストレージプロバイダーで認証するために使用するアクセスキー。
    • シークレットアクセスキー: 上記のアクセスキーに対応するシークレットキー。
    • バケット名: Imgixに配信させたいアセットが含まれるバケットの名前。
    • エンドポイント: ストレージサービスによって提供されるS3互換APIエンドポイント(例:s3.amazonaws.comnyc3.digitaloceanspaces.coms3.us-west-1.wasabisys.com)。
    • リージョン(オプション): バケットがホストされているリージョン。一部のプロバイダーではこのフィールドが必要ですが、他のプロバイダーでは無視されます。
    • パスプレフィックス(オプション): バケット内のフォルダープレフィックス。設定すると、Imgixはオブジェクトを解決する前に、この値をアセットパスの前に追加します。デフォルトでは、アセットパスは/です。
  4. アセットのベースURLとして使用したいサブドメインに名前を付けます。

    サブドメインセットアップのスクリーンショット

注意: 選択したサブドメイン名はソースに固有であり、再利用できません。後でカスタムドメインやその他の高度な設定を追加する予定がある場合は、長期的に維持するつもりのサブドメインを選択してください。

  1. ステップ#3のソースをデプロイボタンをクリックして、ソースをデプロイメントキューに追加します。

認証情報とアクセス制御

Imgix専用の、限定されたスコープのユーザーまたはアクセスキーを作成することを強く推奨します。認証情報は、業界標準の暗号化ベストプラクティスを使用して保存されます。

Amazon S3の場合、これは通常、IAMユーザーを作成することを意味します。その他のS3互換プロバイダーの場合は、そのサービスが提供する同等のメカニズムを使用してください。

Imgixが正しく機能するために必要なのは、バケットへの読み取り専用アクセスのみです。

必要な権限

Imgixがアセットを取得して配信するために、以下のS3 API権限が必要です:

  • ListBucket
  • GetBucketLocation
  • GetObject

読み取り専用ポリシーの例(Amazon S3)

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::your-bucket",
        "arn:aws:s3:::your-bucket/*"
      ]
    }
  ]
}

AWS以外のプロバイダーを使用している場合は、同等のポリシーまたは権限設定について、そのプロバイダーのドキュメントを参照してください。

注意: ポリシーを手動で作成またはカスタマイズする場合は、Amazon IAMポリシーシミュレーターまたはプロバイダーの同等のツールを使用して検証することをお勧めします。

高度な設定

以下の設定については、高度なソース設定のドキュメントを参照してください:

  • カスタムドメイン
  • デフォルトパラメータ
  • キャッシュTTLの動作

アセットのアップロード

Imgixを通じてS3互換ストレージにアセットを直接アップロードするには、追加の設定が必要です。

お使いのプロバイダーに関連するアップロードガイドを参照してください: