適用ケース
バケットコピールールを設定することで、ユーザーはオブジェクトデータをソースバケットから別の指定するターゲットバケットにコピーすることができます。バケットコピー機能は、リモート障害復旧、業界のコンプライアンス要件への適合、データマイグレーションおよびバックアップ、顧客アクセス遅延の低減、異なるリージョン間のクラスターのデータアクセス利便性向上などのケースに適しています。
特殊なケース:
マルチリージョンバックアップ:ソースバケットに複数のレプリケーションルールを設定し、オブジェクトを異なるリージョンのバケットにコピーすることで、マルチリージョナルなバックアップと障害復旧を実現できます。
双方向レプリケーション:ソースバケットとターゲットバケットでそれぞれレプリケーションルールを作成することにより、2つのバケット間での双方向レプリケーションを実現し、バケットデータの同期を実現することができます。
注意:
バージョン管理機能を有効にしている場合、新たにアップロードするオブジェクトには複数のバージョンが生成され、ストレージスペースを占有します。このためこれらのバージョンのオブジェクトも同様にストレージ料金の課金対象となります。
使用方法
COSコンソールの使用
バケットレプリケーションの有効化
2. 左側のナビゲーションメニューで、バケットリストをクリックします。
3. レプリケーションの対象となるソースバケットをクリックし、バケット詳細ページに移動します。
4. 左側のフォールトトレランスとディザスタリカバリ管理>バケットレプリケーションを選択すると、このページが表示されます。
5. バケットレプリケーションエリアでルールを追加をクリックします。設定項目の説明は以下の通りです。
基本情報
ステータス:現在のルールの状態。
ソースリージョン:ソースバケットが所属するリージョン。
適用範囲:レプリケーション対象となるソースバケット内のオブジェクト範囲を指します。バケット全体または指定範囲の選択がサポートされています。
バケット全体:ソースバケットのすべての増分オブジェクトをターゲットバケットにレプリケートすることを指します。
指定範囲:オブジェクトプレフィックス、オブジェクトタグに基づき、レプリケーション対象の増分オブジェクトをフィルタリングすることを指します。指定範囲を選択する場合は、以下のいずれかを少なくとも一つ設定してください。
オブジェクトプレフィックス:同一のオブジェクトキープレフィックスを持つオブジェクトに対し、レプリケーションルールを適用するよう指定できます。例:prefix/。正規表現はサポートしていません。 オブジェクトタグ:同一のタグが付与されたオブジェクトに対し、レプリケーションルールを適用するよう指定できます。最大10個のタグを指定でき、英字の大文字と小文字は区別されます。
注意:
オブジェクトプレフィックスとオブジェクトタグを同時に指定できます。オブジェクトプレフィックスとオブジェクトタグ、オブジェクトタグとオブジェクトタグの間は、すべて「AND」関係(つまり、すべての条件を同時に満たす必要がある)となります。例えば、バケットレプリケーションルールでオブジェクトプレフィックスをdoc、オブジェクトタグのキーと値のペアをgroup = ITと指定した場合、指定されたオブジェクトの範囲は、現在のバケット内でオブジェクトキーのプレフィックスがdocであり、かつオブジェクトタグがgroup = ITであるすべての増分オブジェクトです。
ルール設定
ターゲットバケット:オブジェクトがレプリケーションされた後に保存されるバケットを指します。ソースバケットと同一または異なるリージョンのバケットを選択できますが、現在のアカウント以外のバケットは選択できません。設定後、新規レプリケーションルールを追加する際、同じ対象リージョンに対しては、以前に指定したターゲットバケットのみ設定できます。
説明:
ソースバケットとターゲットバケットの両方でバージョニング機能が有効になっていない場合、まずバージョニング機能を有効にしてから、バケットレプリケーションルールを設定してください。
仮にルール1でターゲットバケットとして南京リージョンのバケットAを指定したとします。その後、ルール2を新規追加し、ターゲットバケットとして南京リージョンのバケットに設定する場合、選択できるのはバケットAのみで、それ以外を選択した場合はエラーが発生します。
ターゲットストレージタイプ:オブジェクトがターゲットバケットにレプリケーションされた後のストレージタイプを指します。ターゲットバケット内にレプリケートされたオブジェクトのストレージタイプを変更できます。一部のストレージタイプは特定のリージョンでのみ利用可能です。ストレージタイプの詳細と対応リージョンについては、ストレージタイプの概要をご参照ください。 削除マーカーの同期:同期する、または同期しないを選択できます。デフォルトは「同期しない」です。
同期:削除マーカーの同期を選択した場合、バケットレプリケーション機能はそのマーカーをターゲットバケットにコピーするため、慎重に選択してください。ソースバケットのファイルが削除された場合、バケットレプリケーションの動作は以下の通りです。
バージョンIDを指定せずにファイルを削除する場合、COSはソースバケットに削除マーカーを追加します。バケットレプリケーション機能はこのマーカーをターゲットバケットにコピーするため、ターゲットバケットのファイルも同期して削除されます。
バージョンIDを指定してファイルを削除する場合、COSはソースバケット内の指定オブジェクトバージョンを削除しますが、この削除操作はターゲットバケットにはコピーされません。つまり、COSはターゲットバケット内の指定オブジェクトバージョンを削除しません。この動作により、悪意のあるデータ削除を防ぐことができます。
同期しない:削除マーカーの同期を選択しない場合、ターゲットバケットに新しい削除マーカーは追加されません。ソースバケットのファイルが削除されても、バケットレプリケーション機能は削除マーカーをターゲットバケットにコピーしないため、ターゲットバケットのファイルは影響を受けません。
いずれの場合も、ターゲットバケットでは対応するファイルが物理的に削除されることなく、ユーザーはバージョンIDを指定することによりオブジェクトの過去のバージョンにアクセスできます。バージョニングと削除マーカーの詳細については、バージョニングの概要ドキュメントをご参照ください。 説明:
ライフサイクルによって生成された削除マーカーや階層化操作などはターゲットバケットに同期されません。ターゲットバケットでも期限切れオブジェクトを削除したい場合は、ターゲットバケットに対し、ソースバケットと同一のライフサイクルルールを個別に設定する必要があります。詳細については、バケットレプリケーションの概要および レプリケーション動作の説明をご参照ください。 適用範囲で指定範囲を選択し、かつ選択範囲をオブジェクトタグで指定した場合、ルール設定ページで削除マーカーの同期を選択することはできません。
ルール優先度:現在のバケットレプリケーションルールの優先度を指します。システムはデフォルトロジックに基づき各ルールに優先度を割り当てます。変更する場合は、ルール一覧ページで優先度の調整をクリックして操作してください。操作の詳細については、ルール優先度の調整をご参照ください。 6. 情報を確認の上、権限付与にチェックを入れた後、確定をクリックすると、バケットレプリケーションルールが表示されます。
注意:
ルールを設定した後、ルールに対して管理操作を行うことができます。編集ボタンで現在のルール内容やステータスを変更でき、削除ボタンで現在のルールを削除できます。
バケットレプリケーションルールの優先度調整
注意:
優先度は1~1000で設定可能です。数字が小さいほど優先度が高くなります。
異なるルールの優先度を重複させることはできません。
この機能のアップグレード前に「バケットレプリケーションルール」を設定済みの場合、これらのルールには一時的に優先度がなく、「-」と表示されます。詳細は以下の通りです。
アップグレード後にルールを新規追加または編集すると、デフォルトロジックに基づき、既存ルールに優先度が割り当てられ、従来のルールを優先度フィールド付きの新しい形式に一括変換されます。ビジネス要件に応じて優先度を調整できます。
アップグレード後にルールを新規追加または編集しない場合でも、バケットレプリケーションは既存のルールに基づいて継続されます。
以下の方法で、バケットレプリケーションルールの優先度を調整できます。操作手順は以下の通りです。
1. バケットレプリケーションのルール一覧ページで、優先度の調整をクリックします。
2. プラス/マイナスボタン、または直接入力で希望の優先度を設定します。
3. 確定をクリックして、バケットレプリケーションルールの優先度の調整を完了します。
バケットレプリケーションの無効化
注意:
まだ完了していないレプリケーション操作は、機能を無効化した時点で中止され、続行できなくなります。
バケットレプリケーションを再度有効化した場合、有効化後に新たに追加されたオブジェクトのみがレプリケーション操作の対象となります。
バケットレプリケーション機能は、ルールの編集と削除の2つの方法で無効化できます。
ルールの編集:バケットレプリケーション管理項目内で追加済みのルールを編集し、ルール内のステータスボタンで一時的に無効化できます。これにより、現在のバケットレプリケーション機能は一時停止され、コピー済みのデータはターゲットバケットに保持されますが、ソースバケットの増分データはターゲットバケットにコピーされなくなります。再度使用するには、有効化ボタンをクリックしてください。
ルールの削除:バケットレプリケーション管理項目内で追加済みのルールを削除します。削除後、設定済みのバケットレプリケーションルールは無効となります。コピー済みのデータはターゲットバケットに保持されますが、ソースバケットの増分データはレプリケートされなくなります。再度使用するには、新たにルールを追加する必要があります。
REST APIの使用
REST APIを直接使用して、バケットのバケットコピールールの設定と管理を行うことができます。具体的には次のAPIドキュメントをご参照ください。
SDKの使用
SDKのバケットコピーメソッドを直接呼び出すことができます。詳細については、下記の各言語のSDKドキュメントをご参照ください。