[GCP] Deployment Manager

Jade·2021년 2월 26일
0

Google Associate Cloud Engineer

이 글은 개인적으로 공부한 내용을 정리한 것이므로 틀린 내용이 포함되어 있을 수 있습니다.

💁 Question

Compute Engine VM을 동적으로 프로비저닝 하고 싶다. 정확한 사양은 전용 구성 파일(configuration file)에 정의되어 있다. 구글의 권장사항에 따르고 싶다면, 어떤 방식을 사용해야할까?

A. Deployment Manager
B. Cloud Composer
C. Managed Instance Group
D. Unmanaged Instance Group

🙆 Answer

A. Deployment Manager

디플로이먼트 매니저를 사용하여 리소스 집합을 만들고 '배포'라는 단위로 관리가 가능하다. 예를 들어 팀 개발 환경에 VM 두 대와 BigQuery 데이터베이서 한 개가 필요한 경우 '구성 파일'을 통해 이러한 리소스를 코드로 정의하여 리소스를 만들거나 변경하거나 삭제할 수 있다.

⚠️ Caution

Cloud Composer

  • 클라우드 및 온프레미스 데이터 센터에 걸쳐있는 파이프 라인을 작성, 예약, 모니터링하는데 사용할 수 있는 관리형 워크플로 저장 서비스이다. Composer를 사용하면 복잡한 Airflow 인프라를 만들고 관리하는 번거로움없이 Apache Airflow를 사용할 수 있다.

Managed Instance Group

  • 단일 항목으로 제어하는 VM 인스턴스의 그룹이다. 자동 복구, 부하 분산, 자동 확장, 자동 업데이트, 스테이트풀 워크로드 등의 기능을 지원한다.

Unmanaged Instance Group

  • 단일 영역, VPC 네트워크, 서브넷에 상주하는 VM의 모음이다. MIG(Managed Instance Group)과는 달리 개별 구성 설정 또는 조정이 필요한 VM을 그룹화하는 데 유용하다.

💡 Check Point: Deployment Manager vs Terraform

  • Google Cloud 배포에 적합한 코드형 인프라 도구는 워크로드에 따라 다르다. 워크로드를 GCP에만 배포하는 경우, Deployment Manager를 이용한다면 Google Cloud에 내장된 도구이기 때문에 인증 관점에서도 유리하겠지만 Terraform의 경우 단일 클라우드 제공 업체로 제한되지 않기 때문에 멀티 클라우드 사용시에는 더 나은 옵션이 될 수 있다.

  • AWS: CloudFormation, Azure: Resource Manager

🔗 References

profile
우당탕탕 좌충우돌 인프라 여행기

0개의 댓글