Cloud Storage 제품 개요

이 페이지에서는 Cloud Storage와 작동 방식을 간략하게 설명합니다.

Cloud Storage는 Google Cloud에 객체를 저장하는 서비스입니다. 객체는 모든 형식의 파일로 구성된 변경할 수 없는 데이터 조각입니다. 객체를 버킷이라는 컨테이너에 저장합니다. 버킷에는 관리형 폴더도 포함될 수 있으며, 이 폴더를 사용하여 공유 이름 프리픽스가 있는 객체 그룹에 확장된 액세스 권한을 제공할 수 있습니다.

모든 버킷은 프로젝트와 연결되며, 프로젝트를 조직 아래에 그룹화할 수 있습니다. Google Cloud의 각 프로젝트, 버킷, 관리형 폴더, 객체는 Compute Engine 인스턴스와 같은 Google Cloud의 리소스입니다.

프로젝트를 만든 후 Cloud Storage 버킷을 만들고, 버킷에 객체를 업로드하고, 버킷에서 객체를 다운로드할 수 있습니다. 또한 지정된 주 구성원 또는 공개 인터넷의 모든 사용자가 데이터에 액세스 가능하도록 권한을 부여할 수 있습니다.

Google Cloud 계층 구조

Cloud Storage 구조가 실제 사례에 적용되는 방법은 다음과 같습니다.

  • 조직: Example Inc.라는 회사에서 exampleinc.org라는 Google Cloud 조직을 만듭니다.

  • 프로젝트: Example Inc.는 여러 애플리케이션을 빌드하며 각 애플리케이션은 프로젝트와 연결됩니다. 각 프로젝트에는 자체 Cloud Storage API 세트와 기타 리소스가 있습니다.

  • 버킷: 각 프로젝트에는 객체를 저장할 컨테이너인 버킷이 여러 개 포함될 수 있습니다. 예를 들어 앱이 생성하는 모든 이미지 파일을 위한 photos 버킷 및 별도의 videos 버킷을 만들 수 있습니다.

  • 객체: 각 버킷에는 puppy.png라는 이미지와 같은 개별객체를 본질적으로 무제한 포함할 수 있습니다.

  • 관리형 폴더: 각 버킷에는 여러 관리형 폴더가 포함될 수 있으며, 이러한 폴더는 전체 버킷에 부여된 액세스 권한 이상의 추가 액세스 권한을 부여합니다. 이 추가 액세스 권한은 관리형 폴더 이름과 일치하는 프리픽스가 있는 객체에 적용됩니다. 예를 들어 지정된 사용자에게 animals/puppy.pnganimals/kitten.png와 같은 객체에 대한 추가 액세스 권한을 부여하는 animals/ 관리형 폴더를 만들 수 있습니다.

Cloud Storage용 기본 도구

다음은 Cloud Storage와 상호작용할 수 있는 기본적인 몇 가지 방법입니다.

  • 콘솔: Google Cloud 콘솔은 브라우저에서 데이터를 관리할 수 있는 시각적 인터페이스를 제공합니다.

  • Google Cloud CLI: gcloud CLIgcloud storage 명령어를 사용하여 터미널을 통해 Cloud Storage와 상호작용할 수 있도록 합니다.

  • 클라이언트 라이브러리: Cloud Storage 클라이언트 라이브러리로 C++, C#, Go, 자바, Node.js, PHP, Python, Ruby 등 선호하는 언어 중 하나를 사용하여 데이터를 관리할 수 있습니다.

  • REST API: JSON 또는 XML API를 사용하여 데이터를 관리합니다.

  • Terraform: Terraform은 Cloud Storage의 인프라를 프로비저닝하는 데 사용할 수 있는 코드형 인프라(IaC) 도구입니다.

  • Cloud Storage FUSE: Cloud Storage FUSE를 사용하면 Cloud Storage 버킷을 로컬 파일 시스템에 마운트할 수 있습니다. 이렇게 하면 애플리케이션이 표준 파일 시스템 시맨틱스를 사용하여 버킷에서 읽거나 버킷에 쓸 수 있습니다.

데이터 보안

객체를 Cloud Storage에 업로드하면 데이터를 보호하고 공유하는 방법을 세밀하게 제어할 수 있습니다. 다음은 Cloud Storage에 업로드하는 데이터를 보호하는 몇 가지 방법입니다.

  • Identity and Access Management: IAM을 사용하여 Google Cloud 프로젝트의 리소스에 액세스할 수 있는 사용자를 관리합니다. 리소스에는 Cloud Storage 버킷과 객체는 물론 Compute Engine 인스턴스와 같은 다른 Google Cloud 항목도 포함됩니다. update, create, delete 등 버킷과 객체에 대한 특정 유형의 액세스 권한을 주 구성원에게 부여할 수 있습니다.

  • 데이터 암호화: Cloud Storage는 기본적으로 서버 측 암호화를 사용하여 데이터를 암호화합니다. 고객 관리 암호화 키고객 제공 암호화 키와 같은 보조 데이터 암호화 옵션을 사용할 수도 있습니다.

  • 인증: 데이터에 액세스하는 모든 사용자에게 적절한 사용자 인증 정보가 있는지 확인합니다.

  • 버킷 잠금: 보관 정책을 지정하여 버킷의 객체를 보관할 기간을 지정합니다.

  • 소프트 삭제: 최근에 삭제된 객체를 보존하여 실수로 인한 삭제나 악의적인 삭제로부터 데이터 영구 손실을 방지합니다. 기본적으로 Cloud Storage는 보관 기간이 7일인 모든 버킷에 소프트 삭제를 사용 설정합니다.

  • 객체 버전 관리: 객체 버전 관리를 사용 설정하면 교체되거나 삭제되는 객체의 라이브 버전을 현재 외 버전으로 유지할 수 있습니다.

리소스 이름

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

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

빠른 시작 가이드

Cloud Storage 사용의 기본 사항을 알아보려면 다음 가이드를 참조하세요.

다른 제품을 찾고 계신가요?

Cloud Storage가 적합한 스토리지 솔루션이 아닌 경우 다음 스토리지 서비스에 대한 자세한 내용을 참조하세요.

  • Google Drive: 개인 파일을 저장, 관리, 공유합니다.
  • Firebase용 Cloud Storage: 모바일 애플리케이션의 데이터를 관리합니다.
  • Persistent Disk: Compute Engine 가상 머신에 블록 스토리지를 추가합니다.
  • Filestore: GKE 클러스터에 멀티 작성자 액세스에 사용되는 파일 스토리지를 추가합니다.

다음 단계