할당량 및 한도

Cloud Healthcare API는 다양한 이유로 리소스 사용량에 한도를 적용합니다. 예를 들어 할당량은 사용량이 예기치 않게 급증하는 것을 방지하여 Google Cloud 사용자 커뮤니티를 보호합니다. Google Cloud에서는 무료 체험판 할당량도 제공하여 Cloud Healthcare API를 비롯해 Google Cloud를 살펴보는 사용자에게 제한적인 액세스 권한을 부여합니다.

프로젝트에서 Cloud Healthcare API 할당량을 리전별이나 멀티 리전별로 적용합니다. 단일 리전의 할당량이 소진되어도 다른 리전의 Cloud Healthcare API 사용은 영향을 받지 않습니다.

할당량 및 사용량 확인

할당량은 저장용량(인그레스 제한이라고도 함) 및 작업에 대한 한도입니다.

프로젝트 리소스에 사용할 수 있는 할당량을 확인하려면 Google Cloud 콘솔의 할당량 페이지로 이동합니다.

Cloud Healthcare API 할당량만 표시하려면 테이블 필터링 드롭다운 목록에서 서비스를 선택한 후 Cloud Healthcare API를 선택합니다.

모든 프로젝트의 할당량이 동일하지는 않습니다. Cloud Healthcare API 사용량이 점차 늘어나면 할당량도 이에 따라 상향 조정할 수 있습니다. 앞으로 사용량이 현저하게 늘어날 것으로 예상되는 경우 Google Cloud 콘솔의 할당량 페이지에서 사전에 할당량 조정을 요청할 수 있습니다. 할당량 상향 요청 자체는 요금이 부과되지 않으며 리소스를 더 사용한 경우에만 요금이 증가합니다.

리소스 한도

Cloud Healthcare API는 요청 콘텐츠의 크기(예: DICOM 요청의 X-선 이미지 크기)를 제한합니다. 리소스 한도 변경을 요청할 수 없지만 경우에 따라 가져오기 작업을 사용해 리소스 한도보다 더 큰 콘텐츠를 가져올 수 있습니다.

다음과 같은 리소스 한도가 적용되며 이는 변경될 수 있습니다.

형식 요청 크기 한도
DICOM
  • Store 트랜잭션: 무제한, 그 외 모든 메서드는 10MB가 가능합니다.
  • Store 트랜잭션 또는 Retrieve 트랜잭션: 작업이 1시간을 초과하면 제한 시간이 발생합니다.
  • Search 트랜잭션 메서드의 최대 오프셋은 1,000,000이며 연구/시리즈의 최대 한도는 5,000개, 인스턴스의 최대 한도는 50,000개입니다.
  • 익명화: 익명화는 픽셀 수정이 포함된 경우 1GB보다 큰 DICOM 파일을 처리할 수 없습니다.
  • 수집된 DICOM 파일의 태그당 한도는 2GB입니다. 한도는 기본 형식으로 인코딩된 PixelData를 포함합니다.
  • DICOM 데이터를 트랜스코딩할 때 최대 파일 크기는 1GB이며 최대 프레임 크기는 150MB입니다.
  • dicomStores.import: 최대 파일 크기는 100GB입니다.
FHIR
HL7v2 10MB

연관 리소스 한도보다 큰 콘텐츠를 처리하려고 하면 오류가 발생합니다.

FHIR executeBundle 크기 제한

fhir.executeBundle 메서드를 사용하여 단일 API 요청에서 여러 FHIR 작업을 실행할 수 있습니다. 작업 수는 일괄 처리 또는 트랜잭션 번들의 항목 수에 따라 다릅니다. 이 접근 방식은 각 작업에 대해 개별 API를 호출하는 것보다 효율적입니다.

fhir.executeBundle 요청의 처리 시간은 번들의 항목 수에 따라 증가합니다. 리소스 경합(예: 여러 트랜잭션 번들의 일부로 동일한 리소스를 동시 업데이트)과 같은 요소도 성능에 영향을 미칠 수 있습니다. 리소스 경합이 발생할 수 있는 경우와 경합으로 인한 오류를 방지하는 방법의 예는 데이터 처리량 권장사항을 참고하세요. 특히 항목이 1,000개를 초과하는 대규모 번들은 시간 초과되어 완료되지 않을 수 있습니다.

처리가 원활하고 시의적절하게 이루어지도록 fhir.executeBundle 요청을 보낼 때 다음 제한사항을 고려하세요.

  • 트랜잭션 번들: 시간 초과를 방지하기 위해 항목 수가 4,500개를 초과하는 번들은 즉시 거부됩니다. 트랜잭션 번들의 경우 모든 작업이 성공해야 합니다.
  • 일괄 번들: 구체적인 항목 제한은 없지만 번들의 크기가 클수록 시간 초과 위험이 증가합니다. 제한 시간으로 인해 일부 항목만 처리되어 부분적으로 성공할 수 있습니다.

리소스 한도를 초과하는 콘텐츠 가져오기 작업을 사용하는 경우

가져오기 작업을 사용하면 연관 리소스 한도보다 큰 콘텐츠를 처리할 수 있습니다. 가져오기 작업의 콘텐츠 크기는 개별 객체에 대한 Google Cloud 최대 저장용량 크기인 5TB로만 제한됩니다. 가져오기 작업은 가져오기 작업의 소요 시간을 결정하는 저장용량 할당량의 적용을 받습니다. 예를 들어 여러 DICOM 인스턴스를 DICOM 저장소에 저장하되 요청 크기 한도의 적용은 받고 싶지 않은 경우 가져오기 작업을 사용하는 것이 좋습니다. 사용할 수 있는 Store 트랜잭션 메서드를 통해 인스턴스를 업로드하지 않고 인스턴스를 Cloud Storage 버킷에 업로드한 다음 DICOM 저장소에 가져오면 됩니다.

가져오기 작업을 사용한 DICOM 데이터 가져오기에 대한 자세한 단계는 DICOM 데이터 가져오기 및 내보내기를 참조하세요.

가져오기 작업을 사용한 FHIR 리소스 가져오기에 대한 자세한 단계는 FHIR 리소스 가져오기 및 내보내기를 참조하세요.

가져오기 작업을 사용한 HL7v2 메시지 가져오기에 대한 자세한 단계는 Cloud Storage에서 HL7v2 메시지 가져오기를 참조하세요.

할당량 변경 요청

할당량 변경을 요청하려면 serviceusage.quotas.update 권한이 있어야 합니다. 이 권한은 사전 정의된 역할인 소유자, 편집자, 할당량 관리자에 기본적으로 포함되어 있습니다.

  1. 할당량 페이지로 이동합니다.

    할당량으로 이동

  2. 할당량 페이지에서 변경할 할당량을 선택합니다. Cloud Healthcare API 할당량만 표시하려면 테이블 필터링 드롭다운 목록에서 서비스를 선택한 후 Cloud Healthcare API를 선택합니다.

  3. 수정하고자 하는 할당량의 체크박스를 선택합니다.

  4. 페이지 상단의 할당량 수정 버튼을 클릭합니다.

  5. 양식을 작성하고 다음을 클릭합니다.

  6. 요청할 한도를 입력하고 다음을 클릭합니다.

  7. 요청 제출을 클릭합니다.

할당량 하향 요청은 기본적으로 거부됩니다. 할당량을 하향 조정하려면 지원 이메일에 답장하여 요구사항을 설명해 주시기 바랍니다. 지원팀 담당자가 요청에 대한 답변을 드립니다.

요청 후 24~48시간 내에 Cloud Healthcare API팀이 답변을 드립니다.

요청을 처리하는 데 충분한 시간을 확보할 수 있도록 최소 며칠 전에 추가 리소스 요청을 계획하고 요청하시기 바랍니다.

할당량 한도

다음 섹션에서는 Cloud Healthcare API 데이터 저장소 및 작업과 관련된 할당량을 설명합니다.

DICOM 할당량

다음 표에서는 DICOM 저장소 및 DICOM 작업과 관련된 Cloud Healthcare API 할당량을 설명합니다.

측정항목 이름 표시 이름 설명
dicomweb_ops 리전별 분당 DICOMweb 작업 수 다음 메서드가 포함됩니다.
  • v1beta1v1의 모든 projects.locations.datasets.dicomStores.studies 메서드
  • v1beta1v1의 모든 projects.locations.datasets.dicomStores.studies.series 메서드
  • v1beta1v1의 모든 projects.locations.datasets.dicomStores.studies.series.instances 메서드
  • v1beta1v1의 모든 projects.locations.datasets.dicomStores.studies.series.instances.frames 메서드
dicom_structured_storage_bytes 리전별 분당 구조화 DICOM 스토리지 인그레스(바이트) dicomweb_ops 작업을 처리하는 동안 Cloud Healthcare API로 전송되는 DICOM 태그 및 관련 메타데이터 형식의 구조화된 바이트
dicom_store_ops 리전별 분당 DICOM 저장소 작업 수 DICOM 데이터가 아닌 DICOM 저장소에 대한 작업. 다음 메서드가 포함됩니다.
dicom_store_lro_ops 리전별 분당 DICOM 저장소 장기 실행 작업 수 DICOM 데이터가 아닌 DICOM 저장소에 대한 장기 실행 작업을 반환하는 작업. 다음 메서드가 포함됩니다.
dicom_structured_storage_operations_bytes 리전별 분당 장기 실행 작업에 대한 구조화 DICOM 스토리지 인그레스(바이트) dicom_store_lro_ops 작업을 처리하는 동안 Cloud Healthcare API로 전송되는 DICOM 태그 및 관련 메타데이터 형식의 구조화된 바이트

FHIR 할당량

다음 표에서는 FHIR 저장소 및 FHIR 작업과 관련된 Cloud Healthcare API 할당량을 설명합니다.

측정항목 이름 표시 이름 설명
fhir_read_ops 리전별 분당 FHIR 읽기 작업 수 단위로 측정되며, 한 단위는 개별 FHIR 리소스에 대한 읽기 요청 하나입니다.

다음 메서드가 포함됩니다.

v1beta1: v1:
fhir_write_ops 리전별 분당 FHIR 쓰기 작업 수 단위로 측정되며, 한 단위는 개별 FHIR 리소스에 대한 생성, 업데이트, 삭제 요청 하나입니다.

다음 메서드가 포함됩니다.

v1beta1: v1:
fhir_search_ops 리전별 분당 FHIR 검색 작업 수 단위로 측정되며, 한 단위는 _include 사용 시를 제외하고 검색에 참조 해석이 필요하지 않은 FHIR 리소스 유형에 대한 검색 요청입니다. 예를 들어 Observation?subject:Patient.identifier=system|value 검색에는 두 번의 검색이 필요하므로 fhir_search_ops 할당량 2단위를 소비합니다. 하나는 관찰 리소스에 대한 것이고 다른 하나는 환자 리소스에 대한 것이며 subject를 참조로 사용합니다.

다음 메서드가 포함됩니다:

v1beta1: v1:
fhir_storage_egress_bytes 리전별 분당 FHIR 스토리지 이그레스(바이트) 단위로 측정되며 한 단위는 fhir_read_ops, fhir_write_ops, fhir_search_ops 작업 처리 중에 스토리지에서 Cloud Healthcare API가 스토리지에서 읽는 1바이트입니다.
fhir_storage_bytes 리전별 분당 FHIR 스토리지 인그레스(바이트) fhir_write_ops 작업을 처리하는 동안 Cloud Healthcare API로 전송된 바이트.
fhir_store_ops 리전별 분당 FHIR 저장소 작업 수 FHIR 데이터가 아닌 FHIR 저장소에 대한 작업.

다음 메서드가 포함됩니다.
fhir_store_lro_ops 리전별 분당 FHIR 저장소 장기 실행 작업 수 FHIR 데이터가 아닌 장기 실행 작업을 반환하는 FHIR 저장소에 대한 작업.

다음 메서드가 포함됩니다.
fhir_storage_operations_bytes 리전별 분당 장기 실행 작업에 대한 FHIR 스토리지 인그레스(바이트) fhir_store_lro_ops 작업을 처리하는 동안 Cloud Healthcare API로 전송된 바이트.

단일 요청에 여러 할당량 단위가 사용될 수 있습니다. 예를 들어 검색 매개변수로 Observation?subject:Patient.identifier=system|value를 사용하는 GET 검색 요청은 fhir_search_ops 할당량 2단위를 사용합니다. subject를 참조로 사용하여 관찰 리소스 및 환자 리소스에 하나씩 검색 작업 2회가 수행됩니다.

검색 기준으로 Observation?status=canceled를 사용하는 조건부 삭제 요청에서 관찰 리소스 6개를 검색하여 삭제하는 경우 다음 할당량 단위가 사용됩니다.

  • GET 검색 요청은 FHIR 리소스 유형 하나(관찰 리소스)에만 수행되므로 fhir_search_ops 할당량 1단위. 요청은 검색 기준과 일치하는 모든 관찰 리소스를 반환합니다.
  • 삭제된 관찰 리소스에 대해 총 6개의 DELETE 작업이 있으므로 fhir_write_ops 할당량 6단위

번들 실행 할당량 소비

요청이 소비하는 할당량에 관계없이 번들 실행 요청을 보내려면 Google Cloud 프로젝트에 다음 할당량 각각에 사용 가능한 단위가 하나 이상 있어야 합니다.

  • fhir_read_ops
  • fhir_write_ops
  • fhir_search_ops

이러한 할당량을 사용할 수 없으면 번들 실행 요청이 실패합니다.

예를 들어 POST 작업 100회가 포함된 트랜잭션 번들로 fhir.executeBundle 요청을 보내면 Cloud Healthcare API는 먼저 fhir_read_ops, fhir_write_ops, fhir_search_ops에 사용 가능한 할당량 단위가 하나 이상 있는지 확인합니다. 확인에 성공하면 Cloud Healthcare API가 번들을 실행하고 FHIR 리소스를 만들어 총 fhir_write_ops 할당량 100단위를 소비합니다.

reference가 있는 경우 조건부 참조를 사용하여 관찰 리소스를 만드는 다음 트랜잭션 번들을 고려해 보세요.

{
  "resourceType": "Bundle",
  "type": "transaction",
  "entry": [
    {
      "request": {
        "method": "POST",
        "url": "Observation"
      },
      "resource": {
        "resourceType": "Observation",
        "subject": {
          "reference": "Patient?identifier=a1b2c3d4e5"
        }
      }
    }
  ]
}

번들을 실행할 때 Cloud Healthcare API는 먼저 fhir_read_ops, fhir_write_ops, fhir_search_ops에 사용 가능한 할당량 단위가 하나 이상 있는지 확인합니다. 확인에 성공하면 Cloud Healthcare API가 번들을 실행합니다. 다음 할당량 단위가 소비됩니다.

  • 새 관찰 리소스를 만드는 fhir_write_ops 하나
  • Patient?identifier=a1b2c3d4e5 참조에서 단일 검색 작업이 수행되므로 fhir_search_ops 하나