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 관리 비공개 네트워크 전송 만들기

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

콘솔

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

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

  1. 콘솔의 Storage Transfer Service 페이지로 이동합니다. Google Cloud

    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 관리 비공개 네트워크를 통한 전송 구성을 지원하지 않습니다. Google Cloud 콘솔 또는 REST API를 사용하여 이 옵션을 사용 설정합니다.

클라이언트 라이브러리

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

REST API

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

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에서 전송을 참조하세요.