すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:レプリケーション

最終更新日:May 06, 2024

replicationコマンドを実行して、データレプリケーションルールを管理できます。 データレプリケーションルールは、クロスリージョンレプリケーション (CRR) ルールと同一リージョンレプリケーション (SRR) ルールに分類されます。 データレプリケーションルールを設定した後、Object Storage Service (OSS) は、データレプリケーションルールに基づいて、ソースバケット内のオブジェクトを同じリージョンまたは別のリージョンにあるターゲットバケットにレプリケートします。

使用上の注意

  • データレプリケーションルールを作成するか、レプリケーション時間制御 (RTC) を有効にするには、oss:PutBucketReplication権限が必要です。 データレプリケーション規則を照会するには、oss:GetBucketReplication権限が必要です。 データレプリケーション規則を削除するには、oss:DeleteBucketReplication権限が必要です。 データレプリケーションの進行状況を照会するには、oss:GetBucketReplicationProgress権限が必要です。 データをレプリケートできるリージョンをクエリするには、oss:GetBucketReplicationLocation権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。

  • このトピックでは、64ビットLinuxシステムに基づくサンプルコマンドラインを提供します。 他のシステムのために、取り替えて下さい./ossutil64対応するバイナリ名を持つコマンドで 詳細は、「ossutilコマンドリファレンス」をご参照ください。

データ複製ルールの追加

データレプリケーションルールを使用すると、ソースバケットから1つ以上の宛先バケットにデータをレプリケートできます。 1つのバケットに最大100個のデータレプリケーションルールを設定できます。 データレプリケーションの詳細については、「CRRの概要」をご参照ください。

データレプリケーションルールを追加するには、まずローカルファイルを作成し、ファイルに追加するデータレプリケーションルールを指定する必要があります。 次に、データレプリケーションルールをソースバケットに追加します。

  • コマンド構文

    ./ossutil64レプリケーション -- メソッドput oss:// bucketname local_xml_file

    次の表に、構文のパラメーターを示します。

    パラメーター

    説明

    bucketname

    データレプリケーションルールを作成するバケットの名前。

    local_xml_ファイル

    データレプリケーションルールが指定されているローカルファイルの名前。 例: localfile.xml

    詳細については、「PutBucketReplication」をご参照ください。

    1. ローカルコンピューターにlocalfile.xmlという名前のファイルを作成し、ビジネス要件に基づいてファイル内のデータレプリケーションルールを設定します。

      次のデータレプリケーションルールは、ソースバケット内のsrcdirプレフィックスを名前に含むオブジェクトに対して実行される作成、削除、および変更操作を、中国 (杭州) リージョンにあるdestbucketという名前の宛先バケットに同期します。 このルールでは、転送アクセラレーションを有効にしてデータ複製のデータ転送を高速化し、履歴データの複製を有効にすることも指定します。

      <?xml version="1.0" encoding="UTF-8"?>
       <ReplicationConfiguration>
          <Rule>
               <PrefixSet>
                   <Prefix>srcdir</Prefix>             
               </PrefixSet>
               <Action>ALL</Action>
               <宛先>
                   <Bucket>destbucket</Bucket>
                   <Location>oss-cn-hangzhou</Location>
                   <TransferType>oss_acc</TransferType>
               </宛先>
               <HistoricalObjectReplication>enabled</HistoricalObjectReplication>
          </Rule>
       </ReplicationConfiguration> 
    2. srcbucketという名前のソースバケットにデータレプリケーションルールを追加します。

      ./ossutil64レプリケーション -- メソッドput oss:// srcbucket localfile.xml
  • Output

    次の出力は、srcbucketバケットに対してデータレプリケーションルールが作成されたことを示します。

    0.856895経過

RTCの有効化または無効化

説明

CRRタスクを設定するときに、レプリケーション時間制御 (RTC) を有効にできます。 既存のCRRタスクに対してRTCを有効にすることもできます。 RTCfor CRRタスクを有効にして、バケット内のすべてのオブジェクトをレプリケートしたり、特定のタグを持つオブジェクトやバケット内の特定のプレフィックスを含む名前のオブジェクトをレプリケートしたりできます。

  • コマンド構文

    ./ossutil64レプリケーション-メソッドput -- item rtc oss:// bucketname local_xml_file

    次の表に、構文のパラメーターを示します。

    パラメーター

    説明

    bucketname

    RTCを有効または無効にするソースバケットの名前。

    local_xml_ファイル

    RTC設定を格納するローカルファイルの名前。 例: localfile.xml

    詳細については、「PutBucketReplication」をご参照ください。

    1. ローカルファイルを設定します。

      • RTCの有効化

        <?xml version="1.0" encoding="UTF-8"?>
        <ReplicationRule>
            <RTC>
                <Status>enabled</Status>
            </RTC>
            <ID>test-replication-id</ID>
        </ReplicationRule> 
      • RTCを無効にする

        <?xml version="1.0" encoding="UTF-8"?>
        <ReplicationRule>
            <RTC>
                <ステータス> 無効 </ステータス>
            </RTC>
            <ID>test-replication-id</ID>
        </ReplicationRule> 
    2. srcbucketという名前のソースバケットのRTCを有効または無効にします。

      ./ossutil64レプリケーション-メソッドput -- item rtc oss:// srcbucket local.xml
  • Output

    0.856895経過

バケットのデータレプリケーションルールの照会

  • コマンド構文

    ./ossutil64レプリケーション -- メソッドget oss:// bucketname
  • 次のコマンドを実行して、srcbucketバケットのデータレプリケーションルールを照会および表示できます。

    ./ossutil64レプリケーション -- メソッドget oss:// srcbucket

    次のサンプル出力は、srcbucketバケットのデータレプリケーションルールが取得されたことを示しています。

    <?xml version="1.0" encoding="UTF-8"?>
    <ReplicationConfiguration>
      <Rule>
        <ID>37417af4-f2dc-4b24-92d3-82092af6 ****</ID>
        <Action>ALL</Action>
        <宛先>
          <Bucket>destbucket</Bucket>
          <Location>oss-cn-beijing</Location>
        </宛先>
        <ステータス> 実行中 </ステータス>
        <HistoricalObjectReplication>enabled</HistoricalObjectReplication>
      </ルール>
    </ReplicationConfiguration>
    
    
    0.069195経過 

データをレプリケートできるリージョンの照会

  • コマンド構文

    ./ossutil64 replication -- method get -- item location oss:// bucketname
  • 次のコマンドを実行して、srcbucketバケット内のデータをレプリケートできるリージョンを照会できます。

    ./ossutil64 replication -- method get -- item location oss:// srcbucket

    次のサンプル出力は、データをレプリケートできるリージョンが取得されていることを示しています。

    <?xml version="1.0" ?>
    <ReplicationLocation>
      <Location>oss-cn-beijing</Location>
      <Location>oss-cn-qingdao</Location>
      <所在地> oss-cn-shenzhen</所在地>
      <Location>oss-cn-hongkong</Location>
      <Location>oss-us-west-1</Location>
      <LocationTransferTypeConstraint>
        <LocationTransferType>
          <Location>oss-cn-hongkong</Location>
            <TransferTypes>
              <タイプ> oss_acc</タイプ>          
            </TransferTypes>
          </LocationTransferType>
          <LocationTransferType>
            <Location>oss-us-west-1</Location>
            <TransferTypes>
              <タイプ> oss_acc</タイプ>
            </TransferTypes>
          </LocationTransferType>
        </LocationTransferTypeConstraint>
      </ReplicationLocation>
    
    0.226523経過 

バケットで実行されるデータ複製タスクの進行状況の照会

  • コマンド構文

    ./ossutil64 replication -- method get -- item progress oss:// bucketname [ruleID]

    次の表に、構文のパラメーターとオプションを示します。

    パラメータ /オプション

    説明

    bucketname

    データレプリケーションの進行状況を照会するバケットの名前。

    ruleID

    データレプリケーションルールのID。 ルールIDを指定すると、ルールに関連付けられたレプリケーションの進行状況が照会されます。 ルールIDを指定しない場合、バケットのすべてのデータレプリケーションルールに関連付けられているレプリケーションの進行状況が照会されます。 レプリケーションの進行状況は画面にのみ表示できます。

  • 次のコマンドを実行して、srcbucketバケットの特定のデータレプリケーションルールに関連付けられたデータレプリケーションの進行状況を照会できます。

    ./ossutil64 replication -- method get -- item progress oss:// srcbucket 37417af4-f2dc-4b24-92d3-82092af6 ****

    次のコマンドを実行して、srcbucketバケットのすべてのデータレプリケーション規則に関連付けられたデータレプリケーションの進行状況を照会できます。

    ./ossutil64 replication -- method get -- item progress oss:// srcbucket

    次のサンプル出力は、srcbucketバケットから移行先バケットへの履歴データ (データレプリケーションが有効になる前にすでに存在するデータ) のレプリケーションの進行状況が100% であることを示しています。 データレプリケーションを有効にすると、時点2021-08-09T06:00:59.000Zより前にsrcbucketバケットに書き込まれたデータは、宛先バケットにレプリケートされます。

    <?xml version="1.0" encoding="UTF-8"?>
    <ReplicationProgress>
      <Rule>
        <ID>37417af4-f2dc-4b24-92d3-82092af6 ****</ID>
        <Action>ALL</Action>
        <宛先>
          <Bucket>destbucket</Bucket>
          <Location>oss-cn-beijing</Location>
        </宛先>
        <ステータス> 実行中 </ステータス>
        <HistoricalObjectReplication>enabled</HistoricalObjectReplication>
        <進行状況>
          <HistoricalObject>1.00</HistoricalObject>
          <NewObject>2021-08-09T06:00:59.000Z</NewObject>
        </進行状況>
      </ルール>
    </ReplicationProgress>
    
    
    0.125002経過 

データ複製ルールの削除

  • コマンド構文

    ./ossutil64レプリケーション -- メソッドdelete oss:// bucketname ruleID
  • 次のコマンドを実行して、srcbucketバケットに設定されている特定のデータレプリケーションルールを削除します。

    ./ossutil64レプリケーション -- メソッドdelete oss:// srcbucket 37417af4-f2dc-4b24-92d3-82092af6 ****

    次のサンプル出力は、指定されたデータレプリケーションルールが削除されたことを示しています。

    0.069195経過

一般的なオプション

ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKey secretを指定します。

たとえば、次のコマンドを実行して、中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestbucketバケットのlocalfile.txtファイルにデータレプリケーションルールを作成できます。

./ossutil64レプリケーション-メソッドput oss:// testbucket localfile.txt -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****

共通オプションの詳細については、「共通オプション」をご参照ください。