주의: 이 버전은 지원 중단된 Deployment Manager API입니다. 대신 최신 API 버전을 사용하세요.
배포 설정을 정의하는 템플릿 리소스를 나타냅니다.
이 리소스에 대한 메소드 목록은 이 페이지의 하단에 나와 있습니다.
리소스 표현
템플릿은 배포의 전체 구성을 나타냅니다.
{ "name":string , "description":string , "modules": {(key) : { "type":string , "healthCheckModule": { "host":string , "path":string , "port":integer , "checkIntervalSec":integer , "timeoutSec":integer , "unhealthyThreshold":integer , "healthyThreshold":integer , "description":string }, "lbModule": { "targetModules": [string ], "ipProtocol":string , "healthChecks": [string ], "ipAddress":string , "portRange":string , "description":string }, "replicaPoolModule": { "numReplicas":integer , "envVariables": {(key) : { "value":string , "hidden":boolean } }, "resourceView":string , "replicaPoolParams": { "v1beta1": { "machineType":string , "zone":string , "baseInstanceName":string , "serviceAccounts": [ { "email":string , "scopes": [string ] } ], "description":string , "tags": { "fingerPrint":string , "items": [string ] }, "networkInterfaces": [ { "name":string , "network":string , "networkIp":string , "accessConfigs": [ { "name":string , "type":string , "natIp":string } ] } ], "metadata": { "fingerPrint":string , "items": [ { "key":string , "value":string } ] }, "canIpForward":boolean , "autoRestart":boolean , "initAction":string , "onHostMaintenance":string , "disksToCreate": [ { "boot":boolean , "autoDelete":boolean , "attachment": { "deviceName":string , "index":unsigned integer }, "initializeParams": { "sourceImage":string , "diskSizeGb":long } } ], "disksToAttach": [ { "source":string , "attachment": { "deviceName":string , "index":unsigned integer } } ] } }, "healthChecks": [string ] }, "autoscalingModule": { "minNumReplicas":integer , "maxNumReplicas":integer , "signalType":string , "targetUtilization":double , "targetModule":string , "description":string , "coolDownPeriodSec":integer }, "firewallModule": { "description":string , "network":string , "sourceRanges": [string ], "sourceTags": [string ], "targetTags": [string ], "allowed": [ { "IPProtocol":string , "ports": [string ] } ] }, "networkModule": { "description":string , "IPv4Range":string , "gatewayIPv4":string } } }, "actions": {(key) : { "commands": [string ], "timeoutMs":integer } } }
속성 이름 | 값 | 설명 | 참고 |
---|---|---|---|
actions |
object |
이 템플릿에서 정의하는 모듈에서 사용하도록 정의된 작업입니다. | |
actions.(key) |
nested object |
이 작업의 이름으로, 모듈 정의에서 작업을 지정할 때 사용됩니다. | |
actions.(key).commands[] |
list |
이 작업에 대해 순차적으로 실행할 명령어 목록입니다. | |
actions.(key).timeoutMs |
integer |
이 작업을 실행하는 데 걸리는 제한 시간(밀리초)입니다. | |
description |
string |
이 템플릿에 대한 설명입니다. | |
modules |
object |
이 템플릿의 모듈 목록입니다. | |
modules.(key) |
nested object |
모듈 이름입니다. 이름은 다음 정규 표현식과 일치해야 합니다. [a-zA-Z0-9-_]{1,64} |
|
modules.(key).autoscalingModule |
nested object |
자동 확장 모듈을 정의합니다. | |
modules.(key).autoscalingModule.coolDownPeriodSec |
integer |
가상 머신 수를 두 번 연속 변경할 때 자동 확장 처리가 대기해야 하는 시간(초)입니다. 가상 머신의 초기화 시간만큼 긴 간격을 정의해야 합니다. 기본값은 5초입니다. | |
modules.(key).autoscalingModule.description |
string |
이 자동 확장 모듈에 대한 설명(선택사항)입니다. | |
modules.(key).autoscalingModule.maxNumReplicas |
integer |
자동 확장할 최대 복제본 수입니다. | |
modules.(key).autoscalingModule.minNumReplicas |
integer |
자동 확장할 최소 복제본 수입니다. | |
modules.(key).autoscalingModule.signalType |
string |
배포 관리자가 자동 확장이 필요한지 확인하는 데 사용해야 하는 신호입니다.
허용되는 값은 다음과 같습니다.
|
|
modules.(key).autoscalingModule.targetModule |
string |
확장할 대상 복제본 풀 모듈입니다. | |
modules.(key).autoscalingModule.targetUtilization |
double |
목표 사용률(0~100) (0, 1] . 자동 확장 처리는 원하는 신호 (현재는 평균 CPU만 해당)의 값을 이 목표 수준에 가깝게 유지하기 위해 작동합니다. 예를 들어 복제본의 평균 CPU가 대상 사용률보다 훨씬 낮은 경우 자동 확장 처리는 대상 사용률 또는 최소 복제본 수에 도달할 때까지 축소됩니다. 평균 CPU가 이 숫자를 초과하면 자동 확장 처리가 대상 사용률 또는 최대 리소스 수에 도달할 때까지 확장됩니다. |
|
modules.(key).firewallModule |
nested object |
Google Compute Engine 방화벽 리소스와 동일한 방화벽 모듈을 만듭니다. | |
modules.(key).firewallModule.allowed[] |
quilist |
이 방화벽에 허용되는 포트 및 프로토콜을 정의합니다. | |
modules.(key).firewallModule.allowed[].IPProtocol |
string |
이 방화벽 모듈에 허용되는 IP 프로토콜입니다. tcp ,udp , icmp 또는 IP 프로토콜 번호일 수 있습니다. |
|
modules.(key).firewallModule.allowed[].ports[] |
list |
허용되는 포트 또는 포트 범위 목록입니다 (예: 입력값:
["22"],
[?33?, "12345-12349"] ). |
|
modules.(key).firewallModule.description |
string |
방화벽에 대한 설명입니다. | |
modules.(key).firewallModule.network |
string |
이 방화벽이 적용되어야 하는 네트워크 모듈입니다. 지정하지 않거나 default
로 지정하면 이 방화벽이 default 네트워크에 적용됩니다. |
|
modules.(key).firewallModule.sourceRanges[] |
list |
이 규칙이 적용되는 IP 주소 블록으로, CIDR 형식으로 표시됩니다. sourceRanges 및 sourceTags 중 하나 또는 둘 다를 설정할 수 있습니다. 소스의 범위 또는 태그가 sourceRanges 또는 sourceTags 와 일치하는 경우 수신 연결이 허용됩니다. |
|
modules.(key).firewallModule.sourceTags[] |
list |
이 규칙이 적용되는 인스턴스 태그 목록입니다. sourceRanges 및 sourceTags 중 하나 또는 둘 다를 설정할 수 있습니다. 소스의 범위 또는 태그가 sourceRanges 또는 sourceTags 와 일치하는 경우 수신 연결이 허용됩니다. |
|
modules.(key).firewallModule.targetTags[] |
list |
네트워크에 있는 인스턴스 세트를 나타내는 인스턴스 태그 목록으로, allowed[] 에 지정된 대로 네트워크 연결을 설정할 수 있습니다. targetTags 가 지정되지 않은 경우 방화벽 규칙이 지정된 네트워크의 모든 인스턴스에 적용됩니다. |
|
modules.(key).healthCheckModule |
nested object |
부하 분산에 사용할 상태 확인 모듈을 정의합니다. | |
modules.(key).healthCheckModule.checkIntervalSec |
integer |
상태 확인을 실행하는 간격(초)을 설정합니다. 기본값은 5초입니다. | |
modules.(key).healthCheckModule.description |
string |
이 상태 점검 모듈에 대한 설명입니다. | |
modules.(key).healthCheckModule.healthyThreshold |
integer |
비정상 가상 머신 인스턴스가 정상으로 표시되기 전에 성공적으로 재시도된 횟수를 지정합니다. 기본값은 2입니다. | |
modules.(key).healthCheckModule.host |
string |
이 상태 확인 요청에 사용된 호스트 헤더의 값입니다. 예를 들어 www.mydomain.com 도메인을 사용하여 인스턴스에서 웹페이지를 제공하는 경우 호스트의 상태 검사가 실행되도록 호스트 이름을 www.mydomain.com으로 설정할 수 있습니다. 기본적으로 이 필드는 비어 있으며 Google Compute Engine은 상태 요청의 호스트 헤더를 이 대상 풀과 연결된 전달 규칙과 동일한 외부 IP 주소로 자동 설정합니다. 예를 들어 부하 분산 모듈의 외부 IP 주소가 1.2.3.4 이고 기본 호스트 설정이 포함된 상태 점검 객체가 있는 tp1 이라는 대상 모듈 풀로 트래픽을 전달하는 경우 호스트 헤더는 1.2.3.4 로 설정됩니다. |
|
modules.(key).healthCheckModule.path |
string |
이 상태 점검의 요청 경로입니다. 예를 들면 /healthcheck 입니다. 기본값은 / 입니다. |
|
modules.(key).healthCheckModule.port |
integer |
이 상태 점검 요청의 TCP 포트 번호입니다. 기본값은 80 입니다. |
|
modules.(key).healthCheckModule.timeoutSec |
integer |
Google Compute Engine이 HTTP 200 인스턴스로부터 timeoutSec 응답을 받지 못하면 상태 점검 요청이 실패로 간주됩니다. 기본값은 5 초입니다. |
|
modules.(key).healthCheckModule.unhealthyThreshold |
integer |
정상 가상 머신 인스턴스가 비정상으로 표시되기 전에 성공적으로 재시도된 횟수를 지정합니다. 기본값은 2입니다. | |
modules.(key).lbModule |
nested object |
부하 분산 모듈을 지정합니다. | |
modules.(key).lbModule.description |
string |
이 부하 분산 모듈에 대한 설명입니다. | |
modules.(key).lbModule.healthChecks[] |
list |
이 부하 분산 모듈에 사용할 상태 확인 목록입니다. | |
modules.(key).lbModule.ipAddress |
string |
이 전달 규칙이 대신 제공하는 외부 정적 IP입니다. 예약된 고정 IP일 수 있으며, 비워 두거나 지정하지 않으면 기본적으로 임시 IP 주소가 할당됩니다. 포트 범위와 프로토콜이 겹치지 않는 한 여러 전달 규칙에서 동일한 IP 주소를 사용할 수 있습니다. 예를 들면 --ip="1.2.3.106" 과 같습니다. |
|
modules.(key).lbModule.ipProtocol |
string |
이 부하 분산 모듈이 처리하는 프로토콜입니다.
허용되는 값은 다음과 같습니다.
|
|
modules.(key).lbModule.portRange |
string |
이 부하 분산기가 담당하는 포트 목록입니다. 이러한 포트로 전송되는 지정된 프로토콜의 패킷은 적절한 대상 풀로 전달됩니다. 이 필드를 비워 두면 부하 분산기가 지정된 프로토콜의 모든 포트에 대한 트래픽을 전송합니다. 단일 포트 또는 포트 범위일 수 있습니다. | |
modules.(key).lbModule.targetModules[] |
list |
이 부하 분산기의 트래픽을 처리하는 대상 모듈을 지정합니다. 트래픽 모듈에는 이 부하 분산기로 전송된 트래픽을 수신하는 가상 머신 인스턴스가 하나 이상 포함됩니다. | |
modules.(key).networkModule |
nested object |
네트워크 모듈을 정의합니다. | |
modules.(key).networkModule.IPv4Range |
string |
이 네트워크에서 유효한 내부 주소 범위입니다. 이 범위는 CIDR 사양입니다(예:
192.168.0.0/16. ). |
|
modules.(key).networkModule.description |
string |
네트워크에 대한 설명입니다. | |
modules.(key).networkModule.gatewayIPv4 |
string |
다른 네트워크로의 기본 라우팅에 사용되는 선택적 주소입니다. IPv4Range로 지정된 범위 내에 있어야 하며 일반적으로 해당 범위에서 사용할 수 있는 첫 번째 주소입니다. 지정하지 않으면 기본값은 IPv4Range의 첫 번째 사용 가능한 주소입니다. | |
modules.(key).replicaPoolModule |
nested object |
Compute Engine 가상 머신 인스턴스를 만드는 복제 풀 모듈을 지정합니다. | |
modules.(key).replicaPoolModule.envVariables |
object |
환경 변수 목록입니다. | |
modules.(key).replicaPoolModule.envVariables.(key) |
nested object |
환경 변수의 이름입니다. 이름은 [a-zA-Z_]+[a-zA-Z0-9_]+ 정규 표현식과 일치해야 합니다. |
|
modules.(key).replicaPoolModule.envVariables.(key).value |
string |
환경 변수 값입니다. | |
modules.(key).replicaPoolModule.healthChecks[] |
list |
이 복제 풀 모듈에 사용할 상태 점검 목록입니다. | |
modules.(key).replicaPoolModule.numReplicas |
integer |
이 모듈의 복제본 수입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams |
nested object |
ReplicaPoolModule에 관한 정보입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1 |
nested object |
ReplicaPools v1beta1과 함께 사용할 ReplicaPoolParams 사양입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.autoRestart |
boolean |
이러한 복제본에 오류가 발생하면 다시 시작해야 하는지 여부입니다. 기본값은 true 입니다. |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.baseInstanceName |
string |
이 ReplicaPool 내 인스턴스의 기본 이름입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.canIpForward |
boolean |
IP 전달을 사용 설정합니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.description |
string |
리소스에 대한 텍스트 설명(선택사항)입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[] |
list |
풀의 각 복제본에 연결할 기존 영구 디스크 리소스의 목록입니다. 각 디스크는 모든 복제본에 읽기 전용 모드로 연결됩니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment |
nested object |
선택사항입니다. 디스크가 복제본에 연결되는 방식입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.deviceName |
string |
이 디스크의 기기 이름입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.index |
unsigned integer |
이 디스크에 할당할 0부터 시작하는 색인입니다. 여기서 0은 부팅 디스크용으로 예약되어 있습니다. 지정하지 않으면 서버에서 할당합니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].source |
string |
영구 디스크 리소스의 정규화된 URL입니다. 풀과 동일한 영역에 있어야 합니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[] |
list |
풀의 각 복제본에 만들고 연결할 디스크 리소스 목록입니다. 현재 디스크는 하나만 정의할 수 있으며 루트 영구 디스크여야 합니다. 복제본 풀은 각 복제본에 루트 영구 디스크를 만듭니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment |
nested object |
디스크가 복제본에 연결되는 방식입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.deviceName |
string |
이 디스크의 기기 이름입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.index |
unsigned integer |
이 디스크에 할당할 0부터 시작하는 색인입니다. 여기서 0은 부팅 디스크용으로 예약되어 있습니다. 지정하지 않으면 서버에서 할당합니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].autoDelete |
boolean |
true 인 경우 인스턴스가 삭제될 때 이 디스크가 삭제됩니다. |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].boot |
boolean |
true 인 경우 루트 영구 디스크임을 나타냅니다. |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams |
nested object |
이 매개변수를 사용하여 새 디스크를 만듭니다. 디스크의 이름은 <instance_name>-<five_random_characters> 입니다. |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.diskSizeGb |
long |
생성된 디스크의 크기(GB)입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.sourceImage |
string |
이 디스크를 만드는 데 사용할 소스 이미지의 이름 또는 정규화된 URL입니다. 소스 이미지의 이름을 제공하면 ReplicaPool 모듈이 프로젝트에서 해당 이름의 이미지를 찾습니다. Compute Engine에서 제공하는 이미지를 지정하는 경우 올바른 프로젝트와 함께 전체 URL을 제공해야 합니다(예:https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-wheezy-7-vYYYYMMDD |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.initAction |
string |
ReplicaPoolModule 초기화 중에 실행할 작업의 이름입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.machineType |
string |
이 인스턴스의 머신 유형입니다. 전체 URL 또는 리소스 이름 (예: n1-standard-1 )입니다. |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata |
nested object |
이 인스턴스에 할당된 메타데이터 키-값 쌍입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.fingerPrint |
string |
메타데이터의 지문입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[] |
list |
메타데이터 항목 목록입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].key |
string |
메타데이터 키입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].value |
string |
메타데이터 값입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[] |
list |
인스턴스의 네트워크 인터페이스 목록입니다. 현재 Google Compute Engine에서는 하나의 인터페이스만 지원됩니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[] |
list |
이 인터페이스의 구성 배열입니다. 이 인터페이스가 다른 네트워크 서비스와 상호작용하도록 구성되는 방식을 지정합니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].name |
string |
이 액세스 구성의 이름입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].natIp |
string |
이 인스턴스에 연결된 외부 IP 주소입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].type |
string |
이 액세스 구성 파일의 유형입니다. (현재 ONE_TO_ONE_NAT 만 유효합니다.) |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].name |
string |
인터페이스의 이름입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].network |
string |
이 인터페이스가 적용되는 NetworkModule의 이름입니다. 지정하지 않거나 '기본값'으로 지정하면 '기본값' 네트워크가 사용됩니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].networkIp |
string |
이 네트워크 인터페이스의 인스턴스에 할당할 선택적 IPV4 내부 네트워크 주소입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.onHostMaintenance |
string |
이 복제본 풀의 인스턴스에 대한 유지보수 동작을 설정합니다.
허용되는 값은 다음과 같습니다.
|
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[] |
list |
이 인스턴스에 사용 설정할 서비스 계정 목록입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].email |
string |
서비스 계정 이메일 주소 | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].scopes[] |
list |
서비스 계정에 대해 가져올 OAuth2 범위 목록입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags |
nested object |
Google Compute Engine 인스턴스에 적용하여 리소스를 식별할 태그 목록입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.fingerPrint |
string |
태그의 디지털 지문입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.items[] |
list |
이 태그에 포함된 항목입니다. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.zone |
string |
이 ReplicaPool의 영역입니다. | |
modules.(key).replicaPoolModule.resourceView |
string |
[출력 전용] 와 연결된 리소스 뷰의 이름입니다. 복제 풀 모듈을 이 필드는 서비스에서 생성합니다. |
|
modules.(key).type |
string |
이 모듈의 유형입니다.>.
허용되는 값은 다음과 같습니다.
|
|
name |
string |
이 템플릿의 이름입니다. 이름은 [a-zA-Z0-9-_]{1,64} 표현식을 준수해야 합니다. |
메서드
- delete
- 템플릿을 삭제합니다. 이렇게 하면 프로젝트에서 템플릿이 삭제됩니다. 템플릿을 삭제해도 이 템플릿에서 만든 배포에는 영향을 미치지 않습니다.
- get
- 템플릿에 관한 자세한 정보를 가져옵니다.
- insert
- 템플릿을 삽입합니다. 템플릿을 삽입해도 리소스가 생성되지는 않습니다. 물리적 리소스가 생성되기 전에 템플릿으로 배포를 만들어야 합니다.
- list
- 프로젝트 내의 모든 템플릿을 나열합니다.