지금까지는 GCP 콘솔이나 Cloud Shell을 사용하여 GCP리소스를 만들었다. 만약에 서비스를 사용하는게 처음이거나 UI를 선호한다면 GCP 콘솔을 사용하는 것을 추천하고, 만약에 특정 서비스를 사용하는게 편리하거나 빠르게 커맨드 라인을 사용하여 리소스를 만들고 싶다면 Cloud Shell을 추천한다. 그러나 Deployment Manager의 사용은 한 발자국 더 내딛는 것을 도와줄 것이다.
Google Cloud 리소스의 생성 및 관리를 자동화하는 인프라 배포 서비스.
1-1. 특징
1-2. 리소스의 종류
2. 구성
구성은 생성하려는 각 리소스와 해당 리소스 속성이 나열된 YAML 구문으로 작성된 파일이다. 구성에는 생성할 리소스 목록으로 이어지는 resources: 섹션이 포함되어야 하며,각 리소스에는 3개의 구성요소가 포함되어 있어야 한다.
[구성 예시]
resources:
- name: the-first-vm
type: compute.v1.instance
properties:
zone: us-central1-a
machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/f1-micro
disks:
- deviceName: boot
type: PERSISTENT
boot: true
autoDelete: true
initializeParams:
sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20150423
networkInterfaces:
- network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default
accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT
구성은 완전히 확장되거나 확장되지 않은 것으로 이루어져 있다. 완전히 확장된 구성은 템플릿 파일의 콘텐츠를 포함하여 배포의 모든 리소스 및 속성을 설명한다.
[확장되지 않은 구성 예시]
imports:
- path: vm_template.jinja
resources:
- name: vm-instance
type: vm_template.jinja
properties:
zone: us-central1-a
project: myproject