메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

.NET용 AWS SDK를 사용하여 교차 리전 복제 설정

서로 다른 두 AWS 계정이 원본과 대상 버킷을 소유한 경우, AWS CLI나 AWS SDK 중 하나를 사용해 원본 버킷에 복제 구성을 추가할 수 있습니다. 원본 버킷에 복제 구성을 추가하면서 동시에 다른 AWS 계정 소유의 대상 버킷을 지정해 줄 방법이 콘솔에 없기 때문에 콘솔로는 복제 구성을 추가할 수 없습니다. 자세한 내용은 교차 리전 복제 설정 단원을 참조하십시오.

다음은 버킷에 복제 구성을 추가한 다음 해당 구성을 검색하는 .NET용 AWS SDK 코드에 대한 예입니다. 사용자의 버킷 이름과 IAM 역할 ARN을 제공해 코드를 업데이트해야 합니다. 실제 예제를 작성하여 테스트하는 방법에 대한 자세한 내용은 Amazon S3 .NET 코드 예시 실행를 참조하십시오.

Copy
using System; using System.Collections.Generic; using Amazon.S3; using Amazon.S3.Model; namespace s3.amazon.com.docsamples { class CrossRegionReplication { static string sourceBucket = "source-bucket"; static string destinationBucketArn = "arn:aws:s3:::destination-bucket"; static string roleArn = "arn:aws:iam::account-id:role/role-name"; public static void Main(string[] args) { try { using (var client = new AmazonS3Client(Amazon.RegionEndpoint.USEast1)) { EnableReplication(client); RetrieveReplicationConfiguration(client); } Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } catch (AmazonS3Exception amazonS3Exception) { if (amazonS3Exception.ErrorCode != null && (amazonS3Exception.ErrorCode.Equals("InvalidAccessKeyId") || amazonS3Exception.ErrorCode.Equals("InvalidSecurity"))) { Console.WriteLine("Check the provided AWS Credentials."); Console.WriteLine( "To sign up for service, go to http://aws.amazon.com/s3"); } else { Console.WriteLine( "Error occurred. Message:'{0}' when enabling notifications.", amazonS3Exception.Message); } } } static void EnableReplication(IAmazonS3 client) { ReplicationConfiguration replConfig = new ReplicationConfiguration { Role = roleArn, Rules = { new ReplicationRule { Prefix = "Tax", Status = ReplicationRuleStatus.Enabled, Destination = new ReplicationDestination { BucketArn = destinationBucketArn } } } }; PutBucketReplicationRequest putRequest = new PutBucketReplicationRequest { BucketName = sourceBucket, Configuration = replConfig }; PutBucketReplicationResponse putResponse = client.PutBucketReplication(putRequest); } private static void RetrieveReplicationConfiguration(IAmazonS3 client) { // Retrieve the configuration. GetBucketReplicationRequest getRequest = new GetBucketReplicationRequest { BucketName = sourceBucket }; GetBucketReplicationResponse getResponse = client.GetBucketReplication(getRequest); // Print. Console.WriteLine("Printing replication configuration information..."); Console.WriteLine("Role ARN: {0}", getResponse.Configuration.Role); foreach (var rule in getResponse.Configuration.Rules) { Console.WriteLine("ID: {0}", rule.Id); Console.WriteLine("Prefix: {0}", rule.Prefix); Console.WriteLine("Status: {0}", rule.Status); } } } }

교차 리전 복제(CRR)

교차 리전 복제 설정

이 페이지에서: