Google 관리 비공개 네트워크를 통한 전송

Amazon S3에서 Cloud Storage로 데이터를 전송할 때 데이터는 일반적으로 공용 인터넷 피어링 링크를 통과하며, 이때 AWS는 표준 인터넷 데이터 이그레스 요금을 청구합니다. Storage Transfer Service는 Amazon S3에서 전송할 때 Google 관리형 비공개 네트워크 옵션을 제공하므로 Google에서 자동으로 프로비저닝한 보안 비공개 라우팅을 통해 데이터를 전송할 수 있습니다.

Google 관리형 비공개 네트워크를 사용하면 고객 관리형 물리적 상호 연결을 구성하고 유지관리할 필요가 없어 AWS 인터넷 이그레스 비용이 절감되고 네트워크 보안이 간소화됩니다.

주요 이점

Google 관리 비공개 네트워크 옵션은 Amazon S3 전송에 다음과 같은 운영 및 재정적 이점을 제공합니다.

  • 인터넷 이그레스 비용 절감: Google 관리 비공개 네트워크를 통해 Amazon S3에서 전송하면 표준 AWS 인터넷 이그레스 요금이 적용되지 않습니다. AWS S3 인터넷 이그레스 요금은 청구하지 않습니다. 대신 Google Cloud에 예측 가능한 GiB당 데이터 처리 요금이 청구됩니다. 자세한 내용은 가격 책정을 참고하세요. 표준 AWS API 요청 요금 (예: Amazon S3 LIST, GET, HEAD 작업)은 AWS 가격 책정 일정에 따라 계속 적용됩니다.

  • 공개 인터넷 노출 방지: 데이터는 AWS와 Google Cloud 간의 Google 관리 비공개 상호 연결 연결을 통해 직접 이동합니다. 패킷이 공개 인터넷 라우팅 테이블을 통과하지 않으므로 방화벽 및 제로 트러스트 규정 준수를 간소화하면서 공개 가로채기 위험을 없앨 수 있습니다.

  • 인프라 유지관리 제로: 고객 관리 비공개 네트워크와 달리 Cloud Interconnect, AWS Direct Connect와 같은 물리적 상호 연결, VPN 게이트웨이 또는 맞춤 DNS 라우팅에 대해 프로비저닝, 구성 또는 반복 포트 요금을 지불할 필요가 없습니다. Google은 비공개 네트워킹 스택을 엔드 투 엔드로 완전히 관리합니다.

  • 리드 타임 없이 즉시 배포: 전용 인터커넥트 회로를 설정하는 데 몇 주가 걸릴 수 있습니다. Google 관리형 비공개 네트워크를 사용하면 전송 에이전트를 설치하거나 관리하지 않고도 비공개 라우팅을 통해 즉시 전송을 시작할 수 있습니다.

대역폭 및 성능 고려사항

Google 관리형 비공개 네트워크를 사용하는 모든 프로젝트의 모든 Storage Transfer Service 작업은 공통 풀링된 네트워크 용량을 공유합니다. 전 세계 사용량이 가장 많은 기간에는 전송 속도가 제한되거나 지연 시간이 증가할 수 있습니다.

주로 큰 객체로 구성된 워크로드는 주로 작은 객체로 구성된 워크로드보다 높은 풀 사용률의 영향을 더 많이 받습니다. 워크로드에 공유 풀 경합이 없는 전용 대역폭이 필요한 경우 고객 관리 비공개 네트워크를 구성하는 것이 좋습니다.

지원되는 AWS 리전

Google 관리 비공개 네트워크 옵션은 다음 Amazon S3 리전에서 에이전트리스 전송에 사용할 수 있습니다.

ap-east-1
ap-northeast-1
ap-northeast-2
ap-northeast-3
ap-south-1
ap-south-2
ap-southeast-1
ca-central-1
ca-west-1
eu-central-1
eu-central-2
eu-north-1
eu-south-1
eu-south-2
eu-west-1
eu-west-2
eu-west-3
us-east-1
us-east-2
us-west-1
us-west-2
 

시작하기 전에

전송을 만들기 전에 IAM 및 소스 권한을 구성해야 합니다.

IAM 권한 구성

에이전트 없는 전송 권한의 안내에 따라 필요한 Google Cloud 권한을 부여하세요.

S3 버킷에 대한 액세스 권한 구성

소스에 대한 액세스 구성: Amazon S3의 안내에 따라 Amazon S3의 데이터에 대한 액세스 권한을 구성합니다.

Google 관리 비공개 네트워크 전송 만들기

Cloud de Confiance 콘솔 또는 REST API를 사용하여 새 전송 작업을 만들거나 기존 Amazon S3 전송 사양을 업데이트할 때 Google 관리 비공개 네트워크 옵션을 사용 설정할 수 있습니다.

콘솔

Google 관리 비공개 네트워크 옵션은 전송 작업 생성의 설정 선택 단계에서 체크박스를 사용하여 사용 설정됩니다.

Google 관리 비공개 네트워크를 사용하여 새 작업을 만들려면 다음 단계를 따르세요.

  1. Cloud de Confiance 콘솔에서 Storage Transfer Service 페이지로 이동합니다.

    Storage Transfer Service로 이동

  2. 전송 작업 만들기를 클릭합니다. 전송 작업 만들기 페이지가 표시됩니다.

  3. 소스 유형에서 Amazon S3를 선택합니다.

  4. 대상 유형으로 Google Cloud Storage를 선택합니다.

  5. 예약 모드를 선택합니다. 일괄 전송은 일회성 또는 예약 기반으로 실행됩니다. 이벤트 기반 전송은 소스를 지속적으로 모니터링하고 데이터가 추가되거나 수정되면 데이터를 전송합니다.

    이벤트 기반 전송을 구성하려면 이벤트 기반 전송의 안내를 따르세요.

  6. 다음 단계를 클릭합니다.

  7. 버킷 또는 폴더 이름 필드에 소스 버킷 이름을 입력합니다.

    버킷 이름은 AWS 관리 콘솔에 표시되는 이름입니다.

  8. Amazon Web Services(AWS) 인증 방법을 선택합니다. 자세한 내용은 소스에 대한 액세스 권한 구성: Amazon S3를 참고하세요.

    • 보안 비밀 리소스: Secret Manager에 저장된 Amazon 사용자 인증 정보를 사용하려면 이 옵션을 선택합니다. 목록에서 보안 비밀을 선택하거나 projects/PROJECT_NUMBER/secrets/SECRET_NAME 형식으로 직접 입력합니다.

    • 액세스 키: 액세스 키 ID 필드에 액세스 키를 입력하고 보안 비밀 액세스 키 필드에 액세스 키와 연관된 보안 비밀을 입력합니다.

    • ID 제휴를 위한 AWS IAM 역할: AWS IAM 역할 ARN 필드에 다음 구문으로 ARN을 입력합니다.

      • 표준 AWS 리전:

        arn:aws:iam::AWS_ACCOUNT:role/AWS_ROLE_NAME
      • AWS GovCloud 리전:

        arn:aws-us-gov:iam::AWS_ACCOUNT:role/AWS_ROLE_NAME

      다음을 바꿉니다.

      • AWS_ACCOUNT: 하이픈이 없는 AWS 계정 ID입니다.
      • AWS_ROLE_NAME: AWS 역할 이름입니다. 조직에서 경로를 사용하여 역할을 정리하는 경우 역할 이름과 함께 경로를 포함합니다. 예를 들면 developers/transfer_user입니다.

      ARN에 관한 자세한 내용은 IAM ARN을 참고하세요.

  9. 이벤트 기반 전송인 경우 다음 형식을 사용하는 Amazon SQS 큐 ARN을 입력합니다.

    • 표준 AWS 리전:

      arn:aws:sqs:us-east-1:1234567890:event-queue
    • AWS GovCloud 리전:

      arn:aws-us-gov:sqs:us-gov-east-1:1234567890:event-queue
  10. 원하는 경우 프리픽스를 기준으로 객체를 필터링하거나 최종 수정 날짜 또는 스토리지 클래스를 기준으로 객체를 필터링하도록 선택합니다. 폴더를 소스 위치로 지정한 경우 프리픽스 필터는 해당 폴더를 기준으로 합니다. 예를 들어 소스가 my-test-bucket/path/인 경우 file의 포함 필터는 my-test-bucket/path/file로 시작하는 모든 파일을 포함합니다.

  11. 다음 단계를 클릭합니다.

  12. 버킷 또는 폴더 필드에 대상 버킷과 폴더 이름 (선택사항)을 입력하거나 찾아보기를 클릭하여 현재 프로젝트의 기존 목록에서 버킷을 선택합니다. 새 버킷을 만들려면 버킷 아이콘 새 버킷 만들기를 클릭합니다.

  13. 다음 단계를 클릭합니다.

  14. 예약 옵션을 선택합니다.

    참고: Storage Transfer Service는 전송 작업 일정을 현지 시간대로 표시하지만, 저장되는 시간은 세계 협정시(UTC)입니다. 일광 절약 시간 (DST)의 영향을 받는 경우 DST가 시작하거나 끝날 때 전송 작업 일정이 변경될 수 있습니다.

    1. 한 번 실행 드롭다운 목록에서 다음 중 하나를 선택합니다.

      • 한 번 실행: 선택한 시간에 시작되는 단일 전송을 실행합니다.
      • 매일 실행: 선택한 시간부터 매일 전송을 실행합니다.

        선택사항인 종료일을 입력하거나 종료일을 비워 두어 전송을 계속 실행할 수 있습니다.

      • 매주 실행: 선택한 시간부터 매주 전송을 실행합니다.
      • 커스텀 빈도로 실행: 선택한 빈도로 전송을 실행합니다. 시간, 일 또는 주라는 정기적인 간격으로 전송을 반복하도록 선택할 수 있습니다.

        선택사항인 종료일을 입력하거나 종료일을 비워 두어 전송을 계속 실행할 수 있습니다.

      • 주문형으로 실행: 이 전송 작업이 생성될 때 실행이 트리거되지 않습니다. 작업을 수동으로 시작해야 합니다.
    2. 지금 시작 드롭다운 목록에서 다음 중 하나를 선택합니다.

      • 지금 시작: 만들기를 클릭한 후 전송을 시작합니다.
      • 시작일: 선택한 날짜 및 시간에 전송을 시작합니다. 캘린더를 클릭하여 시작일을 선택할 캘린더를 표시합니다.
  15. 다음 단계를 클릭합니다.

  16. 전송 작업의 설정을 선택합니다.

    1. 설명 필드에 전송 설명을 입력합니다. 작업을 구분할 수 있도록 의미 있고 고유한 설명을 입력하는 것이 좋습니다.

    2. 필요한 경우 매니페스트를 제공하여 전송할 정확한 객체를 지정합니다.

    3. 메타데이터 옵션에서 원하는 스토리지 클래스와 생성 시간 동작을 선택합니다. 자세한 내용은 메타데이터 보존을 참고하세요.

    4. 덮어쓸 시점에서 다음 중 하나를 선택합니다.

      • 사용 안 함: 소스 파일의 이름이 동일한 경우 대상 파일을 덮어쓰지 않습니다. 소스 파일이 건너뛰었습니다.
      • 다른 경우: 이름이 같은 소스 파일에 다른 Etag 또는 체크섬 값이 있는 경우 대상 파일을 덮어씁니다.
      • 항상: 소스 파일 이름이 같으면 동일하더라도 항상 대상 파일을 덮어씁니다.
    5. 삭제 시점에서 다음 중 하나를 선택합니다.

      • 삭제 안함: 소스 또는 대상 위치에서 파일을 삭제하지 않습니다.
      • 전송된 후 소스에서 파일 삭제: 대상에 전송된 후 소스에서 파일을 삭제합니다. 대상에 이미 존재하기 때문에 원본 파일이 전송되지 않는 경우 원본 파일은 삭제되지 않습니다.

        중요: 로컬 백업이 없으면 삭제를 취소할 수는 없습니다.

      • 소스에도 없는 경우 대상 위치에서 파일 삭제: 대상 Cloud Storage 버킷의 파일이 소스에도 없는 경우 Cloud Storage 버킷에서 파일을 삭제합니다.

        이 옵션을 사용하면 대상 Cloud Storage 버킷이 소스와 정확하게 일치합니다.

    6. 네트워크 라우팅 옵션 선택:

      • 관리형 비공개 네트워크 사용을 선택합니다.
    7. 로깅 옵션에서 전송된 각 파일에서 수행된 작업의 상세한 기록을 생성하려면 Cloud Logging에서 로깅 사용 설정을 선택합니다. Cloud Logging 비용이 적용됩니다. 자세한 내용은 로그 전송 작업을 참고하세요.

    8. 원하는 경우 Cloud Pub/Sub 알림을 통해 전송 작업 상태 업데이트 받기를 선택하고 Pub/Sub 주제를 선택한 다음 알림을 트리거할 이벤트를 선택합니다. 자세한 내용은 Pub/Sub 알림을 참고하세요.

    9. 서비스 계정 유형 선택에서 사용할 ID를 선택합니다.

      • Storage Transfer Service 서비스 에이전트: 기본 Google 관리 서비스 에이전트에는 소스 및 대상 버킷에 대한 액세스 권한이 자동으로 부여됩니다.
      • 사용자 관리 서비스 에이전트: 사용자가 만든 맞춤 서비스 계정을 사용합니다. 이 옵션을 선택하기 전에 서비스 계정에 소스 버킷, 대상 버킷, Pub/Sub에 대한 액세스 권한이 부여되었는지 확인하세요. 사용자 관리 서비스 에이전트 사용을 참고하세요.
  17. 만들기를 클릭하여 전송 작업을 만듭니다.

gcloud CLI

gcloud CLI는 Google 관리 비공개 네트워크를 통한 전송 구성을 지원하지 않습니다. Cloud de Confiance 콘솔 또는 REST API를 사용하여 이 옵션을 사용 설정합니다.

클라이언트 라이브러리

Storage Transfer Service 클라이언트 라이브러리는 Google 관리 비공개 네트워크를 통한 전송 구성을 지원하지 않습니다. Cloud de Confiance 콘솔 또는 REST API를 사용하여 이 옵션을 사용 설정합니다.

REST API

REST API를 사용하여 전송을 구성하려면 transferJobs.create 또는 transferJobs.patch를 호출할 때 JSON 요청 페이로드 내에서 불리언 필드 transferSpec.awsS3DataSource.managedPrivateNetwork를 true로 설정합니다.

HTTP 요청

POST https://storagetransfer.googleapis.com/v1/transferJobs

요청 본문

{
  "description": "S3 to Cloud Storage over Google-managed private network",
  "status": "ENABLED",
  "projectId": "PROJECT_ID",
  "transferSpec": {
    "awsS3DataSource": {
      "bucketName": "AWS_SOURCE_NAME",
      "managedPrivateNetwork": true,
      "awsAccessKey": {
        "accessKeyId": "AWS_ACCESS_KEY_ID",
        "secretAccessKey": "AWS_SECRET_ACCESS_KEY"
      }
    },
    "gcsDataSink": {
      "bucketName": "GCS_SINK_NAME"
    },
    "transferOptions": {
      "overwriteWhen": "DIFFERENT",
      "deleteObjectsFromSourceAfterTransfer": false
    }
  }
}

이 예에서는 AWS 액세스 사용자 인증 정보를 사용하여 인증합니다. Secret Manager에서 제휴 ID 또는 사용자 인증 정보를 사용하는 방법에 관한 자세한 내용은 Amazon S3 액세스 구성을 참고하세요.

비공개 네트워크 라우팅 모니터링 및 확인

전송 작업을 시작한 후 데이터가 Google 관리 비공개 네트워크를 통해 나가는지 확인합니다.

  1. Cloud Logging: transfer-logs이 사용 설정된 경우(--log-actions=COPY,DELETE,FAILED) 전송 작업의 구조화된 로그를 검사합니다. COPY 작업 로그 내의 연결 메타데이터는 비공개 네트워크 경로를 통한 복제가 성공했음을 확인합니다.

  2. 결제 확인: AWS 및 Google Cloud 결제 대시보드를 확인합니다. AWS 인보이스에는 전송된 객체에 대한 공개 인터넷 데이터 전송 아웃 (DataTransfer-Out-Bytes) 요금이 0으로 표시됩니다. 대신 GiB당 데이터 처리 수수료가 Storage Transfer Service 아래의 Google Cloud 인보이스에 표시됩니다.

대체 네트워크 라우팅 옵션

Google 관리 비공개 네트워크가 워크로드 요구사항을 충족하지 않는 경우 Storage Transfer Service는 Amazon S3에 대해 다음과 같은 여러 네트워크 라우팅 옵션을 지원합니다.

  • 공용 인터넷 라우팅: Amazon S3와 Google Cloud 간의 표준 공용 인터넷 피어링 링크를 통한 데이터 전송입니다. 모든 API 명령어, 인증 헤더, 객체 데이터 스트림은 전송 계층 보안 (TLS 1.3)을 사용하는 HTTPS를 통해 전송 중에 엔드 투 엔드 암호화됩니다. 표준 AWS 인터넷 데이터 이그레스 요율이 적용됩니다. 자세한 내용은 Amazon S3에서 전송을 참고하세요.

  • 고객 관리 비공개 네트워크: 데이터가 비공개 IP 주소를 통해 사전 구성된 자체 하이브리드 연결 인프라 (예: Cloud Interconnect, Cloud VPN 또는 AWS Direct Connect)를 통과합니다. 이 옵션을 사용하면 아키텍처를 완전히 제어하고 예측 가능한 전용 네트워크 대역폭을 사용할 수 있습니다. 자세한 내용은 고객 관리 비공개 네트워크를 통한 전송을 참고하세요.

  • Amazon CloudFront CDN 라우팅: S3 버킷 앞에 있는 Amazon CloudFront 배포를 통해 데이터가 검색됩니다. AWS CloudFront 요금 등급 및 데이터 볼륨에 따라 직접 공개 S3 다운로드에 비해 인터넷 이그레스 요금이 절감될 수 있습니다. 자세한 내용은 CloudFront를 통해 S3에서 전송을 참고하세요.