gcloud 도구로 객체 스토리지 탐색
이 페이지는 gcloud 명령줄 도구를 사용하여 Cloud Storage에서 기본 태스크를 수행하는 방법을 설명합니다.
Cloud Storage에서 발생하는 비용은 사용한 리소스에 따라 결정됩니다. 이 빠른 시작은 일반적으로 $0.01 USD 미만의 Cloud Storage 리소스를 사용합니다.
시작하기 전에
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, click Create project to begin creating a new Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, click Create project to begin creating a new Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
버킷 만들기
버킷은 Cloud Storage에서 데이터를 보관하는 기본 컨테이너입니다.
버킷을 만드는 방법은 다음과 같습니다.
- 터미널 창을 엽니다.
gcloud storage buckets create
명령어와 고유한 이름을 사용하여 버킷을 만듭니다.gcloud storage buckets create gs://my-awesome-bucket/ --uniform-bucket-level-access
여기서는 'my-awesome-bucket'이라는 이름의 버킷을 사용합니다. 전역적으로 고유한 버킷 이름을 직접 선택해야 합니다.
성공하면 명령어가 다음을 반환합니다.
Creating gs://my-awesome-bucket/...
이제 데이터를 저장할 수 있는 버킷을 만들었습니다.
Creating gs://my-awesome-bucket/... ServiceException: 409 Bucket my-awesome-bucket already exists.
다른 버킷 이름으로 다시 시도하세요.
버킷에 객체 업로드
위의 이미지를 마우스 오른쪽 버튼으로 클릭하고 바탕화면과 같은 컴퓨터의 특정 위치에 저장합니다.
gcloud storage cp
명령어를 사용하여 이미지를 저장한 위치에서 생성된 버킷으로 복사합니다.gcloud storage cp Desktop/kitten.png gs://my-awesome-bucket
성공하면 명령어가 다음을 반환합니다.
Copying file://Desktop/kitten.png [Content-Type=image/png]... Uploading gs://my-awesome-bucket/kitten.png: 0 B/164.3 KiB Uploading gs://my-awesome-bucket/kitten.png: 164.3 KiB/164.3 KiB
이제 객체가 버킷에 저장되었습니다.
버킷에서 객체 다운로드
gcloud storage cp
명령어를 사용하여 버킷에 저장된 이미지를 데스크톱과 같은 컴퓨터의 다른 위치로 다운로드합니다.gcloud storage cp gs://my-awesome-bucket/kitten.png Desktop/kitten2.png
성공하면 명령어가 다음을 반환합니다.
Copying gs://my-awesome-bucket/kitten.png... Downloading file://Desktop/kitten2.png: 0 B/164.3 KiB Downloading file://Desktop/kitten2.png: 164.3 KiB/164.3 KiB
이제 버킷에서 파일을 다운로드했습니다.
버킷의 폴더에 객체 복사
gcloud storage cp
명령어를 사용하여 폴더를 만들고 폴더에 이미지를 복사합니다.gcloud storage cp gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/kitten3.png
성공하면 명령어가 다음을 반환합니다.
Copying gs://my-awesome-bucket/kitten.png [Content-Type=image/png]... Copying ...my-awesome-bucket/just-a-folder/kitten3.png: 164.3 KiB/164.3 KiB
이제 버킷의 새 폴더에 이미지를 복사했습니다.
버킷 또는 폴더 콘텐츠 목록 표시하기
gcloud storage ls
명령어를 사용하여 버킷의 최상위 수준에 있는 콘텐츠를 나열합니다.gcloud storage ls gs://my-awesome-bucket
성공하면 명령어가 다음과 유사한 메시지를 반환합니다.
gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/
이제 버킷의 최상위 수준에서 콘텐츠를 확인할 수 있습니다.
객체 세부정보 표시하기
gcloud storage ls
명령어와--long
플래그를 함께 사용하여 이미지 중 하나에 대한 일부 세부정보를 가져옵니다.gcloud storage ls gs://my-awesome-bucket/kitten.png --long
성공하면 명령어가 다음과 유사한 메시지를 반환합니다.
2638 2016-02-26T23:05:14Z gs://my-awesome-bucket/kitten.png TOTAL: 1 objects, 168243.2 bytes (164.3 KiB)
이제 이미지 크기와 생성 날짜에 대한 정보를 가져왔습니다.
객체를 공개적으로 액세스 가능하도록 설정
gcloud storage buckets add-iam-policy-binding
명령어를 사용하여 모든 사용자가 버킷에 저장된 이미지를 읽을 수 있는 권한을 부여합니다.gcloud storage buckets add-iam-policy-binding gs://my-awesome-bucket --member=allUsers --role=roles/storage.objectViewer
응답에 다음이 포함되어 있으면 명령어가 성공한 것입니다.
bindings: - members: - allUsers role: roles/storage.objectViewer
이제 누구나 이미지를 가져올 수 있습니다.
이 액세스 권한을 삭제하려면 다음 명령어를 사용합니다.
gcloud storage buckets remove-iam-policy-binding gs://my-awesome-bucket --member=allUsers --role=roles/storage.objectViewer
오류가 반환되지 않으면 명령어가 성공한 것입니다.
버킷에 있는 이미지에 대한 공개 액세스 권한을 삭제했습니다.
특정 사용자에게 버킷 액세스 권한 부여
gcloud storage buckets add-iam-policy-binding
명령어를 사용하여 버킷에 객체를 추가할 수 있는 특정 이메일 주소 권한을 부여합니다.gcloud storage buckets add-iam-policy-binding gs://my-awesome-bucket --member=user:jane@gmail.com --role=roles/storage.objectCreator
응답에 다음이 포함되어 있으면 명령어가 성공한 것입니다.
bindings: - members: - user:jane@gmail.com role: roles/storage.objectCreator
이제 다른 사용자가 버킷에 항목을 추가할 수 있습니다.
이 권한을 삭제하려면 다음 명령어를 사용합니다.
gcloud storage buckets remove-iam-policy-binding gs://my-awesome-bucket --member=user:jane@gmail.com --role=roles/storage.objectCreator
오류가 반환되지 않으면 명령어가 성공한 것입니다.
이 버킷에 대한 사용자 액세스 권한을 삭제했습니다.
객체 삭제
gcloud storage rm
명령어를 사용하여 이미지 중 하나를 삭제합니다.gcloud storage rm gs://my-awesome-bucket/kitten.png
성공하면 명령어가 다음을 반환합니다.
Removing gs://my-awesome-bucket/kitten.png...
이 이미지 사본은 더 이상 Cloud Storage에 저장되어 있지 않습니다(
just-a-folder/
폴더에 복사한 사본은 여전히 존재함).
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
- 터미널 창을 엽니다(열려 있지 않은 경우).
--recursive
플래그와 함께gcloud storage rm
명령어를 사용하여 버킷과 해당 콘텐츠를 삭제합니다.gcloud storage rm gs://my-awesome-bucket --recursive
성공하면 명령어가 다음과 유사한 메시지를 반환합니다.
Removing gs://my-awesome-bucket/just-a-folder/cloud-storage.logo.png#1456530077282000... Removing gs://my-awesome-bucket/...
버킷과 콘텐츠가 삭제되었습니다.
다음 단계
- Cloud Storage 가격 책정 알아보기
- 버킷 만들기(
buckets create
), 복사(cp
), 나열(ls
), 액세스 추가(buckets add-iam-policy-binding
), 삭제(rm
)와 같은 Google Cloud CLI 명령어의 참조 페이지 보기