第8章 Multicloud Object Gateway バケットレプリケーション
1 つの Multicloud Object Gateway (MCG) バケットから別の MCG バケットへのデータをレプリケートすると、回復力が高まり、コラボレーションの選択肢が広がります。これらのバケットは、サポートされているストレージソリューション (AWS S3、Azure など) を基盤とするデータバケットまたは namespace バケットのいずれかです。
レプリケーションポリシーは、レプリケーションルールのリストで構成されます。各ルールは宛先バケットを定義し、オブジェクトキーの接頭辞に基づいてフィルターを指定できます。2 番目のバケットで補完的なレプリケーションポリシーを設定すると、双方向レプリケーションが実行されます。
前提条件
- 実行中の OpenShift Data Foundation Platform。
カスタマーポータル から Multicloud Object Gateway (MCG) コマンドラインインターフェイスバイナリーをダウンロードし、実行可能にする。
注記アーキテクチャーに応じて適切な製品バリアントを選択してください。利用可能なプラットフォームは、Linux (x86_64)、Windows、Mac OS です。
バケットを複製するには、バケットの別のバケットへの複製 を参照してください。
バケットクラスレプリケーションポリシーを設定するには、バケットクラスのレプリケーションポリシーの設定 を参照してください。
8.1. バケットの別のバケットへの複製
バケットレプリケーションポリシーは、次の 2 つの方法で設定できます。
8.1.1. MCG コマンドラインインターフェイスを使用してバケットの別のバケットへの複製
Object Bucket Claim (OBC) の作成時に、Multicloud Object Gateway (MCG) データバケットのレプリケーションポリシーを設定できます。JSON ファイルでレプリケーションポリシーパラメーターを定義する必要があります。
手順
MCG コマンドラインインターフェイスから以下のコマンドを実行し、特定のレプリケーションポリシーで OBC を作成します。
noobaa obc create <bucket-claim-name> -n openshift-storage --replication-policy /path/to/json-file.json
<bucket-claim-name>
- バケットクレームの名前を指定します。
/path/to/json-file.json
- レプリケーションポリシーを定義する JSON ファイルへのパスです。
JSON ファイルの例:
[{ "rule_id": "rule-1", "destination_bucket": "first.bucket", "filter": {"prefix": "repl"}}]
"prefix"
-
オプション。複製する必要があるのはオブジェクトキーの接頭辞であり、たとえば
{"prefix": ""}
のように、空のままにすることもできます。
以下に例を示します。
noobaa obc create my-bucket-claim -n openshift-storage --replication-policy /path/to/json-file.json
8.1.2. YAML を使用してバケットを別のバケットに複製
Object Bucket Claim (OBC) の作成時に、Multicloud Object Gateway (MCG) データバケットのレプリケーションポリシーを設定することも、YAML を後で編集することもできます。ポリシーは、次の手順に示す形式に準拠した JSON 準拠の文字列として指定する必要があります。
手順
以下の YAML を適用します。
apiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: name: <desired-bucket-claim> namespace: <desired-namespace> spec: generateBucketName: <desired-bucket-name> storageClassName: openshift-storage.noobaa.io additionalConfig: replicationPolicy: {"rules": [{ "rule_id": "", "destination_bucket": "", "filter": {"prefix": ""}}]}
<desired-bucket-claim>
- バケットクレームの名前を指定します。
<desired-namespace>
- namespace を指定します。
<desired-bucket-name>
- バケット名の接頭辞を指定します。
"rule_id"
-
ルールの ID 番号を指定します (例:
{"rule_id": "rule-1"}
)。 "destination_bucket"
-
宛先バケットの名前を指定します (例:
{"destination_bucket": "first.bucket"}
)。 "prefix"
-
オプション。複製する必要があるのはオブジェクトキーの接頭辞であり、たとえば
{"prefix": ""}
のように、空のままにすることもできます。
関連情報
- OBC の詳細は、Object Bucket Claim を参照してください。