본문 바로가기

Archive/GCP

[GCP] GCP의 기초부터 다시 잡자

반응형

설날연휴로 인한 아빠가게 일을 도와주는 덕분에 몇 주동안 공부를 하지 못했다... 이제 다시 시작하려고 한다.

그나저나 코세라 강의와 병행을 했었는데 알고보니 코세라 강의의 첫번째 강의가 전체범위를 아우르는 내용이여서 그 전에 내가 작성했던 공부내용이 사실 그렇게 해당내용을 깊게까지 공부했던 내용은 아닌걸 알게 되었다. 그래서 두번째 강의부터 다시 처음부터 시작하는 코세라 강의 진도에 맞춰 GCP 뽀개기(한국어로된) 책으로 이해하고 공부내용을 작성하려고 한다. 이번 시간에는 GCP의 기본 개념을 완전히 숙지하는 시간을 가져보겠다!

 

먼저 클라우드는 크게 제공하는 서비스 범위에 따라 3가지로 나뉜다.

  • IasS(Infrastructure as a Service) : 시스템 인프라(서버, 네트워크, 스토리지, 운영체제(os) ) 제공
  • PaaS(Platform as a Service) : 개발 및 운영 환경(미들웨어, 프레임워크) 플랫폼 제공
  • SaaS(Software as a Service) : 어플리케이션 환경(소프트웨어) 제공 

GCP는 이 중에서 SaaS로서 가장 큰 장점을 지닌다고 한다!

 

그렇다면 GCP가 제공하는 서비스에 대해서 간략하게 알아보자.

<GCP 내 대표적인 서비스 소개>

  • Compute Engine : 확장 가능한 고성능 VM 인스턴스
  • App Engine : 웹 애플리케이션 배포 및 웹 호스팅
  • Cloud Storage : 글로벌 에지 캐싱을 제공하는 객체 레퍼지토리
  • Cloud SQL : MySQL과 PostgreSQL
  • Big Query : 머신러닝이 내장되어 확장성이 우수한 완전 관리형 데이터 웨어하우스
  • Cloud Dataproc : 관리형 하둡과 스파크 서비스
  • Cloud PubSub : 메세지 큐잉 서비스
  • Kubernetes Engine : 쿠버네티스를 사용한 컨테이너 기반 서비스 구축
  • Cloud Dataflow : 실시간 배치 처리 및 스트림 데이터 처리
  • Cloud functions : 이벤트 기반 서버리스 컴퓨팅 플랫폼
  • Stackdriver : 통합 모니터링 서비스
  • Cloud Source Repositories : 관리형 버전 관리 서비스
  • Cloud Dataprep : 분석을 위해 데이터 탐색,정리,준비 해주는 클라우드 데이터 서비스
  • Cloud Composer : 아파치 에어플로를 기반으로 하는 관리형 워크플로 서비스
  • Cloud AutoML : 고품질의 커스텀 머신러닝모델을 간편하게 학습시켜주는 서비스
  • Cloud ML Engine : 머신러닝 서비스

이 외에 여러가지 서비스가 더 있지만 이름만 들어서는 잘 모르는 서비스들 위주로 정리를 해보았다.

 

다음은 이제 GCP를 공부하기 위해서 기본적인 개념을 살펴보자.

 

1. GCP 리소스(데이터센터) = 물리적자산(컴퓨터,하드디스크) + VM, 가상리소스

큰 대륙규모를 리젼이라고 하고 리전 내부에서 나뉘는걸 존(Zone) 이라고 한다.

ex) 동아시아에 있는 'a' 존 -> 'asia-east1-a' 

이러한 리소스 분포를 통해 장애 대비, 지연 감소 시킬 수 있음!

 

2. Global, Region, Zone 리소스

ex) 고정 외부 IP 주소가 포함이 되면 같은 존에 위치한 리소스에서만 접근이 가능

 

3. 프로젝트(Project) 

모든 GCP 리소스는 하나의 프로젝트에 속해야 함.

프로젝트는 네임스페이스 역할을 하기 때문에 각 프로젝트 내의 모든 리소스는 고유한 이름을 가져야 함.

하지만 별개의 프로젝트일 경우 이전에 사용했던 리소스 이름 다시 사용가능함.(단, 리소스 이름은 리전에서 고유)

결제 계정 - 프로젝트 .. 연결 

하나의 계정으로 여러 프로젝트 만들 수 있으며 각각의 프로젝트는 독립적인 환경으로 운영됨.

 

                         * 프로젝트 식별자 *

  •   프로젝트 이름 - 직접 선택 - 고유X - 변할 수 있음
  •   프로젝트    ID - 직접 선택 - GCP 전체에서 고유 - 변하지 않음
  •   프로젝트 번호 - GCP에서 할당 - GCP 전체에서 고유 - 변하지 않음

4. GCP 클라우드 콘솔 : GCP 프로젝트 및 리소스를 관리하는데 사용하는 웹 기반의 GUI환경을 제공

Cloud shell 을 통해 브라우저 기반 대화형 쉘 환경 제공. BASH, VIM, 파이썬, 자바, GO, 도커, 클라우드 SDK 등 도구 및 언어들이 미리 설치되어 있음

 

5. 클라우드 SDK(Software Development Kit) = gcloud

터미널에서 명령을 통해 GCP에 엑세스할 수 있는 gcloud라는 CLI(Command line Interface=명령줄인터페이스) 도구 지원.

 

6. 클라이언트 라이브러리 : 구글 클라우드 API를 호출하기 위한 클라이언트 라이브러리

ex) 지원되는 언어를 사용하여 개발할 때 필요!

 

 

반응형