arrow_back

Google Cloud 콘솔 및 Cloud Shell에 액세스하기

로그인 가입
지식을 테스트하고 커뮤니티와 공유하기
done
700개 이상의 실무형 실습, 기술 배지, 과정에 액세스

Google Cloud 콘솔 및 Cloud Shell에 액세스하기

실습 1시간 universal_currency_alt 크레딧 5개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
지식을 테스트하고 커뮤니티와 공유하기
done
700개 이상의 실무형 실습, 기술 배지, 과정에 액세스

개요

이 실습에서는 Google Cloud 웹 기반 인터페이스를 알아봅니다. 두 가지 통합 환경을 사용할 수 있습니다.

  • GUI 환경인 Google Cloud Console
  • Cloud SDK의 명령어가 사전 설치되어 있는 명령줄 인터페이스 Cloud Shell

이 과정에서는 두 가지 환경을 모두 사용합니다.

Google Cloud Console에 관해 몇 가지 사항을 알아야 합니다.

  • Google Cloud 콘솔은 지속적으로 개발되고 있으므로 때때로 그래픽 레이아웃이 변경될 수도 있습니다. 이러한 변경은 보통 새로운 Google Cloud 기능이나 기술 변화를 반영하기 위해 이루어지며 이에 따라 워크플로가 약간 달라질 수 있습니다.
  • Google Cloud 콘솔에서는 가장 일반적인 Google Cloud 작업을 실행할 수 있습니다. 새로운 기능이 Google Cloud 콘솔에서 제공되기 전에 Cloud SDK에서 구현되기도 합니다.
  • Google Cloud Console은 어떤 활동에는 매우 빠릅니다. Google Cloud Console은 많은 명령줄 작업이 필요할 수 있는 여러 작업을 개발자 대신 실행할 수 있습니다.
  • Cloud SDK의 명령어는 자동화를 위한 중요한 도구입니다.

목표

이 실습에서는 다음 작업을 실행하는 방법을 알아봅니다.

  • Google Cloud Console 및 Cloud Shell에 액세스하는 방법을 알아봅니다.
  • Google Cloud 콘솔을 알아봅니다.
  • Cloud Shell 편집기를 포함해 Cloud Shell 기능을 알아봅니다.
  • Google Cloud 콘솔과 Cloud Shell을 사용하여 버킷과 VM, 서비스 계정을 만듭니다.
  • Cloud Shell에서 다른 명령어를 실행합니다.

실습 설정

Qwiklabs에 액세스

각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.

  1. 시크릿 창을 사용하여 Qwiklabs에 로그인합니다.

  2. 실습 사용 가능 시간(예: 1:15:00)을 참고하여 해당 시간 내에 완료합니다.
    일시중지 기능은 없습니다. 필요한 경우 다시 시작할 수 있지만 처음부터 시작해야 합니다.

  3. 준비가 되면 실습 시작을 클릭합니다.

  4. 실습 사용자 인증 정보(사용자 이름비밀번호)를 기록해 두세요. Google Cloud Console에 로그인합니다.

  5. Google Console 열기를 클릭합니다.

  6. 다른 계정 사용을 클릭한 다음, 안내 메시지에 실습에 대한 사용자 인증 정보를 복사하여 붙여넣습니다.
    다른 사용자 인증 정보를 사용하는 경우 오류가 발생하거나 요금이 부과됩니다.

  7. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.

초기 로그인 단계를 완료하면 프로젝트 대시보드가 표시됩니다.

Google Cloud 프로젝트 대시보드

작업 1. Google Cloud Console 살펴보기

이 작업에서는 Google Cloud Console을 살펴보고 리소스를 만듭니다.

프로젝트가 선택되어 있는지 확인

  1. Google Cloud 콘솔 제목 표시줄에서 프로젝트 선택 드롭다운 목록을 클릭하고 Qwiklabs가 사용자 인증 정보와 함께 제공한 프로젝트 ID를 선택합니다.

  2. 프로젝트 ID는 [qwiklabs-gcp-] 뒤에 긴 16진수 숫자가 오는 형식을 취합니다.

  3. 취소를 클릭하여 대화상자를 닫습니다.

제목 표시줄에 다음 스크린샷과 같이 프로젝트 ID가 표시됩니다. Qwiklabs 환경의 각 실습에는 고유한 프로젝트 ID는 물론 고유한 사용자 인증 정보가 있습니다.

프로젝트 ID가 표시된 제목 표시줄

Google Cloud Storage로 이동하여 버킷 만들기

Cloud Storage를 사용하면 데이터 양에 관계없이 언제 어디서나 데이터를 저장하고 가져올 수 있습니다. Cloud Storage는 웹사이트 콘텐츠 제공, 보관처리 및 재해 복구를 위한 데이터 저장, 직접 다운로드를 통해 사용자에게 대량의 데이터 객체 배포 등 다양한 용도로 사용할 수 있습니다.

Cloud Storage 버킷의 이름은 전역적으로 고유해야 합니다. 조직에서는 Google Cloud의 Cloud Storage 가이드 권장사항을 따라야 합니다. 이 실습에서는 Qwiklabs에서 제공된 Google Cloud 프로젝트 ID를 사용하여 버킷의 고유한 이름을 쉽게 가져올 수 있습니다. Google Cloud 프로젝트 ID도 전역적으로 고유하기 때문입니다.

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 Cloud 개요 > 대시보드를 클릭합니다.

  2. 표시되는 화면의 대시보드 탭에 있는 프로젝트 정보 섹션에 Google Cloud 프로젝트 ID가 표시됩니다.

  3. 프로젝트 ID를 선택 및 복사합니다. 프로젝트 ID는 Qwiklabs에서 자동으로 생성되기 때문에 [qwiklabs-gcp-] 뒤에 긴 16진수 숫자가 오는 형식을 취합니다.

  4. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 Cloud Storage > 버킷을 클릭합니다.

  5. 버킷 만들기를 클릭합니다.

  6. 이름에는 이전 단계에서 복사한 Google Cloud 프로젝트 ID 문자열을 붙여넣습니다. 이 실습 안내에서는 학습자가 입력한 이름을 향후 [BUCKET_NAME]이라고 지칭합니다.

  7. 계속을 클릭합니다.

  8. 위치 유형의 경우 리전을 선택하고 드롭다운에서 리전을 선택합니다.

  9. 계속을 클릭합니다.

  10. 객체 액세스 제어 방식 선택을 클릭하고 이 버킷에 공개 액세스 방지 적용을 선택 해제한 후 세분화를 선택합니다.

  11. 계속을 클릭합니다.

  12. 나머지 설정은 모두 기본값으로 둡니다.

  13. 만들기를 클릭합니다.

참고: Google Cloud 콘솔에는 알림(알림 아이콘) 아이콘이 있습니다. 기본 명령어의 피드백이 여기에 표시되기도 합니다. 아이콘을 클릭하여 추가 정보 및 기록에 관한 알림을 확인할 수 있습니다.

가상 머신(VM) 인스턴스 만들기

Google Compute Engine은 Google의 데이터 센터와 네트워크에서 서비스로 실행되는 가상 머신을 제공합니다. Google Kubernetes Engine은 Compute Engine을 아키텍처의 구성요소로 활용합니다. 따라서 Google Kubernetes Engine을 학습하기 전에 Compute Engine에 관해 알아두면 좋습니다.

  1. 탐색 메뉴(탐색 메뉴 아이콘)에서 Compute Engine > VM 인스턴스를 클릭합니다.
  2. 인스턴스 만들기를 클릭합니다.
  3. 이름에서 first-vm을 인스턴스 이름으로 입력합니다.
  4. 리전에서 리전을 선택합니다.
  5. 영역에서 영역을 선택합니다.
  6. 머신 유형에서 옵션을 확인합니다.
참고: 머신 유형 메뉴에는 가상 CPU 수, 메모리의 양, 기호화된 이름(예: e2-medium)이 나열됩니다. 기호화된 이름은 gcloud 명령어를 사용하여 VM을 만들 때 머신 유형 선택에 사용하는 파라미터입니다. 리전과 영역, 머신 유형 오른쪽에는 월별 예상 비용이 있습니다.
  1. 예상 비용 분석을 확인하려면 예상 비용 아래 머신 유형 목록 오른쪽에 있는 세부정보를 클릭합니다.
  2. 머신 유형에서 2 vCPU(e2-standard-2)를 클릭합니다.

비용이 어떻게 변경되었나요?

  1. 머신 유형에서 e2-micro(2개의 공유 vCPU)를 클릭합니다.

초소형 머신은 저렴한 공유 코어 VM입니다.

  1. 방화벽에서 HTTP 트래픽 허용을 클릭합니다.
  2. 나머지 설정은 기본값으로 두고 만들기를 클릭합니다.

새로운 VM이 생성될 때까지 기다립니다.

VM 세부정보 살펴보기

  1. VM 인스턴스 페이지에서 VM 이름(first-vm)을 클릭합니다.
  2. 머신 구성에서 CPU 플랫폼의 값을 확인한 후 수정을 클릭합니다.
  3. 상단에 있는 연필 아이콘을 클릭하여 first-vm 인스턴스를 수정합니다.
참고: 머신 유형이나 CPU 플랫폼, 실행 중인 Google Cloud VM의 영역은 변경할 수 없습니다. 네트워크 태그를 추가하고 방화벽을 통해 인터넷에서 들어오는 특정 네트워크 트래픽을 허용할 수 있습니다.

일부 VM 속성은 VM에 반드시 필요하며 VM이 생성될 때 설정되고 변경할 수 없습니다. 다른 속성은 수정할 수 있습니다. 예를 들어 디스크를 추가할 수 있고, 인스턴스 삭제 시 부팅 디스크도 삭제할지 여부를 결정할 수 있습니다.
  1. 아래로 스크롤하여 관리 섹션으로 이동한 후 가용성 정책을 확인합니다.
참고: Compute Engine은 선점형 VM 인스턴스를 제공합니다. 이 인스턴스는 시간당 비용이 덜 들지만 언제든지 Google Cloud에서 종료할 수 있습니다. 이러한 선점형 인스턴스를 사용하면 비용을 대폭 절감할 수 있지만 워크로드가 중단되어도 괜찮은지 확인해야 합니다.

비선점형 인스턴스는 선점형 인스턴스로 변환할 수 없습니다. 인스턴스의 유형은 VM 생성 시 결정해야 합니다.

어떤 이유로든 VM이 중지되는 경우(예: 정전 또는 하드웨어 고장) 자동 다시 시작 기능에서 백업을 시작합니다. 이러한 동작이 필요하신가요? 사용하는 애플리케이션이 멱등성(두 번째 시작을 올바르게 처리하도록 작성됨)을 갖나요?

호스트를 유지관리하는 동안 VM은 라이브 마이그레이션이 이뤄지도록 설정되지만 마이그레이션하는 대신 VM을 종료하도록 설정할 수도 있습니다.

변경하는 경우, 특히 방화벽 추가나 외부 IP 변경과 같이 네트워크도 변경해야 하는 경우 구현에 몇 분 정도 걸릴 수 있습니다.
  1. 취소를 클릭합니다.

IAM 서비스 계정 만들기

IAM 서비스 계정은 개별 최종 사용자가 아닌 애플리케이션이나 가상 머신에 속하는 특수한 Google 계정 유형입니다.

  1. 탐색 메뉴에서 IAM 및 관리자 > 서비스 계정을 클릭합니다.
  2. + 서비스 계정 만들기를 클릭합니다.
  3. 서비스 계정 세부정보 페이지에서 서비스 계정 이름test-service-account로 지정합니다.
  4. 만들고 계속하기를 클릭합니다.
  5. 이 서비스 계정에 프로젝트에 대한 액세스 권한 부여 페이지에서 역할을 기본 > 편집자로 지정합니다.
  6. 계속을 클릭합니다.
  7. 완료를 클릭합니다.
  8. 서비스 계정 페이지에서 test-service-account의 맨 오른쪽으로 이동하여 점 3개를 클릭합니다.
  9. 키 관리를 클릭합니다.
  10. 키 추가를 클릭합니다.
  11. 새 키 만들기를 선택합니다.
  12. 키 유형으로 JSON을 선택합니다.
  13. 만들기를 클릭합니다.

JSON 키 파일이 다운로드됩니다. 이후 단계에서 이 키 파일을 찾아 VM에 업로드합니다.

  1. 닫기를 클릭합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 버킷, 필수 방화벽 규칙이 있는 VM 인스턴스, IAM 서비스 계정을 만듭니다.

작업 2. Cloud Shell 살펴보기

Cloud Shell을 사용하면 브라우저에서 직접 명령줄을 통해 클라우드 리소스에 액세스할 수 있습니다. Cloud Shell을 통해 gcloud와 같은 Cloud SDK 명령줄 도구를 항상 사용할 수 있고 완전히 인증된 최신 상태로 유지할 수 있습니다.

Cloud Shell이 제공하는 기능은 다음과 같습니다.

  • 임시 Compute Engine VM
  • 브라우저를 통해 인스턴스에 명령줄로 액세스
  • 영구 디스크 저장소 5GB($HOME dir)
  • 사전 설치된 Cloud SDK 및 기타 도구
  • gcloud: Compute Engine과 Google Kubernetes Engine(GKE) 및 여러 Google Cloud 서비스 작업에 사용
  • gcloud storagegsutil: Cloud Storage 작업에 사용
  • kubectl: GKE와 Kubernetes 작업에 사용
  • bq: BigQuery 작업에 사용
  • Java, Go, Python, Node.js, PHP, Ruby 언어 지원
  • 웹 미리보기 기능
  • 리소스 및 인스턴스 액세스를 위한 기본 승인 기능

1시간 동안 사용하지 않으면 Cloud Shell 인스턴스가 재활용됩니다. /home 디렉터리만 유지되고 환경 변수를 포함하여 시스템 구성 변경사항은 세션 종료 시 손실됩니다.

이 작업에서는 Cloud Shell을 사용하여 리소스를 만들고 확인합니다.

Cloud Shell을 열고 기능 살펴보기

  1. Google Cloud 콘솔 제목 표시줄에서 Cloud Shell 활성화(Cloud Shell 아이콘)를 클릭합니다.
  2. 확인 메시지가 표시되면 계속을 클릭합니다.

Cloud Shell이 Google Cloud Console 창 하단에 열립니다.

다음 아이콘은 Cloud Shell 툴바의 맨 오른쪽에 있습니다.

  • 숨기기/복원: 이 아이콘은 창을 숨기거나 복원하여 개발자가 Cloud Shell을 닫지 않고도 Google Cloud 콘솔에 완전히 액세스할 수 있도록 합니다.
  • 새 창에서 열기: Cloud Shell을 Google Cloud 콘솔 하단에 두면 개별 명령어를 실행할 때 유용합니다. 그러나 파일을 수정하거나 명령어의 전체 출력을 확인하려고 할 때 이 아이콘을 클릭하면 Cloud Shell이 전체 크기의 터미널 창에 표시됩니다.
  • 탭 모두 닫기: 이 아이콘으로 Cloud Shell을 닫을 수 있습니다. Cloud Shell을 닫을 때마다 가상 머신이 재활용되고 모든 머신 컨텍스트가 손실됩니다. 그러나 홈 디렉터리에 저장한 데이터는 다음에 Cloud Shell을 시작할 때 계속 사용할 수 있습니다.

Cloud Shell을 사용하여 이 작업의 환경 변수 설정

Cloud Shell에서 다음 명령어를 사용하여 이 작업에 사용되는 환경 변수를 정의합니다.

  1. [BUCKET_NAME]을 작업 1의 첫 번째 버킷 이름으로 바꿉니다.
  2. [BUCKET_NAME_2]를 원하는 전역적으로 고유한 이름으로 바꿉니다.
  3. Cloud Shell에서 다음 명령어를 실행하여 환경 변수를 만듭니다.
MY_BUCKET_NAME_1=[BUCKET_NAME] MY_BUCKET_NAME_2=[BUCKET_NAME_2] MY_REGION={{{project_0.default_region | "REGION"}}} 참고: Cloud Shell에서 작업하거나 스크립트를 작성할 때 환경 변수를 만드는 것이 좋습니다. 이러한 환경 변수는 쉽고 일관되게 재사용할 수 있어 작업에서 오류가 발생할 가능성이 작습니다. 참고: [BUCKET_NAME] 같은 전체 자리표시자 문자열을 학습자가 선택한 고유한 이름(예: MY_BUCKET_NAME_1=unique_bucket_name)으로 바꿔야 합니다.

앞서 만든 사용자 인증 정보 파일을 Cloud Shell로 이동

앞서 첫 번째 Cloud IAM 서비스 계정을 만든 작업에서 JSON으로 인코딩된 사용자 인증 정보 파일을 다운로드했습니다.

  1. 로컬 워크스테이션에서 방금 다운로드한 JSON 키를 찾아 파일 이름을 credentials.json으로 바꿉니다.
  2. Cloud Shell에서 Cloud Shell 툴바에 있는 점 3개 메뉴 아이콘(점 3개 메뉴 아이콘)을 클릭하여 추가 옵션을 표시합니다.
  3. 업로드를 클릭하여 로컬 머신의 credentials.json 파일을 선택합니다.
  4. 열기를 클릭합니다.
  5. 업로드를 클릭하여 credentials.json 파일을 Cloud Shell VM으로 전송합니다.
  6. X 아이콘을 클릭하여 파일 업로드 팝업 창을 닫습니다.
  7. Cloud Shell에서 Is를 입력하고 ENTER 키를 눌러 파일이 업로드되었는지 확인합니다.

두 번째 Cloud Storage 버킷을 만들고 Google Cloud 콘솔에서 확인

gcloud storagegsutil 명령어를 사용하면 명령줄에서 Cloud Storage로 작업할 수 있습니다. 이 작업에서는 Cloud Shell에서 gcloud storage 명령어를 사용합니다.

  1. Cloud Shell에서 다음의 gcloud storage 명령어를 사용하여 버킷을 만듭니다.
gcloud storage buckets create gs://$MY_BUCKET_NAME_2 --location={{{project_0.default_region | REGION}}}

메시지가 표시되면 승인을 클릭합니다.

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 Cloud Storage > 버킷을 클릭하거나, 이미 Cloud Storage 페이지에 있는 경우 새로고침을 클릭합니다.

두 번째 버킷이 버킷 목록에 표시됩니다.

gcloud 명령줄을 사용하여 두 번째 가상 머신 만들기

  1. Cloud Shell에서 다음 명령어를 실행하여 지정된 리전의 모든 영역을 나열합니다.
gcloud compute zones list | grep $MY_REGION
  1. 목록에서 첫 번째 열의 영역을 선택합니다. Google Cloud 영역의 이름은 리전 이름, 하이픈, 문자 순으로 구성됩니다.

작업 1의 첫 번째 VM에 사용한 것과 같은 영역 또는 다른 영역을 선택할 수 있습니다.

  1. 다음 명령어를 실행하여 선택한 영역을 환경 변수에 저장합니다.

[ZONE]을 학습자가 선택한 영역으로 바꿉니다.

MY_ZONE=[ZONE]
  1. 다음 명령어를 실행하여 이 영역을 기본 영역으로 설정합니다.
gcloud config set compute/zone $MY_ZONE
  1. 다음 명령어를 실행하여 VM을 만드는 데 사용할 환경 변수에 이름을 저장합니다. 두 번째 VM(second-vm)을 호출합니다.
MY_VMNAME=second-vm
  1. VM 이름을 할당하는 새 환경 변수를 사용하여 이 작업에서 앞서 설정한 기본 영역에 VM을 만듭니다.
gcloud compute instances create $MY_VMNAME \ --machine-type "e2-standard-2" \ --image-project "debian-cloud" \ --image-family "debian-11" \ --subnet "default"
  1. 프로젝트의 가상 머신 인스턴스를 나열합니다.
gcloud compute instances list

새로 만든 가상 머신과 첫 번째 가상 머신이 모두 목록에 표시됩니다.

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 Compute Engine > VM 인스턴스를 클릭합니다. gcloud compute instances list의 출력과 마찬가지로 앞서 만든 가상 머신이 모두 표시됩니다.

  2. External IP 열을 확인합니다. 직접 만든 첫 번째 VM의 외부 IP 주소가 링크로 표시됩니다. 필요한 경우 정보 패널 숨기기 버튼을 클릭하여 External IP 열을 표시합니다. HTTP 트래픽을 허용하도록 이 VM의 방화벽을 구성했기 때문에 Google Cloud 콘솔에서 링크를 제공합니다.

  3. 첫 번째 VM의 External IP 열에서 찾은 링크를 클릭합니다. 브라우저의 새 탭에 Connection refused 메시지가 표시됩니다. 이 메시지가 표시되는 이유는 VM에 대한 HTTP 트래픽을 위해 방화벽 포트가 열려 있지만 VM에서 실행되는 웹 서버가 없기 때문입니다. 방금 만든 브라우저 탭을 닫습니다.

gcloud 명령줄을 사용하여 두 번째 서비스 계정 만들기

  1. Cloud Shell에서 다음 명령어를 실행하여 새 서비스 계정을 만듭니다.
gcloud iam service-accounts create test-service-account2 --display-name "test-service-account2" 참고: 다음과 같이 출력되면 Y를 입력하고 Enter 키를 누릅니다. API [iam.googleapis.com] not enabled on project [560255523887]. Would you like to enable and retry (this will take a few minutes)? (y/N)?
  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 IAM 및 관리자 > 서비스 계정을 클릭합니다.
참고: test-service-account2가 표시될 때까지 페이지를 새로고침합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 두 번째 버킷, VM 인스턴스, IAM 서비스 계정을 만듭니다.

  1. Cloud Shell에서 다음 명령어를 실행하여 두 번째 서비스 계정에 viewer 역할을 부여합니다.
gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT --member serviceAccount:test-service-account2@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com --role roles/viewer 참고: GOOGLE_CLOUD_PROJECT는 Cloud Shell에서 자동으로 채워지고 현재 컨텍스트의 프로젝트 ID로 설정되는 환경 변수입니다.
  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 IAM 및 관리자 > IAM을 클릭합니다.

  2. 새 서비스 계정인 test-service-account2viewer 역할의 구성원으로 나열된 것을 확인할 수 있습니다.

작업 3. Cloud Shell에서 Cloud Storage 사용

파일을 Cloud Shell로 다운로드하여 Cloud Storage에 복사

  1. Google 제공 Cloud Storage 버킷의 고양이 사진을 Cloud Shell에 복사합니다.
gcloud storage cp gs://cloud-training/ak8s/cat.jpg cat.jpg
  1. 앞서 만든 첫 번째 버킷에 파일을 복사합니다.
gcloud storage cp cat.jpg gs://$MY_BUCKET_NAME_1
  1. 첫 번째 버킷의 파일을 두 번째 버킷에 복사합니다.
gcloud storage cp gs://$MY_BUCKET_NAME_1/cat.jpg gs://$MY_BUCKET_NAME_2/cat.jpg
  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 Cloud Storage > 버킷을 클릭하고 앞서 만든 두 버킷을 선택한 후 모두 cat.jpg 파일을 포함하고 있는지 확인합니다.

Cloud Storage 객체의 액세스 제어 목록(ACL) 설정

  1. cat.jpg에 할당된 기본 액세스 목록을 가져오려면(Cloud Storage 버킷에 업로드한 경우) 다음 두 명령어를 실행합니다.

  2. 먼저 Cloud Shell에서 다음 명령어를 실행합니다.

gsutil acl get gs://$MY_BUCKET_NAME_1/cat.jpg > acl.txt cat acl.txt

다음 예와 같이 출력되지만 숫자는 다릅니다. 이 출력을 통해 프로젝트의 owner, editor, viewer 역할이 있다면 누구나 액세스 권한(소유자 및 편집자는 OWNER 액세스 권한, 뷰어는 READER 액세스 권한)이 있음을 알 수 있습니다.

[ { "entity": "project-owners-560255523887", "projectTeam": { "projectNumber": "560255523887", "team": "owners" }, "role": "OWNER" }, { "entity": "project-editors-560255523887", "projectTeam": { "projectNumber": "560255523887", "team": "editors" }, "role": "OWNER" }, { "entity": "project-viewers-560255523887", "projectTeam": { "projectNumber": "560255523887", "team": "viewers" }, "role": "READER" }, { "email": "google12345678_student@qwiklabs.net", "entity": "user-google12345678_student@qwiklabs.net", "role": "OWNER" } ]
  1. 그런 다음 비공개 액세스 권한을 갖도록 객체를 변경하려면 다음 명령어를 실행합니다.
gsutil acl set private gs://$MY_BUCKET_NAME_1/cat.jpg
  1. cat.jpg에 할당된 새 ACL을 확인하려면 다음 두 명령어를 실행합니다.
gsutil acl get gs://$MY_BUCKET_NAME_1/cat.jpg > acl-2.txt cat acl-2.txt

다음 예와 유사하게 출력됩니다.

[ { "email": "google12345678_student@qwiklabs.net", "entity": "user-google12345678_student@qwiklabs.net", "role": "OWNER" } ]

이제 객체의 원래 작성자(실습 계정)만 OWNER 액세스 권한을 보유하게 됩니다.

Cloud Shell에서 서비스 계정으로 인증

  1. Cloud Shell에서 다음 명령어를 실행하여 현재 구성을 확인합니다.
gcloud config list

다음 예와 같이 출력됩니다. 출력에서 영역은 작업 2에서 두 번째 VM을 만들 때 설정한 영역과 같아야 합니다. 계정과 프로젝트는 Qwiklabs 실습 사용자 인증 정보와 일치해야 합니다.

[component_manager] disable_update_check = True [compute] gce_metadata_read_timeout_sec = 30 zone = {{{project_0.default_zone | "ZONE"}}} [core] account = google12345678_student@qwiklabs.net disable_usage_reporting = False project = qwiklabs-Google Cloud-1aeffbc5d0acb416 [metrics] environment = devshell Your active configuration is: [cloudshell-16441]
  1. Cloud Shell에서 다음 명령어를 실행하여, 로컬 머신에 다운로드한 후 Cloud Shell에 업로드한 사용자 인증 정보(credentials.json)를 통해 인증된 사용자를 이전 작업에서 만든 첫 번째 서비스 계정으로 변경합니다.
gcloud auth activate-service-account --key-file credentials.json

이제 Cloud Shell이 test-service-account로 인증됩니다.

  1. 활성 계정을 확인하려면 다음 명령어를 실행합니다.
gcloud config list

다음 예와 같이 출력됩니다. 이제 계정이 test-service-account 서비스 계정으로 설정됩니다.

[component_manager] disable_update_check = True [compute] gce_metadata_read_timeout_sec = 30 zone = {{{project_0.default_zone | "ZONE"}}} [core] account = test-service-account@qwiklabs-Google Cloud-1aeffbc5d0acb416.iam.gserviceaccount.com disable_usage_reporting = False project = qwiklabs-Google Cloud-1aeffbc5d0acb416 [metrics] environment = devshell Your active configuration is: [cloudshell-16441]
  1. Cloud Shell에서 승인된 계정 목록을 확인하려면 다음 명령어를 실행합니다.
gcloud auth list

다음 예와 같이 출력됩니다.

Credentialed Accounts ACTIVE: ACCOUNT: student-03-5165fd82c14b@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. 현재 계정(test-service-account)이 학습자가 만든 첫 번째 버킷의 cat.jpg 파일에 액세스할 수 없는지 확인하려면 다음 명령어를 실행합니다.
gcloud storage cp gs://$MY_BUCKET_NAME_1/cat.jpg ./cat-copy.jpg

앞서 이 작업에서 이 파일의 액세스 권한을 소유자에게만 부여하도록 제한했기 때문에 다음 예와 같이 출력됩니다.

출력

Copying gs://test-bucket-123/cat.jpg... AccessDeniedException: 403 KiB]
  1. 현재 계정(test-service-account)이 학습자가 만든 두 번째 버킷의 cat.jpg 파일에 액세스할 수 있는지 확인합니다.
gcloud storage cp gs://$MY_BUCKET_NAME_2/cat.jpg ./cat-copy.jpg

이 파일의 액세스 권한이 제한되지 않았으므로 다음 예와 같이 출력됩니다.

Copying gs://test-bucket-123/cat.jpg... - [1 files][ 81.7 KiB/ 81.7 KiB] Operation completed over 1 objects/81.7 KiB.
  1. 실습 계정으로 전환하려면 다음 명령어를 실행하여 [USERNAME]을 실습 안내 페이지 왼쪽의 Qwiklabs 연결 세부정보 창에 제공된 사용자 이름으로 바꿉니다.
gcloud config set account [USERNAME]
  1. 학습자가 처음으로 만든 [BUCKET_NAME] 버킷의 cat.jpg 파일에 액세스할 수 있는지 확인하려면 다음 명령어를 실행합니다.
gcloud storage cp gs://$MY_BUCKET_NAME_1/cat.jpg ./copy2-of-cat.jpg

다음 예와 같이 출력됩니다. 버킷과 객체를 만들 때 사용한 실습 계정은 객체 액세스 제어 목록(ACL)이 비공개로 전환될 때 소유자로 유지되었으므로, 이 실습 계정으로 객체에 계속 액세스할 수 있습니다.

Copying gs://test-bucket-123/cat.jpg... - [1 files][ 81.7 KiB/ 81.7 KiB] Operation completed over 1 objects/81.7 KiB.
  1. 인증되지 않은 사용자를 비롯하여 누구나 첫 번째 Cloud Storage 버킷을 읽을 수 있도록 만듭니다.
gsutil iam ch allUsers:objectViewer gs://$MY_BUCKET_NAME_1 참고: 이는 Cloud Storage에서 공개 웹사이트 콘텐츠를 호스팅하는 데 적합한 설정입니다.
  1. Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 Cloud Storage > 버킷을 클릭합니다.

  2. 앞서 만든 프로젝트 ID가 포함된 첫 번째 스토리지 버킷을 선택합니다. cat.jpg 파일에 Public access가 있습니다.

  3. URL 복사를 클릭하여 링크를 복사합니다.

  4. 새 시크릿 모드 브라우저 탭을 열고 링크를 주소 표시줄에 붙여넣습니다. 고양이 사진을 확인할 수 있습니다. 이 브라우저 탭을 열어둡니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. Cloud Shell에서 Cloud Storage 사용

작업 4. Cloud Shell 편집기 살펴보기

이 작업에서는 Cloud Shell 코드 편집기를 사용해봅니다.

Cloud Shell 편집기 열기

  1. Cloud Shell에서 편집기 열기 아이콘(Cloud Shell 편집기 아이콘)을 클릭한 후 새 창에서 열기 링크를 클릭합니다.

Cloud Shell 편집기가 새 탭에서 열립니다. Google Cloud 콘솔과 Cloud Shell은 원래 탭에 그대로 유지됩니다. 이 탭을 클릭하여 Cloud Shell과 코드 편집기 간에 전환할 수 있습니다.

  1. Cloud Shell 편집기에서 메뉴를 클릭하고 파일 > 폴더 열기를 선택합니다.

Cloud Shell 편집기 메뉴

  1. 확인을 클릭합니다.

폴더가 열리고 왼쪽 창에 파일 및 디렉터리 목록이 표시됩니다.

  1. Google Cloud 콘솔 탭에서 터미널 열기를 클릭하고 Cloud Shell에서 다음 명령어를 실행하여 git 저장소를 클론합니다.
git clone https://github.com/googlecodelabs/orchestrate-with-kubernetes.git

orchestrate-with-kubernetes 폴더가 Cloud Shell 편집기 창의 왼쪽 창에 표시됩니다.

  1. Cloud Shell에서 다음 명령어를 실행하여 테스트 디렉터리를 만듭니다.
mkdir test

test 폴더가 이제 Cloud Shell 편집기 창의 왼쪽 창에 표시됩니다.

  1. Cloud Shell 편집기에서 orchestrate-with-kubernetes 왼쪽의 화살표를 클릭하여 폴더를 펼칩니다.

orchestrate-with-kubernetes 폴더

  1. 왼쪽 창에서 cleanup.sh 파일을 클릭하여 Cloud Shell 편집기 창의 오른쪽 창에서 엽니다.

  2. 다음 텍스트를 cleanup.sh 파일의 마지막 줄로 추가합니다.

echo Finished cleanup! 참고: 작업을 저장하는 데 별도의 조치가 필요하지 않습니다.
  1. Cloud Shell에서 다음 명령어를 실행하여 디렉터리를 변경하고 cleanup.sh의 콘텐츠를 표시합니다.
cd orchestrate-with-kubernetes cat cleanup.sh
  1. cat cleanup.sh의 출력에 추가한 텍스트 줄이 포함되어 있는지 확인합니다.

  2. Cloud Shell 코드 편집기에서 orchestrate-with-kubernetes 폴더를 마우스 오른쪽 버튼으로 클릭하고 새 파일을 선택합니다.

  3. 파일 이름을 index.html로 지정합니다.

  4. 저장을 클릭합니다.

  5. 오른쪽 창에서 이 HTML 텍스트를 붙여넣습니다.

<html><head><title>Cat</title></head> <body> <h1>Cat</h1> <img src="REPLACE_WITH_CAT_URL"> </body></html> 참고: 로컬 컴퓨터의 단축키를 사용하여 붙여넣습니다. Mac은 'Cmd-V', Windows나 Linux 머신은 'Ctrl-V'입니다.
  1. REPLACE_WITH_CAT_URL 문자열을 이전 작업의 고양이 이미지 URL로 바꿉니다. URL은 다음과 같습니다.
https://storage.googleapis.com/qwiklabs-Google Cloud-1aeffbc5d0acb416/cat.jpg
  1. 탐색 메뉴(탐색 메뉴 아이콘)에서 Compute Engine > VM 인스턴스를 클릭합니다.

  2. first-vm 행에서 SSH 버튼을 클릭합니다.

  3. VM에서 열리는 SSH 로그인 창에서 nginx 웹 서버를 설치합니다.

sudo apt-get remove -y --purge man-db sudo touch /var/lib/man-db/auto-update sudo apt-get update sudo apt-get install nginx 참고: 프로세스를 완료하는 데 몇 분 정도 걸릴 수 있습니다. 메시지가 표시되면 Y를 클릭하여 계속 진행합니다.
  1. Cloud Shell 창에서 Cloud Shell 편집기를 사용하여 만든 HTML 파일을 가상 머신에 복사합니다.
gcloud compute scp index.html first-vm:index.nginx-debian.html --zone={{{project_0.default_zone | "ZONE"}}} 참고: 호스트 키를 알려진 호스트 목록에 추가할지 묻는 메시지가 표시되면 Y로 대답합니다. 참고: 암호를 입력하라는 메시지가 표시되면 Enter 키를 눌러 빈 암호로 응답합니다. 빈 암호를 확인하라는 메시지가 표시되면 Enter 키를 다시 누릅니다.
  1. VM의 SSH 로그인 창에서 홈 디렉터리의 HTML 파일을 nginx 웹 서버의 문서 루트에 복사합니다.
sudo cp index.nginx-debian.html /var/www/html

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. nginx 웹 서버를 설치하고 시작 페이지를 맞춤설정합니다.

  1. 탐색 메뉴(탐색 메뉴 아이콘)에서 Compute Engine > VM 인스턴스를 클릭합니다.

  2. first-vmExternal IP 열에서 링크를 클릭합니다. 고양이 사진이 포함된 웹페이지가 있는 새 브라우저 탭이 열립니다.

실습 종료하기

실습을 완료하면 실습 종료를 클릭합니다. Google Cloud Skills Boost에서 사용된 리소스를 자동으로 삭제하고 계정을 지웁니다.

실습 경험을 평가할 수 있습니다. 해당하는 별표 수를 선택하고 의견을 입력한 후 제출을 클릭합니다.

별점의 의미는 다음과 같습니다.

  • 별표 1개 = 매우 불만족
  • 별표 2개 = 불만족
  • 별표 3개 = 중간
  • 별표 4개 = 만족
  • 별표 5개 = 매우 만족

의견을 제공하고 싶지 않다면 대화상자를 닫으면 됩니다.

의견이나 제안 또는 수정할 사항이 있다면 지원 탭을 사용하세요.

Copyright 2020 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

현재 이 콘텐츠를 이용할 수 없습니다

We will notify you via email when it becomes available

감사합니다

We will contact you via email if it becomes available