GW LABS

Google Cloud StudyJam (2) - GCP 둘러보기 (1/2) 본문

Infrastructure/Cloud Computing

Google Cloud StudyJam (2) - GCP 둘러보기 (1/2)

GeonWoo Kim 2020. 12. 2. 17:17

Google Cloud Platform StudyJams

이전 포스팅에서 클라우드의 장단점을 통해서 클라우드를 알아봤다. 이번 포스팅에서는 기본적인 클라우드 컴퓨팅의 구성요소들을 알아보고 Google Cloud Platform의 특징과 서비스들을 알아본다. 먼저 하나의 질문으로 이번 글을 시작해보려고 한다.


만약 우리의 장비가 망가진다면?

철수는 소규모 인터넷 쇼핑몰을 서비스하고 있는 기업에서 웹 개발자겸 시스템 엔지니어로 근무하고 있다. 그런데 이게 웬일인가!? 서버가 먹통이되어 홈페이지로 접속이 안되고 있다! 철수는 침착하게 옆방에 있는 서버 컴퓨터를 재부팅시키고 웹 서버를 다시 실행시켜줬다. 다시 접속이 된다. 휴 다행이다.

다음날 철수 회사 근처에서 엄청난 폭우가 쏟아지고 있다. 갑자기 벼락이 회사 건물에 떨어져 정전이 되버렸다. 철수는 재빨리 옆방을 확인해봤지만 이미 장비들은 전원이 꺼진 상태이다. 당연히 쇼핑몰에 접속이 불가한 상태고, 철수는 눈앞이 깜깜해졌다...

 

온프레미스 구조에서는 이런 종류의 장애상황에 클라우드에 비해 취약할 수 있다. IDC 센터 한 곳에 모든 장비를 두고 운영하고 있는 상황에서 IDC 센터에 재해가 발생한다면? 해당 IDC 센터를 이용하고 있는 사용자들은 비즈니스에 직접적인 타격을 받을 수 밖에 없다.

 

Regions & Zones

GCP의 리전과 존

클라우드 컴퓨팅 서비스는 이런 상황을 방지하기위해 리전과 존을 통해 서비스하고 있다. 리전은 클라우드 리소스가 들어있는 데이터 센터의 지리적 위치이다. GCP의 리전은 북미, 남미, 아시아, 오스트레일리아 등 다양하게 위치하고 있다. 은 리전안에서 격리되는 영역이다. 리전안에서도 자원을 격리하여 사용가능하도록 구성이 되어있다. 즉, 한 리전안에서 어떤 존에 문제가 생기면 다른 존에서 서비스를 운영할 수도 있다. 위의 그림에서 GCP의 리전과 존을 확인할 수 있다. 다음으로 클라우드 컴퓨팅의 구성요소들을 알아보자.

 

클라우드 컴퓨팅 구성요소

출처 : https://www.simplilearn.com/tutorials/cloud-computing-tutorial/cloud-computing-architecture

클라우드 컴퓨팅의 구성요소로는 크게 6가지가 있다. 하이퍼바이저, 매니지먼트 소프트웨어, 배포 소프트웨어, 네트워크, 클라우드 서버, 클라우드 스토리지로 구성된다.

  • 하이퍼바이저(Hypervisor) : 클라우드 내의 가상머신을 모니터링하고 사용자에게 가상머신 플랫폼을 지원한다.
  • 관리 소프트웨어(Management Software) : 클라우드 서비스를 관리하고 모니터링한다. 성능측정, 장애관리 등을 수행할 수 있다.
  • 배포 소프트웨어(Depolyment Software) : 클라우드 서비스를 실행시키기 위한 설정과 설치 등을 수행하는 소프트웨어이다.
  • 네트워크(Network) : 사용자와 클라우드 서비스 내의 연결을 구성하는 네트워크이다.
  • 클라우드 스토리지(Cloud Storage) : 확장가능하고 인터넷을 통해 접근가능한 저장장치를 의미한다.
  • 클라우드 서버(Cloud Server) : 클라우드 서비스를 통해 생성된 서버를 의미한다.

 

GCP의 구조와 특징

GCP의 기본적인 구조. 출처: Qwiklabs

GCP는 위의 그림과 같은 구조를 갖고 있다. 동일 리전안에서 고정 IP를 할당받을 수 있으며, 각각의 존 안에서 자원을 사용할 수 있다. 주요한 GCP의 특징은 아래와 같다.

  • 프로젝트 안에서 자원을 관리한다. 따라서 다른 프로젝트끼리 리소스를 공유하려면 별도의 설정이 필요하다. 프로젝트를 활용해서 팀 단위, 제품 단위로 리소스를 관리할 수 있다.
  • Cloud Shell을 지원한다. 대부분의 클라우드 제공자는 콘솔이라는 웹 관리화면을 지원한다. GCP는 콘솔화면에서 Cloud Shell에 접근 할 수 있는데 gcloud 명령어를 통해 다양한 작업을 수행할 수 있다.
  • 다양한 구글의 API 서비스들을 사용할 수 있다. GCP 콘솔화면에서 구글의 다양한 API들을 사용해보고 실제 서비스에 연동할 수 있다.

GCP의 대표적인 서비스

위에서 클라우드 컴퓨팅의 구성요소들과 GCP의 기본적인 구조들을 알아보았다. 앞에서 배운 개념들을 바탕으로 GCP의 서비스들이 어떤 역할을 하고, 어떻게 사용할 수 있을지 간단하게 알아보자. 우선, GCP에 어떤 서비스들이 있는지 전체적으로 살펴보려면 GCP 콘솔화면에서 네비게이션 메뉴를 선택하면 된다.

 

출처: Qwiklabs

  • 컴퓨트(Compute) : 모든 유형의 워크로드를 지원하는 다양한 머신 유형이다. 다양한 컴퓨팅 옵션을 사용하여 운영 세부 정보 및 인프라에 대해 원하는 제어 수준을 결정할 수 있다. 가상머신 인스턴스를 생성하고 사용하는 작업을 컴퓨트 메뉴에서 할 수 있다.
  • 스토리지(Storage) : 데이터 스토리지 또는 데이터베이스를 제공한다. 구조적, 비구조적 옵션과 관계적, 비관계적 옵션을 모두 제공한다.
  • 네트워킹(Networking) : GCP의 네트워크를 설정하는 서비스로, 사용하고 있는 가상머신들의 트래픽을 제어하거나 보안옵션 등을 설정할 수 있다.
  • 클라우드 운영(Cloud Operations) : 사용하고 있는 자원들의 로깅, 모니터링, 버그 추적등의 기능을 제공한다. 이 서비스를 통해서 서비스의 신뢰성을 높일 수 있다.
  • 도구(Tools) : 개발자들이 배포나 빌드 파이프라인을 GCP에서 사용할 수 있도록 도와주는 서비스들이다. 
  • 빅데이터(Big Data) : 대용량 데이터셋을 처리하거나 분석하는 서비스들이다.
  • 인공지능(Artificial Intelligence) : 인공지능 혹은 머신러닝 작업을 수행하는 API 서비스들이다.

 

여기까지 GCP의 특징과 대표적인 서비스들을 알아봤다. 다음 포스팅에서는 직접 GCP를 사용해서 서버를 생성해보고, 로드밸런서 기능을 활용하는 방법을 알아보자.

 

Reference

- https://www.simplilearn.com/tutorials/cloud-computing-tutorial/cloud-computing-architecture

- cloud.google.com/docs/overview?hl=ko

google.qwiklabs.com/

 

 

Comments