728x90
2019년 11월 26일 세종대학교에서 있었던 Google Cloud OnBoard에서 나누어준 자료집의 정리본입니다
모듈2 가상머신 및 스토리지
0. 추가 자료
Google Compute Engine : https://cloud.google.com/compute/docs
Google Cloud Platform VPC : https://cloud.google.com/compute/docs/vpc
Google Cloud Stackdriver : https://cloud.google.com/stackdriver/docs
Gcloud 도구 가이드 : https://cloud.google.com/source-repositories/docs
Cloud Storage 개요 : https://cloud.google.com/storage
Google Cloud SQL 시작하기 : https://cloud.google.com/sql/docs/quickstart
Cloud Bigtable : https://cloud.google.com/stackdriver/docs
Cloud Spanner : https://cloud.google.com/spanner/docs
Cloud Datastore : https://cloud.google.com/datastore/docs
1. Virtual Private Cloud (VPC) 네트워크
- 각 VPC 네트워크는 하나의 GCP 프로젝트에 포함
- Cloud Platform 리소스를 프로비저닝하고 서로 연결하거나 격리할 수 있다.
- VPC 네트워크는 글로벌 수준으로, 서브넷은 리전별 구성으로
2. Compute Engine
- 관리형 가상머신 제공
- 고성능 CPU, 대용량 메모리, 표준 및 공유 코어 머신 유형
- 영구 디스크 (HD와 같은 느낌)
- 표준, SSD, 로컬 SSD
- 스냅샷
- 다운타임없이 디스크 크기 조절
- 인스턴스 메타데이터 및 시작 스크립트
- 고객에게 유리한 가격 제시
- 초단위 청구, 지속 사용 할인, 약정 사용 할인
- 선점형 인스턴스
- 추가 비용없이 스토리지 처리량 상향
- 커스텀 머신 유형 : 필요한 하드웨어에 대해서만 지불
- 수평확장 또는 수직 확장
- 메모리 및 컴퓨팅 집약적 애플리케이션에 대규모 VM 사용
- 탄력적인 확장형 애플리케이션에 자동 확장 사용
3. 중요한 VPC 기능
- VCP 네트워크의 토폴로지 제어
- 경로 테이블을 사용해 트래픽을 네트워크 안에서는 물론 서브넷 간에 전달
- 방화벽을 사용해 네트워크 트래픽이 허용되는 항목을 제어
- 공유 VPC를 사용해 네트워크 또는 개별 서브넷을 다른 GCP 프로젝트와 공유
- VPC 피어링을 사용해 GCP 프로젝트의 네트워크의 상호연결
- 전역 Cloud Load Balancing으로 전 세계에 단일 프런트 엔드로 제공되는 애플리케이션
- 사용자가 단일 글로벌 Anycast IP 주소를 사용
- Google 백본을 통해 가장 가까운 접속 지점에서 사용자에게로 트래픽 전달
- 부하를 기준으로 백엔드 선택
- 정상 백엔드만 트래픽 수신
- 가동 준비가 필요 없음
- Cloud DNS
- 관리형 영역을 생성한 후 DNS 레코드를 추가, 편집, 삭제
- RESTful API 또는 명령줄 인터페이스를 사용해 영역과 레코드를 프로그래매틱 방식으로 관리
- Cloud CDN (Content Delivery Network)
- 전세계에 분산된 Google의 에지 캐시를 사용하여 콘텐츠를 사용자에게 가깝게 캐싱
- 다른 CDN의 사용을 원하는 경우 CDN Interconnect 사용
- 다양한 상호 연결 옵션을 제공
- VPN : VPN 터널을 통한 Gbps 단위의 연결 확보
- 다이렉트 피어링 : 하이브리드 클라우드 워크로드를 위한 사용자와 Google간 비공개 연결
- Dedicated Interconnect : Google 접속 지점에서 Google Cloud로 전달되는 프라이빗 클라우드 트래픽을 위한 N X 10G 전송 회로 연결
- 이동통신사 피어링 : 서비스 제공업체의 대규모 파트너 네트워크를 통한 연결
- Partner Interconnect : 지원되는 서비스 제공업체를 통한 온프레미스 네트워크 및 VPC 네트워크 간 연결
- 부하 분산 옵션 제품군을 제공하는 Google VPC
글로벌 HTTP(S) | 글로벌 SSL 프록시 | 글로벌 TCP 프록시 | 리전 | 리전 내부 |
부하를 기준으로한 Layer 7 부하 분산 | 부하를 기준으로 한 HTTPS외 SSL 트래픽의 Layer 4 부하 분산 | SSL외 TCP 트래픽의 Layer 4 부하 분산 | 모든 트래픽(TCP, UDP)의 부하 분산 | VPC내 트래픽의 부하 분산 |
각종 URL을 다양한 백엔드에 라우팅 할 수 있음 | 특정 포트 번호에서 지원됨 | 특정 포트번호에서 지원됨 | 모든 포트번호에서 지원됨 | 다중 계층 애플리케이션의 내부 계층에 사용 |
4. GCP - 스토리지
5. Cloud Storage
- Cloud Storage의 특징
- BLOB (binary large-object) 스토리지
- 고성능 인터넷 규모 : 단순한 관리
- 용량을 관리할 필요가 없음
- 저장 데이터 암호화
- 기본적으로 Google에서 엔드포인트로 전송 중인 데이터 암호화
- 온라인 및 오프라인 가져오기 서비스 사용 가능
- Cloud Storage 파일은 버킷으로 구성
- Cloud Storage 등급 선택하기
- Cloud Stoarge로 데이터를 가져오는 3가지 방법
- 온라인 전송 : 명령줄 도구 또는 드래그인 드롭을 사용한 자체 관리형 사본
- Storage Transfor Service : 일정에 따른 관리형 일괄 전송
- Transfer Appliance : 데이터를 안전하게 전송하는, 랙 장착 가능한 어플라이언스
- 다른 GCP 서비스와 함께 사용이 가능하다.
6. Cloud Bigtable
- Cloud Bigtable의 특징
- 관리형 NoSQL
- 테라바이트 규모의 애플리케이션을 위한 완전 관리형 NoSQL, 광폭 열 데이터베이스 서비스
- HBase API로 액세스
- 빅데이터, Hadoop 에코시스템과 기본적으로 호환
- 복제 스토리지
- 가동 여부와 관계없이 상시 데이터 암호화
- 역할 기반 ACL
- google Analytics, Gmail등의 주요 애플리케이션 실행
- Bigtable 액세스 패턴
- Application API
관리형 VM, HBase REST 서버, HBase 클라이언트를 사용하는 자바 서버와 같은 데이터 서비스 계층을 통해 Cloud Bigtable에서 데이터를 읽고 쓸 수 있다. 일반적으로 애플리케이션, 대시보드, 데이터 서비스에 데이터를 제공한다. - 스트리밍
Cloud Dataflow Streaming, Spark Streaming, Storm과 같은 다양한 인기 스트림 처리 프레임워크를 통해 데이터를 스트리밍(이벤트별로 쓰기) 할 수 있다. - 일괄 처리
Hadoop 맵 리듀스, Dataflow, Spark와 같은 일괄 프로세스를 통해 Cloud Bigtable에서 데이터를 읽고 쓸 수 있다. 요약 데이터 또는 새로 계산괸 데이터가 Cloud Bigtable 또는 다운스트림 데이터베이스에 다시 기록되는 경우가 많다.
- Application API
7. Cloud SQL 및 Cloud Spanner
7-1. Cloud SQL
- Cloud SQL의 특징
- 관리형 RDBMS
- MySQL및 PostgreSQL 데이터베이스를 서비스로 제공
- 자동 복제
- 관리형 백업
- 수직 확장 (읽기 및 쓰기)
- 수평 확장 (읽기)
- Google 보안
- 다른 GCP 서비스와 함께 사용 가능
- Cloud SQL + App Engine
표준 드라이버를 통해 Cloud SQL과 App Engine을 함께 사용할 수 있다.
App Engine 애플리케이션을 따르도록 Cloud SQL인스턴스를 구성할 수 있다. - Cloud SQL + Compute Engine
Compute Engine 인스턴스에서 외부 IP 주소를 사용하여 Cloud SQL 인스턴스에 액세스 하도록 승인할 수 있다.
Cloud SQL 인스턴스를 선호 영역에 구성할 수 있다. - Cloud SQL + 외부 서비스
Cloud SQL을 외부 애플리케이션 및 클라이언트와 함께 사용할 수 있다.
표준 도구를 사용하여 데이터베이스를 관리할 수 있다.
외부 읽기 복제본을 구성할 수 있다.
- Cloud SQL + App Engine
7-2. Cloud Spanner
- 수평으로 확장 가능한 RDBMS
- 자동 복제
- 강력한 전역 일관성
- 가용성이 높은 관리형 인스턴스
- SQL (ANSI 2011, 확장 포함)
8. Cloud Datastore
- 수평으로 확장 가능한 NoSQL DB
- 애플리케이션 백엔드용으로 설계된 NoSQL
- 완전 관리형 : 분산 아키텍처를 사용해 확장을 자동 관리
- 내장형 중복 기능
- ACID 트랜잭션 지원
- 스키마 없는 액세스 : 기본 데이터 구조를 고려할 필요 없음
- 로컬 개발 도구
- 무료 일일 할당량 포함
- RESTful 인터페이스를 통해 어디서나 액세스
9. 스토리지 옵션 비교
9-1. 기술 세부 정보
Cloud Datastore | Cloud Storage | Cloud Bigtable | Cloud SQL | Cloud Spanner | BigQuery | |
---|---|---|---|---|---|---|
유형 | NoSQL 문서 | Blobstore | NoSQL 광폭 열 |
OLTP용 관계형 SQL | OLTP용 관계형 SQL | OLAP용 관계형 SQL |
트랜잭션 | O | X | 단일 행 | O | O | X |
복잡한 쿼리 | X | X | X | O | O | O |
용량 | TB+ | PB+ | PB+ | 10TB | PB | PB+ |
단위 크기 | 1MB/항목 | -10MB/셀 -100MB/행 | 5TB/객체 | DB엔진 결정 | 10.240MiB/행 | 10MB/행 |
9-2. 사용 사례
Cloud Datastore | Cloud Storage | Cloud Bigtable | Cloud SQL | Cloud Spanner | BigQuery | |
유형 | NoSQL 문서 | Blobstore | NoSQL 광폭 열 | OLTP용 관계형 SQL | OLTP용 관계형 SQL | OLAP용 관계형 SQL |
권장용도 | 반구조화 애플리케이션 데이터, 내구성 높은 키-값 데이터 | '플랫' 데이터, 집중적인 읽기 /쓰기, 이벤트, 분석 데이터 | 구조화 및 비구조화 바이너리 또는 객체 데이터 | 웹 프레임워크, 기존 애플리케이션 | 대규모 데이터 베이스 애플리케이션 (약 2TB이상) | 대화형 쿼리, 오프라인 분석 |
사용사례 | 입문용, App Engine 애플리케이션 | AdTech, 금융, IoT 데이터 | 이미지, 대용량 미디어 파일, 백업 | 사용자 인증 정보, 고객 주문 | 높은 I/O, 전역적인 일관성이 필요한 모든 경우 | 데이터 웨어하우스 |
단위크기 | 1MB/항목 | -10MB/셀 -100MB/행 | 5TB/객체 | DB엔진 결정 | 10.240MiB/행 | 10MB/행 |
'Develop > DevOps' 카테고리의 다른 글
알아두면 언젠간 깨달을 도커지식 1 - 가상화 (0) | 2020.07.12 |
---|---|
[Intellij] GCP Plugin - Cloud Code 사용하기 in GCS (2) | 2020.02.22 |
[Cloud OnBoard] 4 - 빅데이터 및 머신러닝 (0) | 2019.11.28 |
[Cloud OnBoard] 3 - 컨테이너 및 앱 개발, 배포, 모니터링 (0) | 2019.11.28 |
[Cloud OnBoard] 1 - Google Cloud Platform 소개 (0) | 2019.11.28 |