초보자의 GCP 사용기
들어가기 전
본 포스팅은 구글 클라우드 플랫폼 사용자 그룹의 운영진인 Jaeyeon Baek 님과의 스터디에 대한 기록입니다. 또한 이 글은 구글 클라우드 플랫폼 입문 이라는 도서에 대한 리뷰 및 개인적인 스터디 기록임을 미리 밝힙니다.
Google Compute Engine(GCE)
GCE는 GCP에서 제공 하는 가상 머신 서비스이다. 일반적인 클라우드 환경에 비해 가상머신의 기동이 빠르고 초 단위로 청구가 과금이 되기 때문에 사용한 컴퓨팅 시간에 대해서만 요금을 지불하면 된다. 가상 머신의 두가지 타입의 메모리 인스턴스를 제공하는데 첫번째는 사전 정의된 머신 유형
이다. 해당 유형을 사용하는 경우 마이크로 인스턴스에서부터 3.75TB까지 용도에 따라 사전 정의된 가상 머신 인스턴스를 사용할 수 있다. 두번째 타입은 커스텀 머신 유형
이다. 이러한 경우는 사전 정의 머신 유형과는 다르게 vCPU나 메모리 등 구체적인 요구사항을 조정하여 이용할 수 있다. 만약 운용하려고 하는 서비스의 스펙에 대해서 명확하다면 커스텀 머신 유형을 이용하는 것이 비용 절감에도 도움이 된다.
GCE에서는 가상 머신에 접속이 가능한 두가지 종류의 저장소를 제공해준다. 첫번째는 최대 10TB의 네트워크 저장소인 영구 디스크
이다. 영구 디스크는 SSD나 HDD 형식 중 하나를 선택해서 만들 수 있으며 해당 VM 인스턴스가 종료되어도 영구 디스크에 데이터가 유지가 되며 다른 가상머신 인스턴스에서 접근을 해도 이용할 수 있다. 두번째는 로컬 SSD이다. 로컬 SSD는 가상 머신 인스턴스를 호스팅하는 서버에 실제로 연결되므로 영구 디스크와 비교하여 IOPS(입출력 초당 작업수)가 매우 높고 레이턴시(지연시간)가 매우 낮다. vCPU가 1개 이상인 가상 머신에 최대 3TB의 로컬 SSD를 사용할 수 있다.
Debian, CentOS, CoreOS, Ununtu, Red Hat, Windows 등 원하는 OS를 실행시킬 수 있으며, 뿐만 아니라 GCP 커뮤니티에서 얻은 이미지나 혹은 스스로 만든 이미지를 사용할 수 있다. 이러한 GCE 가상 머신의 각각의 인스턴스는 독립된 네트워크로 접속된다. 물리적으로 다른 지역에 속한 인스턴스더라도 같은 네트워크에 접속되어있다면 내부 IP 주소를 통해 통신할 수 있다.
또한 GCE에서는 라이브 마이그레이션 지원한다. 라이브 마이그레이션은 말 그대로 어떤 물리 서버에서 운용 중인 가상머신을 다른 물리서버로 서비스 중단 없이 이동하는 기술이다. 만약 물리 서버의 유지 보수와 같이 데이터 센터 안에서 물리 서버를 정지해야하는 경우에는 해당 머신은 라이브 마이그레이션을 사용하여 다른 호스트 머신에 자동으로 이동된다.
Google Cloud Storage
Cloud Storage는 높은 가용성과 내구성을 가진 오브젝트 저장소이다. 전 세계에 엣지 캐시를 가지기 때문에 사용자가 어디에 있든 빠르게 접근할 수 있다. Google App Engine이나 GCE로 동작하는 어플리케이션이나 BigQuery, Cloud Dataflow, Cloud Dataproc 등과 같은 데이터 처리 서비스의 백엔드 저장소로도 이용할 수 있다. 이러한 서비스는 아래의 4가지 저장소 등급의 가격의 서비스를 제공하니 목적에 따라 원하는 서비스를 선택하면 좋다.
해당 서비스에서는 2가지 중요한 단어가 나온다.
버킷이란 무엇인가
버킷이란 데이터를 담는 기본 컨테이너이다. Cloud Storage에 저장되는 모든 데이터는 버킷 안에 포함된다는 의미이기도 하다.
오브젝트란 무엇인가
Object는 Cloud Storage에 저장되는 개별 데이터 조각이다.
Google Cloud SQL
Cloud SQL은 앞서 설명했던 RDBMS의 한 종류인 MySQL을 제공하는 완전 관리형 서비스이다. 해당 서비스에서는 MySQL의 실행 환경이 자동으로 만들어지고 백업이나 유지보수도 자동으로 이뤄진다.
MySQL의 완전 관리형 서비스
유지보수
어플리케이션에서 이용