[CH2] Creating a Virtual Machine
- Google Compute Engine 가상 머신 만들기
- zones, regions, and machine types에 대해 이해하기
실습
- Compute Engine을 사용하면 Google 인프라에서 다양한 Linux(Debian, Ubuntu, Suse, Red Hat, CoreOS) 및 Windows Server를 비롯한 다양한 운영 체제를 실행하는 가상 머신을 만들 수 있다.
- 빠르고 강력한 성능 일관성을 제공하도록 설계된 시스템에서 수천 개의 가상 CPU를 실행할 수 있다.
- Google Cloud Console과 gcloud명령줄을 사용하여 다양한 머신 유형의 가상 머신 인스턴스를 만드는 실습을 진행한다. NGINX 웹 서버를 가상 머신에 연결하는 방법을 습득한다.
- 실습내용
- Cloud Console을 사용하여 가상 머신을 만들기
- gcloud 명령어을 사용하여 가상 머신을 만들기
- 웹 서버를 배포하고 가상 머신에 연결하기
- 두가지 방법으로 가상 머신을 만들 수 있다.
- Google Cloud Console 사용
- Terminal에서 gcloud 명령어를 사용
- Region, zone
- 특정 Compute Engine 리소스는 regions 또는 zones에 있다.
- region은 리소스를 어디서 실행하는지 결정한다.(지리적 위치 설정)
- 각 region에는 하나 이상의 zone이 존재한다.
- 예를 들어, us-central1 region은 지역이 중앙 미국에있는 지역이며, 아래의 zone들을 가지고 있다.
- us-central1-a, us-central1-b, us-central1-c,와 us-central1-f.
- region에 있는 리소스를 region recources라고 한다.
- 가상 머신 인스턴스(virtual machine instance)와 영구 디스크(persistent disks)는 region에 있다.
- 가상 머신 인스턴스에 영구 디스크를 연결하려면 두 리소스가 동일한 영역에 있어야 한다.
- 마찬가지로 인스턴스에 고정 IP 주소를 할당하려면 인스턴스가 고정 IP와 동일한 지역에 있어야 한다.
방법1. Google Cloud Console 사용하여 인스턴스 생성하기
- Google Cloud Console 로그인
- Cloud Shell 활성화(우측 상단 터미널 아이콘)
- gcloud 명령어 참고
- 활성 계정 이름을 나열하기
- input:
gcloud auth list
- output ```shell Credentialed accounts:
-
@ .com (active) 혹은 Credentialed accounts: - google1623327_student@qwiklabs.net ```
-
- input:
- 프로젝트 ID 나열하기
- input:
gcloud config list project
- output
1 2 3 4 5
[core] project = <project_ID> 혹은 [core] project = qwiklabs-gcp-44776a13dea667a6
- input:
- 활성 계정 이름을 나열하기
- 탐색 메뉴 > VM Instances > 프로젝트 선택(리소스 프로젝트 x) > Create Instance 클릭
- 정할 수 있는 것
- Name: VM Instance 이름
- Region
- Zone: 기억해둘 것
- Series: 머신 타입과 관련이 있는 듯하다. 어떤 시리즈를 선택하느냐에 따라 고를 수 있는 머신타입이 다르다.
- Machine Type: Machine Types 문서
- Boot Disk: 디스크 이미지를 선택(OS 선택, Debian, Ubuntu, CoreOS, Red Hat Enterprise Linux, Windows Server 등 선택 가능)
- Firewall: 웹 서버 접근을 허용할 지, 옵션 선택(실습에서는 Allow HTTP traffic 활성화해줬다.)
- create 클릭하면, virtual machine 리스트가 있는 페이지로 갈 수 있다.
VM에 연결하기 위한 SSH
를 사용하기 위해서는, SSH를 클릭하면 된다. SSH client를 브라우저에서 실행시켜준다. SSH 연결 더보기
NGINX web server
- install(SSH terminal 사용)
sudo su -
: 루트 권한 얻기apt-get update
: 루트 유저로 OS 업데이트apt-get install nginx -y
: NGINX 설치ps auwx | grep nginx
: 권한 부여- 웹페이지 보려면, Cloud Console에 External IP 클릭(원하는 VM 줄에 링크되어 있음)
- 예상 output
방법2. gcloud를 사용하여 인스턴스 생성하기
- gcloud command
- 새 인스턴스 생성 예시
gcloud compute instances create gcelab2 --machine-type n1-standard-2 --zone us-central1-f
- 에상 output
1 2 3
Created [...gcelab2]. NAME ZONE MACHINE_TYPE ... STATUS gcelab2 us-central1-f n1-standard-2 ... RUNNING
- 설정 변경 예시
gcloud config set compute/zone ...
gcloud config set compute/region ...
- SSH 연결
gcloud compute ssh gcelab2 --zone us-central1-f
- rsa key pair 생성 관련 문구 나오면 그냥 엔터 치면 된다.
- SSH 나오고 싶으면
exit
명령어 치면 된다.
Google Compute Engine에서 윈도우 서버 인스턴스 만들어서, RDP를 사용하여 액세스하는 방법도 있다. 참고