카테고리 없음

[GCP-7] GCS (google Cloud Storage)

솜정 2022. 1. 16. 09:00

0. 지난 글

[GCP-1] 구글 클라우드 기본 개념

https://ejtag.tistory.com/23

[GCP-2] 구글 클라우드 실습 준비

https://ejtag.tistory.com/24

[GCP-3] 구글 클라우드 IAM

https://ejtag.tistory.com/25

[GCP-4] Compute Engine

https://ejtag.tistory.com/26

[GCP-5] VPC

https://ejtag.tistory.com/27

[GCP-6] Cloud Load Balancing

https://ejtag.tistory.com/29

 

8. GCS (google cloud storage)

8.1 GCS란?

google cloud storage

GCS는 Google cloud platform의 대표적인 객체 Repository이다.

이를 이용하면 데이터 양에 관계없이 언제, 어디서나 데이터를 저장하고 이를 가져올 수 있다.

콘텐츠 제공, 백업 데이터 저장, 사용자에게 대량의 데이터 객체를 배포하는 목적으로 사용할 수 있다.

아마존 AWS 의 'S3'와 비슷한 역할이다.

 

8.2 GCS의 주요 개념

- 프로젝트

- 버킷 : 데이터를 담는 개념이다. GCS에서 저장하는 모든 데이터들은 버킷에 포함되어야 한다. 디렉터리나 폴더 개념과 다르게 버킷 안에 또 다른 버킷을 만들 수 없다. 버킷은 전역에서 고유성이 있어야 하기 때문에 GCP 전체에서 고유한 이름을 사용해야 한다. 

- Repository 등급 : 버킷을 생성할때 저장할 데이터의 특징에 따라 Repository 등급이 나뉘게 된다. Multi-reginal storage, regional storage, nearline stoage, coldline storage 4가지로 구분이 된다.

- 객체 : 버킷에 저장되는 파일들이다. 객체에는 크게 '객체 데이터'(저장되는 파일 내용)와 '객체 메타데이터'(키-값 형태로 구성) 두 가지로 구성요소를 가진다. 

- 지리적 중복 : 최소 100마일 이상 떨어진 두 곳 이상의 중복 저장이 되기 때문에 자연재해와 같은 대규모 장애 발생 시에도 최대한의 데이터 가용성을 보장한다.

- 객체 불변성 : 객체는 변경이 불가하다. 만약 변경을 하고 싶으면 삭제 후 다시 업로드해야한다.

 

8.3 Repository 등급 차이 및 비고

- Multi-reginal storage : 자주 액세스 되는 데이터를 저장하는데 적합하다. 가장 높은 가용성을 제공하며 지리적 중복을 제공하여 최소 약 160km 이상 떨어진 2곳 이상의 지리적 장소에 중복이 되기 때문에 자연재해 같은 대규모 장애 발생 시에도 최대한의 데이터 가용성을 보장한다.

- regional storage : 대규모 지리적 영역에서 중복을 분산시키는 대신 특정 지역 위치에 저렴한 비요으로 데이터를 저장할 수 있다. 동일한 지역 위치에 데이터를 저장하는데 적합하다. 이렇게 하면 데이터 집약적인 계산에서 다중 지역 위치에 데이터를 저장할 때보다 높은 성능을 얻을 수 있고 네트워크 요금도 줄일 수 있다.

- nearline stoage : 자주 액세스 하지 않는 데이터를 저장하는데 적합하다. 가용성이 위 두 개보다 낮으나 비용이 합리적이다.

- coldline storage : 저장 비용이 가장 저렴하여 데이터 보관 및 온라인 백업을 위한 repository로 적합하다.  

 

8.4. gsutil 명령어 살펴보기

gsutil은 CLI 환경에서 GCS에 액세스 할 수 있는 명령어로 다음과 같은 작업을 할 수 있다.

- 버킷 생성, 삭제

- 객체 업로드, 다운로드, 삭제

- 버킷 및 객체 나열

- 객체 이동, 복사, 이름 바꾸기

- 객체 및 버킷의 ACL 수정

GCS는 다음과 같은 형태의 URI로 리소스를 나타낸다.

gs://[버킷 이름]/[객체 이름]

 

[실습 8.1 - 버킷 만들기]

메뉴 > Cloud Storage > 버킷 만들기 메뉴에 접근해 Standard 클래스를 선택하고 만들기 클릭한다.

 

[실습 8.2 - 객체 업로드 및 다운로드]

아까 만든 버킷에 들어가 '파일 업로드' 버튼 클릭해 test file_byej.txt파일을 업로드한다.

 

 

[실습 8.3 - 버킷 및 파일 권한 수정]

엑세스 수정 메뉴 > 주구성원 추가 클릭한다.
모든 사람에게 읽기 권한을 부여한다.
저장소 기존 개체 리더에 allUsers가 추가되었다.
각 업로드 된 파일 오른쪽 햄버그 표시를 누르면 동개 URL 및 각 파일에 대한 권한수정도 할 수 있음
각 파일 공개 URL 접근 사진

[실습 8.4 - gsutil 명령어]

1. 사전 작업

gcloud componets install gsutil

gsutil 설치

gcloud auth login

로그인 

gcloud config set project [프로젝트명]

프로젝트 선택

 

2. 내 GCS 내의 버킷 리스트 보기

3. 버킷 내부의 파일 보기

4. 버킷 전체 사용량 확인

5. 버킷 삭제

gsutil rb gs://[버킷이름]

 

6. 로컬 -> 버킷으로 파일 복사(업로드)

cp 명령어 말고도 mv도 가능하다.

7. 버킷 -> 로컬로 파일 복사 (다운로드)

cp 명령어 말고도 mv도 가능하다.

8. 버킷 내 파일 삭제

9. 버킷 안에 있는 파일의 자세한 정보 보기