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

Object Storage Service:replication

最終更新日:Apr 07, 2025

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

注意事項

  • データレプリケーションルールを作成したり、バケットの Replication Time Control (RTC) を有効にするには、oss:PutBucketReplication 権限が必要です。バケットのデータレプリケーションルールを照会するには、oss:GetBucketReplication 権限が必要です。バケットのデータレプリケーションルールを削除するには、oss:DeleteBucketReplication 権限が必要です。バケットで実行されたデータレプリケーショ ンタスクのデータレプリケーションの進捗状況を照会するには、oss:GetBucketReplicationProgress 権限が必要です。データをレプリケートできるバケットのリージョンを照会するには、oss:GetBucketReplicationLocation 権限が必要です。詳細については、「RAM ユーザーにカスタムポリシーをアタッチする」をご参照ください。

  • ossutil 1.6.16 以降では、コマンドラインでバイナリ名として ossutil を直接使用できます。オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 ossutil 1.6.16 より前のバージョンでは、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。詳細については、「ossutil コマンドリファレンス」をご参照ください。

データレプリケーションルールの追加

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

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

  • コマンド構文

    ossutil replication --method put oss://bucketname local_xml_file

    次の表は、上記のコマンドのパラメーターについて説明しています。

    パラメーター

    説明

    bucketname

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

    local_xml_file

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

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

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

      次のコードは、データレプリケーションルールを構成する方法の例を示しています。このルールにより、ソースバケット内の srcdir プレフィックスを含む名前のオブジェクトに対して実行された作成および変更操作を、中国 (杭州) リージョンにある destbucket という名前のデスティネーションバケットにレプリケートできます。さらに、このルールでは、転送アクセラレーションが有効になっており、既存データがデスティネーションバケットにレプリケートされることも指定しています。

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

      ossutil replication --method put oss://srcbucket localfile.xml
  • 出力例

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

    0.856895(s) elapsed

RTC の有効化または無効化

説明

CRR タスクの構成時に Replication Time Control (RTC) を有効にできます。既存の CRR タスクに対して RTC を有効にすることもできます。バケット内のすべてのオブジェクトをレプリケートする場合、または特定のタグが付いたオブジェクトや名前が特定のプレフィックスを含むオブジェクトをレプリケートする場合に、CRR タスクに対して RTC を有効にできます。

  • コマンド構文

    ossutil replication --method put --item rtc oss://bucketname local_xml_file

    次の表は、上記のコマンドのパラメーターについて説明しています。

    パラメーター

    説明

    bucketname

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

    local_xml_file

    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>
                <Status>disabled</Status>
            </RTC>
            <ID>test-replication-id</ID>
        </ReplicationRule>
    2. srcbucket という名前のソースバケットに対して RTC を有効または無効にします。

      ossutil replication --method put --item rtc oss://srcbucket local.xml
  • 出力例

    0.856895(s) elapsed

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

  • コマンド構文

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

    ossutil replication --method get oss://srcbucket

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

    <?xml version="1.0" encoding="UTF-8"?>
    <ReplicationConfiguration>
      <Rule>
        <ID>37417af4-f2dc-4b24-92d3-82092af6****</ID>
        <Action>ALL</Action>
        <Destination>
          <Bucket>destbucket</Bucket>
          <Location>oss-cn-beijing</Location>
        </Destination>
        <Status>doing</Status>
        <HistoricalObjectReplication>enabled</HistoricalObjectReplication>
      </Rule>
    </ReplicationConfiguration>
    
    
    0.069195(s) elapsed

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

  • コマンド構文

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

    ossutil replication --method get --item location oss://srcbucket

    次の出力例は、データをレプリケートできるバケットのリージョンが照会されたことを示しています。

    <?xml version="1.0" ?>
    <ReplicationLocation>
      <Location>oss-cn-beijing</Location>
      <Location>oss-cn-qingdao</Location>
      <Location>oss-cn-shenzhen</Location>
      <Location>oss-cn-hongkong</Location>
      <Location>oss-us-west-1</Location>
      <LocationTransferTypeConstraint>
        <LocationTransferType>
          <Location>oss-cn-hongkong</Location>
            <TransferTypes>
              <Type>oss_acc</Type>          
            </TransferTypes>
          </LocationTransferType>
          <LocationTransferType>
            <Location>oss-us-west-1</Location>
            <TransferTypes>
              <Type>oss_acc</Type>
            </TransferTypes>
          </LocationTransferType>
        </LocationTransferTypeConstraint>
      </ReplicationLocation>
    
    0.226523(s) elapsed

バケットで実行されたデータレプリケーショ ンタスクの進捗状況の照会

  • コマンド構文

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

    次の表は、上記のコマンドのパラメーターについて説明しています。

    パラメーター

    説明

    bucketname

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

    ruleID

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

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

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

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

    ossutil replication --method get --item progress oss://srcbucket

    次の出力が表示された場合、データレプリケーションが有効になる前に srcbucket バケットから destbucket バケットに既存データをレプリケートする進捗状況は 100% です。データレプリケーションが有効になった後、2021 年 8 月 9 日 06:00:59 (UTC + 08:00) より前に srcbucket バケットに書き込まれたデータは、destbucket という名前のデスティネーションバケットにレプリケートされます。

    <?xml version="1.0" encoding="UTF-8"?>
    <ReplicationProgress>
      <Rule>
        <ID>37417af4-f2dc-4b24-92d3-82092af6****</ID>
        <Action>ALL</Action>
        <Destination>
          <Bucket>destbucket</Bucket>
          <Location>oss-cn-beijing</Location>
        </Destination>
        <Status>doing</Status>
        <HistoricalObjectReplication>enabled</HistoricalObjectReplication>
        <Progress>
          <HistoricalObject>1.00</HistoricalObject>
          <NewObject>2021-08-09T06:00:59.000Z</NewObject>
        </Progress>
      </Rule>
    </ReplicationProgress>
    
    
    0.125002(s) elapsed

データレプリケーションルールの削除

  • コマンド構文

    ossutil replication --method delete oss://bucketname ruleID
  • 次のコマンドを実行して、srcbucket バケットに構成されている特定のデータレプリケーションルールを削除できます。

    ossutil replication --method delete oss://srcbucket 37417af4-f2dc-4b24-92d3-82092af6****

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

    0.069195(s) elapsed

共通オプション

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

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

ossutil replication --method put oss://testbucket localfile.txt -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID  -k yourAccessKeySecret

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