cd deploymentmanager-samples/examples/v2/step_by_step_guide/step2_create_a_configuration
그런 다음 two-vms.yaml을 엽니다.
nanotwo-vms.yaml# use your preferred text editor
resources 섹션에는 리소스 두 개(the-first-vm 및 the-second-vm)가 있습니다. 각 리소스에는 name, type, properties 필드가 있습니다.
name: 리소스에 정의하는 이름입니다.
type: 만들려는 리소스의 유형을 지정합니다. 예를 들어 VM은 compute.v1.instance입니다. 마찬가지로 Cloud SQL 인스턴스의 유형은 sql.v1beta4.instance입니다.
properties: 리소스의 속성을 지정합니다. 리소스를 만들 때 필요한 속성은 리소스 API에 필요한 속성과 동일합니다. 예를 들어 Compute Engine VM 인스턴스를 만들 때는 머신 유형, 이미지, 네트워크 인터페이스, 부팅 디스크 사양을 제공해야 합니다.
구성 파일 설정
two-vms.yaml에서 MY_PROJECT를 프로젝트 ID로 바꿉니다.
# Copyright 2016 Google Inc. All rights reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.resources:-name:the-first-vmtype:compute.v1.instanceproperties:zone:us-central1-fmachineType:https://www.googleapis.com/compute/v1/projects/MY_PROJECT/zones/us-central1-f/machineTypes/f1-microdisks:-deviceName:boottype:PERSISTENTboot:trueautoDelete:trueinitializeParams:sourceImage:https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-11networkInterfaces:-network:https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/defaultaccessConfigs:-name:External NATtype:ONE_TO_ONE_NAT-name:the-second-vmtype:compute.v1.instanceproperties:zone:us-central1-fmachineType:https://www.googleapis.com/compute/v1/projects/MY_PROJECT/zones/us-central1-f/machineTypes/g1-smalldisks:-deviceName:boottype:PERSISTENTboot:trueautoDelete:trueinitializeParams:sourceImage:https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-11networkInterfaces:-network:https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/defaultaccessConfigs:-name:External NATtype:ONE_TO_ONE_NAT
변경사항을 저장합니다.
이 기본 구성 파일만으로 첫 번째 배포를 만들 수 있습니다.
만들려는 리소스를 선언했으므로(이 경우 머신 유형이 서로 다른 VM 인스턴스 두 개) Deployment Manager가 리소스를 만듭니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-03(UTC)"],[[["\u003cp\u003eA configuration defines the structure of a deployment, and it is required to create one.\u003c/p\u003e\n"],["\u003cp\u003eThis configuration example creates a deployment with two Compute Engine virtual machine (VM) instances, demonstrating how to define resources.\u003c/p\u003e\n"],["\u003cp\u003eEach resource within the configuration has a \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003etype\u003c/code\u003e, and \u003ccode\u003eproperties\u003c/code\u003e field, specifying what is created and how.\u003c/p\u003e\n"],["\u003cp\u003eThe configuration file \u003ccode\u003etwo-vms.yaml\u003c/code\u003e details the creation of two distinct VM instances with varying machine types, demonstrating how to specify different types of VMs.\u003c/p\u003e\n"],["\u003cp\u003eDeployment Manager uses the defined configuration to create the specified resources, abstracting away the low level creation.\u003c/p\u003e\n"]]],[],null,["# Understanding configurations\n\nA configuration defines the structure of your deployment. You must specify a\nconfiguration to create a deployment.\n\nIn this step, you will access a configuration that creates a deployment with two\nCompute Engine virtual machine (VM) instances. A VM instance is one of\nseveral kinds of resources you can deploy with Deployment Manager.\n\nIn this step, you'll examine a configuration for a deployment with\ntwo VM instances.\n\nOpen the configuration YAML file\n--------------------------------\n\nChange to the directory you created in\n[Installation and setup](/deployment-manager/docs/step-by-step-guide/installation-and-setup): \n\n cd deploymentmanager-samples/examples/v2/step_by_step_guide/step2_create_a_configuration\n\nThen, open `two-vms.yaml`: \n\n nano two-vms.yaml # use your preferred text editor\n\nIn the `resources` section, note that there are two resources: `the-first-vm`\nand `the-second-vm`. Each resource has a `name`, `type`, and `properties`\nfield:\n\n- `name`: A name that you define for the resource.\n\n- `type`: Specifies what type of resource you're creating. For example, a VM\n is `compute.v1.instance`. Similarly, a Cloud SQL \n\n instance has the type `sql.v1beta4.instance`.\n\n- `properties`: Specifies the properties of the resource. The properties\n required to create the resource are the same properties required by the\n resource's API. For example, when you create a Compute Engine VM\n instance, you must provide a machine type, an image, a network interface,\n and a boot disk specification.\n\nSet up the configuration file\n-----------------------------\n\nIn `two-vms.yaml`, replace \u003cvar translate=\"no\"\u003eMY_PROJECT\u003c/var\u003e with your project\nID. \n\n # Copyright 2016 Google Inc. All rights reserved.\n #\n # Licensed under the Apache License, Version 2.0 (the \"License\");\n # you may not use this file except in compliance with the License.\n # You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n # Unless required by applicable law or agreed to in writing, software\n # distributed under the License is distributed on an \"AS IS\" BASIS,\n # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n # See the License for the specific language governing permissions and\n # limitations under the License.\n\n resources:\n - name: the-first-vm\n type: compute.v1.instance\n properties:\n zone: us-central1-f\n machineType: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/zones/us-central1-f/machineTypes/f1-micro\n disks:\n - deviceName: boot\n type: PERSISTENT\n boot: true\n autoDelete: true\n initializeParams:\n sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-11\n networkInterfaces:\n - network: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/default\n accessConfigs:\n - name: External NAT\n type: ONE_TO_ONE_NAT\n - name: the-second-vm\n type: compute.v1.instance\n properties:\n zone: us-central1-f\n machineType: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/zones/us-central1-f/machineTypes/g1-small\n disks:\n - deviceName: boot\n type: PERSISTENT\n boot: true\n autoDelete: true\n initializeParams:\n sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-11\n networkInterfaces:\n - network: https://www.googleapis.com/compute/v1/projects/MY_PROJECT/global/networks/default\n accessConfigs:\n - name: External NAT\n type: ONE_TO_ONE_NAT\n\nSave your changes\n-----------------\n\nThis basic configuration file is all you need to create your first deployment.\nYou declared the resources that you want to create (in this case, two VM\ninstances that had different machine types), and Deployment Manager takes\ncare of creating the resources.\n\nIn the next step, you use this configuration to deploy new resources."]]