로컬에서는 잘 되는데 ☘️

GCP Essentials - 가상 머신 만들기 실습

by youngjun._.

 

Qwiklabs GCP Essentials 실습 목차
(1) 2020/04/11 - [GCP] - GCP Essentials - Qwiklabs 실습 개요
(2) 2020/04/12 - [GCP] - GCP Essentials - 가상 머신 만들기 실습

Qwiklabs의 GCP Essentials Quest를 수강하며 작성한 포스팅이다.

GCP Essentials Quest 이미지

첫 번째 실습인 [Qwiklabs 및 Google Cloud Platform 둘러보기]는 참고할만한 자료가 많다!
참고해서 따라하면 무리 없이 진행할 수 있다.
https://timmybeef.github.io/2019/09/03/qwiklabs-gcp-arc-1/
https://cloud.google.com/compute/docs/tutorials/basic-webserver-apache?hl=ko

 

두 번째 실습인 [가상 머신 만들기] Quest를 실습해보자.

 

Google Cloud Self-Paced Labs 대표 사진

개요

Google Compute Engine을 사용하면?

  1. Google 인프라에서 다양한 운영체제를 실행하는 가상 머신을 만들 수 있다!
     운영체제는 Linux(Debian, Ubuntu, Suse, Red Hat, CoreOS) 및 Windows Server 등 다양하다.
  2. 빠르고 일관된 성능을 제공하도록 설계된 시스템에서 수천 개의 가상 CPU를 실행할 수 있다. 

이 실습에서는 GCP(Google Cloud Platform) 콘솔과 gcloud 명령줄을 사용하여 다양한 유형의 가상 머신 인스턴스를 만드는 방법을 배운다. 가상 머신에 NGINX 웹 서버를 연결하는 방법도 배울 것이다.

명령을 간단히 실습에서 복사하여 적절한 위치에 붙여 넣을 수도 있지만 핵심 개념에 관해 더 잘 이해하려면 직접 명령을 입력하는 편이 좋습니다.

 

실습할 내용

  • GCP Console로 가상 머신 만들기
  • gcloud 명령줄로 가상 머신 만들기
  • 웹 서버를 배포하고 가상 머신에 연결

기본 요건

  • vim, emacs, nano 등의 표준 Linux 텍스트 편집기에 익숙하면 도움이 된다.

 

설정

실습 시작 버튼을 클릭하기 전에

 

다음 안내를 확인하자!

  • 실습에는 시간 제한이 있으며 일시 중지할 수 없다.
  • 실습 시작을 클릭하면 타이머가 시작되고 Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지 표시된다.

Qwiklabs 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 직접 실습 활동을 진행할 수 있다. 실습 시간 동안 Google Cloud Platform에 로그인하고 액세스 하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공된다.

 

준비할 사항

 

이 실습을 완료하려면 다음을 준비해야 한다.

  • 표준 인터넷 브라우저(Chrome 브라우저 권장)
  • 실습을 완료할 시간
참고: 이미 개인용 GCP 계정이나 프로젝트가 있어도 이 실습에서는 사용하지 마세요!

 

실습을 시작하고 콘솔에 로그인하는 방법

 

 

(1) 실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열린다. 왼쪽에 있는 패널에서 이 실습에 사용해야 하는 임시 사용자 인증 정보를 확인할 수 있다.

실습 시작을 누르면 로그인 정보를 준다.

(2) 사용자 이름을 복사한 다음 Google 콘솔 열기를 클릭하자. 실습에서 리소스가 실행되며 계정 선택 페이지를 표시하는 다른 탭이 열린다.

팁: 두 탭은 각각 별도의 창에 나란히 여세요.

로그인 정보에 위에서 받은 정보를 입력하자

 

(3) 만약 계정 선택 페이지에 로그인 되어있다면 다른 계정 사용을 클릭!

 

(4) 로그인 페이지가 위와 같이 열리면 연결 세부 정보 패널에서 복사한 사용자 이름과 비밀번호를 붙여 넣자.

 

중요: 연결 세부 정보 패널에 표시된 사용자 인증 정보를 사용해야 합니다. 본인의 Qwiklabs 사용자 인증 정보를 사용하지 마세요. 이미 개인용 GCP 계정이 있어도 이 실습에서 사용하지 마세요(요금 청구 방지).

(5) 이후에 표시되는 페이지를 클릭하여 넘기자.

  • 이용약관에 동의
  • 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않음(CONFIRM)
  • 무료 평가판을 신청하지 않는다.

이용약관과 복구 옵션은 스킵한다.(CONFIRM을 누르면 된다)

잠시 후 GCP Console이 이 탭에서 열린다.

GCP Console에서 환영해준다.

왼쪽 상단에 탐색 메뉴를 클릭해서 메뉴를 살펴보자!

탐색 메뉴는 좌측 상단에 있다.

 

 

Google Cloud Shell 활성화하기

 

Google Cloud Shell은?

다양한 개발 도구가 탑재된 가상 머신
  • 5GB의 영구 홈 디렉터리를 제공하며 Google Cloud에서 실행된다.
  • Google Cloud Shell을 사용하면 명령줄을 통해 GCP 리소스에 액세스 할 수 있다.

 

(1) GCP Console의 오른쪽 상단 툴바에서 Cloud Shell 열기 버튼을 클릭하자.

오른쪽 상탄 툴바에서 Console을 열 수 있다.

(2) Continue를 클릭하자.

환경을 프로비저닝하고 연결하는 데 약간의 시간이 걸린다.

연결되면 이미 인증되었으며 프로젝트는 PROJECT_ID PROJECT_ID로 설정된다.

 

프로젝트 ID가 보인다!

gcloud는?

 Google Cloud Platform의 명령줄 도구

Cloud Shell에 사전 설치되어 있으며 탭 자동 완성을 지원한다!

 

가장 간단한 명령어를 살펴보자.

 

(1) 사용 중인 계정 이름 목록 확인

gcloud auth list

(2) 프로젝트 ID 목록 확인

glcoud config list project

실제로 Shell에서 실행하면 다음과 같이 출력된다.

gcloud 관련 전체 설명서는 Google Cloud gcloud 개요에서 확인할 수 있다.

 

리전 및 영역의 이해

일부 Compute Engine 리소스는 리전이나 영역(zone)에 있다.

 

리전이란?

리소스를 실행할 수 있는 특정 지리적 위치이다. 각 리전에는 하나 이상의 영역이 있다.

예를 들어 us-central1 리전은 us-central1-a, us-central1-b, us-central1-c  us-central1-f 영역이 있는 미국 중부의 리전을 나타낸다.

출처 : Qwiklabs 가상 머신 만들기 Quest

영역 내에 상주하는 리소스를 영역별 리소스라고 한다.

  • 가상 머신 인스턴스와 영구 디스크는 영역에 상주한다.
  • 영구 디스크를 가상 머신 인스턴스에 연결하려면 두 리소스가 모두 같은 영역에 있어야 한다.
  • 마찬가지로 인스턴스에 정적 IP 주소를 할당하려는 경우 인스턴스가 정적 IP와 같은 리전에 있어야 합니다.
리전 및 영역 문서에서 리전과 영역에 관해 자세히 알아보고 전체 목록을 확인하자.

 

Cloud Console에서 새로운 인스턴스 만들기

이 섹션에서는 Google Compute Engine을 통해 Cloud Console에서 미리 정의된 머신 유형을 새로 만드는 방법을 배운다.

 

GCP Console의 왼쪽 상단에서 탐색 메뉴 > Compute Engine > VM 인스턴스를 선택하자.

 

VM instances를 클릭하자
새 인스턴스를 만들기 위해 Create를 누른다!

매개변수의 사용

새 인스턴스를 만들 때 다양한 매개변수를 구성할 수 있다. 이 실습에서는 다음 매개변수를 사용하자.

필 드 추가 정보
이 름(Name)  gcelab VM 인스턴스 이름
리 전(Region)  us-central1(아이오와) 또는 asia-south1(뭄바이) 리전 및 영역 문서에서 자세히 알아보자
영 역(Zone)  us-central1-c 또는 aisa-south1-c 나중에 필요하므로 기억하기 리전 및 영역 문서에서 자세히 알아보자
머신 유형
(Machine configuration)
 2 vCPUs (n1-standard-2)이다.
 2-CPU, 7.5GB RAM 인스턴스이다.
마이크로 인스턴스부터 32코어/208GB RAM 인스턴스까지 다양한 머신 유형이 있습니다. 머신 유형 문서에서 자세히 알아보자.
참고: 새로운 프로젝트에는 기본 리소스 할당량이 있어 CPU 코어 수가 제한될 수 있다. 이 실습 외의 프로젝트에서 작업할 때 더 요청할 수 있다.

부팅디스크
(Boot disk)

새로운 10GB 표준 영구 디스크
OS 이미지: Debian GNU/Linux 9(stretch)
Debian, Ubuntu, CoreOS는 물론 Red Hat Enterprise Linux 및 Windows Server와 같은 프리미엄 이미지를 포함한 다양한 이미지를 선택할 수 있다. 자세한 내용은 운영체제 문서를 참조하자.

방화벽
(Firewall)

Allow HTTP traffic을 선택한다.
나중에 설치하게 될 웹서버에 액세스할 수 있도록 이 옵션을 선택하자.
참고: 이렇게 하면 포트 80에서 HTTP 트래픽을 허용하기 위한 방화벽 규칙이 자동으로 만들어집니다.

 

 

매개변수를 위와 같이 설정해서 Create하자!

 

Create를 클릭한다.

 

완료되면 VM 인스턴스 페이지에 새 가상 머신이 표시된다.

 

새 가상머신 인스턴스가 생성됐다.

 

SSH를 사용하여 가상 머신에 연결하려면 오른쪽에서 SSH를 클릭하자. 그러면 브라우저에서 직접 SSH 클라이언트가 실행된다.

참고: 자세한 내용은 SSH로 인스턴스에 연결하기 문서를 참조하자.

SSH 클릭 후 위 화면에서 기다리면 아래와 같이 접속된다!

NGINX 웹 서버 설치

가장 인기 있는 웹 서버 중 하나인 NGINX 웹 서버를 설치하여 가상 머신을 다른 대상에 연결해보자.

 

SSH 연결이 완료되면 sudo를 사용하여 root 액세스 권한을 얻는다.

sudo su -

root 사용자로서 OS를 업데이트하자.

apt-get update

결과 화면은 아래와 같다.

 

OS를 업데이트 하고 Done이 표시됐다!

NGINX를 설치하자!

apt-get install nginx -y
참고 -y 옵션은 y/n 질문이 나올 때 자동으로 y를 입력해주는 옵션이다.

 

NGINX가 실행 중인지 확인하자!

ps auwx | grep nginx

결과 화면은 아래와 같다.

 

NGINX가 프로세스로 올라왔다

여기까지 잘 따라왔다면 NGINX가 잘 실행될 것이다.

웹페이지를 확인하려면 Cloud Console로 이동하여 가상 머신 인스턴스의 External IP 링크를 클릭해보자.

External IP를 눌러보자

 

새로운 탭에서 External IPhttp://EXTERNAL_IP/에 추가하여 웹페이지를 볼 수도 있다.

 

NGINX 서버의 웹페이지가 정상적으로 작동한다!

실습의 진행 상황 확인하기

GCP에서 Quest가 잘 진행되었는지 확인해주는 기능이다. 똑똑한 것 같다!

gcloud로 새 인스턴스 만들기

가상 머신 인스턴스를 만드는 두 번째 방법이다!

가상 머신 인스턴스를 만들 때 GCP Console을 사용하지 않고 Google Cloud Shell에 사전 설치되어 있는 명령줄 도구인 gcloud를 사용할 수 있습니다.

 

Cloud Shell은 필요한 모든 개발 도구(gcloudgit 등)를 포함한 Debian 기반 가상 머신으로 5GB의 영구적인 홈 디렉터리를 제공한다.
나중에 내 머신에서 사용해 보려면 gcloud 명령줄 도구 가이드를 참조하자.

 

(1) 새 가상 머신 만들기

 

Cloud Shell에서 gcloud를 사용하여 명령줄로부터 새 가상 머신 인스턴스를 만들고 [YOUR_ZONE]을 이전에 제공된 영역 선택지 중 한 개로 대체한다.

gcloud compute instances create gcelab2 --machine-type n1-standard-2 --zone [your_zone]

 

새 가상머신 인스턴스를 만들고 Zone을 지정했다

 

만들어진 인스턴스는 다음 기본값을 갖는다.

  • 최신 Debian 9(stretch) 이미지
  • n1-standard-2 머신 유형
    이 실습에서는 다른 머신 유형인 n1-highmem-4 또는 n1-highcpu-4 중 하나를 선택할 수도 있다. Qwiklabs 외부 프로젝트 작업인 경우 커스텀 머신 유형을 지정할 수 있다.
  • 인스턴스와 같은 이름을 가진 루트 영구 디스크: 자동으로 인스턴스에 연결되는 디스크
기본값을 보려면 gcloud compute instances create --help를 실행해보자.(Ctrl+c를 누르면 종료된다) 

 

참고: 항상 하나의 리전/영역 내에서 작업하며 매번 --zone 플래그를 추가하고 싶지 않다면 gcloud에서 사용할 기본 리전과 영역을 설정할 수 있다. 다음 명령을 실행하면 된다.
gcloud config set compute/zone ...
gcloud config set compute/region ...

 

(2) 인스턴스 확인하기

 

탐색 메뉴 > Compute Engine > VM 인스턴스를 선택하자.

이 실습에서 만든 인스턴스 2개가 보일 것이다.

 

실습에서 만든 2개의 인스턴스

 

(3) SSH를 통해 인스턴스 연결

 

마지막으로 gcloud를 사용하여 SSH를 통해 인스턴스를 연결할 수도 있다. 영역을 추가해야 하지만 해당 옵션을 전역으로 설정한 경우 --zone 플래그를 생략할 수 있다.

 

gcloud compute ssh gcelab2 --zone [YOUR_ZONE]

계속하겠냐고 물으면 Y를 입력하자.

 

암호 섹션에서는 계속 Enter를 눌러 공백으로 두면 된다.

 

연결 후에는 원격 셸에서 종료하여 SSH 연결을 끊어보자.

 

 

학습한 내용 테스트하기

 

퀴즈를 통해 GCP에 관해 학습한 내용을 테스트해 볼 수 있게 박스를 제공한다.

Quiklabs 학습 내용 확인 박스

해석하면  다음 중 Google Compute Engine(GCE)에서 VM 인스턴스를 생성할 수 있는 방법은 무엇입니까? 

이다. 위에서 배운 내용대로 둘 다 가능하다.

 

두개 다 누르고 제출하면 체크된다!

 

가상 머신 만들기 실습 완료 확인 

GCP Essentials로 돌아오면 정상적으로 실습이 완료된 것을 확인할 수 있다!

실습이 완료되면 V 표시가 뜬다

 

'Infra > GCP' 카테고리의 다른 글

Qwiklabs - Cloud Architecture  (0) 2020.04.17
GCP Essentials - Kubernetes Engine 사용하기  (0) 2020.04.14
GCP Essentials - Cloud Shell 및 gcloud 시작하기  (0) 2020.04.13
GCP Essentials - Qwiklabs 실습 개요  (0) 2020.04.11
GCP 용어 정리  (1) 2020.03.20

블로그의 정보

개발하는만두

youngjun._.

활동하기