GCP Professional Cloud Architect 자격증 이론과 시험 정보 | Google Cloud Platform(GCP)

2024. 10. 3. 16:21Server

728x90
반응형

 

반응형

 

 

 

 

 

Welcome to Google Cloud

 

  • compute : compute Engine, google kubernetes engine
  • serverless : cloud funtion, cloud run, app engine
  • analytics : big query, cloud composer, dataproc, pub/sub = kafka
  • networking : cloud armor : 보안, cloud CDN, cloud DNS, cloud interconnect, cloud load balencing, cloud routes, cloud Router ,cloud VPN, partner interconnect, itual private cloud
  • databases : cloud bigtable : noSQL, cloud spanner, cloud SQL, datastore : nosql
  • operations : cloud logging, cloud mornitoring
  • ci/cd
  • intergraion service : cloud scheduler
  • storage : cloud storage, filestore, pesistent disk
  • hybrid and multicloud : anthos
  • security :Identity & access Management
  • migration : storage transfer service
  • AI and machine learning :Vertex AI

 

 


Region and Zone

 

multi region > Region > zone
서비스 지역에 따라 구분해서 사용


서비스할 지역이 글로벌이면  multi region
국가 내 한정이면 region

리전 범위
zone A - B - C
zone(영역) 별로 구분해서 백업해두면 하나의 존에 문제가 생겨도 안전하게 서비스 가능

Multi-regional service
- 여러 region에 걸쳐서 제공되는 서비스(ex. US)
- 하나의 region에 장애가 발생해도 서비스에 영향이 없음
ex. cloud storage Multi-region tier

Regional service
- 단일 region 내에 여러개의 zone에 걸쳐서 제공되는 서비스(ex. us-central1)
-하나의 zone에 장애가 발생해도 서비스 영향이 없음
ex. cloud SQL high avilability

Zonal service
- 특정 zone내에서 제공되는 서비스(ex. us-central1-a)
- zone 장애 발생시 서비스 영향 존재
ex. persistent disk(zonal)

 

 

 



Compute Engine

 

  Compute Engine(VM) GKE App Engine 표준 환경 App Engine 가변형 환경 Cloud Functions
언어 지원 모두 모두 Python
Node.js
Go
자바
PHP
Python
Node.js
Go
자바
PHP
Ruby
.NET
커스텀 런타임
Python
Node.js
Go
사용량 모델 IaaS IaaS
PaaS
PaaS PaaS 마이크로 서비스 아키텍처
확장 서버 자동 확장 클러스터 관리형 서버 자동 확장 서버리스
기본 사용 사례 일반 워크로드 컨테이너 워크로드 확장 가능한 웹 애플리케이션
모바일 백엔드 애플리케이션
경량 이벤트 작업

 

 

Compute Engine

Infrastructure as a Service(IaaS)

 

사전 정의된 머신 유형 또는 커스텀 머신 유형

 

  • vCPU(코어) 및 메모리(RAM)
  • 스토리지
    • 영역 또는 리전별 영구 디스크(HDD 또는 SSD)
    • 로컬 SSD
    • Cloud Storage
  • 네트워킹
  • Linux 또는 Windows

 

 

 


Google Cloud Kubernetes Engine

 

Cluster

  • Master Node : control plane
  • Worker Node : node

 

Control plane

api : 명령에 따른 작업이 실행되는 클라이언트와 모든 구성요소에서 요청을 받아 실제적인 처리를 함

Sched : 아직 노드가 배정되지 않은 파드를 감지하고 다음에 어떤 노드에서 실행을 할지 결정하는 것, 노드들의 부하 상태를 보고 새로운 파드를 어떤 노르에다가 만들지 결정하는 게 스케쥴러의 역할

c-m : controler manager, 컨트롤러의 상태를 조절하거나 그 상태를 조정하는 컨트롤러들을 생성하거나 배포하는 역할

etcd : 클러스터 내의 모든 구성 데이터를 저장하는 데이터 저장소, 현업에서 중요한 역할을 하는 편!, ETCD가 백업이 잘 되어 있다고 하는 경우에 서비스에 문제가 되지 않음 -> ETCD 내용을 바탕으로 클러스터를 복구(리커버리)할수 있음 

 

Kubernetes Components ❘ Kubernetes

 

 

 

GKE(Google cloud Kubernetes Engine)

 

 

 

 

 

Zonal versus regional cluster

 

 

Zonal cluster : 하나의 존에 하나의 클러스터가 있고 그 안에 하나의 컨트롤 플레인과 여러개의 노드들로 구성됩니다.

Rigional cluster : 여러 좀에 걸쳐서 하나의 클러스터가 존재, 이 때 존마다 하나의 컨트롤 플레인을 가져가게 된다는 점

 

 


Serverless

 

Cloud Run

머신 프로비저닝, 클러스터 구성 또는 오토 스케일링에 대한 고민 없이 서버리스(Serverless) HTTP 컨테이너 배포, 확장에 관리가 전반적으로 이루어지는 컴퓨팅 환경

 

  • 빌드 중립적 : Cloud Run은 표준 오픈 컨테이너 인터페이스 open container interface, OCI 컨테이너를 사용하고 표준 Knative serving API를 구현하므로 애플리케이션을 온프레미스 또는 기타 클라운드 환경으로 쉽게 이식할 수 있음
  • 빠른 오토 스케일링 : Cloud Run에 배포된 마이크로 서비스는 온전한 쿠버네티스 클러스터를 구성하거나 관리할 필요 없이 들어오는 요청수에 따라 자동으로 확장됨, 요청이 없다면 Cloud Run은 자동으로 축소 
  • 트랙픽 분할 : Cloud Run은 여러 버전간에 트래픽을 분할 할 수 있으므로 카나리 canary 배포 도는 블루/ 그린 배포와 같이 순차적 배포를 실현
  • 사용자 정의 도메인 : Cloud Run에 사용자 정의 도메인을 설정할 수 있고 도메인에 대한 TLS 인증서 certifiacation를 배포할 수 있음
  • 자동복원 automatic redundancy : Cloud Run은 자동 복제를 제공하므로 고가용성 확보 가능

 

Cloud Run 사용법

Cloud Run은 선호하는 언어로 코딩하거나 선택한 바이너리 라이브러리를 사용, 그 다음 Cloud Build로 코드를 푸시해 컨테이너 빌드를 생성

gcloud run deploy 명령어로 컨테이너 이미지를 이용해 요청량에 따라 자동으로 확장되는 완전한 관리되는 애플리케이션을 띄울 수 있으며, TLS 인증서가 있는 도메인을 사용할 수 있음 

 

  • HTTPS : Cloud Run 호스트 서비스를 시작하도록 HTTPS요청을 전송 할 수 있음
  • gRPC : gRPC를 사용하여 Cloud Run 서비스를 다른 서비스와 연결할 수 있음
  • 웹소켓 : 웹소켓 Web socket 애플리케이션은 추가적인 구성 없이 Cloud Run에서 지원
  • Pub.Sub에서 시작 : Pub/Sub(게시자/구독자)를 사용하여 Cloud Run 서비스의 엔드포인트로 메시지를 푸시할 수 있음(kafka)

 


Cloud Fuctions

Cloud Fuctions은 완전 관리형 이벤트 기반 서버리스 서비스형 함수 fuction as a service, FaaS로, 클라우드 서비스를 구축하고 연결하는 서버리스 실행 환경, Cloud Fuction은 감시하고 있는 이벤트가 발생하면 실행되는 코드.

트래픽이 늘거나 주는 경우 인프라를 준비하거나 서버 관리를 걱정할 필요가 없음, 또한 Cloud Fuctions은 관측가능성 observability과 진당 diagnosis을 위해 클라우드 오퍼레이션 cloud operations 에 완벽히 통합되어 있음

 

Cloud Fuctions을 사용하려면 지원되는 언어(고, 파이썬, 자바, 노드 Node.js, PHP, Ruby, .NET)로 코드를 작성하기만 하면 됨

서비스로부터 들어오는 HTTP(S) 요청, Cloud Storage의 파일 업로드, Pub/sub의 이벤트, Firebase 또는 명령 줄 인터페이스 Command-line interface, CLI의 직접 호출로 시작할 수 있음

 

Cloud Fuctions 사례 

  • 데이터처리/ETL : 파일생성, 변경 또는 삭제와 같은 Cloud Storage 이벤트를 수신하고 응답
  • 웹훅 webhook : 간단한 HTTP 시작을 통해 깃허브, 슬랙, 스트라이트 Stripe 또는 HTTP요청을 보낼 수 있는 모든 곳에서 발생하는 이벤트에 응답 
  • 모바일 백엔드 : 앱 개발자 또는 Firebase에 대해 구글 모바일 플랫폼을 사용하고 Cloud Fuctions으로 모바일 백엔드를 구성
  • IoT : 모바일 기기에서 Pub/sub으로 데이터를 스트리밍해 데이터를 처리하고 변환하여 저장하기 위해 Cloud Fuctions을 사용

 


App Engine

구글 클라우드의 완전 관히형 서버리스 컴퓨팅

App Engine을 사용하면 애플리케이션을 쉽게 호스팅하고 실행할 수 있으며, 인프라를 관리하지 않고도 여러 글로벌 규모로 확장 할 수 있음 App Engine은 낮은 응답시간을 필요로 하는 웹 트래픽, 전달을 지원하는 웹 프레임워크, HTTP 메시드와 API를 포함해 여러 애플리케이션에서 사용

  • App Engine Standard : 요청에 따라 0부터 N가지 확장할 수 있으므로 급작스럽고 극단적인 부하에 사용하기 적합, 애플리케이션은 몇 초안에 배포
  • App Engine Flex : 애플리케이션 인스턴스가 Compute Engine의 도커 컨테이너에서 실행되므로 개방적으로 유연하며 사용자 정의 런타임을 지원. 인스턴스가 1에서 N까지 확장 가능하므로 트래픽이 일정하고 변동이 규칙적일 때 사용하기 적합, 최대 요청 시간 초과값은 60분

 

 


Cloud Fuctions 대신 Cloud Run을 사용하는 경우

  1. Cloud Fuctions에서 지원하지 않는 언어
  2. 요청에 대한 시간 제한(15분 까지)이 더 긴 경우
  3. 대용량 볼륨
  4. 대규모 동시 접속

 

 

 


Network

 

VPC

시스템을 격리하는 네트워크

 

 

서브넷

  • 서브넷은 같지만 영역이 다른 VM이 있을 수 있음
  • 두 VM 모두에 단일 방화벽 규칙을 적용할 수 있음
  • 다른 서브넷과 겹칠 수 없음
  • IP범위는 고유한 유효 CIDR 블록이어야 함
  • 새 서브넷 IP 범위는 유효한 IP 범위 내에 있어야 함
  • 확장할 수 있지만 축소 할 수 없음
  • 자동 모드는 /20에서 /16으로 확장 가능함
  • 큰 서브넷 피하기 

 

내부 IP 외부 IP
- DHCP 를 통해 서브넷 범위에서 VM으로 할당
- DHCP 임대는 24시간 마다 갱신됨
- VM 이름 + IP는 네트워크 범위 DNS에 등록됨
- 풀에서 할당됨(임시)
- 예약됨(정적)
- Bring Your Own IP Address(자체 IP 사용, BYOIP)
- VM은 외부 IP를 알지 못함, 내부 IP에 매핑됨

 

 

 

 

 

 

 

Shared VPC 

ORG 내의 project에 VPC 공유

 

 

 

피어링(peering)

 

 

private service connect

 

 

 


Load Balancer

총 6개의 로드밸런서가 있음

1 2
전역(global) 리전
- HTTP(s)
- SSL 프록시
- TCP 프록시
- 내부 TCP/UDP
- 네트워크 TCP/UDP
- 내부 HTTP(S)

 

 

 

 

 

내부 주소에 대한 DNS 변환

각 인스턴스 내부 IP주소로 변환 할 수 있는 호스트 이름이 있습니다.

  • 호스트 이름은 인스턴스 이름과 동일합니다. 
  • FQDN은 [hostname].[zone].c.[project-id].internal입니다.
    예 my-server.us-central1-a.c.guestbook-151617.internal
    이름 변환은 내부 DNS 리졸버에서 처리합니다.
  • Compute Engine의 일부로 제공됩니다.(169.254.169.254)
  • DHCP를 통해 인스턴스에서 사용하도록 구성됩니다.
  • 내부 및 외부 주소에 대한 응답을 제공합니다. 

 

 


Direct Interconnect CloudVPN

 

 

VPN gateway : 내 구글 클라우드 서비스에서 온프레미스 서비스로 가야되는 경우

 

 

Dedicated interconnect

 

 

Partner interconnect

 

 

 

 


Cloud DNS

 

cloud DNS를 사용한 DNS 영역 호스팅

  • google의 DNS호스팅
  • 도메인 이름을 IP 주소로 변환
  • 짧은 지연 시간
  • 고가용성(100% 업타임을 보장하는 SLA)
  • 수백만 개의 DNS 레코드 생성 및 업데이트
  • UI, 명령줄 또는 API

 

Forwarding

 

Cloud Routing

다양한 라우팅 경로가 생성되고 이름이 부여되고 우선순위가 부여되기도 함

 

 

 

NAT(Network Address Translation)

퍼블릿 ip 없이 혹은 외부 통신 하고 싶을때 사용하는 것, 소프트웨어 디파인

보안이 좋음

 

 

CDN (content Delivery Network)

정적 컨텐츠 지연없이 빠르게 지원하기 위한 서비스

 


Persistent Disk

 

Object Storage Block Storage NFS(NAS)
Cloud Storage(Bucket) Persistent Disk File Store
객체 별로 ID, 메타 데이터가 존재하며, 실시간으로 수정불가 파일/데이터가 동일 크기의 데이터 블록으로 분할되어 있음 네트워크 방식으로 연결하여 사용하는 공유 파일 스토리지
API, URL 를 통해 HTTP 방식으로 파일에 접근 운영체제가 블록을 읽음 서버의 마운트 하여 사용
비디오, 이미지, 문서, 백업 용도로 사용 VM에 할당하여 서버의 Disk로 사용 NFS방식으로 서버에 Mount하여 사용

 

 


Cloud Storage

 

 

 

사용 사례
- 웹사이트 콘텐츠
- 보관처리 및 재해 복구를 위한 데이터 저장
- 직접 다운로드를 통해 사용자에게 대량의 데이터 객체 배포
주요 특징
- 엑시바이트까지 확장 가능
- 밀리초 단위의 첫 바이트 소요 시간
- 모든 스토리지 클래스에서 고가용성 지원
- 모든 스토리지 클래스에서 단일 API 사용

 

 

  표준(standard) Nearline coldline Archive
사용 사례 데이터 집약적인 계산과 같이 '핫' 데이터 및 또는 짧은 기간만 저장되는 데이터 데이터백업, 롱테일 멀티미디어 콘텐츠 및 데이터 보관처리롸 같이 자주 액세스하지 않는 데이터 분기당 최대 1회 읽거나 수정하는, 자주 액세스 하지 않는 데이터 데이터 보관처리, 온라인 백업 및 재해 복구
최소 저장 기간 없음 30일 90일 365일
검색 비용 없음 1GB당 $0.01 1GB당 $0.02 1GB당 $0.05
가용성 SLA 99.95%(멀티/이중)
99.90%(리전)
99.90%(멀티/이중)
99.00%(리전)
없음
내구성 99.999999999%

 

  • 새 객체에는 기본클래스가 적용
  • 리전 버킷은 멀티 리전/이중 리전으로 변경 할 수 없음
  • 멀티 리전 버킷은 리전으로 변경할 수 없음
  • 버킷에서 버킷으로 객체를 이동할 수 있음
  • 객체 수명 주기 관리 기능으로 객체 클래스를 관리할 수 있음

 

  • 객체는 변경 불가
  • 객체 버전 관리:
    • 객체 수정 이력을 기록
    • 객체의 보관처리된 버전을 나열하거나 객체를 이전 상태로 복원하거나 버전을 삭제
  • 예:
    • 1년 이상된 객체의 스토리지 클래스를 다운그레이드
    • 특정 날짜 이전에 생생된 객체를 삭제
    • 객체에 대해 가장 최근의 3개 버전만 유지
  • 객체검사는 비동기식 배치에서 발생
  • 변경사항을 적용하려면 최대 24시간이 걸릴 수 있음

 

  • Transfer Appliance: 데이터를 렉 처리하고 캡처한 후 Google Cloud로 전달
  • Storage Transfer Service: 온라인 데이터(다른 버킷, S3 버킷 또는 웹 소스)를 가져옴
  • 오프라인 미디어 가져오기 : 타사 제공업체가 물리적 매체에서 데이터를 업로드

 

 

 


Filestore

 

  • Compute Engine 및 GKE 인스턴스용 완전 관리형 네트워크 연결 스토리지(NAS)
  • 예측가능한 성능
  • 완전한 NFSv3 지원
  • 고성능 워크로드를 위한 수백 TB로 확장

 


 

CloudSQL

 

 

Cloud SQL 서비스

  • HA 구성
  • 백업 서비스
  • 가져오기/내보내기
  • 확장
    • 수직: 머신용량
    • 수평: 읽기 복제본
  • 성능
    • 30TB 스토리지
    • 40,000 IOPS
    • RAM 416GB

 

 


Cloud Spanner

관계형 데이터베이스 구조의 이점과 비관계형 수평적 확장을 결합하는 Cloud Spanner

 

  • 스토리지가 페타바이트로 확장
  • strong consistency
  • 고가용성
  • 재무 및 인벤토리 애플리케이션에 사용
  • 월간 업타임
    • 멀티리전 : 99.999%
    • 리전 : 99.99%

 

 

 

 

 


 

NoSQL

 

Firestore

  • What : Firestore는 NoSQL 문서형 데이터베이스로 실시간 동기화 기능을 제공
  • 특징 : 서버리스 구조, JSON 기반 문서 저장, 강력한 쿼리 기능, 실시간 업데이트
  • 사례 : 실시간 채팅, 애플리케이션, 소셜 네트워크 피드, 모바일 앱 데이터 동기화

 

 

Cloud Bigtable

  • what : bigtable은 대규모 데이터 처리를 위한 분산형 NoSQL 데이터베이스
  • 특징 : 페타바이트 규모의 데이터를 지원, 낮은 지연 시간과 높은 처리량, HBase API와 호환
  • 사례 : 대규모 분석, IoT 데이터 처리, 실시간 개인화 추천 시스템

 

 

 

Memorystore

  • what : Memorystore는 Redis와 Memcached를 기반으로 한 인메모리 데이터베이스 서비스
  • 특징 : 초고속 데이터 액세스, 자동 확장, 완전 관리형 서비스, 높은 가용성
  • 사례 : 캐싱 레이어 구축, 세션 관리, 실시간 데이터 처리 애플리케이션

 


Bigquery

완전 관리형 서버리스 데이터 웨어하우스

 

ETL/ELT

 

 

 

 

 

 


IAM/KMS

Identity and Access Management(IAM)

서비스 어카운트 중요!

 

 

 

 IAM roles

 

 


Monitoring/Alert/Log

 

 

 

 


Case Sutdy

 

회사소개, 비즈니스 요구 사항, 기술 요구사항 등을 고려하여 각 클라우드 서비스를 구축해야 함

 

구글 클라우드 자격증 사이트에 가보면 4가지 케이스에 대한 PDF 파일을 받을 수 있음 -> 정답이 헷갈릴때 제시문을 꼼꼼히 읽으면 답을 알 수 있음, 만점을 목표로 하지 않는 경우라면 어느정도만 알면 문제풀이는 가능함

 

 

 


<참고 링크>

 

클라우드 컴퓨팅 서비스 | Google Cloud

 

GitHub - priyankavergadia/GCPSketchnote: If you are looking to become a Google Cloud Engineer , then you are at the right place. GCPSketchnote is series where I share Google Cloud concepts in quick and easy to learn format.

 

GitHub - priyankavergadia/GCPSketchnote: If you are looking to become a Google Cloud Engineer , then you are at the right place.

If you are looking to become a Google Cloud Engineer , then you are at the right place. GCPSketchnote is series where I share Google Cloud concepts in quick and easy to learn format. - priyankaverg...

github.com

 

 

728x90

 

728x90
반응형