Storage Intelligence 문제 해결

이 문서에서는 Storage Intelligence, Storage Insights 인벤토리 보고서, Storage Insights 데이터 세트, 스토리지 일괄 작업과 관련된 일반적인 문제를 해결하는 방법을 설명합니다.

Storage Intelligence 구성 오류

다음 섹션에서는 리소스에 대해 구성하거나 Storage Intelligence를 관리할 때 발생할 수 있는 오류를 설명합니다.

400: 잘못된 버킷 이름

문제: 요청이 400 Bad Request를 반환하고 메시지는 The specified bucket is not valid.입니다.

해결 방법: 요청이 잘못되었습니다. 요청이 다음 요구사항을 충족하는지 확인합니다.

  • locations/global을 사용합니다. Storage Intelligence는 다른 위치를 지원하지 않습니다.
  • bucket_id_regexes의 버킷 이름 또는 정규 표현식이 유효한지 확인합니다.

다음은 유효한 요청의 예입니다.

curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "edition_config": "STANDARD",
      "filter": {
        "included_cloud_storage_buckets": {
          "bucket_id_regexes": [
            "my-bucket-name",
            "prod-data-.*"
          ]
        }
      }
    }' \
    "https://storage.s3nsapis.fr/v2/projects/PROJECT_ID/locations/global/intelligenceConfig?updateMask=edition_config,filter"

400: 잘못된 인수 - 비어 있는 업데이트 마스크

문제: 구성 또는 업데이트 요청을 보내면 요청이 400 Bad Request를 반환하고 메시지는 Empty UPDATE_MASK in the request.입니다.

해결 방법: 요청에 비어 있지 않은 UPDATE_MASK를 제공합니다. UPDATE_MASK 는 업데이트할 FieldMask 리소스의 IntelligenceConfig 필드의 쉼표로 구분된 목록을 지정합니다 (예: updateMask=edition_config 또는 updateMask=edition_config,filter).

400: 잘못된 업데이트 마스크 경로

문제: 구성을 업데이트할 때 요청이 400 Bad Request 메시지와 함께 반환됩니다. Invalid UPDATE_MASK paths.

해결 방법: UPDATE_MASK의 각 필드 이름이 IntelligenceConfig 리소스의 유효한 필드와 일치하는지 확인합니다.

400: 필드를 수정할 수 없음

문제: 구성을 업데이트할 때 요청이 400 Bad Request 메시지와 함께 반환됩니다. Invalid UPDATE_MASK: UPDATE_TIME field is not editable.

해결 방법: 수정할 수 없는 시스템 필드 (예: UPDATE_TIME)를 UPDATE_MASK에서 삭제합니다. IntelligenceConfig에 정의된 변경 가능한 필드만 지정합니다.

400: 잘못된 값

문제: 요청이 400 Bad Request를 반환하고 메시지는 Invalid value at storage_intelligence.edition_config.입니다.

해결 방법: edition_config를 지원되는 값(INHERIT, STANDARD, 또는 DISABLED)으로 설정합니다.

400: 비어 있지 않은 필터

문제: 요청이 400 Bad Request를 반환하고 메시지는 Non-empty filter cannot be specified for INHERIT or DISABLED edition configuration.입니다.

해결 방법: 요청에서 버킷 필터를 삭제합니다. `edition_config`가 `INHERIT` 또는 `DISABLED`로 설정된 경우 버킷 필터 가 지원되지 않습니다.

400: 필터에서 비어 있는 위치 또는 버킷 값

문제: 요청이 400 Bad Request를 반환하고 메시지는 Empty location or bucket values in filter.입니다.

해결 방법: locationbucket이 모두 빈 문자열이 아닌지 버킷 필터에서 확인합니다.

Storage Insights 일반적인 문제

이 섹션에서는 인벤토리 보고서데이터 세트와 관련된 일반적인 문제를 해결하는 방법을 설명합니다.

매일 여러 인벤토리 보고서가 생성됨

문제: 인벤토리 보고서 구성은 매일 여러 보고서 파일을 생성합니다.

해결 방법: Cloud Storage는 객체가 1,000,000개 넘게 있는 버킷의 인벤토리 보고서를 샤딩하여 객체 1,000,000개당 하나의 샤드를 생성합니다. 예를 들어 객체가 3,500,000개 있는 버킷은 보고서 샤드 4개와 각 샤드를 나열하는 매니페스트 파일을 생성합니다.

인벤토리 보고서가 대상 버킷에 표시되지 않음

문제: 인벤토리 보고서가 대상 버킷에 표시되지 않습니다.

해결 방법: 보고서가 대상 버킷에 전송되지 않으면 다음을 확인합니다.

  • 구성된 시작일이 지났는지 확인합니다. 자세한 내용은 인벤토리 보고서 구성 만들기를 참조하세요.

  • 인벤토리 보고서 기록을 보고 오류 및 근본 원인을 확인합니다. 인벤토리 보고서 기록을 보려면 다음 단계를 완료합니다.

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

      버킷으로 이동

    2. 버킷 목록에서 인벤토리 보고서 구성이 포함된 소스 버킷의 이름을 클릭합니다.

    3. 버킷 세부정보 페이지에서 인벤토리 보고서 탭을 클릭합니다.

    4. 인벤토리 보고서 구성 목록에서 확인하려는 보고서를 생성한 인벤토리 보고서 구성의 UUID를 클릭합니다.

    5. 인벤토리 보고서 기록 섹션에 오류가 있는지 확인합니다. 도움말() 위에 마우스 포인터를 올려놓으면 실패 이유에 대한 세부정보를 볼 수 있습니다.

  • 프로젝트 수준 서비스 에이전트에 인벤토리 보고서를 읽고 쓰는 데 필요한 IAM 역할이 부여되었는지 확인합니다. 자세한 내용은 서비스 에이전트에 필요한 역할 부여를 참조하세요.

인벤토리 보고서 지연

문제: 인벤토리 보고서 생성이 지연됩니다.

해결 방법: 보고서 생성 시간은 다릅니다. 최대 24시간의 지연은 정상입니다.

데이터 세트가 채워지지 않음

문제: Storage Insights 데이터 세트 테이블이 비어 있습니다.

해결 방법: 연결된 BigQuery 데이터 세트에서 error_attributes_view에 오류 코드가 있는지 확인합니다. 자세한 내용은 데이터 세트 오류 문제 해결을 참조하세요.

데이터 세트를 쿼리할 때 'ref' 열에 null 값

문제: BigQuery에서 Storage Insights 데이터 세트를 쿼리할 때 ref 열이 null을 반환합니다.

해결 방법: /로 끝나는 객체의 경우 데이터 세트의 ref 열이 null입니다.

BigQuery에서 Storage Insights 데이터 세트를 쿼리할 때 ref 열이 null 값을 반환하는 경우 BigQuery를 사용하여 객체 데이터 및 메타데이터 분석에 설명된 대로 Cloud Storage 리소스에 대한 액세스를 포함하여 필요한 연결 권한 및 역할을 부여했는지 확인합니다.

스토리지 일괄 작업의 작업 유효성 검사 오류

이 섹션에서는 일괄 작업 요청을 storagebatchoperations.googleapis.com에 제출할 때 발생하는 유효성 검사 오류를 설명합니다.

400: 잘못된 작업 ID 또는 리소스 이름

문제: 작업 생성 요청이 400 Bad Request (INVALID_ARGUMENT) 응답을 반환하고 이유는 JOB_ID_INVALID 또는 RESOURCE_NAME_TOO_LONG입니다.

해결 방법: 작업 ID가 1~63개의 소문자 영숫자 문자 또는 하이픈 ([a-z0-9]([-a-z0-9]*[a-z0-9])?)으로 구성되고 전체 리소스 경로가 1,024바이트를 초과하지 않는지 확인합니다. 자세한 내용은 작업 이름을 참조하세요.

400: 변환 매개변수 충돌 또는 누락

문제: 작업 생성 요청이 400 Bad Request (INVALID_ARGUMENT) 응답을 반환하고 이유는 TRANSFORMATION_NOT_SPECIFIED, REWRITE_OBJECT_MISSING_PARAMETERS, PUT_OBJECT_HOLD_MISSING_PARAMETERS, 또는 PUT_METADATA_MISSING_PARAMETERS입니다.

해결 방법: 필요한 모든 매개변수를 사용하여 변환 유형을 정확히 하나 지정합니다. 객체 보관을 구성하는 경우 버킷에서 객체 잠금이 사용 설정되어 있고 타임스탬프가 RFC 3339 UTC 형식을 사용하는지 확인합니다. 변환별 매개변수 요구사항에 대한 자세한 내용은 작업 유형을 참조하세요.

400: 객체 프리픽스 중복 또는 겹침

문제: 작업 생성 요청이 400 Bad Request (INVALID_ARGUMENT) 응답을 반환하고 이유는 OBJECT_PREFIX_OVERLAP 또는 DUPLICATE_OBJECT_PREFIX입니다.

해결 방법: 중복된 프리픽스를 삭제하고 included_object_prefixes의 프리픽스가 목록에 있는 다른 항목의 프리픽스가 아닌지 확인합니다. 자세한 내용은 객체 프리픽스를 참조하세요.

400: 매니페스트 파일 형식 지정 및 액세스 문제

문제: 작업 생성 요청이 400 Bad Request (INVALID_ARGUMENT) 응답을 반환하고 이유는 MANIFEST_LOCATION_REQUIRED 또는 MANIFEST_LOCATION_INVALID, 이거나 작업에서 매니페스트를 읽을 수 없습니다.

해결 방법: 매니페스트 URI가 유효한 CSV 경로 (gs://<bucket_name>/<path>/<object_name>.csv)이고 스토리지 일괄 작업 서비스 에이전트에 매니페스트 버킷에 대한 roles/storage.objectViewer 역할이 있는지 확인합니다. CSV 형식 지정 및 스키마 요구사항에 대한 자세한 내용은 매니페스트를 참조하세요.

400: Storage Insights 데이터 세트 검색 오류

문제: 객체 검색에 Storage Insights 데이터 세트를 사용하면 400 Bad Request (INVALID_ARGUMENT 또는 FAILED_PRECONDITION) 응답이 반환되고 이유는 BUCKET_DISCOVERY_SNAPSHOT_TOO_OLD, TARGET_LOCATIONS_REQUIRED_FOR_SNAPSHOT_TIME, 또는 BUCKET_DISCOVERY_TOO_MANY_BUCKETS입니다.

해결 방법: snapshot_time이 지난 48시간 이내인지 확인하고 버킷의 target_locations를 지정하며 검색 쿼리가 1,000개가 넘는 버킷과 일치하지 않는지 확인합니다. 자세한 내용은 Storage Insights 데이터 세트를 사용하여 매니페스트 만들기를 참조하세요.

400: 자동 클래스가 사용 설정된 버킷에서 스토리지 클래스 변환이 실패함

문제: 작업 생성 요청이 400 Bad Request (FAILED_PRECONDITION) 응답을 반환하고 이유는 AUTOCLASS_STORAGE_CLASS_TRANSFORMATION_UNSUPPORTED입니다.

해결 방법: 자동 클래스가 사용 설정된 버킷에서는 스토리지 클래스 변환을 실행할 수 없습니다. 자동 클래스가 없는 버킷을 타겟팅하거나 스토리지 클래스 변환을 삭제합니다. 자세한 내용은 자동 클래스 제한사항을 참조하세요.

400: 균일한 버킷 수준 액세스 버킷에서 객체 ACL 업데이트가 실패함

문제: 작업 생성 요청이 400 Bad Request (FAILED_PRECONDITION) 응답을 반환하고 이유는 UBLA_OBJECT_ACL_UPDATE_UNSUPPORTED입니다.

해결 방법: 균일한 버킷 수준 액세스가 사용 설정된 버킷에서는 객체 ACL을 업데이트할 수 없습니다. 대신 버킷 또는 프로젝트 수준에서 IAM 역할을 사용하여 액세스를 관리합니다. 자세한 내용은 균일한 버킷 수준 액세스를 참조하세요.

스토리지 일괄 작업 런타임 및 실행 문제

이 섹션에서는 일괄 작업의 비동기 실행 중에 발생하는 문제를 설명합니다.

403: 실행 중 권한 오류

문제: 일괄 작업이 실행 중에 403 Forbidden (PERMISSION_DENIED)으로 실패합니다.

해결 방법: 스토리지 일괄 작업 서비스 에이전트 (service-PROJECT_NUMBER@gcp-sa-storagebatchoperations.s3ns-system.iam.gserviceaccount.com) 에 변환 유형에 필요한 IAM 역할을 부여합니다. 자세한 내용은 서비스 에이전트에 권한 부여를 참조하세요.

객체 재작성 중 CMEK 암호화 오류

문제: Cloud KMS 키 상태 또는 권한 오류로 인해 객체 재작성이 400 Bad Request 또는 403 Forbidden으로 실패합니다.

해결 방법: Cloud KMS 키가 Enabled이고 대상 버킷과 동일한 리전에 있으며 서비스 에이전트에 roles/cloudkms.cryptoKeyEncrypterDecrypter 역할이 있는지 확인합니다. 자세한 내용은 작업 유형: 객체 재작성을 참조하세요.

error_summaries의 높은 실패 횟수

문제: 일괄 작업이 0이 아닌 counters.failed_object_counterror_summaries의 오류 코드 (예: 404 NOT_FOUND, 412 FAILED_PRECONDITION, 403 PERMISSION_DENIED)로 완료됩니다.

해결 방법: gcloud storage batch-operations jobs describe--location 플래그를 사용하여 (예: gcloud storage batch-operations jobs describe JOB_ID --location=LOCATION) 집계된 오류 분석을 확인하고 Cloud Logging에서 객체별 오류 로그를 확인합니다. 자세한 내용은 작업 세부정보 가져오기를 참조하세요.

2일이 넘은 스냅샷으로 인해 스토리지 일괄 작업이 실패함

문제: CEL 필터 기반 스토리지 일괄 작업을 만들 때 작업 생성이 실패합니다. 오류 메시지에 스냅샷 시간이 2일이 넘었다고 표시됩니다.

해결 방법: 오래된 객체 상태에 대한 작업을 방지하기 위해 스토리지 일괄 작업은 작업 생성을 자동으로 실패합니다. 이 오류는 선택한 스냅샷이 2일이 넘은 경우 발생합니다. 이 문제를 해결하려면 다음 방법 중 하나를 선택하세요.

  • 매니페스트 파일 사용: BigQuery에서 데이터 세트를 수동으로 쿼리합니다. 결과를 CSV 매니페스트 파일로 내보내고 파일을 Cloud Storage 버킷에 업로드합니다. 그런 다음 매니페스트 메서드를 사용하여 일괄 작업을 만들어 2일 제한을 피할 수 있습니다.
  • 데이터 세트 구성 확인: 데이터 세트 구성이 활성 상태이고 일시중지되지 않았는지 확인합니다. 데이터 세트 스냅샷이 성공적으로 실행되는지 확인합니다. 구성을 확인하는 방법에 대한 자세한 내용은 데이터 세트 구성 보기를 참조하세요.
  • 대상 위치 및 스냅샷 시간 재정의 사용: RFC 3339 형식으로 스냅샷을 명시적으로 선택하여 2일 지난 오류를 무시하려면 --target-snapshot-time 플래그를 지정합니다. 스냅샷이 있는 위치로 작업을 제한하려면 --target-locations 플래그를 지정합니다. 이러한 재정의를 사용하여 자동 전역 스냅샷이 업데이트되지 않도록 하는 동기화 지연을 해결할 수 있습니다. 따라서 더 최근의 리전 스냅샷을 수동으로 타겟팅할 수 있습니다. 명령어 문법은 고급 필터를 사용하여 작업 만들기를 참조하세요.

새로 구독한 프로젝트에서 CEL 필터 기반 스토리지 일괄 작업이 실패함

문제: 시스템에서 유효한 스냅샷을 찾을 수 없으므로 새로 구독한 프로젝트에서 CEL 필터 기반 스토리지 일괄 작업을 실행하면 실패합니다.

해결 방법: Storage Intelligence 구독을 사용 설정한 후 CEL 필터 기반 스토리지 일괄 작업을 실행하기 전에 24시간을 기다려야 합니다. 이 지연을 통해 시스템은 초기 메타데이터 스냅샷을 실행하고 시작 스냅샷 시간을 설정할 수 있습니다.

CEL 필터 기반 스토리지 일괄 작업이 권한 오류로 실패하거나 런타임 오류가 발생함

문제: CEL 필터 기반 스토리지 일괄 작업이 실행 중에 실패하거나 런타임 권한 오류를 반환합니다.

해결 방법: 스토리지 일괄 작업은 사용자 인증 정보를 사용하여 객체를 처리합니다. 타겟팅된 버킷 및 객체에 필요한 IAM 읽기 또는 쓰기 권한이 없으면 작업이 실패합니다. 이 문제는 CEL 필터가 액세스할 수 없는 리소스를 선택할 때 발생합니다. 계정에 작업 범위의 모든 버킷 및 객체에 대한 스토리지 관리자 (roles/storage.admin), 스토리지 객체 관리자 (roles/storage.objectAdmin) 또는 이와 동등한 역할이 있는지 확인합니다. 역할을 부여하는 방법은 IAM 권한 사용을 참조하세요.

모니터링 및 로그 분석

Cloud Logging에서 객체별 실행 실패 및 오류 페이로드를 검사하는 방법에 대한 자세한 내용은 스토리지 일괄 작업 로그 보기를 참조하세요.

다음 단계