notes
구글 클라우드 무료 인스턴스 생성하기
Google Cloud 무료 인스턴스 생성 절차·조건과 초기 서버 설정 메모.
0. 클라우드 서비스 소개 (5개사)
Google GCP
- 클라우드 3위 기업, 10% 점유율
- 1위, 2위는 각각 AWS와 ms azure (마이크로소프트 애저)
- 빅쿼리 등 많은 데이터 처리에 강점이 있다.
- 기반 서버, 스토리지 위주의 서비스이다.
- 3개월 간 33만원 무료이다.
- (돈이 나오지 않기에) 가장 쉽게 접근 가능한 클라우드이다.
- 3달 이후 자동 과금되지는 않는다.
1. Compute Engine API 설정
- Compute Engine API를 통해 Google Cloud Platform에서 가상 머신을 만들고 실행합니다.
- Compute Engine API →
사용클릭
1-1. 결제 계정 등록 가이드
- 현재 사용하는 구글 계정이 결제 계정인 경우, 이 과정은 생략합니다.
결제 사용 설정클릭
결제 계정 만들기클릭
- 정보 입력 후,
계속클릭
- 정보 입력 후,
계속클릭
- 정보 입력 후,
무료 평가판 시작하기클릭
- 정보 입력 후,
완료클릭
사용클릭 ( 5분정도 걸립니다.)
2. 프로젝트 생성
새 프로젝트클릭
- 내용 입력 후,
만들기클릭
3. 무료 인스턴스 생성
- Compute Engine →
VM 인스턴스클릭
인스턴스 만들기클릭
- 다음 정보를 추가합니다.
리전: 무료 사양을 위해서는 다음 3개의 지역 중 하나를 선택합니다.- 오리건(us-west1)
- 아이오와(us-central1)
- 사우스캐롤라이나(us-east1)
영역: 영역의 경우 a, b, c 중 어떤 것을 선택해도 무방합니다.시리즈: E2머신 유형: e2-micro(vCPU 2개, 1GB 메모리)를 선택합니다.
- 다음 정보를 추가합니다.
운영체제: Ubuntu부팅 디스크 유형: 표준 영구 디스크크기(GB): 30
- 방화벽 설정에서 HTTP 트래픽 허용, HTTPS 트래픽 허용에 모두 체크 →
만들기클릭 - “이 VM 인스턴스에 무료 체험판 크레딧이 사용됩니다.” 문구가 뜨는지 확인합니다.
- 인스턴스 생성 확인(5분 정도 걸립니다.)
예산 및 알림검색 →예산 만들기클릭
- 다음과 같이 정보 입력 →
다음클릭
- 목표 금액 입력 →
다음클릭 - 무료 사용을 목표로 하므로, 적은 금액을 입력합니다.
- 기준 추가 → 결제 관리자 및 사용자에게 이메일 알림 체크 →
완료클릭
4. SSH 터미널 접속
- 다음 명령어를 터미널에 입력합니다.
ssh-keygen -t rsa -f ~/.ssh/my_key -C "my email"
- 질문에는
Enter를 클릭합니다.
- 다음 명령어를 터미널에 입력합니다.
- 퍼블릭키 내용을 가져오는 과정입니다.
cat ~/.ssh/my_key.pub
- 메타데이터 → SSH키 →
SSH 키 추가클릭 → 퍼블릭키의 내용 입력 →저장클릭
- 다음 명령어를 터미널에 입력합니다.
ssh -i <파일경로> <계정명>@<인스턴스 외부 IP>
# 예제 코드
ssh -i ~/.ssh/my_key eikjae@34.139.248.44
- 아래와 같은 상황에서는,
yes를 입력하면 정상적으로 접속됩니다.
5. Config 파일 작성
- 다음 명령어를 입력합니다.
cd ~/.ssh
code config
- config 파일에 다음 내용을 추가합니다.
Host에 대한 값이 중요합니다.- 나중에 ssh로 연결할 때 Host 지시자에 지정된 값이 사용됩니다.
- 따라서 구분하기 쉽고 기억하기 편리한 이름으로 작성하는 것이 좋습니다.
#구글 클라우드 인스턴스 SSH 설정
Host google-cloud
HostName 34.139.248.44
User eikjae
IdentityFile ~/.ssh/my_key
새로고침버튼을 클릭하면 SSH 대상에 구글 클라우드 인스턴스가 추가됩니다.
6. 인스턴스 내부에 필요 파일 설치
7. 방화벽 설정
- 방화벽 검색 →
방화벽클릭
방화벽 규칙 만들기클릭
- 인바운드 규칙을 생성하기 위한 정보를 입력 →
만들기클릭
- 방화벽 규칙 만들기 클릭 → 아웃바운드 규칙을 생성하기 위한 정보를 입력 →
만들기클릭
- 서버 정상 작동 확인
nest new hello-world
cd hello-world
yarn build
pm2 start yarn --name hello-world -- start:prod