10.3. ログベースのバケットレプリケーションの有効化


バケットレプリケーションポリシーを作成すると、デフォルトのスキャンベースの複製が残りのデータを複製している間に、最新のデータを素早く複製してログを使用できます。

重要

この機能には、AWS または Azure でバケットログを設定する必要があります。AWS ログの設定に関する詳細は、Amazon S3 サーバーアクセスロギングの有効化 を参照してください。AWS ログバケットは、ソース NamespaceStore AWS バケットと同じリージョンに作成する必要があります。

注記

この機能は、NamespaceStore によってサポートされているバケットでのみサポートされます。BackingStore によってバックアップされるバケットでは、ログベースのレプリケーションを利用できません。

10.3.1. Amazon Web Service 環境での OpenShift Web コンソールを使用した新規 namespace バケットのログベースのバケットレプリケーションの有効化

アマゾンウェブサービス (AWS) クラウド環境のイベントログを利用してレプリケーションを最適化できます。namespace バケットの作成時に Web コンソールを使用して新規 namespace バケットのログベースのバケットレプリケーションを有効にします。

前提条件

  • AWS でオブジェクトのログ記録が有効になっていることを確認します。詳細は、Enabling Amazon S3 server access logging の “Using the S3 console” セクションを参照してください。
  • OpenShift Web コンソールへの管理者アクセス。

手順

  1. OpenShift Web コンソールで、Storage Object Storage Object Bucket Claims に移動します。
  2. Create ObjectBucketClaim をクリックします。
  3. ObjectBucketName の名前を入力し、StorageClass および BucketClass を選択します。
  4. Enable replication チェックボックスを選択して、レプリケーションを有効にします。
  5. Replication policy セクションで、Optimize replication using event logs チェックボックスをオンにします。
  6. Event log Bucket の下にログが含まれるバケットの名前を入力します。

    ログがバケットのルートに保存されていない場合は、s3:// なしで完全パスを指定します。

  7. 接頭辞を入力すると、名前が指定された接頭辞で始まるオブジェクトのみが複製されます。

10.3.2. YAML を使用した既存の namespace バケットのログベースのバケットレプリケーションの有効化

ログベースのバケットレプリケーションは、AWS S3 コマンドを使用して作成されたバケットではなく、コマンドラインインターフェイスを使用して作成された既存のバケット、または YAML を適用して作成された既存のバケットに対して有効にすることができます。

手順

  • バケットの OBC の YAML を編集して、ログベースのバケットレプリケーションを有効にします。以下を spec の下に追加します。

    replicationPolicy: '{"rules":[{"rule_id":"<RULE ID>", "destination_bucket":"<DEST>", "filter": {"prefix": "<PREFIX>"}}], "log_replication_info": {"logs_location": {"logs_bucket": "<LOGS_BUCKET>"}}}'
注記

OBC を作成する前に、OBC の YAML に追加することもできます。

rule_id
ルールを識別するための任意の ID を指定します。
destination_bucket
オブジェクトのコピー先となるターゲット MCG バケットの名前を指定します
(オプション) {"filter": {"prefix": <>}}
レプリケートされるオブジェクトをフィルタリングするために設定できる接頭辞文字列を指定します。
log_replication_info
ログベースのレプリケーション最適化に関連するデータを含むオブジェクトを指定します。{"logs_location": {"logs_bucket": <>}} は、AWS S3 サーバーのアクセスログの場所に設定されます。

10.3.3. Microsoft Azure でのログベースのバケットレプリケーションの有効化

前提条件

  • Microsoft Azure ドキュメントを参照し、Microsoft Azure ポータルで次のタスクを完了している。

    1. 新しいアプリケーションを作成し、名前、アプリケーション (クライアント) ID、およびディレクトリー (テナント) ID を書き留めていることを確認します。

      詳細は、Register an application を参照してください。

    2. 新しいクライアントシークレットが作成され、アプリケーションシークレットが書き留められていることを確認します。
    3. 新しい Log Analytics ワークスペースが作成され、その名前とワークスペース ID が表示されていることを確認します。

      詳細は、Create a Log Analytics workspace を参照してください。

    4. Access controlReader ロールが割り当てられていること、メンバーが選択されていること、および前の手順で登録したアプリケーションの名前が指定されていることを確認します。

      詳細は、Assign Azure roles using the Azure portal を参照してください。

    5. 新しいストレージアカウントが作成され、アクセスキーが表示されていることを確認します。
    6. 作成したストレージアカウントの Monitoring セクションで Blob を選択し、Diagnostic settings 画面で StorageWriteStorageDelete のみを選択して、前に作成した Log Analytics ワークスペースを宛先の詳細に追加します。作成したストレージアカウントの Monitoring セクションの Diagnostic settings 画面で Blob が選択されていることを確認します。また、StorageWriteStorageDelete のみが選択されていることを確認し、宛先の詳細に、前に作成した Log Analytics ワークスペースが追加されていることを確認します。

      詳細は、Diagnostic settings in Azure Monitor を参照してください。

    7. オブジェクトソースおよびオブジェクトの宛先に 2 つの新規コンテナーが作成されていることを確認します。
  • OpenShift Web コンソールへの管理者アクセス。

手順

  1. namespacestores で使用される認証情報を含むシークレットを作成します。

    apiVersion: v1
    kind: Secret
    metadata:
      name: <namespacestore-secret-name>
    type: Opaque
    data:
        TenantID: <AZURE TENANT ID ENCODED IN BASE64>
        ApplicationID: <AZURE APPLICATIOM ID ENCODED IN BASE64>
        ApplicationSecret: <AZURE APPLICATION SECRET ENCODED IN BASE64>
        LogsAnalyticsWorkspaceID: <AZURE LOG ANALYTICS WORKSPACE ID ENCODED IN BASE64>
        AccountName: <AZURE ACCOUNT NAME ENCODED IN BASE64>
        AccountKey: <AZURE ACCOUNT KEY ENCODED IN BASE64>
  2. Azure で作成したコンテナーを基盤とする NamespaceStore を作成します。

    詳細は、OpenShift Container Platform ユーザーインターフェイスを使用した namespace バケットの追加 を参照してください。

  3. これを使用する新規の Namespace-Bucketclass および OBC を作成します。
  4. ターゲット OBC の YAML を調べるか、すべての S3 バケット (例: - s3 ls) をリストして、オブジェクトバケット名を確認します。
  5. 次のテンプレートを使用し、.spec の下の YAML に次の内容を追加して、ソース OBC に Azure レプリケーションポリシーを適用します。

    replicationPolicy:'{"rules":[ {"rule_id":"ID goes here", "sync_deletions": "<true or false>"", "destination_bucket":object bucket name"}
     ], "log_replication_info":{"endpoint_type":"AZURE"}}'
    sync_deletion
    ブール値 true または false を指定します。
    destination_bucket
    要求ではなく、オブジェクトバケットの名前を使用するようにしてください。この名前は、s3 ls コマンドを使用するか、OBC の YAML での値を検索して取得できます。

検証手順

  1. オブジェクトをソースバケットに書き込みます。
  2. MCG が複製するまで待ちます。
  3. ソースバケットからオブジェクトを削除します。
  4. オブジェクトがターゲットバケットから削除されたことを確認します。

10.3.4. ログベースのバケットレプリケーション削除の有効化

前提条件

  • OpenShift Web コンソールへの管理者アクセス。
  • 目的のバケットに対して設定された AWS サーバーアクセスログ。

手順

  1. OpenShift Web コンソールで、Storage Object Storage Object Bucket Claims に移動します。
  2. Create new Object bucket claim をクリックします。
  3. (任意) Replication rules セクションで、各ルールの Sync deletion チェックボックスを個別に選択します。
  4. Event log Bucket の下にログが含まれるバケットの名前を入力します。

    ログがバケットのルートに保存されていない場合は、s3:// なしで完全パスを指定します。

  5. 接頭辞を入力すると、名前が指定された接頭辞で始まるオブジェクトのみが複製されます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.