이 페이지에서는 Cloud Storage용 요청자 지불 기능을 간략히 소개합니다.
소개
사용자가 버킷이나 객체와 같은 Cloud Storage 리소스에 액세스할 때마다 요청을 하고 실행하는 데 요금이 부과됩니다. 요금은 다음과 같습니다.
작업, 복제, 데이터 검색에 대한 데이터 처리 요금.
데이터 읽기를 위한 네트워크 사용 요금.
일반적으로 이러한 요금은 리소스의 프로젝트 소유자에게 청구됩니다. 그러나 요청자가 요청과 함께 결제 프로젝트를 제공하면 대신 요청자의 프로젝트에 요금이 청구됩니다. 버킷에서 요청자 지불을 사용 설정한 경우 요청자 프로젝트에 요금이 청구되도록 요청자에게 결제 프로젝트를 요청에 포함해 달라고 요구할 수 있습니다. 예를 들어 사용자에게 많은 데이터를 제공하고 싶지만 사용자의 데이터 액세스에 따른 요금이 청구되지 않도록 하려는 경우 요청자 지불을 사용 설정하면 유용합니다.
적용되지 않는 요금
조기 삭제 요금을 포함한 데이터 스토리지 요금은 요청자 지불이 사용 설정되어 있더라도 항상 버킷이 포함된 프로젝트에 적용됩니다.
제한사항
요청자 지불을 사용할 때 다음 제한사항이 적용됩니다.
- Cloud SQL에서 가져오기 및 내보내기에 요청자 지불이 사용 설정된 버킷을 사용할 수 없습니다.
- Pub/Sub에서 내보내기에 요청자 지불이 사용 설정된 버킷을 사용할 수 없습니다.
사용 및 액세스 요구사항
버킷에서 요청자 지불을 사용 설정하려면 버킷에서 메타데이터 플래그를 사용 설정합니다. 메타데이터 플래그를 사용 설정하면 다음 사용자만 버킷이나 해당 콘텐츠에 액세스할 수 있습니다.
요청에 결제 프로젝트를 포함한 요청자. 요청에 사용된 프로젝트는 양호한 상태여야 하며 사용자는 프로젝트에
serviceusage.services.use
권한을 포함하는 역할을 보유해야 합니다. 서비스 사용량 소비자 역할에 필요한 권한이 있습니다.결제 프로젝트를 포함하지 않지만 버킷이 포함된 프로젝트에 대해
resourcemanager.projects.createBillingAssignment
권한이 있는 요청자. 결제 프로젝트 관리자 역할에 필요한 권한이 있습니다. 이러한 요청과 관련된 액세스 요금은 버킷이 들어 있는 프로젝트에 청구됩니다.
버킷에 대한 다른 모든 요청은 400 UserProjectMissing
오류와 함께 실패합니다.
이러한 요구사항 외에도 요청자는 요청된 작업을 수행하기에 충분한 권한을 갖고 있어야 합니다. 예를 들어 요청에 유효한 결제 프로젝트를 제공하는 사용자는 해당하는 명시적 권한(예: 버킷 또는 버킷을 포함하는 프로젝트에 대한 storage.objects.create
권한)이 없는 경우 버킷에 객체를 업로드할 수 없습니다.
요청자 지불을 사용 중지할 때는 요청에 결제 프로젝트를 포함하거나 resourcemanager.projects.createBillingAssignment
권한이 있어야 합니다.
소스 청구 작업
복사나 재작성과 같이 소스 버킷과 대상 버킷이 모두 있는 작업은 소스 버킷이 들어 있는 프로젝트에 요금이 청구됩니다. JSON 및 XML API를 사용한 직접 호출을 비롯한 대부분의 경우 소스 버킷에 요청자 지불이 사용 설정되면 결제 프로젝트만 포함하면 됩니다.
--no-clobber
플래그가 있는 gcloud storage cp
와 같은 일부 경우에는 소스 버킷이나 대상 버킷 또는 둘 다에 요청자 지불이 사용 설정되면 결제 프로젝트를 포함해야 합니다. 이는 작업 수행 과정에서 소스 버킷과 대상 버킷을 모두 호출하기 때문입니다.
다중 요청 작업
여러 요청을 완료해야 하는 작업의 경우 요청에 결제 프로젝트를 사용하면 다음과 같이 동작합니다.
재개 가능한 업로드의 경우 첫 번째 요청만 결제 프로젝트를 포함해야 하며 이 결제 프로젝트가 전체 업로드에 적용됩니다. 이후 요청에서 지정된 결제 프로젝트는 무시됩니다.
JSON API를 사용한 재작성 및 XML API 멀티파트 업로드의 경우 요청마다 다른 결제 프로젝트를 사용할 수 있으며, 이전 요청에 지정한 결제 프로젝트는 이후 요청에 적용되지 않습니다.
청구
요청에 결제 프로젝트 포함과 관련된 요금은 청구서에 별도로 표시되지 않습니다. 예를 들어, 요청자 지불 버킷에서 여러 다운로드를 만들고 my-project
프로젝트를 요청에 대한 요금을 청구할 프로젝트로 사용한다고 가정해보세요. my-project
에 다운로드를 수행하는 버킷도 들어 있는 경우 청구서에는 합쳐진 여러 다운로드의 총 요금만 표시됩니다. 청구서에서는 자체 버킷의 다운로드와 요청자 지불 버킷의 다운로드가 구별되지 않습니다.
자신의 Cloud Storage 리소스에서 발생하는 요금과 요청에 결제 프로젝트가 포함되어 발생하는 요금을 구분하려면 Cloud Storage 리소스가 포함되지 않은 프로젝트를 만들어야 합니다. 이 프로젝트는 요청자 지불 버킷과 같은 다른 프로젝트의 리소스에 요청할 때만 사용됩니다.
다음 단계
- 요청자 지불 사용 방법 알아보기
- 데이터를 공개적으로 사용 가능하게 설정하기