8.3. ストレージオブジェクトの設定フィールド


ストレージフィールドは、コンテナーイメージ Blob とマニフェストが保存されるバックエンドを定義します。Red Hat Quay では次のストレージプロバイダーがサポートされています。

  • Amazon Web Services (AWS) S3
  • AWS STS S3 (Security Token Service)
  • AWS CloudFront (CloudFront S3 ストレージ)
  • Google Cloud Storage
  • Microsoft Azure Blob Storage
  • Swift Storage
  • Nutanix オブジェクトストレージ
  • IBM Cloud オブジェクトストレージ
  • NetApp ONTAP S3 オブジェクトストレージ
  • 日立コンテンツプラットフォーム (HCP) オブジェクトストレージ
注記

サポートされているストレージプロバイダーの多くは、S3 互換の API があるため、RadosGWStorage ドライバーを使用します。

8.3.1. ストレージ設定フィールド

次の表は、Red Hat Quay のストレージ設定フィールドについて説明しています。バックエンドストレージを設定する場合、これらのフィールドは必須です。

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

DISTRIBUTED_STORAGE_CONFIG
(必須)

Object

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

デフォルト: []

DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS
(必須)

文字列の配列

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

DISTRIBUTED_STORAGE_PREFERENCE
(必須)

文字列の配列

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

デフォルト: False

最大レイヤーサイズ
(オプション)

String

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

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

: 100G

デフォルト: 20G

ストレージ設定例

DISTRIBUTED_STORAGE_CONFIG:
DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
DISTRIBUTED_STORAGE_PREFERENCE:
    - default
MAXIMUM_LAYER_SIZE: 100G
Copy to Clipboard Toggle word wrap

8.3.2. ローカルストレージ

次の YAML は、ローカルストレージを使用した設定の例を示しています。

重要

概念実証の 目的でレジストリーを展開する場合は、ローカルストレージのみを使用してください。生産目的には適していません。ローカルストレージを使用する場合は、レジストリーを起動するときに、レジストリーをコンテナー内の データストレージ パスのローカルディレクトリーにマップする必要があります。詳細は、概念実証 - Red Hat Quay のデプロイを 参照してください。

ローカルストレージの例

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

8.3.3. Red Hat OpenShift Data Foundation

以下の YAML は、Red Hat OpenShift Data Foundation を使用した設定例を示しています。

DISTRIBUTED_STORAGE_CONFIG:
  rhocsStorage:
    - RHOCSStorage
    - access_key: <access_key_here>
      secret_key: <secret_key_here>
      bucket_name: <bucket_name>
      hostname: <hostname>
      is_secure: 'true'
      port: '443'
      storage_path: /datastorage/registry
      maximum_chunk_size_mb: 100 
1

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

8.3.4. Ceph Object Gateway (RadosGW) ストレージの例

Red Hat Quay は、オブジェクトストレージバックエンドとして Ceph Object Gateway (RadosGW) の使用をサポートしています。RadosGW は、プライベートアーキテクチャー向けに設計されたストレージプラットフォームである Red Hat Ceph Storage のコンポーネントです。Red Hat Ceph Storage は、Ceph と対話するための S3 互換の REST API を提供します。

注記

RadosGW はオンプレミスの S3 互換ストレージソリューションです。これは S3 API を実装し、access_keysecret_keybucket_name などの同じ認証フィールドを必要とします。Ceph Object Gateway と S3 API の詳細は、Ceph Object Gateway を 参照してください。

次の YAML は、RadosGW を使用した設定の例を示しています。

一般的な S3 アクセスの例を使用した RadosGW

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
Copy to Clipboard Toggle word wrap

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

8.3.5. サポートされている AWS ストレージバックエンド

Red Hat Quay は、複数の Amazon Web Services (AWS) ストレージバックエンドをサポートしています。

  • S3 ストレージ: AWS のネイティブオブジェクトストレージサービスを使用する AWS S3 バケットの標準サポート。
  • STS S3 ストレージ: IAM ロールを引き受ける AWS Security Token Service (STS) のサポートにより、より安全な S3 操作が可能になります。
  • CloudFront S3 ストレージ: AWS CloudFront と統合し、AWS S3 をオリジンとして使用しながらコンテンツの高可用性配信を可能にします。

次のセクションでは、YAML の例と、各 AWS ストレージバックエンドに関する追加情報を示します。

8.3.5.1. Amazon Web Services S3 ストレージ

Red Hat Quay は、オブジェクトストレージバックエンドとして AWS S3 の使用をサポートしています。AWS S3 は、データの可用性、スケーラビリティー、セキュリティー、パフォーマンスを考慮して設計されたオブジェクトストレージサービスです。次の YAML は、AWS S3 を使用した設定の例を示しています。

AWS S3 の例

# ...
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
# ...
Copy to Clipboard Toggle word wrap

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

8.3.5.2. Amazon Web Services STS S3 ストレージ

AWS Security Token Service (STS) は、AWS リソースにアクセスするための一時的な、特権が制限された認証情報を提供し、長期的なアクセスキーを保存する必要性を回避することでセキュリティーを向上させます。これは、IAM ロールを通じて認証情報をローテーションまたは管理できる OpenShift Container Platform などの環境で役立ちます。

次の YAML は、OpenShift Container Platform 設定で AWS STS を Red Hat Quay と共に使用するための設定例を示しています。

AWS STS S3 ストレージの例

# ...
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
# ...
Copy to Clipboard Toggle word wrap

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

8.3.5.3. AWS CloudFront ストレージ

AWS CloudFront は、ユーザーの近くにコンテンツをキャッシュして配信し、パフォーマンスを向上させてレイテンシーを低減するコンテンツ配信ネットワーク (CDN) サービスです。Red Hat Quay は、CloudFrontedS3Storage ドライバーを通じて CloudFront をサポートし、CloudFront ディストリビューション経由で S3 バケットへの安全な署名付きアクセスを可能にします。

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 例

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>"
        }
    ]
}
Copy to Clipboard Toggle word wrap

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

8.3.6. Google Cloud Storage

Red Hat Quay は、オブジェクトストレージバックエンドとして Google Cloud Storage (GCS) の使用をサポートしています。Red Hat Quay と併用すると、コンテナーイメージとアーティファクトを保存するためのクラウドネイティブソリューションが提供されます。

次の YAML は、Google Cloud Storage を使用したサンプル設定を示しています。

Google Cloud Storage の例

DISTRIBUTED_STORAGE_CONFIG:
    googleCloudStorage:
        - GoogleCloudStorage
        - access_key: <access_key>
          bucket_name: <bucket_name>
          secret_key: <secret_key>
          storage_path: /datastorage/registry
          boto_timeout: 120 
1

DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
DISTRIBUTED_STORAGE_PREFERENCE:
    - googleCloudStorage
Copy to Clipboard Toggle word wrap

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

8.3.7. Microsoft Azure Blob Storage

Red Hat Quay は、オブジェクトストレージバックエンドとして Microsoft Azure Blob Storage の 使用をサポートしています。Azure Blob Storage を使用すると、コンテナーイメージ、メタデータ、その他のアーティファクトを安全かつクラウドネイティブな方法で永続化できます。

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

Microsoft Azure Blob ストレージの例

DISTRIBUTED_STORAGE_CONFIG:
  azureStorage:
    - AzureStorage
    - azure_account_name: <azure_account_name>
      azure_container: <azure_container_name>
      storage_path: /datastorage/registry
      azure_account_key: <azure_account_key>
      sas_token: some/path/
      endpoint_url: https://[account-name].blob.core.usgovcloudapi.net 
1

DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
DISTRIBUTED_STORAGE_PREFERENCE:
    - azureStorage
Copy to Clipboard Toggle word wrap

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 エラーが発生します。

8.3.8. Swift オブジェクトストレージ

Red Hat Quay は、オブジェクトストレージバックエンドとして Red Hat OpenStack Platform (RHOSP) Object Storage サービス、または Swift の使用をサポートしています。Swift は独自の API と認証メカニズムを備えた S3 のような機能を提供します。

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

Swift オブジェクトストレージの例

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

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

Red Hat Quay は、オブジェクトストレージバックエンドとして Nutanix Objects Storage をサポートしています。Nutanix Object Storage は、Nutanix を使用してプライベートクラウドインフラストラクチャーを実行している組織に適しています。

次の YAML は、Nutanix Object Storage を使用したサンプル設定を示しています。

Nutanix オブジェクトストレージの例

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

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

Red Hat Quay は、オブジェクトストレージバックエンドとして IBM Cloud Object Storage をサポートします。IBM Cloud Object Storage は、IBM Cloud 上でスケーラブルかつ安全なストレージを必要とするクラウドネイティブアプリケーションに適しています。

次の YAML は、IBM Cloud Object Storage を使用したサンプル設定を示しています。

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

DISTRIBUTED_STORAGE_CONFIG:
  default:
  - IBMCloudStorage # actual driver
  - access_key: <access_key> # parameters
    secret_key: <secret_key>
    bucket_name: <bucket_name>
    hostname: <hostname>
    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
Copy to Clipboard Toggle word wrap

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

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

Red Hat Quay は、オブジェクトストレージバックエンドとして NetApp ONTAP S3 の 使用をサポートしています。

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

Netapp ONTAP S3 の例

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
Copy to Clipboard Toggle word wrap

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

Red Hat Quay は、オブジェクトストレージバックエンドとして Hitachi Content Platform (HCP) の使用をサポートしています。

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

HCP ストレージ設定例

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
Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat