GCP - Associate Cloud Engineer 준비기
GCP Certification 취득을 위해 공부합니다. GCP 전반에 대한 내용을 다룹니다.
정리된 내용은 “Udemy-GCP Associate Cloud Engineer - Google Cloud Certification” 강의를 기반으로 합니다.
Instance Groups
여러개의 VM을 하나의 엔티티처럼 관리하기 위한 인스턴스 묶음
-
종료
-
Managed(MIG)
- Instance Template를 이용해 동일한 VM을 여러개 만들어 관리
- Auto scaling, Auto healing 지원
-
Unmanaged
- 서로 다른 configurations로 다른 VM을 만들어 관리
- Auto scaling, Auto healing 미지원
-
MIG
특징
- Instance Template 가 반드시 필요함
- 실행되는 인스턴스 수를 보장 : 인스턴스가 죽으면 새로운 인스턴스 생성하여 할당
- Self Healing(Health Check)
-
Auto Scaling
- 최대/최소 인스턴스 수 설정
- Cooldown Period, Scale In Control 설정
- Load Balancing
- Regional MIGs : 여러 Zone에 분산하여 HA 보장
-
Downtime 없이 새로운 인스턴스 배포/업데이트 가능
- Rolling Update : 인스턴스를 하나 씩 단계적으로 업데이트
- Canary Deployment : 인스턴스 중 일부 그룹을 먼저 업데이트하여 테스트한 뒤 전체 업데이트
Update / Restart / Replace
- 새로운 Instance Template 작성
-
업데이트 시기 결정
- Proactive : 즉각 업데이트
- Opportunistic : resize로 인한 인스턴스 중단 상태 등을 기다렸다가 업데이트
-
업데이트 속성 결정
- Maximum Surge : 한 번에 몇 개의 인스턴스를 변경/추가할 지
- Maximum Unavailable : 한 번의 업데이트가 진행될 때 인스턴스를 몇 개까지 멈추게할 수 있을지
시나리오
-
Zonal Failure를 복구하기 위한 MIG를 운영하려면 어떻게 해야할까?
- Multiple zone MiG (Regional MIG)
-
같은 그룹 내 서로 다른 설정값을 가진 VM을 생성할 수 있을까?
- Unmanaged Instance Group
-
MIG의 VM 상태(state)를 보존하고 싶다면?
- Stateful MIG
- Instance 이름, 영구 디스크/메타데이터 저장하므로 DB, Data processing app에 적합
-
HW/SW 업데이트 상황에서도 High Availablity를 보장하기 위한 방법은?
- 가용성 정책과 함께 Instance Template 사용
- Automatic Restart : enabled / On-Host Maintenance : migrate
-
Unhealthy Instance를 자동으로 replace하려면?
- Health Check, Self Healing
-
빈번한 scale up/sacle down을 방지하고 싶다면?
- Cool Down Period 설정
- Initial Delay 설정
Gcloud로 Instance Groups 관리하기
- Instance Group 생성 :
gcloud compute instance-groups managed create my-mig --zone us-central1-a --template my-instance-template --size 1
-
Auto Scaling 설정 :
gcloud compute instance-gorups managed set-autoscaling my-mig --max-num-replicas=10
--cool-down-period
,--scale-based-on-cpu
-
Instance Group Update :
gcloud compute instance-gorups managed update my-mig
--initial-delay
,--health-check
- 리사이즈 :
gcloud compute instance-gorups managed resize my-mig --size=10
-
Instance Template 업데이트 :
gcloud compute instance-gorups managed set-instance-template my-mig --template=v2-template
-
Instance Template 업데이트 시 downtime 없이 template 설정하는 방법
- Instance 재생성 :
gcloud compute instance-gorups managed recreate-instances my-mig --instances=my-instance-1,my-instance-2
- Instance 업데이트 :
gcloud compute instance-gorups managed update-instances my-mig --instances=my-instance-1,my-instance-2
- Rolling Action
- Instance 재생성 :
-
-
Rolling Action 업데이트
- restart (Stop & Start) :
gcloud compute instance-gorups managed rolling-action restart my-mig
- recreate (Delete & Recreate) :
gcloud compute instance-gorups managed rolling-action replace my-mig
--max-surge
,--max-unavilable
,--replace-method=recreate/substitute
(인스턴스명 재사용/새로 생성)
- restart (Stop & Start) :