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


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

  • Amazon Web Services (AWS) S3
  • AWS STS S3 (セキュリティートークンサービス)
  • AWS CloudFront (CloudFront S3Storage)
  • Google Cloud Storage
  • Microsoft Azure Blob Storage
  • Swift Storage
  • Nutanix オブジェクトストレージ
  • IBM Cloud Object Storage
  • NetApp ONTAP S3 オブジェクトストレージ
  • Hitachi Content Platform (HCP)オブジェクトストレージ
注記

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

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

以下の表は、Red Hat Quay のストレージ設定フィールドを説明しています。バックエンドストレージの設定時に、これらのフィールドが必要です。

Expand
表7.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

MAXIMUM_LAYER_SIZE
(オプション)

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

7.3.2. ローカルストレージ

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

重要

概念実証の ためにレジストリーをデプロイする場合は、ローカルストレージのみを使用してください。これは実稼働環境での使用を目的としていません。ローカルストレージを使用する場合は、レジストリーの起動時に、レジストリーをコンテナー内の datastorage パスにマップする必要があります。詳細は、Proof of Concept - Deploying 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

7.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 に設定されます。

7.3.4. Ceph オブジェクトゲートウェイ(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 アクセスの例

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 に設定されます。

7.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 ストレージバックエンドに関する追加情報を提供します。

7.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 です。

7.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 です。

7.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 バケット内のすべてのオブジェクト (/*) にアクセスできることを指定します。

7.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 秒です。

7.3.7. Microsoft Azure Blob Storage

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

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

Microsoft Azure Blob Storage の例

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

7.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

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

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

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

Nutanix Objects ストレージの例

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

7.3.10. IBM Cloud Object Storage

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

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

IBM Cloud Object Storage

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 Hat サポート に相談せずに調整しないでください。意図しない結果が生じる可能性があるためです。

7.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

7.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