본문 바로가기

GCP

GCP SDK 설치 및 사용자 인증


SDK와 gcloud를 사용하여 구글 클라우드 작업을 해보자

1. SDK 설치 2. 사용자 인증 및 프로젝트 연결


 

 

▶사전사항

- Ubuntu 환경에서 SDK설치를 진행할 것이다

- 진행과정에서 명령어를 찾을 수 없다는 오류문구들이 발생할 것이다 그 때마다 "apt install 명령어(패키지명)"로 다운로드를 받고 재입력해야 할 것이다

 

 

1. SDK 설치

 

패키지 소스로 Cloud SDK 배포 URI를 추가

echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

 

 

apt-transport-https 설치

 

sudo apt-get install apt-transport-https ca-certificates gnupg

 

 

인증서(공개키)를 가져오기 위한 curl 패키지 다운로드

sudo  apt  install  curl

 

 

인증서 가져오기

sudo curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -

 

 

Cloud SDK를 업데이트하고 설치

sudo apt-get update && sudo apt-get install google-cloud-sdk

 

 

gcloud 초기화

gcloud init 

몇 가지 일반적인 Cloud SDK 설정 작업을 수행하는데 여기에는 Cloud SDK 도구가 사용자 계정 사용자 인증 정보를 사용하여 Google Cloud에 액세스하도록 승인하고 기본 구성을 설정하는 작업이 포함된다(프로젝트 연결 등)

 

 

<오류 발생 시>

 

SDK를 설치하다가 아래와 같은 에러문구가 뜬다면  /etc/apt/sources.list.d/google-cloud-sdk.list에 중복 항목이 있을 가능성이 있어 삭제하고 재설치 해야한다

 

"E: Conflicting values set for option Signed-By regarding source https://packages.cloud.google.com/apt/ cloud-sdk: /usr/share/keyrings/cloud.google.gpg != E: The list of sources could not be read."

 

 

google-cloud-sdk를 제거

$ cd /etc/apt/sources.list.d
$ sudo rm google-cloud-sdk.list

 

 

인증서 가져오기

$ sudo curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -

 

 

목록에 소스를 다시 추가

 

$ echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

 

 

sdk를 다시 설치

$ sudo apt-get update && sudo apt-get install google-cloud-sdk

 


2. 로그인 및 프로젝트 연결

 

로그인

$ gcloud auth login

명령어를 입력하면 브라우저가 자동으로 켜지면서 아래와 같이 구글 계정을 선택하는 창이 뜬다

계정을 클릭하고 액세스 허용을 하면 로그인이 완료가 된다

 

 

이제 구글 클라우드 SDK에 클라우드 리소스에 대한 접근 권한을 부여하였고, gcloud 명령을 실행할 때는 구글 클라우드 플랫폼 API로 직접 요청할 수 있다.

 

 

프로젝트 연결 및 확인

gcloud config set project [프로젝트ID]

 

 

이제 인증되어 클라우드 SDK를 직접 사용할 준비가 되었다. 하지만 로그인하고 실행하는 모든 gcloud 명령이 인증되었더라도 작성한 코드는 같은 사용자로 인증되지 않을 수도 있다.

 

현재 실행 중인 VM이름을 출력하는 스크립트 작성(node.js로 작성)

 

 

스크립트를 실행하면 애플리케이션의 기본 자격 증명과 관련한 에러가 발생한다

 

이후 작성하는 모든 코드가 애플리케이션의 기본 자격 증명을 사용하여 자동으로 인증하도록 설정하자

 

 

로컬 애플리케이션이 일시적으로 API 액세스를 위해 자체 사용자 자격 증명을 사용하도록 설정

gcloud auth application-default login

 

작성한 코드가 잘 실행되는 것을 확인할 수 있다

'GCP' 카테고리의 다른 글

GCP-Cloud Datastore  (0) 2021.02.07
GCP-로드밸런싱  (0) 2021.02.05
GCP-영구디스크 생성 및 사용 / 스냅샷  (0) 2021.02.04
Cloud Spanner  (0) 2021.02.03
구글 클라우드를 이용하여 워드프레스 배포  (0) 2021.02.01