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

Object Storage Service:同一アカウントクロスリージョンレプリケーション

最終更新日:Mar 22, 2025

同一アカウントクロスリージョンレプリケーション (CRR) を使用すると、Object Storage Service (OSS) オブジェクトを、同じ Alibaba Cloud アカウント内の 1 つのリージョンのバケットから別のリージョンの別のバケットに、自動的かつ非同期的に (ほぼリアルタイムで) レプリケーションできます。同一アカウント CRR は、オブジェクトの作成、上書き、削除などの操作をソースバケットからデスティネーションバケットにレプリケーションします。このトピックでは、同一アカウント内で CRR を実行する方法について説明します。

前提条件

  • CRR タスクのソースバケットとして機能するバケット A が、Alibaba Cloud アカウント内のリージョンに作成されます。Alibaba Cloud アカウントの ID、バケット A の名前、およびバケット A が配置されているリージョンが記録されます。

  • CRR タスクのデスティネーションバケットとして機能するバケット B が、同じ Alibaba Cloud アカウント内の別のリージョンに作成されます。バケット B の名前とバケット B が配置されているリージョンが記録されます。

ロールタイプ

同一アカウント内で CRR を実行する場合、ソースバケットとデスティネーションバケット間でオブジェクトをレプリケーションするために使用されるロールを指定する必要があります。同一アカウント内で CRR を実行するには、次の RAM ロールのいずれかを選択できます。

重要

RAM ユーザーを使用して RAM ロールを作成できます。RAM ユーザーには、ram:CreateRoleram:GetRoleram:ListPoliciesForRoleram:AttachPolicyToRole などの権限が必要です。ただし、RAM ユーザーに ram:CreateRoleram:GetRole などの権限を付与することは危険です。RAM ユーザーが関連付けられている Alibaba Cloud アカウントを使用して RAM ロールを作成し、必要な権限を RAM ロールに付与できます。その後、RAM ユーザーは Alibaba Cloud アカウントによって作成された RAM ロールを引き受けることができます。

(推奨) 新しい RAM ロール

同一アカウント内で CRR を実行するルールを作成する場合、RAM ロールを作成できます。[RAM ロールの名前] ドロップダウンリストから [新しい RAM ロール] を選択すると、oss-replication-{uuid} 形式の RAM ロールが自動的に作成され、[KMS に基づいて暗号化されたオブジェクトをレプリケーションする] を [はい] に設定したかどうかによって、ロールに異なるポリシーがアタッチされます。

  • [KMS に基づいて暗号化されたオブジェクトをレプリケーションする] を [はい] に設定します

    RAM ロールを作成した後、画面の指示に従って必要なポリシーをロールにアタッチします。その後、RAM ロールは、ソースバケットからデスティネーションバケットにデータをレプリケーションするためのポリシーと、Key Management Service (KMS) を管理するための AliyunKMSFullAccess ポリシーにアタッチされます。

  • [KMS に基づいて暗号化されたオブジェクトをレプリケーションする] を [いいえ] に設定します

    RAM ロールを作成した後、画面の指示に従って必要なポリシーをロールにアタッチします。その後、RAM ロールは、ソースバケットからデスティネーションバケットにデータをレプリケーションするためのポリシーにアタッチされます。

AliyunOSSRole

同一アカウント内で CRR を実行するルールを作成する場合、AliyunOSSRole ロールを選択してデータレプリケーションタスクを完了できます。AliyunOSSRole を選択すると、[KMS に基づいて暗号化されたオブジェクトをレプリケーションする] を [はい] に設定したかどうかによって、AliyunOSSRole ロールに異なるポリシーがアタッチされます。

  • [KMS に基づいて暗号化されたオブジェクトをレプリケーションする] を [はい] に設定します

    AliyunOSSRole を選択すると、AliyunOSSFullAccess (OSS を管理するための権限) と AliyunKMSFullAccess (KMS を管理するための権限) というポリシーが AliyunOSSRole ロールに自動的にアタッチされます。

    警告

    AliyunOSSRole ロールには、現在の Alibaba Cloud アカウントと KMS 内のすべてのバケットに対するすべての操作を実行するための権限があります。このロールを使用する場合は注意してください。

  • [KMS に基づいて暗号化されたオブジェクトをレプリケーションする] を [いいえ] に設定します

    AliyunOSSRole を選択すると、AliyunOSSFullAccess ポリシーが AliyunOSSRole ロールに自動的にアタッチされます。

    警告

    AliyunOSSRole ロールには、現在の Alibaba Cloud アカウント内のすべてのバケットに対するすべての操作を実行するための権限があります。このロールを使用する場合は注意してください。

カスタムロール

同一アカウント内で CRR を実行するルールを作成する場合、カスタムロールを使用してデータレプリケーションタスクを完了できます。RAM コンソールでカスタムロールを作成し、必要なポリシーをカスタムロールにアタッチする必要があります。

  1. 通常のサービロールを作成します。

    ロールを作成するときは、[信頼できるエンティティを選択] を [alibaba Cloud サービス] に設定し、[信頼できるサービスを選択] を [OSS] に設定します。詳細については、「通常のサービロールを作成する」をご参照ください。

  2. RAM ロールに権限を付与します。

    次のいずれかの方法を使用して、RAM ロールに権限を付与できます。

    必要なシステムポリシーを RAM ロールにアタッチする

    警告

    AliyunOSSFullAccess システムポリシーを RAM ロールにアタッチします。AliyunOSSFullAccess システムポリシーがアタッチされている RAM ロールには、現在の Alibaba Cloud アカウント内のすべてのバケットに対するすべての操作を実行するための権限があります。システムポリシーを RAM ロールにアタッチする場合は注意して進めてください。

    KMS によって暗号化されたオブジェクトをデスティネーションバケットにレプリケーションする場合は、AliyunKMSFullAccess システムポリシーを RAM ロールにアタッチする必要があります。

    詳細については、「RAM ロールに権限を付与する」をご参照ください。

    カスタムポリシーを RAM ロールにアタッチする

    カスタムポリシーを RAM ロールにアタッチして、ソースバケットとデスティネーションバケットで CRR を実行するために必要な最小限の権限をロールに付与できます。

    説明

    ビジネス要件に基づいて、src-bucket と dest-bucket をソースバケットの名前とデスティネーションバケットの名前に置き換えます。

    {
       "Version":"1",
       "Statement":[
          {
             "Effect":"Allow",
             "Action":[
                "oss:ReplicateList",
                "oss:ReplicateGet"
             ],
             "Resource":[
                "acs:oss:*:*:src-bucket",
                "acs:oss:*:*:src-bucket/*"
             ]
          },
          {
             "Effect":"Allow",
             "Action":[
                "oss:ReplicateList",
                "oss:ReplicateGet",
                "oss:ReplicatePut",
                "oss:ReplicateDelete"
             ],
             "Resource":[
                "acs:oss:*:*:dest-bucket",
                "acs:oss:*:*:dest-bucket/*"
             ]
          }
       ]
    }

    詳細については、「RAM ロールに権限を付与する」をご参照ください。

    説明

    KMS によって暗号化されたオブジェクトをデスティネーションバケットにレプリケーションする場合は、AliyunKMSFullAccess システムポリシーを RAM ロールにアタッチする必要があります。

方法

OSS コンソールを使用する

  1. OSS コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、バケットリスト をクリックします。[バケット] ページで、ソースバケットの名前をクリックします。

  3. 左側のナビゲーションツリーで、データ管理 > クロスリージョンレプリケーション を選択します。

  4. クロスリージョンレプリケーション タブで、クロスリージョンレプリケーション をクリックします。

  5. クロスリージョンレプリケーション パネルで、パラメータを構成します。次の表にパラメータを示します。

    セクション

    パラメーター

    説明

    ターゲットバケットの設定

    コピー元バケット

    コピー元バケットのリージョンと名前が表示されます。このパラメーターを指定する必要はありません。

    ターゲットバケット

    [alibaba Cloud アカウントに属するバケットを選択] を選択し、リージョン ドロップダウンリストからリージョンを選択し、バケット ドロップダウンリストからコピー先バケットを選択します。

    レプリケーションポリシーの設定

    複製するオブジェクト

    コピー先バケットにレプリケートするオブジェクトを選択します。有効な値:

    説明

    データレプリケーションルールを作成した後、オブジェクトの x-oss-last-access-time 属性の変更、およびライフサイクルルールまたは CopyObject 操作によるコピー元バケット内のオブジェクトのストレージタイプの変換は、コピー先バケットに同期されません。

    • [コピー元バケット内のすべてのオブジェクト]: OSS はコピー元バケットからコピー先バケットにすべてのオブジェクトをレプリケートします。

    • [指定されたプレフィックスを持つオブジェクト]: OSS は、名前が特定のプレフィックスを含むオブジェクトをコピー元バケットからコピー先バケットにレプリケートします。最大 10 個のプレフィックスを指定できます。

    レプリケーションポリシー

    データレプリケーションモードを設定します。有効な値:

    • [追加/変更] (ディザスタリカバリに適用可能): OSS は、オブジェクトの作成および更新操作のみをコピー元バケットからコピー先バケットにレプリケートします。

      重要

      このレプリケーションポリシーが適用されている場合、ポリシーが有効になった後にアップロードまたは更新されたオブジェクトのみがコピー先バケットにレプリケートされ、コピー元バケットから削除されたオブジェクトはコピー先バケットから削除されません。このポリシーは、コピー元バケットでの手動削除またはライフサイクルポリシーによってトリガーされる自動削除に起因するコピー先バケットでのデータ損失を効果的に防ぎます。

    • [追加/削除/変更] (複数のユーザーまたは アプリケーション が同じ データセット を共有およびアクセスする必要があるシナリオに適用可能): OSS は、オブジェクトの作成、更新、および削除操作をコピー元バケットからコピー先バケットにレプリケートします。

      重要

      新しくアップロードおよび更新されたオブジェクトのレプリケーションに加えて、このレプリケーションポリシーには削除のレプリケーションが含まれており、データの整合性が確保されます。このポリシーは、複数のユーザーまたは アプリケーション が同じ データセット を共有およびアクセスする必要があるシナリオに適用できます。コピー元バケットから手動またはライフサイクルポリシーによって削除されたオブジェクトは、コピー先バケットからも削除されます。オブジェクトは、削除されると復元できません。

    マルチパートアップロードを実行してオブジェクトをコピー元バケットにアップロードする場合、アップロードされた各パートはコピー先バケットにレプリケートされます。CompleteMultipartUpload 操作を呼び出すことによって取得される完全なオブジェクトも、コピー先バケットにレプリケートされます。

    詳細については、「特定のシナリオでのデータレプリケーション」をご参照ください。

    既存データの複製

    CRR を有効にする前にコピー元バケットに存在する既存データをコピー先バケットにレプリケートするかどうかを指定します。

    • [はい]: 既存データはコピー先バケットにレプリケートされます。

      重要

      既存データがレプリケートされると、コピー元バケットからレプリケートされたオブジェクトが、コピー先バケット内の同じ名前のオブジェクトを上書きする可能性があります。データ損失を防ぐために、コピー元バケットとコピー先バケットのバージョン管理を有効にすることをお勧めします。

    • [いいえ]: OSS は、CRR ルールが有効になった後にアップロードまたは更新されたオブジェクトのみをコピー先バケットにレプリケートします。

    KMS 暗号化オブジェクトの複製

    KMS に基づいて暗号化されたオブジェクトをコピー先バケットにレプリケートするかどうかを指定します。

    • [はい]: コピー元バケットまたはコピー先バケット内のオブジェクトに KMS ベースの暗号化が設定されている場合、オブジェクトはコピー先バケットにレプリケートされます。

      説明

      HeadObject 操作を呼び出して、コピー元バケット内のオブジェクトの暗号化ルールをクエリし、GetBucketEncryption 操作を呼び出して、コピー先バケットの暗号化ルールをクエリできます。

    • [いいえ]: KMS に基づいて暗号化されたオブジェクトは、コピー先バケットにレプリケートされません。

    CMK ID

    コピー先オブジェクトの暗号化に使用するカスタマーマスターキー ( CMK ) を指定します。

    CMK を使用してオブジェクトを暗号化する場合は、KMS コンソールでコピー先バケットと同じリージョンに CMK を作成する必要があります。詳細については、「CMK の作成」をご参照ください。

    RAM ロール 名前

    オブジェクトのレプリケートに使用する RAM ロールを指定します。新しい RAM ロール を選択します。これが推奨されるオプションです。ドロップダウンリストから [新しい RAM ロール] を選択した後、画面の指示に従って新しい RAM ロールに 権限 を付与します。

    AliyunOSSRole またはカスタム RAM ロールを選択することもできます。3 種類の RAM ロールの詳細については、「ロールタイプ」をご参照ください。

    レプリケーション速度の設定

    アクセラレーションタイプ

    アクセラレーションタイプを指定します。トランスミッション加速 のみがサポートされています。転送アクセラレーションを使用すると、中国本土と中国本土以外のリージョン間でデータをレプリケートする際のデータ転送を高速化できます。転送アクセラレーションを有効にすると、転送アクセラレーション料金が発生します。詳細については、「転送アクセラレーション料金」をご参照ください。

    RTC

    説明

    RTC は、中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (深圳) の各リージョンでご利用いただけます。

    RTC は、米国 (シリコンバレー) および米国 (バージニア) の各リージョンでご利用いただけます。

    レプリケーション時間制御 ( RTC ) が有効になると、OSS は OSS にアップロードしたオブジェクトのほとんどを数秒以内にレプリケートし、オブジェクトの 99.99% を 10 分以内にレプリケートします。RTC を有効にすると課金されます。詳細については、「RTC トラフィック料金」をご参照ください。

    RTC がサポートされているリージョンの詳細については、「RTC」をご参照ください。

  6. [OK] をクリックします。表示されるメッセージで、[有効化] をクリックします。

    • CRR ルールを構成した後、ルールを変更または削除することはできません。

    • CRR ルールを構成した後、レプリケーションタスクは 3 ~ 5 分で開始されます。レプリケーションの進行状況は、ソースバケットの クロスリージョンレプリケーション タブで確認できます。

    • CRR では、データは非同期的にレプリケーションされます。ソースバケットからデスティネーションバケットにデータをレプリケーションするために必要な時間は、データ量によって異なります。必要な時間は数分から数時間までさまざまです。

OSS SDK を使用する

同一アカウント CRR は、OSS SDK for Java、OSS SDK for Python、OSS SDK for Go のみでサポートされています。

Java

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.AddBucketReplicationRequest;

public class Demo {

    public static void main(String[] args) throws Exception {
        // この例では、中国 (杭州) リージョンのエンドポイントが使用されています。実際のエンドポイントを指定します。
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // アクセスクレデンシャルをプロジェクトコードに保存しないことをお勧めします。そうしないと、アクセスクレデンシャルが漏洩する可能性があります。その結果、アカウント内のすべてのリソースのセキュリティが侵害されます。この例では、アクセスクレデンシャルは環境変数から取得されます。サンプルコードを実行する前に、環境変数が構成されていることを確認してください。
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // ソースバケットの名前を指定します。
        String bucketName = "src-bucket";
        // デスティネーションバケットの名前を指定します。ソースバケットとデスティネーションバケットは、同じ Alibaba Cloud アカウントに属している必要があります。
        String targetBucketName = "dest-bucket";
        // デスティネーションバケットが配置されているリージョンを指定します。ソースバケットとデスティネーションバケットは、異なるリージョンに配置されている必要があります。
        String targetBucketLocation = "oss-cn-shanghai";

        // OSSClient インスタンスを作成します。
        OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);

        try {
            AddBucketReplicationRequest request = new AddBucketReplicationRequest(bucketName);
            request.setTargetBucketName(targetBucketName);
            request.setTargetBucketLocation(targetBucketLocation);
            // 既存データをレプリケーションするかどうかを指定します。デフォルトでは、既存データはレプリケーションされます。この例では、このパラメータは false に設定されており、既存データはレプリケーションされないことを示します。
            request.setEnableHistoricalObjectReplication(false);
            // OSS がデータのレプリケーションに使用する RAM ロールの名前を指定します。ロールには、ソースバケットで CRR を実行し、デスティネーションバケットでレプリケーションされたオブジェクトを受信するための権限が必要です。
            request.setSyncRole("yourRole");
            // SSE-KMS を使用して暗号化されたオブジェクトをレプリケーションするかどうかを指定します。
            //request.setSseKmsEncryptedObjectsStatus("Enabled");
            // SSE-KMS で使用される CMK ID を指定します。Status が Enabled に設定されている場合は、このパラメータを指定する必要があります。
            //request.setReplicaKmsKeyID("3542abdd-5821-4fb5-a425-90adca***");
            //List prefixes = new ArrayList();
            //prefixes.add("image/");
            //prefixes.add("video");
            //prefixes.add("a");
            //prefixes.add("A");
            // レプリケーションするオブジェクトの名前に含まれるプレフィックスを指定します。プレフィックスを指定した後、名前にプレフィックスのいずれかが含まれるオブジェクトのみがデスティネーションバケットにレプリケーションされます。
            //request.setObjectPrefixList(prefixes);
            //List actions = new ArrayList();
            //actions.add(AddBucketReplicationRequest.ReplicationAction.PUT);
            // OSS がオブジェクトの作成と更新操作をソースバケットからデスティネーションバケットにレプリケーションするように指定します。
            //request.setReplicationActionList(actions);
            ossClient.addBucketReplication(request);
        } catch (OSSException oe) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "but was rejected with an error response for some reason.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}        

Python

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.models import ReplicationRule
# 環境変数からアクセスクレデンシャルを取得します。サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が構成されていることを確認してください。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# バケットが配置されているリージョンのエンドポイントを指定します。たとえば、バケットが中国 (杭州) リージョンに配置されている場合は、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
# ソースバケットの名前を指定します。例:src-bucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'src-bucket')
replica_config = ReplicationRule(
    # デスティネーションバケットの名前を指定します。ソースバケットとデスティネーションバケットは、同じ Alibaba Cloud アカウントに属している必要があります。
    target_bucket_name='dest-bucket',
    # デスティネーションバケットが配置されているリージョンを指定します。ソースバケットとデスティネーションバケットは、異なるリージョンに配置されている必要があります。
    target_bucket_location='oss-cn-shanghai',
    # OSS がデータのレプリケーションに使用する RAM ロールの名前を指定します。ロールには、ソースバケットで CRR を実行し、デスティネーションバケットでレプリケーションされたオブジェクトを受信するための権限が必要です。
    sync_role_name='roleNameTest',
)

# レプリケーションするオブジェクトの名前に含まれるプレフィックスを指定します。プレフィックスを指定した後、名前にプレフィックスのいずれかが含まれるオブジェクトのみがデスティネーションバケットにレプリケーションされます。
# prefix_list = ['prefix1', 'prefix2']
# データレプリケーションルールを指定します。
# replica_config = ReplicationRule(
     # prefix_list=prefix_list,
     # OSS がオブジェクトの作成と更新操作をソースバケットからデスティネーションバケットにレプリケーションするように指定します。
     # action_list=[ReplicationRule.PUT],
     # デスティネーションバケットの名前を指定します。ソースバケットとデスティネーションバケットは、同じ Alibaba Cloud アカウントに属している必要があります。
     # target_bucket_name='dest-bucket',
     # デスティネーションバケットが配置されているリージョンを指定します。ソースバケットとデスティネーションバケットは、異なるリージョンに配置されている必要があります。
     # target_bucket_location='yourTargetBucketLocation',
     # 既存データをレプリケーションするかどうかを指定します。デフォルトでは、既存データはレプリケーションされます。この例では、このパラメータは False に設定されており、既存データはレプリケーションされないことを示します。
     # is_enable_historical_object_replication=False,
     # データレプリケーション中にデータの転送に使用するリンクを指定します。
     # target_transfer_type='oss_acc',    
  #)

# データレプリケーションを有効にします。
bucket.put_bucket_replication(replica_config)

Go

package main

import (
	"context"
	"flag"
	"log"

	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)

// グローバル変数を定義します。
var (
	region     string // バケットが配置されているリージョン。
	bucketName string // バケットの名前。
)

// コマンドラインパラメータを初期化するために使用される init 関数を指定します。
func init() {
	flag.StringVar(&region, "region", "", "バケットが配置されているリージョン。")
	flag.StringVar(&bucketName, "bucket", "", "バケットの名前。")
}

func main() {
	// コマンドラインパラメータを解析します。
	flag.Parse()

	var (
		targetBucket   = "target bucket name" // デスティネーションバケットの名前。
		targetLocation = "oss-cn-beijing"     // デスティネーションバケットが配置されているリージョン。
	)

	// バケットの名前が指定されているかどうかを確認します。
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("無効なパラメータ、バケット名が必要です")
	}

	// リージョンが指定されているかどうかを確認します。
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("無効なパラメータ、リージョンが必要です")
	}

	// デフォルトの構成を読み込み、クレデンシャルプロバイダーとリージョンを指定します。
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	// OSS クライアントを作成します。
	client := oss.NewClient(cfg)

	// バケットのデータレプリケーションを有効にするリクエストを作成します。
	request := &oss.PutBucketReplicationRequest{
		Bucket: oss.Ptr(bucketName), // バケットの名前。
		ReplicationConfiguration: &oss.ReplicationConfiguration{
			Rules: []oss.ReplicationRule{
				{
					RTC: &oss.ReplicationTimeControl{
						Status: oss.Ptr("enabled"), // RTC 機能を有効にします。
					},
					Destination: &oss.ReplicationDestination{
						Bucket:       oss.Ptr(targetBucket),   // デスティネーションバケットの名前。
						Location:     oss.Ptr(targetLocation), // デスティネーションバケットが配置されているリージョン。
						TransferType: oss.TransferTypeOssAcc,  // 転送のタイプ。
					},
					HistoricalObjectReplication: oss.HistoricalObjectReplicationEnabled, // 既存データレプリケーション機能を有効にします。
				},
			},
		},
	}

	// データレプリケーションを有効にします。
	result, err := client.PutBucketReplication(context.TODO(), request)
	if err != nil {
		log.Fatalf("バケットレプリケーションの設定に失敗しました %v", err)
	}

	// 結果を表示します。
	log.Printf("バケットレプリケーションの結果:%#v\n", result)
}

ossutil を使用する

ossutil を使用して同一アカウント内で CRR を実行する方法の詳細については、「レプリケーション」をご参照ください。

OSS API を使用する

ビジネスで高度なカスタマイズが必要な場合は、RESTful API を直接呼び出すことができます。API を直接呼び出すには、コードに署名計算を含める必要があります。詳細については、「PutBucketReplication」をご参照ください。

関連情報