Google Cloud Platform 구성하기

gcp에도 aws와 마찬가지로 신규 계정에 대해서 12개월 무료 사용할 수 있는 300$ 상당의 크레딧이 제공되고 있으며 항상 무료인 제품군이 있다.

https://cloud.google.com/free/

Google Compute Engine 구성

AWS의 EC2와 같은 IaaS 제품군이다. us-east4를 제외한 미국 지역에 f1-micro 인스턴스 1개를 생성하면 항상 무료로 사용할 수 있다. 인스턴스를 생성후 아래와 같은 추가 작업을 수행한다.

cloud api Access 범위 설정

  • Cloud SQL : 사용설정
  • Cloud Storage (저장소): 읽기, 쓰기 설정

– public ip 설정

VM 인스턴스 목록 보기 맨 오른쪽에 점이 세개 찍힌 펼침메뉴를 클릭한 후 네트워크 세부정보 보기를 클릭한다. 좌측에 외부 IP 주소를 클릭한다. 외부주소가 없거나 임시로 되어있으면 고정 IP 주소를 예약해서 할당 받는다.

– 외부 SSH 접속 설정

브라우저로 제공되는 SSH를 사용하게 되면 좀 느리기 때문에 답답하다. xshell과 같이 외부 SSH 툴을 사용할려면 ssh 키를 등록해야 한다. putty 혹은 xshell 로 설정할려면 다음과 같이 한다.

xshell 등록정보 > 사용자 인증 > 사용자 키 > 찾아보기 클릭 후 생성 버튼을 클릭해서 생성 버튼을 클릭한다. 키유형 RSA, 키 길이 2048 이 디폴트 설정이고 생성후 저장한다. 해당 키를 메모장으로 열어서 복사 후에 cloud에 등록을 해야 사용할 수 있다.

VM 인스턴스 수정 메뉴로 들어가서 아래로 스크롤 해보면 SSH 키 부분을 체크후에 추가를 누르고 조금전에 메모장에 복사한 키를 붙여 넣는다. 그리고 맨 마지막에는 스페이스로 한칸 띄운후에 본인 구글 계정을 넣고 저장한다. 이제 xshell로 접속하면 정상 접속이 가능하다.

Cloud SQL 구성

cloud SQL은 AWS에 RDS에 해당하는 것으로 MySql, Postgree 같은 RDBMS 를 사용할수 있게 해준다.대쉬보드에서 SQL을 클릭한 후에 인스턴스를 생성한다. 여기서는 MySql 2세대를 구성하였다.

– 데이터베이스, 사용자 설정

인스턴스를 클릭해서 들어가면 데이베이스 탭이 있고 해당 탭을 클릭하고 들어가서 데이터베이스를 생성한다. 물론 이렇게 GUI가 아니라 직접 명령어로 만들수도 있다. 마찬가지로 사용자 탭을 클릭한 후에 사용자를 생성한다.

– 데이터베이스 구성

개요 탭에서 이 인스턴스에 연결을 보면 Cloud Shell을 사용해 연결 부분이 있는데 이 부분을 클릭하면 Cloud Shell이 하단에 나타나고, 연결중이라는 메시지가 뜬 다음에 gcloud sql connect eastflag-sql –user=root –quiet 와 같은 명령어가 나올것이다. 엔터를 치면 데이터베이스 인스턴스에 연결된다. 좀전에 만든 데이터베이스의 사용권한을 사용자에게 모두 부여한다. database_name, user_name, password 는 모두 본인이 설정한 부분을 넣어야 한다.

gmysql> grant all privileges on database_name.* to user_name@’%’ identified by ‘password’

– 접속 설정

데이터베이스에 접속할 수 있는 권한을 설정한다. 연결 탭을 클릭하고 공개 IP 부분에 네트워크 추가를 누른다. 이름과 네트워크를 입력하고 저장을 누른다. 좀전에 만든 Compute Engine에서 데이터베이스에 접속가능하게 할려면 public ip의 CIDR 표기법을 넣는다. 만일 1.2.3.4 와 같다면 CIDR 표기법은 1.2.3.0/24 와 같이 입력하여야 한다.

Cloud Storage 구성

대쉬보드에서 Cloud Storage를 클릭하여 버킷을 생성하고 버킷 이름을 기억하여야 한다. 앞으로 클라이언트에서 업로드하는 사진 등의 파일은 여기에 저장할 것이다.