핵심 용어

Cloud Storage를 효과적으로 사용하려면 몇 가지 기본 개념을 이해해야 합니다. 이 페이지는 Cloud Storage에 적용되는 핵심 용어와 개념을 간략히 설명합니다.

Cloud Storage 사용에 대한 소개는 Cloud Storage란 무엇인가요?를 참조하세요.

프로젝트

Cloud Storage의 모든 데이터는 프로젝트에 귀속됩니다. 프로젝트는 사용자 집합, API 집합, 그리고 이러한 API에 대한 청구, 인증, 모니터링 설정으로 구성됩니다. 프로젝트는 하나 이상 만들 수 있습니다.

버킷

버킷은 데이터를 담는 기본 컨테이너입니다. Cloud Storage에 저장하는 모든 컨테이너가 버킷에 포함되어야 합니다. 버킷을 사용하여 데이터를 구성하고 데이터 액세스를 제어할 수 있지만 디렉터리와 폴더와 달리 버킷을 중첩할 수 없습니다. 프로젝트 또는 위치에 포함할 수 있는 버킷 수에는 제한이 없지만 버킷을 만들거나 삭제할 수 있는 비율에는 제한이 있습니다.

버킷을 만들 때는 여기에 전역적으로 고유한 이름 및 버킷 및 해당 콘텐츠가 저장되는 지리적 위치를 지정합니다. 버킷의 이름 및 위치는 생성 후 변경될 수 없지만, 버킷을 삭제하고 다시 만드는 방법으로 비슷한 결과를 얻을 수 있습니다. 또한 버킷을 만드는 동안 구성하고 나중에 변경할 수 있는 선택적인 버킷 설정도 있습니다.

버킷 라벨

버킷 라벨은 키-값 메타데이터 쌍으로, 가상 머신 인스턴스영구 디스크 등의 다른 Google Cloud 리소스와 함께 버킷을 그룹화할 수 있습니다. 예를 들면 라벨을 사용하여 값이 alpha, beta, deltateam 키를 만들고, 이러한 키에 어느 팀이 연결되어 있는지 나타내기 위해 각 키에 team:alpha, team:beta, team:delta 라벨을 적용할 수 있습니다.

각 버킷에 라벨을 여러 개 적용할 수 있으며 버킷당 최대 64개의 라벨까지 허용됩니다.

  • 키 및 값은 각각 63자보다 길 수 없습니다.
  • 키 및 값은 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다.
  • 라벨 키는 소문자로 시작해야 하며 국제 문자는 허용됩니다.
  • 라벨 키는 비워 둘 수 없습니다.
  • 버킷 메타데이터의 경우와 마찬가지로, 버킷 라벨은 개별 객체 또는 객체 메타데이터와 연결되지 않습니다.

청구에서 라벨을 사용하여 리소스를 구성하는 일반적인 예시는 BigQuery 쿼리로 청구 내보내기 예를 참조하세요.

객체

객체는 Cloud Storage에 저장되는 개별 데이터 조각입니다. 버킷에서 만들 수 있는 객체 수에는 제한이 없습니다.

객체에는 객체 데이터객체 메타데이터의 두 가지 구성요소가 있습니다. 객체 데이터는 일반적으로 Cloud Storage에 저장하려는 파일이며 Cloud Storage에 완전히 불투명합니다. 객체 메타데이터는 객체의 다양한 질적 측면을 설명하는 이름-값 쌍의 모음입니다.

객체 이름

객체 이름은 Cloud Storage에서 객체 메타데이터의 일부로 취급됩니다. 객체 이름은 모든 유니코드 문자(UTF-8 인코딩) 조합을 포함할 수 있으며, 길이가 1,024바이트(영문) 미만이어야 하고, 버킷 내에서 고유해야 합니다.

Cloud Storage는 단일 구조 네임스페이스를 사용하여 객체를 저장합니다. 즉, Cloud Storage는 특정 버킷의 모든 객체를 계층적 관계가 없는 독립적인 객체로 간주합니다. 편의를 위해 Google Cloud Consolegsutil와 같은 도구는 가상 계층 구조에 저장된 것처럼 슬래시(/) 문자를 사용하는 객체에 사용할 수 있습니다.

예를 들어 한 객체 이름을 /europe/france/paris.jpg로 지정하고 다른 객체 이름을 /europe/france/cannes.jpg로 지정할 수 있습니다. 그러면 Cloud Console을 사용할 때 이러한 객체가 마치 europe 폴더와 france 폴더 아래의 계층적 디렉터리 구조에 있는 것처럼 이들 객체로 이동할 수 있습니다.

객체 이름을 바꾸는 방법을 포함한 자세한 내용은 객체 이름 지정 가이드라인을 참조하세요.

객체 불변성

객체는 변경이 불가능합니다. 즉, 스토리지 전체 기간 동안 업로드한 객체를 변경할 수 없습니다. 객체의 스토리지 전체 기간은 업로드와 같은 성공적인 객체 생성과 성공적인 객체 삭제 사이의 시간입니다. 즉, 추가 작업이나 자르기 작업과 같이 객체를 점진적으로 변경할 수 없습니다. 하지만 Cloud Storage에 저장된 객체를 대체할 수 있으며 이 작업은 원자적으로 수행됩니다. 즉, 새 업로드가 완료될 때까지 이전 버전의 객체가 리더에 제공되고 업로드가 완료되면 새 버전의 객체가 리더에 제공됩니다. 따라서 대체 작업 하나는 불변 객체 하나의 수명 기간이 끝나고 새로운 불변 객체 수명 기간이 시작됨을 나타낼 뿐입니다.

객체의 세대 번호는 객체 데이터를 바꿀 때마다 변경됩니다. 따라서 세대 번호는 변경할 수 없는 객체를 고유하게 식별합니다.

동일한 객체를 빠르게 바꿀 수 있는 초당 1회 한도가 있습니다. 동일한 객체를 자주 교체하면 429 Too Many Requests 오류가 발생할 수 있습니다. 초당 1회 이하로 특정 객체의 데이터를 업로드하고 잘린 지수 백오프를 사용하여 비정기적으로 429 Too Many Requests 오류를 처리하도록 애플리케이션을 설계해야 합니다.

리소스

리소스는 Google Cloud 내의 항목입니다. Google Cloud에서 각 프로젝트, 버킷, 객체는 Compute Engine 인스턴스와 같은 하나의 리소스입니다.

리소스 이름

각 리소스에는 파일 이름과 마찬가지로 리소스를 식별하는 고유 이름이 있습니다. 버킷에는 projects/_/buckets/BUCKET_NAME 형태의 리소스 이름이 있으며, 여기서 BUCKET_NAME은 버킷 ID입니다. 객체에는 projects/_/buckets/BUCKET_NAME/objects/OBJECT_NAME 형태의 리소스 이름이 있으며, 여기서 OBJECT_NAME은 객체 ID입니다.

리소스 이름 끝에 추가되는 #NUMBER는 객체의 특정 세대를 나타냅니다. #0은 객체의 가장 최신 버전을 나타내는 특별 식별자입니다. 객체 이름이 문자열 끝에 있어 세대 번호로 해석될 우려가 있는 경우에 #0을 추가하면 유용합니다.

네트워크 사용량

네트워크 사용량은 Cloud Storage에서 전송하거나 수신한 데이터를 나타냅니다.

이그레스는 HTTP 응답으로 Cloud Storage에서 전송되는 데이터를 나타냅니다. Cloud Storage 버킷에서 읽은 데이터 또는 메타데이터는 이그레스의 예시입니다.

인그레스는 HTTP 요청으로 Cloud Storage에 전송되는 데이터를 나타냅니다. Cloud Storage 버킷에 기록된 데이터 또는 메타데이터는 인그레스의 예시입니다.

자세한 내용은 Cloud Storage 가격 책정Cloud Storage 할당량을 참조하세요.

지리적 중복

지리적 중복 데이터는 최소 100마일 이상 떨어진 두 곳 이상의 지리적 장소에 중복 저장됩니다. 멀티 리전 및 이중 리전에 저장된 객체는 스토리지 클래스에 관계없이 데이터 복제로 인해 지리적으로 중복됩니다.

  • 이중 리전의 경우 별도의 두 리전을 사용하여 지리적 중복을 구현합니다.

  • 멀티 리전의 경우 지정된 멀티 리전 내에 데이터 센터 조합을 사용하여 지리적 중복을 구현합니다(사용 가능한 리전으로 명시적으로 나열되지 않은 데이터 센터 포함 가능).

지리적 중복성은 비동기적으로 발생하지만, 모든 Cloud Storage 데이터는 사용자가 업로드하는 즉시 최소한 한 곳 이상의 지리적 장소에서 중복됩니다. 예를 들어 모든 Cloud Storage 데이터는 같은 리전에 있는 2개 이상의 영역에 중복됩니다.

대부분의 객체는 몇 분 내에 지리적으로 중복되지만 일부 객체는 복제하는 데 시간이 더 오래 걸릴 수 있습니다.

지리적 중복성은 자연재해와 같은 대규모 장애 발생 시에도 최대한의 데이터 가용성을 보장합니다. 드물게 발생하는 리전 전체 중단의 경우에도 지리적 중복 위치의 버킷은 사용 가능한 상태로 유지되고, 스토리지 경로를 변경할 필요가 없습니다. 중단 없는 서비스를 위해서는 Compute Engine 인스턴스와 같은 다른 제품도 지리적 중복으로 설정해야 합니다.

터보 복제

터보 복제는 추가 비용으로 지정된 이중 리전 버킷에 사용할 수 있는 프리미엄 기능입니다. 이 기능은 더 짧고 예측 가능한 복구 지점 목표(RPO)를 제공하여 데이터 손실 노출 위험을 줄이는 데 도움이 됩니다. 터보 복제는 작성, 재작성, 복사, 조합 작업과 관련된 새로 작성된 Cloud Storage 객체를 15분의 목표 시간 내에 별도의 리전으로 비동기적으로 복제하도록 설계되었습니다.

다음 단계

직접 사용해 보기

Google Cloud를 처음 사용하는 경우 계정을 만들어 실제 시나리오에서 Cloud Storage의 성능을 평가할 수 있습니다. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.

Cloud Storage 무료로 사용해 보기