서비스 정의 템플릿
서비스 정의 템플릿
다음은 Amazon ECS 서비스 정의의 JSON 표현입니다. 이 글에서는 EC2와 Fargate용 서비스 정의 템플릿을 알아봅니다.
출처: 문서
본문
다음은 Amazon ECS 서비스 정의의 JSON 표현입니다.
EC2
{
"cluster": "",
"serviceName": "",
"taskDefinition": "",
"loadBalancers": [
{
"targetGroupArn": "",
"loadBalancerName": "",
"containerName": "",
"containerPort": 0
}
],
"serviceRegistries": [
{
"registryArn": "",
"port": 0,
"containerName": "",
"containerPort": 0
}
],
"desiredCount": 0,
"clientToken": "",
"launchType": "EC2",
"capacityProviderStrategy": [
{
"capacityProvider": "",
"weight": 0,
"base": 0
}
],
"platformVersion": "",
"role": "",
"deploymentConfiguration": {
"deploymentCircuitBreaker": {
"enable": true,
"rollback": true
},
"maximumPercent": 0,
"minimumHealthyPercent": 0,
"alarms": {
"alarmNames": [
""
],
"enable": true,
"rollback": true
}
},
"placementConstraints": [
{
"type": "distinctInstance",
"expression": ""
}
],
"placementStrategy": [
{
"type": "binpack",
"field": ""
}
],
"networkConfiguration": {
"awsvpcConfiguration": {
"subnets": [
""
],
"securityGroups": [
""
],
"assignPublicIp": "DISABLED"
}
},
"healthCheckGracePeriodSeconds": 0,
"schedulingStrategy": "REPLICA",
"deploymentController": {
"type": "EXTERNAL"
},
"tags": [
{
"key": "",
"value": ""
}
],
"enableECSManagedTags": true,
"propagateTags": "TASK_DEFINITION",
"enableExecuteCommand": true,
"availabilityZoneRebalancing": "ENABLED",
"serviceConnectConfiguration": {
"enabled": true,
"namespace": "",
"services": [
{
"portName": "",
"discoveryName": "",
"clientAliases": [
{
"port": 0,
"dnsName": ""
}
],
"ingressPortOverride": 0
}
],
"logConfiguration": {
"logDriver": "journald",
"options": {
"KeyName": ""
},
"secretOptions": [
{
"name": "",
"valueFrom": ""
}
]
}
},
"volumeConfigurations": [
{
"name": "",
"managedEBSVolume": {
"encrypted": true,
"kmsKeyId": "",
"volumeType": "",
"sizeInGiB": 0,
"snapshotId": "",
"volumeInitializationRate": 0,
"iops": 0,
"throughput": 0,
"tagSpecifications": [
{
"resourceType": "volume",
"tags": [
{
"key": "",
"value": ""
}
],
"propagateTags": "NONE"
}
],
"roleArn": "",
"filesystemType": ""
}
}
]
}
Fargate
{
"cluster": "",
"serviceName": "",
"taskDefinition": "",
"loadBalancers": [
{
"targetGroupArn": "",
"loadBalancerName": "",
"containerName": "",
"containerPort": 0
}
],
"serviceRegistries": [
{
"registryArn": "",
"port": 0,
"containerName": "",
"containerPort": 0
}
],
"desiredCount": 0,
"clientToken": "",
"launchType": "FARGATE",
"capacityProviderStrategy": [
{
"capacityProvider": "",
"weight": 0,
"base": 0
}
],
"platformVersion": "",
"platformFamily": "",
"role": "",
"deploymentConfiguration": {
"deploymentCircuitBreaker": {
"enable": true,
"rollback": true
},
"maximumPercent": 0,
"minimumHealthyPercent": 0,
"alarms": {
"alarmNames": [
""
],
"enable": true,
"rollback": true
}
},
"placementStrategy": [
{
"type": "binpack",
"field": ""
}
],
"networkConfiguration": {
"awsvpcConfiguration": {
"subnets": [
""
],
"securityGroups": [
""
],
"assignPublicIp": "DISABLED"
}
},
"healthCheckGracePeriodSeconds": 0,
"schedulingStrategy": "REPLICA",
"deploymentController": {
"type": "EXTERNAL"
},
"tags": [
{
"key": "",
"value": ""
}
],
"enableECSManagedTags": true,
"propagateTags": "TASK_DEFINITION",
"enableExecuteCommand": true,
"availabilityZoneRebalancing": "ENABLED",
"serviceConnectConfiguration": {
"enabled": true,
"namespace": "",
"services": [
{
"portName": "",
"discoveryName": "",
"clientAliases": [
{
"port": 0,
"dnsName": ""
}
],
"ingressPortOverride": 0
}
],
"logConfiguration": {
"logDriver": "journald",
"options": {
"KeyName": ""
},
"secretOptions": [
{
"name": "",
"valueFrom": ""
}
]
}
},
"volumeConfigurations": [
{
"name": "",
"managedEBSVolume": {
"encrypted": true,
"kmsKeyId": "",
"volumeType": "",
"sizeInGiB": 0,
"snapshotId": "",
"volumeInitializationRate": 0,
"iops": 0,
"throughput": 0,
"tagSpecifications": [
{
"resourceType": "volume",
"tags": [
{
"key": "",
"value": ""
}
],
"propagateTags": "NONE"
}
],
"roleArn": "",
"filesystemType": ""
}
}
]
}
다음 AWS CLI 명령으로 이 서비스 정의 템플릿을 생성할 수 있습니다.
aws ecs create-service --generate-cli-skeleton
더 알아보기 (Learn more)
- 서비스 정의 파라미터에 대한 자세한 내용은 AWS 개발자 가이드의 관련 문서를 참고하세요.