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

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

最終更新日:Dec 20, 2023

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

説明

このトピックでは、64ビットLinuxシステムに基づくサンプルコマンドラインを提供します。 他のシステムの場合は、を交換します。特定のバイナリ名を持つコマンドの /ossutil64。 詳細については、「ossutil」をご参照ください。

データ複製ルールの追加

データレプリケーションルールを使用すると、ソースバケットから複数の宛先バケットにデータをレプリケートできます。 1つのバケットに最大100個のデータレプリケーションルールを設定できます。

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

  • コマンド構文

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

    次の表に、上記のコマンドのパラメーターを示します。

    パラメーター

    説明

    bucketname

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

    local_xml_ファイル

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

    パラメーターの詳細については、「PutBucketReplication」をご参照ください。

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

      次のコードは、データレプリケーションルールを設定する方法の例を示しています。 このルールを使用すると、ソースバケット内の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.txt
  • レスポンスの例

    次の出力が表示されている場合は、データレプリケーションルールが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
  • レスポンスの例

    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

    次の出力が表示された場合、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を指定しない場合、バケットで実行されるすべてのデータレプリケーションタスクのレプリケーションの進行状況が照会されます。 データ複製タスクの複製の進行状況は、画面にのみ表示できます。

  • 次のコマンドを実行して、データレプリケーションルール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% されます。 データレプリケーションを有効にすると、8月9日の06:00:59 (UTC + 8) より前にsrcbucketバケットに書き込まれたデータは、2021 destbucketという名前の宛先バケットにレプリケートされます。

    <?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バケットから特定のルールIDを持つデータレプリケーションルールを削除できます。

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

    次の出力が表示された場合、特定のルールIDを持つデータレプリケーションルールがsrcbucketバケットから削除されます。

    0.069195経過

一般的なオプション

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

たとえば、次のコマンドを実行して、testbucketという名前のバケットのデータレプリケーションルールを設定できます。 testbucketバケットは中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有しています。 データレプリケーションルールは、localfile.txtという名前のローカルファイルで指定されます。 サンプルコマンド:

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

同期コマンドに使用できるその他の一般的なオプションの詳細については、「オプションの表示」をご参照ください。