本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AwsEcsService
这些区域有:AwsEcsService
对象提供有关 Amazon ECS 群集内服务的详细信息。
示例
"AwsEcsService": { "CapacityProviderStrategy": [ { "Base": 12, "CapacityProvider": "", "Weight": "" } ], "Cluster": "arn:aws:ecs:us-east-1:111122223333:cluster/example-ecs-cluster", "DeploymentConfiguration": { "DeploymentCircuitBreaker": { "Enable": false, "Rollback": false }, "MaximumPercent": 200, "MinimumHealthyPercent": 100 }, "DeploymentController": "", "DesiredCount": 1, "EnableEcsManagedTags": false, "EnableExecuteCommand": false, "HealthCheckGracePeriodSeconds": 1, "LaunchType": "FARGATE", "LoadBalancers": [ { "ContainerName": "", "ContainerPort": 23, "LoadBalancerName": "", "TargetGroupArn": "" } ], "Name": "sample-app-service", "NetworkConfiguration": { "AwsVpcConfiguration": { "Subnets": [ "Subnet-example1", "Subnet-example2" ], "SecurityGroups": [ "Sg-0ce48e9a6e5b457f5" ], "AssignPublicIp": "ENABLED" } }, "PlacementConstraints": [ { "Expression": "", "Type": "" } ], "PlacementStrategies": [ { "Field": "", "Type": "" } ], "PlatformVersion": "LATEST", "PropagateTags": "", "Role": "arn:aws:iam::111122223333:role/aws-servicerole/ecs.amazonaws.com/ServiceRoleForECS", "SchedulingStrategy": "REPLICA", "ServiceName": "sample-app-service", "ServiceArn": "arn:aws:ecs:us-east-1:111122223333:service/example-ecs-cluster/sample-app-service", "ServiceRegistries": [ { "ContainerName": "", "ContainerPort": 1212, "Port": 1221, "RegistryArn": "" } ], "TaskDefinition": "arn:aws:ecs:us-east-1:111122223333:task-definition/example-taskdef:1" }
目录
AwsEcsService 属性
AwsEcsService
可能具有以下属性。
- CapacityProviderStrategy
-
可选
服务使用的容量提供程序策略。
类型:对象数组
Cluster
-
可选
托管服务的集群的 ARN。
类型:字符串
- DeploymentConfiguration
-
可选
该服务的部署参数。包括运行的任务数以及启动和停止任务的顺序。
类型:对象
- DeploymentController
-
可选
包含服务使用的部署控制器类型。
类型:对象
DesiredCount
-
可选
要在该服务上运行的任务定义的实例化数量。
类型:整数
EnableEcsManagedTags
-
可选
是否要为该服务中的任务启用 Amazon ECS 托管标签。
类型:Boolean
EnableExecuteCommand
-
可选
是否为服务启用了执行命令功能。
类型:Boolean
HealthCheckGracePeriodSeconds
-
可选
任务启动后,Amazon ECS 服务计划程序将忽略未正常运行的 Elastic Load Balancing 目标运行状况检查的时间(以秒为单位)。
类型:整数
LaunchType
-
可选
该服务使用的启动类型。
类型:字符串
有效值:
EC2
|FARGATE
|EXTERNAL
- LoadBalancers
-
可选
有关服务使用的负载均衡器的信息。
类型:对象数组
Name
-
可选
服务的名称。
类型:字符串
- NetworkConfiguration
-
可选
对于使用
awsvpc
网络模式、VPC 子网和安全组配置。类型:对象
- PlacementConstraints
-
可选
服务中任务的置放约束。
类型:对象数组
- PlacementStrategies
-
可选
有关如何放置服务任务的信息。
类型:对象数组
PlatformVersion
-
可选
要运行服务的平台版本。仅针对托管在上的任务指定Amazon Fargate. 如果未指定平台版本,则
LATEST
默认情况下使用平台版本。类型:字符串
PropagateTags
-
可选
指示是否要将标签从任务定义传播到任务还是从服务传播到任务。如果未提供任何值,则不会传播标签。
类型:字符串
有效值:
TASK_DEFINITION
|SERVICE
Role
-
可选
与该服务关联的 IAM 角色的 ARN。该角色允许 Amazon ECS 容器代理向 Elastic Load Balancing 负载均衡器注册容器实例。
类型:字符串
SchedulingStrategy
-
可选
要用于服务的计划策略。
这些区域有:
REPLICA
计划策略在集群中放置和维护所需数量的任务。默认情况下,服务计划程序可在多个可用区之间分布任务,任务放置策略和约束用于自定义任务放置决策。这些区域有:
DAEMON
计划策略只在每个活动容器实例上部署一个任务,以满足集群中指定的所有任务放置约束。服务计划程序还评估运行任务的任务放置约束,并停止不满足放置约束的任务。类型:字符串
有效值:
REPLICA
|DAEMON
ServiceArn
-
可选
服务的 ARN。
类型:字符串
Format:
arn:aws:ecs:
<region>
:<account>
:service/<service name>
ServiceName
-
可选
服务的名称。
类型:字符串
最大长度:255
允许使用字符:A-Z、a-z、0-9、下划线和连字符
- ServiceRegistries
-
可选
有关要分配给该服务的服务发现注册表的信息。
类型:对象数组
TaskDefinition
-
可选
用于服务中的任务的任务定义。
类型:字符串
CapacityProviderStrategy
这些区域有:CapacityProviderStrategy
对象提供有关服务使用的容量提供程序策略的信息。
每一策略项可能具有以下属性。
Base
-
可选
在容量提供程序上运行的最低任务数。只有一个策略项目可以为
Base
.类型:Number
最小值 0
最大值 100000
CapacityProvider
-
可选
容量提供程序的简称。
类型:字符串
Weight
-
可选
应使用容量提供程序的任务总数的相对百分比。
如果未指定权重,则默认值为 0。至少有一个容量提供商的权重必须大于 0。
类型:整数
最小值 0
最大值 1000
DeploymentConfiguration
这些区域有:DeploymentConfiguration
对象提供商提供可选的部署参数
DeploymentConfiguration
可能具有以下属性。
- DeploymentCircuitBreaker
-
可选
确定服务无法达到稳定状态时服务部署是否失败。
类型:对象
MaximumPercent
-
可选
对于使用滚动更新的服务 (
ECS
) 部署类型,服务中允许的最大任务数RUNNING
要么PENDING
对于使用 EC2 启动类型的任务,当任何容器实例都在DRAINING
状态。按所需任务数量的百分比提供。默认值为 200%。对于使用蓝/绿的服务 (
CODE_DEPLOY
) 或者EXTERNAL
部署类型和使用 EC2 启动类型的任务,服务中保留在RUNNING
状态,当容器实例处于DRAINING
状态。对于 Fargate 启动类型,不使用最大百分比值。
类型:整数
MinimumHealthyPercent
-
可选
对于使用滚动更新的服务 (
ECS
) 部署类型,服务中必须保留在RUNNING
在部署期间以及任何容器实例都在DRAINING
状态服务是否包含使用 EC2 启动类型的任务。以所需任务数量的百分比表示。默认值为 100%。对于使用蓝/绿的服务 (
CODE_DEPLOY
) 或者EXTERNAL
部署类型和使用 EC2 启动类型的任务,这是服务中保留的任务的最小数量。RUNNING
状态,当容器实例处于DRAINING
状态。类型:整数
DeploymentCircuitBreaker
这些区域有:DeploymentCircuitBreaker
对象确定如果服务无法达到稳定状态,服务部署是否失败。
DeploymentCircuitBreaker
可能具有以下属性。
Enable
-
可选
是否为服务启用部署断路器逻辑。
类型:Boolean
Rollback
-
可选
如果服务部署失败,是否回滚服务。如果启用了回滚,当服务部署失败时,服务将回滚到成功完成的最后一个部署。
类型:Boolean
DeploymentController
这些区域有:DeploymentController
对象包含有关服务使用的部署控制器类型的信息。
DeploymentController
可能具有以下属性。
Type
-
可选
部署控制器的类型。
滚动更新 (
ECS
) 部署类型将当前运行版本的容器替换为最新版本。蓝/绿(
CODE_DEPLOY
() 部署类型使用由提供支持的蓝/绿部署模型。Amazon CodeDeploy. 此部署模型可以先验证服务的新部署,然后再向其发送生产流量。外部(
EXTERNAL
) 部署类型允许使用任何第三方部署控制器,以完全控制 Amazon ECS 服务的部署过程。类型:字符串
有效值:
ECS
|CODE_DEPLOY
|EXTERNAL
LoadBalancers
这些区域有:LoadBalancers
对象包含有关服务使用的负载均衡器的信息。
每个负载均衡器可能具有以下属性。
ContainerName
-
可选
要与负载均衡器关联的容器的名称。
类型:字符串
ContainerPort
-
可选
要与负载均衡器关联的容器上的端口。此端口必须对应于服务中的任务正在使用的任务定义中的
containerPort
。对于使用 EC2 启动类型的任务,启动它们的容器实例必须允许端口映射的hostPort
上的入口流量。类型:整数
LoadBalancerName
-
可选
要与 Amazon ECS 服务或任务集关联的负载均衡器的名称。
仅在使用 Classic Load Balancer 时指定。对于应用程序负载均衡器或 Network Load Balancer,将省略负载均衡器名称。
类型:字符串
TargetGroupArn
-
可选
与服务或任务集关联的 Elastic Load Balancing 目标组的 ARN。
仅在使用应用 Application Load Balancer 或 Network Load Balancer 时指定。对于 Classic Load Balancer,省略目标组 ARN。
类型:字符串
NetworkConfiguration
对于使用awsvpc
网络模式,NetworkConfiguration
对象包含 VPC 子网和安全组配置。
NetworkConfiguration
包含AwsVpcConfiguration
对象。
AwsVpcConfiguration
可能具有以下属性。
AssignPublicIp
-
可选
任务的弹性网络接口是否接收公有 IP 地址。默认值为
DISABLED
。类型:字符串
有效值:
ENABLED
|DISABLED
SecurityGroups
-
可选
与任务或服务相关联的安全组的标识符。
类型:字符串数组
值的最大数量:5
Subnets
-
可选
与任务或服务相关联的子网的标识符。
类型:字符串数组
值的最大数量:16
PlacementConstraints
这些区域有:PlacementConstraints
对象包含服务中任务的置放约束。
每个放置约束可能具有以下属性。
Expression
-
可选
应用于约束的集群查询语言表达式。如果约束类型为
distinctInstance
,您不能指定表达式。类型:字符串
Type
-
可选
约束类型。使用
distinctInstance
以便在不同的容器实例上运行特定组中的每个任务。使用memberOf
将选择限制为一组有效的候选。类型:字符串
有效值:
distinctInstance
|memberOf
PlacementStrategies
这些区域有:PlacementStrategies
对象包含确定如何放置服务任务的放置策略。
每个放置策略可能具有以下属性。
Field
-
可选
应用放置策略的字段。
对于
spread
放置策略,有效值为instanceId
(或具有相同效果的host
) 或应用于容器实例的任何平台或自定义属性,如attribute:ecs.availability-zone
。对于
binpack
放置策略,有效值为cpu
和memory
。对于
random
放置策略,未使用此属性。类型:字符串
Type
-
可选
放置策略的类型。
random
放置策略将任务随机放置在可用的候选上。这些区域有:
spread
放置策略基于的价值将任务均匀地放置在可用候选上。Field
.这些区域有:
binpack
策略将任务放置在可用资源数量最少(中指定)的可用候选上。Field
.类型:字符串
有效值:
random
|spread
|binpack
ServiceRegistries
这些区域有:ServiceRegistries
对象提供有关要分配给服务的服务发现注册表的信息。
每个服务发现注册表可能具有以下属性。
ContainerName
-
可选
用于服务发现服务的容器名称值。
如果任务定义使用
bridge
要么host
网络模式,必须指定ContainerName
和ContainerPort
.如果任务定义使用
awsvpc
网络模式和类型 SRV DNS 记录,您必须指定ContainerName
和ContainerPort
,或者Port
,但不能同时指定两者。类型:字符串
ContainerPort
-
可选
用于服务发现服务的端口值。
如果任务定义使用
bridge
要么host
网络模式,必须指定ContainerName
和ContainerPort
.如果任务定义使用
awsvpc
网络模式和类型 SRV DNS 记录,您必须指定ContainerName
和ContainerPort
,或者Port
,但不能同时指定两者。类型:整数
Port
-
可选
用于指定 SRV 记录的服务发现服务的端口值。如果两者都可以使用此字段
awsvpc
使用网络模式和 SRV 记录。类型:整数
RegistryArn
-
可选
服务注册表的 ARN 。当前支持的服务注册表是 Amazon Cloud Map。
类型:字符串