6.6. イメージストレージ


このセクションでは、Red Hat Quay で利用可能なイメージストレージ機能と設定フィールドを説明します。

6.6.1. イメージストレージ機能

以下の表は、Red Hat Quay のイメージストレージ機能を説明しています。

表6.5 ストレージ設定機能
フィールド説明

FEATURE_REPO_MIRROR

Boolean

true に設定されている場合は、リポジトリーのミラーリングを有効にします。

デフォルト: false

FEATURE_PROXY_STORAGE

Boolean

NGINX を使用してストレージ内のすべての直接ダウンロード URL をプロキシーするかどうか。

デフォルト: false

FEATURE_STORAGE_REPLICATION

Boolean

ストレージエンジン間で自動的にレプリケートするかどうか。

のデフォルト: false

6.6.2. イメージストレージ設定フィールド

以下の表は、Red Hat Quay のイメージストレージ設定フィールドを説明しています。

表6.6 ストレージ設定フィールド
フィールド説明

DISTRIBUTED_STORAGE_CONFIG
(必須)

Object

Red Hat Quay で使用するストレージエンジンの設定。各キーは、ストレージエンジンの一意の ID を表します。この値は、ストレージエンジンパラメーターを記述するオブジェクトのタプル (キー、値) で構成されます。

デフォルト: []

DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS
(必須)

文字列の配列

イメージをデフォルトで他のすべてのストレージエンジンに対して完全にレプリケートする必要のあるストレージエンジンの一覧 (DISTRIBUTED_STORAGE_CONFIG の ID 別)。

DISTRIBUTED_STORAGE_PREFERENCE
(必須)

文字列の配列

使用する優先ストレージエンジン (DISTRIBUTED_STORAGE_CONFIG の ID 別)。優先エンジンとは、プルする必要がないかを先にチェックしてから、イメージがプッシュされることを意味します。

デフォルト: false

MAXIMUM_LAYER_SIZE

String

イメージレイヤーの最大許容サイズ。

パターン: ^[0-9]+(G|M)$

: 100G

デフォルト: 20G

6.6.3. ローカルストレージ

以下の YAML は、ローカルストレージを使用した設定のサンプルを示しています。

Copy to Clipboard Toggle word wrap
DISTRIBUTED_STORAGE_CONFIG:
  default:
    - LocalStorage
    - storage_path: /datastorage/registry
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
DISTRIBUTED_STORAGE_PREFERENCE:
    - default

6.6.4. OpenShift Container Storage/NooBaa

以下の YAML は、OpenShift Container Storage/NooBaa インスタンスを使用した設定例を示しています。

Copy to Clipboard Toggle word wrap
DISTRIBUTED_STORAGE_CONFIG:
  rhocsStorage:
    - RHOCSStorage
    - access_key: access_key_here
      secret_key: secret_key_here
      bucket_name: quay-datastore-9b2108a3-29f5-43f2-a9d5-2872174f9a56
      hostname: s3.openshift-storage.svc.cluster.local
      is_secure: 'true'
      port: '443'
      storage_path: /datastorage/registry
      maximum_chunk_size_mb: 100 
1

      server_side_assembly: true 
2
1
最終コピーの最大チャンクサイズ (MB 単位) を定義します。server_side_assemblyfalse に設定されている場合、効果はありません。
2
オプション: Red Hat Quay がクライアントアセンブリーではなく、サーバー側アセンブリーと最終的なチャンクコピーの使用を試みるかどうか指定します。デフォルトは true です。

6.6.5. Ceph Object Gateway/RadosGW ストレージ

次の YAML は、Ceph/RadosGW を使用したサンプル設定を示しています。

注記

RadosGW は、オンプレミスの S3 互換ストレージソリューションです。これは、Amazon Web Services S3 で使用するために特別に設計された一般的な AWS S3Storage とは異なることに注意してください。つまり、RadosGW は S3 API を実装し、access_keysecret_keybucket_name などの認証情報が必要になります。Ceph Object Gateway および S3 API に関する詳細は、Ceph Object Gateway および S3 API を参照してください。

一般的な s3 アクセスのある RadosGW

Copy to Clipboard Toggle word wrap
DISTRIBUTED_STORAGE_CONFIG:
  radosGWStorage: 
1

    - RadosGWStorage
    - access_key: <access_key_here>
      bucket_name: <bucket_name_here>
      hostname: <hostname_here>
      is_secure: true
      port: '443'
      secret_key: <secret_key_here>
      storage_path: /datastorage/registry
      maximum_chunk_size_mb: 100 
2

      server_side_assembly: true 
3

1
一般的な s3 アクセスに使用します。一般的な s3 アクセスは、厳密には Amazon Web Services (AWS) s3 に限定されず、RadosGW または他のストレージサービスでも使用できることに注意してください。AWS S3 ドライバーを使用した一般的な s3 アクセスの例は、「AWS S3 ストレージ」を参照してください。
2
オプション: 最終コピーの最大チャンクサイズ (MB 単位) を定義します。server_side_assemblyfalse に設定されている場合、効果はありません。
3
オプション: Red Hat Quay がクライアントアセンブリーではなく、サーバー側アセンブリーと最終的なチャンクコピーの使用を試みるかどうか指定します。デフォルトは true です。

6.6.6. AWS S3 ストレージ

以下の YAML は、AWS S3 ストレージを使用した設定のサンプルを示しています。

Copy to Clipboard Toggle word wrap
# ...
DISTRIBUTED_STORAGE_CONFIG:
  default:
    - S3Storage 
1

    - host: s3.us-east-2.amazonaws.com
      s3_access_key: ABCDEFGHIJKLMN
      s3_secret_key: OL3ABCDEFGHIJKLMN
      s3_bucket: quay_bucket
      s3_region: <region> 
2

      storage_path: /datastorage/registry
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
DISTRIBUTED_STORAGE_PREFERENCE:
    - default
# ...
1
S3Storage ストレージドライバーは、AWS S3 バケットにのみ使用してください。これは、RadosGW ドライバーや他のストレージサービスを使用できる一般的な S3 アクセスとは異なることに注意してください。例は、「例 B: 一般的な S3 アクセスで RadosGW を使用する」を参照してください。
2
オプション: Amazon Web Services のリージョン。デフォルトは us-east-1 です。

6.6.6.1. AWS STS S3 ストレージ

次の YAML は、OpenShift Container Platform 設定で Amazon Web Services (AWS) Security Token Service (STS) を Red Hat Quay で使用するための設定例を示しています。

Copy to Clipboard Toggle word wrap
# ...
DISTRIBUTED_STORAGE_CONFIG:
   default:
    - STSS3Storage
    - sts_role_arn: <role_arn> 
1

      s3_bucket: <s3_bucket_name>
      storage_path: <storage_path>
      sts_user_access_key: <s3_user_access_key> 
2

      sts_user_secret_key: <s3_user_secret_key> 
3

      s3_region: <region> 
4

DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
DISTRIBUTED_STORAGE_PREFERENCE:
    - default
# ...
1
一意の Amazon Resource Name (ARN)。
2
生成された AWS S3 ユーザーアクセスキー。
3
生成された AWS S3 ユーザー秘密鍵。
4
オプション: Amazon Web Services のリージョン。デフォルトは us-east-1 です。

6.6.6.2. AWS Cloudfront ストレージ

Red Hat Quay デプロイメント用に AWS Cloudfront を設定する場合は、次の例を使用します。

注記
  • AWS Cloudfront ストレージを設定する場合、Red Hat Quay を適切に使用するには次の条件を満たす必要があります。

    • config.yaml ファイルで定義されている Red Hat Quay のストレージパスと一致するように Origin パス を設定する必要があります。この要件を満たさない場合、イメージを取得するときに 403 エラーが発生します。詳細は、Origin path を参照してください。
    • Bucket policyCross-origin resource sharing (CORS) ポリシーを設定する必要があります。

Cloudfront S3 の YAML 例

Copy to Clipboard Toggle word wrap
DISTRIBUTED_STORAGE_CONFIG:
    default:
      - CloudFrontedS3Storage
      - cloudfront_distribution_domain: <CLOUDFRONT_DISTRIBUTION_DOMAIN>
        cloudfront_key_id: <CLOUDFRONT_KEY_ID>
        cloudfront_privatekey_filename: <CLOUDFRONT_PRIVATE_KEY_FILENAME>
        host: <S3_HOST>
        s3_access_key: <S3_ACCESS_KEY>
        s3_bucket: <S3_BUCKET_NAME>
        s3_secret_key: <S3_SECRET_KEY>
        storage_path: <STORAGE_PATH>
        s3_region: <S3_REGION>
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS:
  - default
DISTRIBUTED_STORAGE_PREFERENCE:
  - default

バケットポリシーの例

Copy to Clipboard Toggle word wrap
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<AWS_ACCOUNT_ID>:user/CloudFront Origin Access Identity <CLOUDFRONT_OAI_ID>" 
1
 
2

            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::<S3_BUCKET_NAME>/*" 
3

        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<AWS_ACCOUNT_ID>:user/CloudFront Origin Access Identity <CLOUDFRONT_OAI_ID>" 
4
 
5

            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::<S3_BUCKET_NAME>"
        }
    ]
}

1 4
CloudFront OAI および S3 バケットを所有する AWS アカウントの識別子またはアカウント ID。
2 5
S3 バケットにアクセスする CloudFront Origin Access Identity (OAI)。
3
CloudFront が S3 バケット内のすべてのオブジェクト (/*) にアクセスできることを指定します。

6.6.7. Google Cloud Storage

以下の YAML は、Google Cloud Storage を使用した設定例を示しています。

Copy to Clipboard Toggle word wrap
DISTRIBUTED_STORAGE_CONFIG:
    googleCloudStorage:
        - GoogleCloudStorage
        - access_key: GOOGQIMFB3ABCDEFGHIJKLMN
          bucket_name: quay-bucket
          secret_key: FhDAYe2HeuAKfvZCAGyOioNaaRABCDEFGHIJKLMN
          storage_path: /datastorage/registry
          boto_timeout: 120 
1

DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
DISTRIBUTED_STORAGE_PREFERENCE:
    - googleCloudStorage
1
オプション: 接続から読み取ろうとしたときにタイムアウト例外が出力されるまでの時間 (秒単位)。デフォルトは 60 秒です。また、接続を試行するときにタイムアウト例外が出力されるまでの時間 (秒単位) も含まれます。デフォルトは 60 秒です。

6.6.8. Azure Storage

以下の YAML は、Azure Storage を使用した設定のサンプルを示しています。

Copy to Clipboard Toggle word wrap
DISTRIBUTED_STORAGE_CONFIG:
  azureStorage:
    - AzureStorage
    - azure_account_name: azure_account_name_here
      azure_container: azure_container_here
      storage_path: /datastorage/registry
      azure_account_key: azure_account_key_here
      sas_token: some/path/
      endpoint_url: https://[account-name].blob.core.usgovcloudapi.net 
1

DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
DISTRIBUTED_STORAGE_PREFERENCE:
    - azureStorage
1
Azure ストレージの endpoint_url パラメーターは任意であり、Microsoft Azure Government (MAG) エンドポイントで使用できます。空白のままにすると、endpoint_url は通常の Azure リージョンに接続します。

Red Hat Quay 3.7 以降では、MAG Blob サービスのプライマリーエンドポイントを使用する必要があります。MAG Blob サービスのセカンダリーエンドポイントを使用すると、AuthenticationErrorDetail:Cannot find the claimed account when trying to GetProperties for the account whusc8-secondary エラーが発生します。

6.6.9. Swift ストレージ:

以下の YAML は、Swift ストレージを使用した設定のサンプルを示しています。

Copy to Clipboard Toggle word wrap
DISTRIBUTED_STORAGE_CONFIG:
  swiftStorage:
    - SwiftStorage
    - swift_user: swift_user_here
      swift_password: swift_password_here
      swift_container: swift_container_here
      auth_url: https://example.org/swift/v1/quay
      auth_version: 3
      os_options:
        tenant_id: <osp_tenant_id_here>
        user_domain_name: <osp_domain_name_here>
      ca_cert_path: /conf/stack/swift.cert"
      storage_path: /datastorage/registry
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
DISTRIBUTED_STORAGE_PREFERENCE:
    - swiftStorage

6.6.10. Nutanix オブジェクトストレージ

以下の YAML は、Nutanix オブジェクトストレージを使用した設定例を示しています。

Copy to Clipboard Toggle word wrap
DISTRIBUTED_STORAGE_CONFIG:
  nutanixStorage: #storage config name
    - RadosGWStorage #actual driver
    - access_key: access_key_here #parameters
      secret_key: secret_key_here
      bucket_name: bucket_name_here
      hostname: hostname_here
      is_secure: 'true'
      port: '443'
      storage_path: /datastorage/registry
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
DISTRIBUTED_STORAGE_PREFERENCE: #must contain name of the storage config
    - nutanixStorage

6.6.11. IBM Cloud オブジェクトストレージ

次の YAML は、IBM Cloud オブジェクトストレージを使用したサンプル設定を示しています。

Copy to Clipboard Toggle word wrap
DISTRIBUTED_STORAGE_CONFIG:
  default:
  - IBMCloudStorage #actual driver
  - access_key: <access_key_here> #parameters
    secret_key: <secret_key_here>
    bucket_name: <bucket_name_here>
    hostname: <hostname_here>
    is_secure: 'true'
    port: '443'
    storage_path: /datastorage/registry
    maximum_chunk_size_mb: 100mb 
1

    minimum_chunk_size_mb: 5mb 
2

DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS:
- default
DISTRIBUTED_STORAGE_PREFERENCE:
- default
1
オプション: 100mb に設定することを推奨します。
2
オプション: デフォルトは 5mb です。このフィールドは、Red Hat サポート に相談せずに調整しないでください。意図しない結果が生じる可能性があるためです。

6.6.12. NetApp ONTAP S3 オブジェクトストレージ

次の YAML は、NetApp ONTAP S3 を使用したサンプル設定を示しています。

Copy to Clipboard Toggle word wrap
DISTRIBUTED_STORAGE_CONFIG:
  local_us:
  - RadosGWStorage
  - access_key: <access_key>
    bucket_name: <bucket_name>
    hostname: <host_url_address>
    is_secure: true
    port: <port>
    secret_key: <secret_key>
    storage_path: /datastorage/registry
    signature_version: v4
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS:
- local_us
DISTRIBUTED_STORAGE_PREFERENCE:
- local_us

6.6.13. Hitachi Content Platform オブジェクトストレージ

次の YAML は、オブジェクトストレージに HCP を使用するサンプル設定を示しています。

HCP ストレージ設定の例

Copy to Clipboard Toggle word wrap
DISTRIBUTED_STORAGE_CONFIG:
  hcp_us:
  - RadosGWStorage
  - access_key: <access_key>
    bucket_name: <bucket_name>
    hostname: <hitachi_hostname_example>
    is_secure: true
    secret_key: <secret_key>
    storage_path: /datastorage/registry
    signature_version: v4
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS:
- hcp_us
DISTRIBUTED_STORAGE_PREFERENCE:
- hcp_us

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.