자습서: 온프레미스 스토리지에서 다른 Amazon S3로 데이터 전송AWS 계정 - AWS DataSync

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

자습서: 온프레미스 스토리지에서 다른 Amazon S3로 데이터 전송AWS 계정

온프레미스 스토리지와AWS DataSync 함께 사용하는 경우 일반적으로DataSync 에이전트와AWS 계정 동일한AWS 스토리지 서비스에 데이터를 복사합니다. 하지만 다른 계정과 연결된 Amazon S3 버킷으로 데이터를 전송해야 하는 상황이 있을 수 있습니다.

중요

이 자습서의 방법을AWS 계정 사용하여 데이터를 복사하는 것은 Amazon S3가DataSync 위치 중 하나인 경우에만 작동합니다.

개요

이 자습서에서는AWS Identity and Access Management (IAM) 및AWS Command Line Interface (AWS CLI) 를 사용하여 온프레미스 스토리지에서 다른 스토리지의 S3 버킷으로 데이터를 전송하는DataSync 작업을 생성하는 방법을 알아봅니다AWS 계정.

이러한 종류의 시나리오는 다음과 같습니다.

  • 계정 A: 네트워크 리소스 관리에AWS 계정 사용하는 계정입니다. DataSync에이전트를 활성화하는 데 사용하는 엔드포인트도 이 계정에 속합니다.

    참고

    이 자습서의 단계는 에이전트를 활성화하는 모든 유형의 엔드포인트에 적용됩니다.

  • 계정 B: 데이터를 복사할 S3 버킷의AWS 계정

다음 다이어그램에서는 이 시나리오를 보여줍니다.

온프레미스 스토리지 시스템에서 인터넷을 통해 데이터가 이동하는 예제DataSyncAWS 시나리오입니다. 데이터는 먼저 하나AWS 계정 (계정 A) 로 전송된 후 최종적으로 다른AWS 계정 (계정 B) 의 Amazon S3 버킷으로 전송됩니다.

필수 조건

교차 계정 이체를 용이하게 하기 위한 IAM 작업을 시작하기 전에 아직 하지 않았다면 다음을 수행하십시오.

  1. 온프레미스 스토리지 시스템과 연결할 수 있도록 네트워크를 구성합니다AWS.

  2. 계정 A로 DataSync상담원을 배치하고 활성화하세요.

  3. 계정 A를 사용하여 데이터를 복사하려는 온프레미스 스토리지 시스템의DataSync 소스 위치를 생성합니다.

  4. 계정AWS CLI A로 설정하려면 계정 B에서 S3 버킷의DataSync 대상 위치를 생성해야 합니다.AWS CLI

1단계: 계정DataSync A에 대한 IAM 역할 생성

계정 B에서 S3 버킷에 대한 쓰기DataSync 권한을 부여하는 IAM 역할이 필요합니다.

버킷 위치를 만들면 해당 버킷에 액세스할DataSync 수 있는 적절한 권한이 있는 역할을 자동으로 생성하고 위임할 수 있습니다. 계정 간에 이전하므로 역할을 수동으로 생성해야 합니다.

자세한 내용은 IAM 사용 설명서의AWS 서비스 (콘솔) 역할 생성을 참조하십시오.

IAM 역할을 생성합니다.

신뢰할 수 있는DataSync 엔티티로 사용하여 역할을 생성합니다.

IAM 역할 생성
  1. 계정AWS Management Console A로 로그인하세요.

  2. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  3. 왼쪽 탐색 창의 액세스 관리에서 역할을 선택한 다음 역할 만들기를 선택합니다.

  4. 신뢰할 수 있는 엔티티 선택 페이지에서 신뢰할 수 있는 엔티티 유형에서 [신뢰할 수 있는 엔티티 유형] 을 선택합니다 AWS 서비스.

  5. 사용 DataSync사례의 경우 드롭다운 목록에서 선택하고 선택합니다 DataSync. 다음을 선택합니다.

  6. 권한 추가(Add permissions) 페이지에서 다음(Next)을 선택합니다.

  7. 역할 이름을 지정하고 역할 생성을 선택합니다.

IAM 정책을 IAM 역할에 연결

IAM 역할에는 계정 B의 S3DataSync 버킷에 쓸 수 있는 정책이 필요합니다.

IAM 정책을 IAM 역할에 연결하려면
  1. IAM 콘솔의 역할 페이지에서 방금 생성한 역할을 검색하고 이름을 선택합니다.

  2. 역할의 세부 정보 페이지에서 권한 탭을 선택합니다. 권한 추가를 선택한 다음 인라인 정책 생성을 선택합니다.

  3. JSON 탭을 선택하고 다음을 수행합니다.

    1. 다음 JSON을 정책 편집기에 붙여 넣습니다.

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "arn:aws:s3:::account-b-bucket" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::account-b-bucket/*" } ] }
    2. 을 계정 B에account-b-bucket 있는 S3 버킷의 이름으로 바꿉니다.

  4. Review policy(정책 검토)를 선택합니다.

  5. 정책 이름을 지정하고 Create policy (Create Policy) 를 선택합니다.

2단계: 계정 B에서 S3 버킷의 ACL을 비활성화합니다.

S3 버킷에 복사한 모든 데이터는 계정 B에 속해야 합니다. 계정 B가 데이터 소유자가 되도록 하려면 버킷의 ACL (액세스 제어 목록) 을 비활성화해야 합니다. 자세한 내용은 Amazon S3 사용자 안내서객체 소유권 제어 및 버킷에 대해 ACL 사용 중지를 참조하세요.

S3 버킷에 대한 ACL을 비활성화하려면
  1. 에서 계정AWS Management Console B로 전환하십시오.

  2. https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  3. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

  4. 버킷 목록에서 데이터를 전송할 S3 버킷을 선택합니다.

  5. 버킷의 세부 정보 페이지에서 권한 탭을 선택합니다.

  6. 객체 소유권(Object Ownership)에서 편집(Edit)을 선택합니다.

  7. 아직 선택하지 않은 경우 ACL 비활성화 (권장) 옵션을 선택합니다.

  8. 변경 사항 저장(Save changes)을 선택합니다.

3단계: 계정 B에서 S3 버킷 정책 업데이트

계정 B에서 S3 버킷 정책을 수정하여 계정DataSync A에서 생성한 IAM 역할에 대한 액세스를 허용합니다.

업데이트된 정책 (다음 지침에서 제공됨) 에는 두 가지 원칙이 포함됩니다.

  • 첫 번째 주체는 1단계에서 생성한 계정 A의 IAM 역할을 지정합니다. 이 역할을 통해 계정 B에서 S3DataSync 버킷에 쓸 수 있습니다.

  • 두 번째 보안 주체는 콘솔 또는 계정에 액세스하는 데 사용하는 계정 A의 IAM 역할을 지정합니다AWS CLI. 4단계에서는 S3 버킷의 대상 위치를 생성할 때 이 역할을 사용합니다.

S3 버킷 정책을 업데이트하려면
  1. S3 콘솔에서 계정 B를 사용하는 동안 데이터를 복사하려는 S3 버킷을 선택합니다.

  2. 버킷의 세부 정보 페이지에서 권한 탭을 선택합니다.

  3. 버킷 정책에서 편집을 선택하고 다음을 수행하여 S3 버킷 정책을 수정합니다.

    1. 편집기에 있는 내용을 업데이트하여 다음 정책 설명을 포함하세요.

      { "Version": "2008-10-17", "Statement": [ { "Sid": "DataSyncCreateS3LocationAndTaskAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-a-id:role/name-of-datasync-role" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::account-b-bucket", "arn:aws:s3:::account-b-bucket/*" ] }, { "Sid": "DataSyncCreateS3Location", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-a-id:role/name-of-your-role" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::account-b-bucket" } ] }
    2. 계정 A의account-a-idAWS 계정 번호로 바꾸십시오.

    3. 계정 A (1단계 이전)DataSync 에서 생성한 IAMname-of-datasync-role 역할로 바꾸십시오.

    4. 을 계정 B에account-b-bucket 있는 S3 버킷의 이름으로 바꿉니다.

    5. 콘솔에 액세스하는 데 사용하는 IAM 역할 또는 계정name-of-your-roleAWS CLI A로 바꾸십시오.

  4. 변경 사항 저장(Save changes)을 선택합니다.

4단계: S3 버킷의DataSync 대상 위치 생성

S3 버킷의 위치를 생성한 후DataSync 작업을 실행할 수 있습니다. 하지만DataSync 콘솔에서는 다른 계정에서 위치를 만들 수 없습니다. 작업을 실행하려면AWS CLI 먼저 를 사용하여 위치를 만들어야 합니다.

CLI를 사용하여DataSync 위치를 만들려면
  1. 터미널을 엽니다.

  2. CLI 프로필이 계정 A를 사용하도록 구성되어 있는지 확인하십시오.

  3. 다음 명령을 복사합니다.

    aws datasync create-location-s3 \ --s3-bucket-arn arn:aws:s3:::account-b-bucket \ --s3-config '{"BucketAccessRoleArn":"arn:aws:iam::account-a-id:role/name-of-datasync-role"}'
  4. 을 계정 B에account-b-bucket 있는 S3 버킷의 이름으로 바꿉니다.

  5. 계정 A의account-a-idAWS 계정 번호로 바꾸십시오.

  6. 계정 A (1단계 이전)DataSync 에서 생성한 IAMname-of-datasync-role 역할로 바꾸십시오.

  7. 명령을 실행합니다.

    명령이 다음과 비슷한DataSync 위치 ARN을 반환하면 위치를 성공적으로 생성한 것입니다.

    { "LocationArn": "arn:aws:datasync:us-east-2:123456789012:location/loc-abcdef01234567890" }
  8. 에서 계정 A로 다시 전환하십시오AWS Management Console.

  9. https://console.aws.amazon.com/datasync/ 에서DataSync 콘솔을 엽니다.

  10. 왼쪽 탐색 창에서 위치를 선택합니다.

    CLI로 방금 생성한 계정 B에서 S3 버킷의 위치를 볼 수 있습니다.

5단계:DataSync 태스크 생성 및 시작

데이터를 이동하기 전에 지금까지 수행한 작업을 요약해 보겠습니다.

  • DataSync에이전트가 자체 관리형 스토리지 시스템에서 읽고 통신할 수 있도록 계정 A에 에이전트를 배포하고AWS 활성화했습니다.

  • 계정 B의 S3 버킷에 데이터를 쓸DataSync 수 있도록 계정 A에 IAM 역할을 생성했습니다.

  • DataSync작업이 제대로 작동하도록 계정 B에서 S3 버킷을 구성했습니다.

  • 계정 A에서 출발지와 목적지 위치를 생성했습니다.DataSync

DataSync작업을 생성하고 시작하려면
  1. 계정 A에서DataSync 콘솔을 계속 사용하는 동안 왼쪽 탐색 창에서 데이터 전송을 확장한 다음 작업작업 생성을 선택합니다.

    참고

    3단계에서 S3 버킷 정책에서 지정한 계정 A와 동일한 IAM 역할로 콘솔에 로그인해야 합니다.

  2. 소스 위치 구성 페이지에서 기존 위치 선택을 선택합니다. 데이터를 복사할 원본 위치 (온프레미스 스토리지) 를 선택한 후 다음을 선택합니다.

  3. 대상 위치 구성 페이지에서 기존 위치 선택을 선택합니다. 데이터를 복사할 대상 위치 (계정 B의 S3 버킷) 를 선택한 후 다음을 선택합니다.

  4. 설정 구성 페이지에서 작업 이름을 지정합니다. 필요에 따라 AmazonCloudWatch 로그 그룹 지정과 같은 추가 설정을 구성합니다. 다음을 선택합니다.

  5. 검토 페이지에서 설정을 검토하고 작업 생성을 선택합니다.

  6. 작업의 세부 정보 페이지에서 시작을 선택한 후 다음 중 하나를 선택합니다.

    • 수정 없이 작업을 실행하려면 [기본값으로 시작] 을 선택합니다.

    • 작업을 실행하기 전에 수정하려면 우선 적용 옵션을 사용하여 시작을 선택합니다.

작업이 완료되면 S3 버킷에서 온프레미스 스토리지의 데이터를 볼 수 있습니다. 이제 계정 B에서 버킷 데이터에 액세스할 수 있습니다.

관련 리소스

이 자습서에서 수행한 작업에 대한 자세한 내용은 다음 주제를 참조하세요.