你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Bicep 资源定义
可以使用目标操作部署 ecsServices 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.AwsConnector/ecsServices 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.AwsConnector/ecsServices@2024-12-01' = {
location: 'string'
name: 'string'
properties: {
arn: 'string'
awsAccountId: 'string'
awsProperties: {
capacityProviderStrategy: [
{
base: int
capacityProvider: 'string'
weight: int
}
]
cluster: 'string'
deploymentConfiguration: {
alarms: {
alarmNames: [
'string'
]
enable: bool
rollback: bool
}
deploymentCircuitBreaker: {
enable: bool
rollback: bool
}
maximumPercent: int
minimumHealthyPercent: int
}
deploymentController: {
type: 'string'
}
desiredCount: int
enableECSManagedTags: bool
enableExecuteCommand: bool
healthCheckGracePeriodSeconds: int
launchType: 'string'
loadBalancers: [
{
containerName: 'string'
containerPort: int
loadBalancerName: 'string'
targetGroupArn: 'string'
}
]
name: 'string'
networkConfiguration: {
awsvpcConfiguration: {
assignPublicIp: 'string'
securityGroups: [
'string'
]
subnets: [
'string'
]
}
}
placementConstraints: [
{
expression: 'string'
type: 'string'
}
]
placementStrategies: [
{
field: 'string'
type: 'string'
}
]
platformVersion: 'string'
propagateTags: 'string'
role: 'string'
schedulingStrategy: 'string'
serviceArn: 'string'
serviceConnectConfiguration: {
enabled: bool
logConfiguration: {
logDriver: 'string'
options: any(...)
secretOptions: [
{
name: 'string'
valueFrom: 'string'
}
]
}
namespace: 'string'
services: [
{
clientAliases: [
{
dnsName: 'string'
port: int
}
]
discoveryName: 'string'
ingressPortOverride: int
portName: 'string'
timeout: {
idleTimeoutSeconds: int
perRequestTimeoutSeconds: int
}
tls: {
issuerCertificateAuthority: {
awsPcaAuthorityArn: 'string'
}
kmsKey: 'string'
roleArn: 'string'
}
}
]
}
serviceName: 'string'
serviceRegistries: [
{
containerName: 'string'
containerPort: int
port: int
registryArn: 'string'
}
]
tags: [
{
key: 'string'
value: 'string'
}
]
taskDefinition: 'string'
volumeConfigurations: [
{
managedEBSVolume: {
encrypted: bool
filesystemType: 'string'
iops: int
kmsKeyId: 'string'
roleArn: 'string'
sizeInGiB: int
snapshotId: 'string'
tagSpecifications: [
{
propagateTags: 'string'
resourceType: 'string'
tags: [
{
key: 'string'
value: 'string'
}
]
}
]
throughput: int
volumeType: 'string'
}
name: 'string'
}
]
}
awsRegion: 'string'
awsSourceSchema: 'string'
awsTags: {
{customized property}: 'string'
}
publicCloudConnectorsResourceId: 'string'
publicCloudResourceName: 'string'
}
tags: {
{customized property}: 'string'
}
}
属性值
Microsoft.AwsConnector/ecsServices
名字 | 描述 | 价值 |
---|---|---|
位置 | 资源所在的地理位置 | string (必需) |
名字 | 资源名称 | 字符串 约束: 模式 = ^(?=.{0,259}[^\s.]$)(?!.*[<>%&\?/#]) (必需) |
性能 | 此资源的资源特定属性。 | EcsServiceProperties |
标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
AwsEcsServiceProperties
名字 | 描述 | 价值 |
---|---|---|
capacityProviderStrategy | 要用于服务的容量提供程序策略。 如果指定了 capacityProviderStrategy ,则必须省略 launchType 参数。 如果未指定 capacityProviderStrategy 或 launchType ,则使用群集的 defaultCapacityProviderStrategy 。 容量提供程序策略最多可以包含 6 个容量提供程序。 |
CapacityProviderStrategyItem[] |
簇 | 运行服务的群集的短名称或完整的 Amazon 资源名称(ARN)。 如果未指定群集,则假定默认群集。 | 字符串 |
deploymentConfiguration | 可选的部署参数,用于控制在部署期间运行的任务数以及停止和启动任务的顺序。
DeploymentConfiguration 属性指定可选的部署参数,用于控制部署期间运行的任务数以及停止和启动任务的顺序。 |
部署配置 |
deploymentController | 要用于服务的部署控制器。 如果未指定部署控制器,则使用 ECS 的默认值。 要用于服务的部署控制器。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Amazon ECS 部署类型。 |
部署控制器 |
desiredCount | 要放置并保留在服务中的指定任务定义的实例化数。 对于新服务,如果未指定所需的计数,则使用默认值 1 。 使用 DAEMON 计划策略时,不需要所需的计数。 对于现有服务,如果未指定所需的计数,则会从操作中省略它。 |
整数 (int) |
enableECSManagedTags | 指定是否为服务中的任务启用 Amazon ECS 托管标记。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中 标记 Amazon ECS 资源。 使用 Amazon ECS 托管标记时,需要设置 propagateTags 请求参数。 |
布尔 |
enableExecuteCommand | 确定是否为服务启用了执行命令功能。 如果 true ,则会为任务中的所有容器启用执行命令功能,作为服务的一部分。 |
布尔 |
healthCheckGracePeriodSeconds | Amazon ECS 服务计划程序在任务首次启动后忽略不正常的弹性负载均衡目标运行状况检查的时间(以秒为单位)。 仅当服务配置为使用负载均衡器时,才使用此服务。 如果服务定义了负载均衡器,并且未指定运行状况检查宽限期值,则使用 0 的默认值。 如果不使用弹性负载均衡,建议在任务定义运行状况检查参数中使用 startPeriod 。 有关详细信息,请参阅 运行状况检查。 如果服务的任务需要一段时间才能启动和响应弹性负载均衡运行状况检查,则可以指定最多 2,147,483,647 秒(约 69 年)的运行状况检查宽限期。 在此期间,Amazon ECS 服务计划程序将忽略运行状况检查状态。 此宽限期可以防止服务计划程序将任务标记为不正常,并在任务有时间出现之前将其停止。 |
整数 (int) |
launchType | 运行服务的启动类型。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Amazon ECS 启动类型。 | “EC2” “EXTERNAL” “FARGATE” |
负载均衡器 | 要与服务关联的负载均衡器对象列表。 如果指定 Role 属性,还必须指定 LoadBalancers 。 有关每个服务可以指定的负载均衡器数的信息,请参阅 Amazon Elastic Container Service Developer Guide中的 服务负载均衡。 |
负载均衡器 |
名字 | 属性名称 | 字符串 |
网络配置 | 服务的网络配置。 对于使用 awsvpc 网络模式接收其自己的弹性网络接口的任务定义,并且其他网络模式不支持此参数。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 任务网络。
NetworkConfiguration 属性指定表示任务或服务的网络配置的对象。 |
网络配置 |
placementConstraints | 用于服务中任务的放置约束对象的数组。 可以为每个任务指定最多 10 个约束。 此限制包括任务定义中的约束以及运行时指定的限制。 | PlacementConstraint[] |
placementStrategies (放置策略) | 要用于服务中任务的放置策略对象。 可以为每个服务指定最多 5 个策略规则。 | 放置策略 |
平台版本 | 服务中任务正在运行的平台版本。 平台版本仅针对使用 Fargate 启动类型的任务指定。 如果未指定平台版本,则使用 LATEST 平台版本。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 平台版本。 |
字符串 |
propagate 标签 | 指定是否将标记从任务定义传播到任务。 如果未指定任何值,则不会传播标记。 标记只能在任务创建过程中传播到任务。 若要在创建任务后将标记添加到任务,请使用 TagResource API 操作。 默认值为 NONE 。 |
“SERVICE” “TASK_DEFINITION” |
角色 | IAM 角色的名称或完整的 Amazon 资源名称(ARN),该角色允许 Amazon ECS 代表你调用负载均衡器。 仅当将负载均衡器用于服务并且任务定义不使用 awsvpc 网络模式时,才允许此参数。 如果指定 role 参数,则还必须使用 loadBalancers 参数指定负载均衡器对象。 如果帐户已创建 Amazon ECS 服务链接角色,除非在此处指定角色,否则该角色将用于服务。 如果任务定义使用 awsvpc 网络模式,或者如果服务配置为使用服务发现、外部部署控制器、多个目标组或弹性推理加速器,则需要服务链接角色,在这种情况下,此处未指定角色。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 为 Amazon ECS 使用服务链接角色。 如果指定的角色的路径不是 / ,则必须指定完整角色 ARN(建议这样做),或者为角色名称加上路径前缀。 例如,如果名称 bar 的角色具有 /foo/ 的路径,则将 /foo/bar 指定为角色名称。 有关详细信息,请参阅 IAM 用户指南中的 友好名称和路径。 |
字符串 |
scheduleStrategy | 要用于服务的计划策略。 有关详细信息,请参阅 服务。 有两种可用的服务计划程序策略:+ REPLICA -副本计划策略放置并维护群集中所需的任务数。 默认情况下,服务计划程序将任务分散到可用性区域。 可以使用任务放置策略和约束来自定义任务放置决策。 如果服务使用 CODE_DEPLOY 或 EXTERNAL 部署控制器类型,则需要此计划程序策略。
+
DAEMON -守护程序计划策略在满足群集中指定的所有任务放置约束的每个活动容器实例上部署一个任务。 服务计划程序还会评估正在运行的任务的任务放置约束,并停止不符合放置约束的任务。 使用此策略时,无需指定所需的任务数、任务放置策略或使用服务自动缩放策略。 使用 Fargate 启动类型或 CODE_DEPLOY 或 EXTERNAL 部署控制器类型的任务不支持 DAEMON 计划策略。 |
“DAEMON” “REPLICA” |
serviceArn | 属性 serviceArn | 字符串 |
serviceConnectConfiguration 服务 | 此服务的配置,用于发现和连接到服务,并通过命名空间中的其他服务进行发现和连接。 命名空间中运行的任务可以使用短名称连接到命名空间中的服务。 任务可以连接到命名空间中所有群集的服务。 任务通过托管代理容器进行连接,该容器收集日志和指标以提高可见性。 只有 Amazon ECS 服务创建的任务才支持 Service Connect。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Service Connect。 Amazon ECS 服务的 Service Connect 配置。 此服务的配置,用于发现和连接到服务,并通过命名空间中的其他服务进行发现和连接。 命名空间中运行的任务可以使用短名称连接到命名空间中的服务。 任务可以连接到命名空间中所有群集的服务。 任务通过托管代理容器进行连接,该容器收集日志和指标以提高可见性。 只有 Amazon ECS 服务创建的任务才支持 Service Connect。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Service Connect。 | ServiceConnectConfiguration 服务 |
服务名称 | 服务的名称。 最多允许使用 255 个字母(大写和小写)、数字、下划线和连字符。 服务名称在群集中必须是唯一的,但可以在区域内或跨多个区域的多个群集中具有类似的命名服务。 如果更改任何需要替换的属性并配置了 ServiceName ,堆栈更新将失败。 这是因为 AWS CloudFormation 首先创建替换服务,但每个 ServiceName 在群集中必须是唯一的。 |
字符串 |
serviceRegistries | 要与此服务关联的服务发现注册表的详细信息。 有关详细信息,请参阅 服务发现。 每个服务都可能与一个服务注册表相关联。 不支持每个服务的多个服务注册表。 | ServiceRegistry [] |
标签 | 应用于服务的元数据有助于对它们进行分类和组织。 每个标记都包含一个键和一个可选值,这两个值都是你定义的。 删除服务时,也会删除标记。 以下基本限制适用于标记:+ 每个资源的最大标记数 - 50 + 对于每个资源,每个标记键必须是唯一的,每个标记键只能有一个值。 + 最大密钥长度 - UTF-8 中的 128 个 Unicode 字符 + 最大值长度 - UTF-8 中的 256 个 Unicode 字符 + 如果标记架构用于多个服务和资源,请记住其他服务可能对允许的字符有限制。 一般允许的字符是:字母、数字和空格(以 UTF-8 表示)和以下字符:+ - = 。 _ : / @. + 标记键和值区分大小写。 + 请勿使用 aws: 、AWS: 或任何大写或小写的组合,例如键或值的前缀,因为它保留供 AWS 使用。 不能编辑或删除具有此前缀的标记键或值。 具有此前缀的标记不计入每个资源限制的标记。 |
标签自动生成26 |
taskDefinition | 要在你的服务中运行的任务定义的 family 和 revision (family:revision )或完整的 ARN。 如果未指定 revision ,则使用最新的 ACTIVE 修订。 如果服务使用 ECS 或 CODE_DEPLOY 部署控制器,则必须指定任务定义。 有关部署类型的详细信息,请参阅 Amazon ECS 部署类型。 |
字符串 |
volumeConfigurations | 任务定义中指定的卷的配置,作为在启动时配置的卷。 目前,唯一支持的卷类型是 Amazon EBS 卷。 | ServiceVolumeConfiguration[] |
AwsVpcConfiguration
名字 | 描述 | 价值 |
---|---|---|
分配公共 IP | 任务的弹性网络接口是否接收公共 IP 地址。 默认值为 DISABLED 。 |
“DISABLED” “ENABLED” |
安全组 | 与任务或服务关联的安全组的 ID。 如果未指定安全组,将使用默认安全组。 每个 AwsVpcConfiguration 只能指定 5 个安全组。 所有指定的安全组都必须来自同一个VP。 |
字符串[] |
子网 | 与任务或服务关联的子网的 ID。 每个 AwsVpcConfiguration 可以指定 16 个子网的限制。 所有指定的子网都必须来自同一个VP。 |
字符串[] |
CapacityProviderStrategyItem
名字 | 描述 | 价值 |
---|---|---|
基础 |
基本 值指定在指定容量提供程序上运行的任务数(至少)。 容量提供程序策略中只有一个容量提供程序可以定义 基本。 如果未指定任何值,则使用 0 的默认值。 |
整数 (int) |
容量提供程序 | 容量提供程序的短名称。 | 字符串 |
重量 |
权重 值指定应使用指定容量提供程序启动的任务总数的相对百分比。 满足 weight 值(如果已定义)后,将考虑 base 值。 如果未指定 weight 值,则使用 0 的默认值。 在容量提供程序策略中指定多个容量提供程序时,至少有一个容量提供程序的权重值必须大于零,并且任何权重为 0 的容量提供程序都不能用于放置任务。 如果在具有 0 权重的策略中指定多个容量提供程序,则使用容量提供程序策略的任何 RunTask 或 CreateService 操作都将失败。 使用权重的示例方案是定义一个策略,该策略包含两个容量提供程序,两者都具有 1 权重,然后在满足 base 时,任务将均匀拆分到两个容量提供程序之间。 使用相同的逻辑,如果为 1 指定 的权重,并为 4 指定 权重,则对于使用 capacityProviderA运行的每个任务,四个任务将使用 capacityProviderB。 |
整数 (int) |
部署警报
名字 | 描述 | 价值 |
---|---|---|
alarmNames (警报名称) | 一个或多个 CloudWatch 警报名称。 使用“,”分隔警报。 | 字符串[] |
使 | 确定是否在服务部署过程中使用 CloudWatch 警报选项。 | 布尔 |
反转 | 确定是否将 Amazon ECS 配置为在服务部署失败时回滚服务。 如果使用回滚,当服务部署失败时,服务将回滚到成功完成的最后一个部署。 | 布尔 |
部署断路器
名字 | 描述 | 价值 |
---|---|---|
使 | 确定是否对服务使用部署断路器逻辑。 | 布尔 |
反转 | 确定是否将 Amazon ECS 配置为在服务部署失败时回滚服务。 如果回滚处于打开状态,当服务部署失败时,服务将回滚到成功完成的最后一个部署。 | 布尔 |
部署配置
名字 | 描述 | 价值 |
---|---|---|
警报 | 有关 CloudWatch 警报的信息。 其中一种方法提供了一种方法,可让你快速确定部署何时失败,然后选择性地将失败回滚到最后一个工作部署。 生成警报后,Amazon ECS 会将服务部署设置为失败。 设置回滚参数,让 Amazon ECS 在发生故障后将服务回滚到上次完成的部署。 仅当 DeploymentAlarms 设置为 DeploymentController (滚动更新)时,才能使用 ECS 方法检测故障。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 滚动更新。 |
部署警报 |
deploymentCircuitBreaker 的 | 部署断路器只能用于使用滚动更新(ECS )部署类型的服务。
部署断路器 确定如果服务无法达到稳定状态,服务部署是否会失败。 如果使用部署断路器,服务部署将转换为失败状态并停止启动新任务。 如果使用回滚选项,当服务部署失败时,服务将回滚到最后一个成功完成的部署。 有关详细信息,请参阅 Amazon Elastic Container Service 开发人员指南中的 滚动更新, 部署断路器只能用于使用滚动更新(ECS )部署类型的服务。
部署断路器 确定如果服务无法达到稳定状态,服务部署是否会失败。 如果启用,服务部署将转换为失败状态并停止启动新任务。 还可以将 Amazon ECS 配置为在发生故障后将服务回滚到上次完成的部署。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 滚动更新。 有关 API 失败原因的详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 API 故障原因。 |
部署断路器 |
maximumPercent (最大百分比) | 如果服务使用滚动更新(ECS )部署类型,则 maximumPercent 参数表示部署期间允许在 RUNNING 或 PENDING 状态中允许的服务任务数的上限(以 desiredCount 百分比(向下舍入为最接近的整数)。 此参数使你能够定义部署批大小。 例如,如果服务正在使用 REPLICA 服务计划程序,并且具有四个任务的 desiredCount ,并且 maximumPercent 值为 200%,则计划程序可能会在停止四个较旧任务之前启动四个新任务(前提是完成此操作所需的群集资源可用)。 使用 maximumPercent 服务计划程序的服务的默认 REPLICA 值为 200%。 如果服务使用的是蓝/绿(CODE_DEPLOY )或 EXTERNAL 部署类型和使用 EC2 启动类型的任务,则 最大百分比 值设置为默认值,并用于定义服务中处于 RUNNING 状态且容器实例处于 DRAINING 状态的任务数上限。 如果服务中的任务使用 Fargate 启动类型,则不使用最大百分比值,尽管在描述服务时会返回该值。 |
整数 (int) |
最小健康百分比 | 如果服务正在使用滚动更新(ECS )部署类型,则 minimumHealthyPercent 表示在部署期间必须保持 RUNNING 状态的服务任务数的下限(以 desiredCount 百分比(向上舍入为最接近的整数)。 此参数使你无需使用其他群集容量即可进行部署。 例如,如果服务有四个任务的 desiredCount ,minimumHealthyPercent 为 50%,则服务计划程序可能会停止两个现有任务来释放群集容量,然后再启动两个新任务。 对于 不 使用负载均衡器的服务,应注意以下事项:如果服务中任务中的所有基本容器通过其运行状况检查,则服务被视为正常。 + 如果任务没有定义运行状况检查的基本容器,则服务计划程序将在任务达到 RUNNING 状态后等待 40 秒,然后再将任务计入最小正常百分比总计。 + 如果任务具有定义运行状况检查的一个或多个基本容器,服务计划程序将等待任务达到正常状态,然后再将其计入最小正常百分比。 当任务中的所有基本容器都通过其运行状况检查时,任务被视为正常。 服务计划程序等待的时间由容器运行状况检查设置确定。 对于 使用负载均衡器的服务,应注意以下事项:+ 如果任务没有定义运行状况检查的基本容器,服务计划程序将等待负载均衡器目标组运行状况检查返回正常状态,然后再将任务计数为最小正常百分比。 + 如果任务具有定义运行状况检查的基本容器,服务计划程序将等待任务达到正常状态,负载均衡器目标组运行状况检查将返回正常状态,然后将任务计数为最小正常百分比。 如果服务使用的是蓝/绿(CODE_DEPLOY )或 EXTERNAL 部署类型,并且正在运行使用 EC2 启动类型的任务,则 最小正常百分比 值设置为默认值,并用于定义服务中处于 RUNNING 状态的任务数的下限,而容器实例处于 DRAINING 状态。 如果服务使用的是蓝/绿(CODE_DEPLOY )或 EXTERNAL 部署类型,并且正在运行使用 Fargate 启动类型的任务,则不会使用最小正常百分比值,尽管在描述服务时会返回该值。 |
整数 (int) |
部署控制器
名字 | 描述 | 价值 |
---|---|---|
类型 | 要使用的部署控制器类型。 有三种可用的部署控制器类型:+ ECS 滚动更新(ECS)部署类型涉及将容器的当前运行版本替换为最新版本。 在滚动更新期间,Amazon ECS 添加或删除服务中的容器数通过调整服务部署期间允许的最小和最大正常任务数来控制,如 DeploymentConfiguration 中指定的。 + CODE_DEPLOY蓝/绿(CODE_DEPLOY)部署类型使用蓝/绿部署模型,该模型允许在向服务发送生产流量之前验证服务的新部署。 + EXTERNAL 外部(EXTERNAL)部署类型使你能够使用任何第三方部署控制器完全控制 Amazon ECS 服务的部署过程。 | “CODE_DEPLOY” “ECS” “EXTERNAL” |
EBSTag 规范
名字 | 描述 | 价值 |
---|---|---|
propagate 标签 | 确定是否将标记从任务定义传播到 Amazon EBS 卷。 标记只能传播到 SERVICE 中指定的 ServiceVolumeConfiguration 。 如果未指定任何值,则不会传播标记。 |
“SERVICE” “TASK_DEFINITION” |
资源类型 | 卷资源的类型。 | 字符串 |
标签 | 应用于此 Amazon EBS 卷的标记。
AmazonECSCreated 和 AmazonECSManaged 是无法使用的保留标记。 |
标签自动生成26 |
EcsServiceProperties
名字 | 描述 | 价值 |
---|---|---|
阿恩 | Amazon 资源名称 (ARN) | 字符串 |
awsAccountId | AWS 帐户 ID | 字符串 |
awsProperties | AWS 属性 | AwsEcsServiceProperties |
awsRegion | AWS 区域 | 字符串 |
awsSourceSchema | AWS 源架构 | 字符串 |
aws标签 | AWS 标记 | EcsServicePropertiesAwsTags |
publicCloudConnectorsResourceId | 公有云连接器资源 ID | 字符串 |
publicCloudResourceName (公共云资源名称) | 公有云资源名称 | 字符串 |
EcsServicePropertiesAwsTags
名字 | 描述 | 价值 |
---|
负载均衡器
名字 | 描述 | 价值 |
---|---|---|
容器名称 | 容器的名称(如容器定义中所示)与负载均衡器相关联。 在为 Amazon ECS 负载均衡器配置目标组时,需要指定容器名称。 | 字符串 |
容器端口 | 要与负载均衡器关联的容器上的端口。 此端口必须与服务中任务正在使用的任务定义中的 containerPort 相对应。 对于使用 EC2 启动类型的任务,他们启动的容器实例必须允许端口映射 hostPort 上的入口流量。 |
整数 (int) |
loadBalancer名称 | 要与 Amazon ECS 服务或任务集关联的负载均衡器的名称。 如果使用应用程序负载均衡器或网络负载均衡器,则应省略负载均衡器名称参数。 | 字符串 |
targetGroupArn | 与服务或任务集关联的弹性负载均衡目标组或组的完整 Amazon 资源名称(ARN)。 仅当使用应用程序负载均衡器或网络负载均衡器时,才指定目标组 ARN。 对于使用 ECS 部署控制器的服务,可以指定一个或多个目标组。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 向服务 注册多个目标组。 对于使用 CODE_DEPLOY 部署控制器的服务,需要为负载均衡器定义两个目标组。 有关详细信息,请参阅 awsvpc 网络模式,则必须选择 ip 作为目标类型,而不是 instance 。 创建目标组时执行此操作,因为使用 awsvpc 网络模式的任务与弹性网络接口(而不是 Amazon EC2 实例)相关联。 Fargate 启动类型需要此网络模式。 |
字符串 |
日志配置
名字 | 描述 | 价值 |
---|---|---|
logDriver | 要用于容器的日志驱动程序。 对于 FARGATElong 上的任务,支持的日志驱动程序是 awslogs 、splunk 和 awsfirelens 。 对于 Amazon EC2 实例上托管的任务,支持的日志驱动程序为 awslogs 、fluentd 、gelf 、json-file 、journald 、logentries 、syslog 、splunk 和 awsfirelens 。 有关使用 awslogs 日志驱动程序的详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 using the awslogs log driver。 有关使用 awsfirelens 日志驱动程序的详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 自定义日志路由。 如果你的自定义驱动程序未列出,则可以对 GitHub 上 |
字符串 |
选项 | 要发送到日志驱动程序的配置选项。 此参数需要容器实例上的 Docker 远程 API 版本 1.19 或更高版本。 若要检查容器实例上的 Docker 远程 API 版本,请登录到容器实例并运行以下命令:sudo docker version --format '{{.Server.APIVersion}}' |
任何 |
secretOptions | 要传递给日志配置的机密。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中指定敏感数据。 | 机密[] |
网络配置
名字 | 描述 | 价值 |
---|---|---|
awsvpcConfiguration | 与任务关联的VP 子网和安全组。 所有指定的子网和安全组都必须来自同一个VP。 表示任务或服务的网络详细信息的对象。 例如 awsvpcConfiguration={subnets=['subnet-12344321'],securityGroups=['sg-12344321']} |
AwsVpcConfiguration |
PlacementConstraint (放置约束)
名字 | 描述 | 价值 |
---|---|---|
表达 | 要应用于约束的群集查询语言表达式。 表达式的最大长度可以为 2000 个字符。 如果约束类型 distinctInstance ,则不能指定表达式。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 群集查询语言。 |
字符串 |
类型 | 约束的类型。 使用 distinctInstance 来确保特定组中的每个任务在不同的容器实例上运行。 使用 memberOf 将所选内容限制为一组有效候选项。 |
“distinctInstance” “memberOf” |
PlacementStrategy (放置策略)
名字 | 描述 | 价值 |
---|---|---|
田 | 要对其应用放置策略的字段。 对于 spread 放置策略,有效值 instanceId (或 host ,其效果相同),或者应用于容器实例的任何平台或自定义属性,例如 attribute:ecs.availability-zone 。 对于 binpack 放置策略,有效值 CPU 和 MEMORY 。 对于 random 放置策略,不使用此字段。 |
字符串 |
类型 | 放置策略的类型。
random 放置策略将任务随机放置在可用候选项上。
spread 放置策略根据 field 参数均匀分散在可用候选项中。
binpack 策略将任务置于可用候选项上,这些候选项具有使用 field 参数指定的资源数量最少。 例如,如果在内存上装箱,则会将任务放置在实例上,该实例的剩余内存量最少,但仍足以运行该任务。 |
“binpack” “random” “spread” |
秘密
名字 | 描述 | 价值 |
---|---|---|
名字 | 机密的名称。 | 字符串 |
value从 | 要向容器公开的机密。 支持的值是 ASMlong 机密的完整 ARN 或 SSM 参数存储中参数的完整 ARN。 有关需要 IAMlong 权限的信息,请参阅 |
字符串 |
ServiceConnectClient别名
名字 | 描述 | 价值 |
---|---|---|
dns名称 |
dnsName 是在客户端任务的应用程序中用来连接到此服务的名称。 该名称必须是有效的 DNS 名称,但不需要完全限定。 该名称最多可以包含 127 个字符。 该名称可以包括小写字母、数字、下划线(_)、连字符(-)和句点(.)。 名称不能以连字符开头。 如果未指定此参数,则使用 discoveryName.namespace 的默认值。 如果未指定 discoveryName ,则任务定义中的端口映射名称用于 portName.namespace 。 为了避免在客户端 Amazon ECS 服务中更改应用程序,请将它设置为客户端应用程序默认使用的同名。 例如,一些公用名是 database 、db 或数据库的小写名称,例如 mysql 或 redis 。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Service Connect。 |
字符串 |
港口 | Service Connect 代理的侦听端口号。 此端口可在同一命名空间中的所有任务内使用。 若要避免在客户端 Amazon ECS 服务中更改应用程序,请将它设置为客户端应用程序默认使用的同一端口。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Service Connect。 | 整数 (int) |
ServiceConnectConfiguration 服务
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否使用此服务使用 Service Connect。 | 布尔 |
logConfiguration | 容器的日志配置。 此参数映射到 LogConfig 的“创建容器”部分的 ,以及用于 --log-driver 的 选项。 默认情况下,容器使用 Docker 守护程序使用的同一日志记录驱动程序。 但是,容器可能通过在容器定义中指定日志驱动程序配置来使用与 Docker 守护程序不同的日志记录驱动程序。 有关不同支持的日志驱动程序的选项的详细信息,请参阅 Docker 文档中 配置日志记录驱动程序。 指定容器的日志配置时,请了解以下内容。 + Amazon ECS 目前支持 Docker 守护程序可用的日志记录驱动程序的子集。 Amazon ECS 容器代理的未来版本中可能会提供其他日志驱动程序。 对于 FARGATElong 上的任务,支持的日志驱动程序是 awslogs 、splunk 和 awsfirelens 。 对于 Amazon EC2 实例上托管的任务,支持的日志驱动程序为 awslogs 、fluentd 、gelf 、json-file 、journald 、logentries 、syslog 、splunk 和 awsfirelens 。 + 此参数需要容器实例上的 Docker 远程 API 版本 1.18 或更高版本。 + 对于在 Amazon EC2 实例上托管的任务,Amazon ECS 容器代理必须在放置该实例的容器可以使用这些日志配置选项之前,向 ECS_AVAILABLE_LOGGING_DRIVERS 环境变量注册可用的日志记录驱动程序。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Amazon ECS 容器代理配置。 + 对于 FARGATElong 上的任务,由于你无权访问托管任务的基础基础结构,因此必须在任务之外安装所需的任何其他软件。 例如,Fluentd 输出聚合器或运行 Logstash 的远程主机将 Gelf 日志发送到该日志。 容器的日志配置。 此参数映射到 LogConfig 的“创建容器”部分的 ,以及用于 --log-driver 的 选项。 默认情况下,容器使用 Docker 守护程序使用的同一日志记录驱动程序。 但是,容器可能通过在容器定义中指定日志驱动程序配置来使用与 Docker 守护程序不同的日志记录驱动程序。 有关不同支持的日志驱动程序的选项的详细信息,请参阅 Docker 文档中 配置日志记录驱动程序。 指定容器的日志配置时,请了解以下内容。 + Amazon ECS 目前支持 Docker 守护程序可用的日志记录驱动程序的子集。 Amazon ECS 容器代理的未来版本中可能会提供其他日志驱动程序。 对于 FARGATElong 上的任务,支持的日志驱动程序是 awslogs 、splunk 和 awsfirelens 。 对于 Amazon EC2 实例上托管的任务,支持的日志驱动程序为 awslogs 、fluentd 、gelf 、json-file 、journald 、logentries 、syslog 、splunk 和 awsfirelens 。 + 此参数需要容器实例上的 Docker 远程 API 版本 1.18 或更高版本。 + 对于在 Amazon EC2 实例上托管的任务,Amazon ECS 容器代理必须在放置该实例的容器可以使用这些日志配置选项之前,向 ECS_AVAILABLE_LOGGING_DRIVERS 环境变量注册可用的日志记录驱动程序。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Amazon ECS 容器代理配置。 + 对于 FARGATElong 上的任务,由于你无权访问托管任务的基础基础结构,因此必须在任务之外安装所需的任何其他软件。 例如,Fluentd 输出聚合器或运行 Logstash 的远程主机将 Gelf 日志发送到该日志。 |
日志配置 |
Namespace | 用于 Service Connect 的 CMAPlong 命名空间的命名空间名称或完整的 Amazon 资源名称(ARN)。 命名空间必须与 Amazon ECS 服务和群集位于同一 AWS 区域中。 命名空间的类型不会影响服务连接。 有关 CMAPlong 的详细信息,请参阅 开发人员指南中的 使用服务。 | 字符串 |
服务业 | Service Connect 服务对象列表。 这些是其他 Amazon ECS 服务用于连接到此服务的名称和别名(也称为终结点)。 作为命名空间成员的“client”Amazon ECS 服务不需要此字段才能连接到命名空间中的其他服务。 例如,一个前端应用程序,它接受从附加到服务的负载均衡器或其他方式发出的传入请求。 对象从任务定义中选择端口,为 CMAPlong 服务分配名称,以及客户端应用程序引用此服务的别名(终结点)和端口列表。 | ServiceConnectService[] |
服务连接服务
名字 | 描述 | 价值 |
---|---|---|
client别名 | 此 Service Connect 服务的客户端别名列表。 可以使用这些来分配客户端应用程序可以使用的名称。 在此列表中可以拥有的最大客户端别名数为 1。 每个别名(“endpoint”)都是一个完全限定的名称和端口号,其他 Amazon ECS 任务(“客户端”)可用于连接到此服务。 每个名称和端口映射在命名空间中必须是唯一的。 对于每个 ServiceConnectService ,必须至少提供一个 clientAlias 一个 port 。 |
ServiceConnectClient别名 |
发现名称 |
discoveryName 是 Amazon ECS 为此 Amazon ECS 服务创建的新 CMAP 服务的名称。 这在 CMAP 命名空间中必须是唯一的。 该名称最多可以包含 64 个字符。 该名称可以包括小写字母、数字、下划线(_)和连字符(-)。 名称不能以连字符开头。 如果未指定 discoveryName ,则任务定义中的端口映射名称用于 portName.namespace 。 |
字符串 |
ingressPortOverride | 要侦听的服务连接代理的端口号。 使用此字段的值可以绕过此应用程序任务定义中命名 portMapping 中指定的端口号上的流量,然后在你的VP 安全组中使用它,以允许流量进入此 Amazon ECS 服务的代理。 在 awsvpc 模式和 Fargate 中,默认值为容器端口号。 容器端口号位于任务定义的 portMapping 中。 在网桥模式下,默认值为 Service Connect 代理的临时端口。 |
整数 (int) |
端口名称 |
portName 必须与此 Amazon ECS 服务的任务定义中所有容器中 portMappings 的名称匹配。 |
字符串 |
超时 | 对表示为 Service Connect 配置的超时的对象的引用。 一个对象,表示 Service Connect 的超时配置。 如果 idleTimeout 设置为小于 perRequestTimeout 的时间,则当到达 idleTimeout 而不是 perRequestTimeout 时,连接将关闭。 |
超时配置 |
TLS (英语) | 对表示传输层安全性 (TLS) 配置的对象的引用。 一个对象,表示 Service Connect TLS 的配置。 | ServiceConnectTlsConfiguration |
ServiceConnectTlsCertificateAuthority
名字 | 描述 | 价值 |
---|---|---|
awsPcaAuthorityArn | AWS 专用证书颁发机构证书的 ARN。 | 字符串 |
ServiceConnectTlsConfiguration
名字 | 描述 | 价值 |
---|---|---|
issuerCertificateAuthority 颁发者 | 签名者证书颁发机构。 表示 AWS 专用证书颁发机构证书的对象。 | ServiceConnectTlsCertificateAuthority |
kmsKey | AWS 密钥管理服务密钥。 | 字符串 |
roleArn | 与服务连接 TLS 关联的 IAM 角色的 Amazon 资源名称(ARN)。 | 字符串 |
ServiceManagedEBSVolumeConfiguration
名字 | 描述 | 价值 |
---|---|---|
加密 | 指示是否应加密卷。 如果未指定任何值,则默认启用加密。 此参数在 Encrypted 中使用 CreateVolume API 的 参数映射 1:1。 |
布尔 |
filesystemType | 卷的 Linux 文件系统类型。 对于从快照创建的卷,必须指定创建快照时卷所使用的同一文件系统类型。 如果文件系统类型不匹配,任务将无法启动。 可用的文件系统类型为 ext3 、ext4 和 xfs 。 如果未指定任何值,则默认使用 xfs 文件系统类型。 |
字符串 |
IOPS (国际速率) | 每秒 I/O 操作数(IOPS)。 对于 gp3 、io1 和 io2 卷,表示为卷预配的 IOPS 数。 对于 gp2 卷,这表示卷的基线性能,以及卷累积 I/O 信用额度以用于突发的速率。 以下是每种卷类型的支持值。
+
gp3 : 3,000 - 16,000 IOPS + io1 : 100 - 64,000 IOPS + io2 : 100 - 256,000 IOPS:此参数是 io1 和 io2 卷类型所必需的。
gp3 卷的默认值为 3,000 IOPS 。
st1 、sc1 或 standard 卷类型不支持此参数。 此参数在 Iops 中使用 CreateVolume API 的 参数映射 1:1。 |
整数 (int) |
kmsKeyId | 用于 Amazon EBS 加密的 AWS 密钥管理服务密钥的 Amazon 资源名称(ARN)标识符。 启用加密且未指定 AWS 密钥管理服务密钥时,将使用 Amazon EBS 卷的默认 AWS 托管密钥。 此参数在 KmsKeyId 中使用 CreateVolume API 的 参数映射 1:1。 AWS 以异步方式对 AWS 密钥管理服务密钥进行身份验证。 因此,如果指定 ID、别名或 ARN 无效,则操作可能会显示为完成,但最终会失败。 |
字符串 |
roleArn | 要与此卷关联的 IAM 角色的 ARN。 这是用于管理 AWS 基础结构的 Amazon ECS 基础结构 IAM 角色。 建议使用此角色的 Amazon ECS 托管 AmazonECSInfrastructureRolePolicyForVolumes IAM 策略。 有关详细信息,请参阅 Amazon ECS 开发人员指南中的 Amazon ECS 基础结构 IAM 角色。 |
字符串 |
大小InGiB | GiB 中卷的大小。 必须指定卷大小或快照 ID。 如果指定快照 ID,则默认将快照大小用于卷大小。 可以选择指定大于或等于快照大小的卷大小。 此参数在 Size 中使用 CreateVolume API 的 参数映射 1:1。 以下是每种卷类型支持的卷大小值。
+
gp2 和 gp3 :1-16,384 + io1 和 io2 :4-16,384 + st1 和 sc1 :125-16,384 + standard : 1-1,024 |
整数 (int) |
快照 ID | Amazon ECS 用于创建卷的快照。 必须指定快照 ID 或卷大小。 此参数在 SnapshotId 中使用 CreateVolume API 的 参数映射 1:1。 |
字符串 |
tag规格 | 要应用于卷的标记。 Amazon ECS 默认应用服务管理的标记。 此参数在 TagSpecifications.N 中使用 CreateVolume API 的 参数映射 1:1。 |
EBSTag规范 |
吞吐量 | 要为卷预配的吞吐量(以 MiB/s 为单位),最大吞吐量为 1,000 MiB/秒。 此参数在 Throughput 中使用 CreateVolume API 的 参数映射 1:1。 此参数仅支持 gp3 卷类型。 |
整数 (int) |
音量类型 | 卷类型。 此参数在 VolumeType 中使用 CreateVolume API 的 参数映射 1:1。 有关详细信息,请参阅 gp2 |gp3 + 预置 IOPS SSD: io1 |io2 + 吞吐量优化型 HDD: st1 + 冷 HDD: sc1 + 磁性 standard :Fargate 不支持磁性卷类型。 |
字符串 |
ServiceRegistry 服务
名字 | 描述 | 价值 |
---|---|---|
容器名称 | 要用于服务发现服务的容器名称值。 它已在任务定义中指定。 如果服务任务指定的任务定义使用 bridge 或 host 网络模式,则必须从任务定义中指定 containerName 和 containerPort 组合。 如果服务任务指定的任务定义使用 awsvpc 网络模式和使用类型 SRV DNS 记录,则必须指定 containerName 和 containerPort 组合或 port 值。 但是,不能同时指定这两者。 |
字符串 |
容器端口 | 要用于服务发现服务的端口值。 它已在任务定义中指定。 如果服务任务指定的任务定义使用 bridge 或 host 网络模式,则必须从任务定义中指定 containerName 和 containerPort 组合。 如果服务任务指定的任务定义使用 awsvpc 网络模式并使用 SRV DNS 记录类型,则必须指定 containerName 和 containerPort 组合或 port 值。 但是,不能同时指定这两者。 |
整数 (int) |
港口 | 如果服务发现服务指定了 SRV 记录,则使用的端口值。 如果使用 awsvpc 网络模式和 SRV 记录,可以使用此字段。 |
整数 (int) |
registryArn 注册表 | 服务注册表的 Amazon 资源名称(ARN)。 当前支持的服务注册表为 CMAP。 有关详细信息,请参阅 CreateService。 | 字符串 |
ServiceVolumeConfiguration
名字 | 描述 | 价值 |
---|---|---|
managedEBSVolume | Amazon ECS 代表你创建和管理的 Amazon EBS 卷的配置。 这些设置用于创建每个 Amazon EBS 卷,并为服务中的每个任务创建一个卷。 创建 Amazon EC2 控制台后,Amazon EBS 卷将显示在你的帐户中。 Amazon ECS 代表你创建和管理的 Amazon EBS 卷的配置。 这些设置用于创建每个 Amazon EBS 卷,并为服务中的每个任务创建一个卷。 其中许多参数使用 Amazon EBS CreateVolume API 请求参数映射 1:1。 |
ServiceManagedEBSVolumeConfiguration |
名字 | 卷的名称。 此值必须与任务定义中 Volume 对象的卷名称匹配。 |
字符串 |
标签自动生成26
名字 | 描述 | 价值 |
---|---|---|
钥匙 | 构成标记的键值对的一部分。
key 是一个常规标签,其作用类似于更具体的标记值的类别。 |
字符串 |
价值 | 构成标记的键值对的可选部分。
value 充当标记类别(键)中的描述符。 |
字符串 |
超时配置
名字 | 描述 | 价值 |
---|---|---|
idleTimeoutSeconds | 连接在空闲时保持活动的时间(以秒为单位)。 可以将 0 的值设置为禁用 idleTimeout 。
idleTimeout
HTTP
/
HTTP2
/ 的 GRPC 默认值为 5 分钟。
idleTimeout 的 TCP 默认值为 1 小时。 |
整数 (int) |
perRequestTimeout秒 | 等待上游以每个请求的完整响应进行响应的时间量。 可以将 0 的值设置为禁用 perRequestTimeout 。 仅当 Service Connect perRequestTimeout 未 appProtocol 时,才能设置 TCP 。 仅允许 idleTimeout TCP appProtocol 。 |
整数 (int) |
TrackedResourceTags
名字 | 描述 | 价值 |
---|
ARM 模板资源定义
可以使用目标操作部署 ecsServices 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.AwsConnector/ecsServices 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.AwsConnector/ecsServices",
"apiVersion": "2024-12-01",
"name": "string",
"location": "string",
"properties": {
"arn": "string",
"awsAccountId": "string",
"awsProperties": {
"capacityProviderStrategy": [
{
"base": "int",
"capacityProvider": "string",
"weight": "int"
}
],
"cluster": "string",
"deploymentConfiguration": {
"alarms": {
"alarmNames": [ "string" ],
"enable": "bool",
"rollback": "bool"
},
"deploymentCircuitBreaker": {
"enable": "bool",
"rollback": "bool"
},
"maximumPercent": "int",
"minimumHealthyPercent": "int"
},
"deploymentController": {
"type": "string"
},
"desiredCount": "int",
"enableECSManagedTags": "bool",
"enableExecuteCommand": "bool",
"healthCheckGracePeriodSeconds": "int",
"launchType": "string",
"loadBalancers": [
{
"containerName": "string",
"containerPort": "int",
"loadBalancerName": "string",
"targetGroupArn": "string"
}
],
"name": "string",
"networkConfiguration": {
"awsvpcConfiguration": {
"assignPublicIp": "string",
"securityGroups": [ "string" ],
"subnets": [ "string" ]
}
},
"placementConstraints": [
{
"expression": "string",
"type": "string"
}
],
"placementStrategies": [
{
"field": "string",
"type": "string"
}
],
"platformVersion": "string",
"propagateTags": "string",
"role": "string",
"schedulingStrategy": "string",
"serviceArn": "string",
"serviceConnectConfiguration": {
"enabled": "bool",
"logConfiguration": {
"logDriver": "string",
"options": {},
"secretOptions": [
{
"name": "string",
"valueFrom": "string"
}
]
},
"namespace": "string",
"services": [
{
"clientAliases": [
{
"dnsName": "string",
"port": "int"
}
],
"discoveryName": "string",
"ingressPortOverride": "int",
"portName": "string",
"timeout": {
"idleTimeoutSeconds": "int",
"perRequestTimeoutSeconds": "int"
},
"tls": {
"issuerCertificateAuthority": {
"awsPcaAuthorityArn": "string"
},
"kmsKey": "string",
"roleArn": "string"
}
}
]
},
"serviceName": "string",
"serviceRegistries": [
{
"containerName": "string",
"containerPort": "int",
"port": "int",
"registryArn": "string"
}
],
"tags": [
{
"key": "string",
"value": "string"
}
],
"taskDefinition": "string",
"volumeConfigurations": [
{
"managedEBSVolume": {
"encrypted": "bool",
"filesystemType": "string",
"iops": "int",
"kmsKeyId": "string",
"roleArn": "string",
"sizeInGiB": "int",
"snapshotId": "string",
"tagSpecifications": [
{
"propagateTags": "string",
"resourceType": "string",
"tags": [
{
"key": "string",
"value": "string"
}
]
}
],
"throughput": "int",
"volumeType": "string"
},
"name": "string"
}
]
},
"awsRegion": "string",
"awsSourceSchema": "string",
"awsTags": {
"{customized property}": "string"
},
"publicCloudConnectorsResourceId": "string",
"publicCloudResourceName": "string"
},
"tags": {
"{customized property}": "string"
}
}
属性值
Microsoft.AwsConnector/ecsServices
名字 | 描述 | 价值 |
---|---|---|
apiVersion | API 版本 | '2024-12-01' |
位置 | 资源所在的地理位置 | string (必需) |
名字 | 资源名称 | 字符串 约束: 模式 = ^(?=.{0,259}[^\s.]$)(?!.*[<>%&\?/#]) (必需) |
性能 | 此资源的资源特定属性。 | EcsServiceProperties |
标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
类型 | 资源类型 | “Microsoft.AwsConnector/ecsServices” |
AwsEcsServiceProperties
名字 | 描述 | 价值 |
---|---|---|
capacityProviderStrategy | 要用于服务的容量提供程序策略。 如果指定了 capacityProviderStrategy ,则必须省略 launchType 参数。 如果未指定 capacityProviderStrategy 或 launchType ,则使用群集的 defaultCapacityProviderStrategy 。 容量提供程序策略最多可以包含 6 个容量提供程序。 |
CapacityProviderStrategyItem[] |
簇 | 运行服务的群集的短名称或完整的 Amazon 资源名称(ARN)。 如果未指定群集,则假定默认群集。 | 字符串 |
deploymentConfiguration | 可选的部署参数,用于控制在部署期间运行的任务数以及停止和启动任务的顺序。
DeploymentConfiguration 属性指定可选的部署参数,用于控制部署期间运行的任务数以及停止和启动任务的顺序。 |
部署配置 |
deploymentController | 要用于服务的部署控制器。 如果未指定部署控制器,则使用 ECS 的默认值。 要用于服务的部署控制器。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Amazon ECS 部署类型。 |
部署控制器 |
desiredCount | 要放置并保留在服务中的指定任务定义的实例化数。 对于新服务,如果未指定所需的计数,则使用默认值 1 。 使用 DAEMON 计划策略时,不需要所需的计数。 对于现有服务,如果未指定所需的计数,则会从操作中省略它。 |
整数 (int) |
enableECSManagedTags | 指定是否为服务中的任务启用 Amazon ECS 托管标记。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中 标记 Amazon ECS 资源。 使用 Amazon ECS 托管标记时,需要设置 propagateTags 请求参数。 |
布尔 |
enableExecuteCommand | 确定是否为服务启用了执行命令功能。 如果 true ,则会为任务中的所有容器启用执行命令功能,作为服务的一部分。 |
布尔 |
healthCheckGracePeriodSeconds | Amazon ECS 服务计划程序在任务首次启动后忽略不正常的弹性负载均衡目标运行状况检查的时间(以秒为单位)。 仅当服务配置为使用负载均衡器时,才使用此服务。 如果服务定义了负载均衡器,并且未指定运行状况检查宽限期值,则使用 0 的默认值。 如果不使用弹性负载均衡,建议在任务定义运行状况检查参数中使用 startPeriod 。 有关详细信息,请参阅 运行状况检查。 如果服务的任务需要一段时间才能启动和响应弹性负载均衡运行状况检查,则可以指定最多 2,147,483,647 秒(约 69 年)的运行状况检查宽限期。 在此期间,Amazon ECS 服务计划程序将忽略运行状况检查状态。 此宽限期可以防止服务计划程序将任务标记为不正常,并在任务有时间出现之前将其停止。 |
整数 (int) |
launchType | 运行服务的启动类型。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Amazon ECS 启动类型。 | “EC2” “EXTERNAL” “FARGATE” |
负载均衡器 | 要与服务关联的负载均衡器对象列表。 如果指定 Role 属性,还必须指定 LoadBalancers 。 有关每个服务可以指定的负载均衡器数的信息,请参阅 Amazon Elastic Container Service Developer Guide中的 服务负载均衡。 |
负载均衡器 |
名字 | 属性名称 | 字符串 |
网络配置 | 服务的网络配置。 对于使用 awsvpc 网络模式接收其自己的弹性网络接口的任务定义,并且其他网络模式不支持此参数。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 任务网络。
NetworkConfiguration 属性指定表示任务或服务的网络配置的对象。 |
网络配置 |
placementConstraints | 用于服务中任务的放置约束对象的数组。 可以为每个任务指定最多 10 个约束。 此限制包括任务定义中的约束以及运行时指定的限制。 | PlacementConstraint[] |
placementStrategies (放置策略) | 要用于服务中任务的放置策略对象。 可以为每个服务指定最多 5 个策略规则。 | 放置策略 |
平台版本 | 服务中任务正在运行的平台版本。 平台版本仅针对使用 Fargate 启动类型的任务指定。 如果未指定平台版本,则使用 LATEST 平台版本。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 平台版本。 |
字符串 |
propagate 标签 | 指定是否将标记从任务定义传播到任务。 如果未指定任何值,则不会传播标记。 标记只能在任务创建过程中传播到任务。 若要在创建任务后将标记添加到任务,请使用 TagResource API 操作。 默认值为 NONE 。 |
“SERVICE” “TASK_DEFINITION” |
角色 | IAM 角色的名称或完整的 Amazon 资源名称(ARN),该角色允许 Amazon ECS 代表你调用负载均衡器。 仅当将负载均衡器用于服务并且任务定义不使用 awsvpc 网络模式时,才允许此参数。 如果指定 role 参数,则还必须使用 loadBalancers 参数指定负载均衡器对象。 如果帐户已创建 Amazon ECS 服务链接角色,除非在此处指定角色,否则该角色将用于服务。 如果任务定义使用 awsvpc 网络模式,或者如果服务配置为使用服务发现、外部部署控制器、多个目标组或弹性推理加速器,则需要服务链接角色,在这种情况下,此处未指定角色。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 为 Amazon ECS 使用服务链接角色。 如果指定的角色的路径不是 / ,则必须指定完整角色 ARN(建议这样做),或者为角色名称加上路径前缀。 例如,如果名称 bar 的角色具有 /foo/ 的路径,则将 /foo/bar 指定为角色名称。 有关详细信息,请参阅 IAM 用户指南中的 友好名称和路径。 |
字符串 |
scheduleStrategy | 要用于服务的计划策略。 有关详细信息,请参阅 服务。 有两种可用的服务计划程序策略:+ REPLICA -副本计划策略放置并维护群集中所需的任务数。 默认情况下,服务计划程序将任务分散到可用性区域。 可以使用任务放置策略和约束来自定义任务放置决策。 如果服务使用 CODE_DEPLOY 或 EXTERNAL 部署控制器类型,则需要此计划程序策略。
+
DAEMON -守护程序计划策略在满足群集中指定的所有任务放置约束的每个活动容器实例上部署一个任务。 服务计划程序还会评估正在运行的任务的任务放置约束,并停止不符合放置约束的任务。 使用此策略时,无需指定所需的任务数、任务放置策略或使用服务自动缩放策略。 使用 Fargate 启动类型或 CODE_DEPLOY 或 EXTERNAL 部署控制器类型的任务不支持 DAEMON 计划策略。 |
“DAEMON” “REPLICA” |
serviceArn | 属性 serviceArn | 字符串 |
serviceConnectConfiguration 服务 | 此服务的配置,用于发现和连接到服务,并通过命名空间中的其他服务进行发现和连接。 命名空间中运行的任务可以使用短名称连接到命名空间中的服务。 任务可以连接到命名空间中所有群集的服务。 任务通过托管代理容器进行连接,该容器收集日志和指标以提高可见性。 只有 Amazon ECS 服务创建的任务才支持 Service Connect。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Service Connect。 Amazon ECS 服务的 Service Connect 配置。 此服务的配置,用于发现和连接到服务,并通过命名空间中的其他服务进行发现和连接。 命名空间中运行的任务可以使用短名称连接到命名空间中的服务。 任务可以连接到命名空间中所有群集的服务。 任务通过托管代理容器进行连接,该容器收集日志和指标以提高可见性。 只有 Amazon ECS 服务创建的任务才支持 Service Connect。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Service Connect。 | ServiceConnectConfiguration 服务 |
服务名称 | 服务的名称。 最多允许使用 255 个字母(大写和小写)、数字、下划线和连字符。 服务名称在群集中必须是唯一的,但可以在区域内或跨多个区域的多个群集中具有类似的命名服务。 如果更改任何需要替换的属性并配置了 ServiceName ,堆栈更新将失败。 这是因为 AWS CloudFormation 首先创建替换服务,但每个 ServiceName 在群集中必须是唯一的。 |
字符串 |
serviceRegistries | 要与此服务关联的服务发现注册表的详细信息。 有关详细信息,请参阅 服务发现。 每个服务都可能与一个服务注册表相关联。 不支持每个服务的多个服务注册表。 | ServiceRegistry [] |
标签 | 应用于服务的元数据有助于对它们进行分类和组织。 每个标记都包含一个键和一个可选值,这两个值都是你定义的。 删除服务时,也会删除标记。 以下基本限制适用于标记:+ 每个资源的最大标记数 - 50 + 对于每个资源,每个标记键必须是唯一的,每个标记键只能有一个值。 + 最大密钥长度 - UTF-8 中的 128 个 Unicode 字符 + 最大值长度 - UTF-8 中的 256 个 Unicode 字符 + 如果标记架构用于多个服务和资源,请记住其他服务可能对允许的字符有限制。 一般允许的字符是:字母、数字和空格(以 UTF-8 表示)和以下字符:+ - = 。 _ : / @. + 标记键和值区分大小写。 + 请勿使用 aws: 、AWS: 或任何大写或小写的组合,例如键或值的前缀,因为它保留供 AWS 使用。 不能编辑或删除具有此前缀的标记键或值。 具有此前缀的标记不计入每个资源限制的标记。 |
标签自动生成26 |
taskDefinition | 要在你的服务中运行的任务定义的 family 和 revision (family:revision )或完整的 ARN。 如果未指定 revision ,则使用最新的 ACTIVE 修订。 如果服务使用 ECS 或 CODE_DEPLOY 部署控制器,则必须指定任务定义。 有关部署类型的详细信息,请参阅 Amazon ECS 部署类型。 |
字符串 |
volumeConfigurations | 任务定义中指定的卷的配置,作为在启动时配置的卷。 目前,唯一支持的卷类型是 Amazon EBS 卷。 | ServiceVolumeConfiguration[] |
AwsVpcConfiguration
名字 | 描述 | 价值 |
---|---|---|
分配公共 IP | 任务的弹性网络接口是否接收公共 IP 地址。 默认值为 DISABLED 。 |
“DISABLED” “ENABLED” |
安全组 | 与任务或服务关联的安全组的 ID。 如果未指定安全组,将使用默认安全组。 每个 AwsVpcConfiguration 只能指定 5 个安全组。 所有指定的安全组都必须来自同一个VP。 |
字符串[] |
子网 | 与任务或服务关联的子网的 ID。 每个 AwsVpcConfiguration 可以指定 16 个子网的限制。 所有指定的子网都必须来自同一个VP。 |
字符串[] |
CapacityProviderStrategyItem
名字 | 描述 | 价值 |
---|---|---|
基础 |
基本 值指定在指定容量提供程序上运行的任务数(至少)。 容量提供程序策略中只有一个容量提供程序可以定义 基本。 如果未指定任何值,则使用 0 的默认值。 |
整数 (int) |
容量提供程序 | 容量提供程序的短名称。 | 字符串 |
重量 |
权重 值指定应使用指定容量提供程序启动的任务总数的相对百分比。 满足 weight 值(如果已定义)后,将考虑 base 值。 如果未指定 weight 值,则使用 0 的默认值。 在容量提供程序策略中指定多个容量提供程序时,至少有一个容量提供程序的权重值必须大于零,并且任何权重为 0 的容量提供程序都不能用于放置任务。 如果在具有 0 权重的策略中指定多个容量提供程序,则使用容量提供程序策略的任何 RunTask 或 CreateService 操作都将失败。 使用权重的示例方案是定义一个策略,该策略包含两个容量提供程序,两者都具有 1 权重,然后在满足 base 时,任务将均匀拆分到两个容量提供程序之间。 使用相同的逻辑,如果为 1 指定 的权重,并为 4 指定 权重,则对于使用 capacityProviderA运行的每个任务,四个任务将使用 capacityProviderB。 |
整数 (int) |
部署警报
名字 | 描述 | 价值 |
---|---|---|
alarmNames (警报名称) | 一个或多个 CloudWatch 警报名称。 使用“,”分隔警报。 | 字符串[] |
使 | 确定是否在服务部署过程中使用 CloudWatch 警报选项。 | 布尔 |
反转 | 确定是否将 Amazon ECS 配置为在服务部署失败时回滚服务。 如果使用回滚,当服务部署失败时,服务将回滚到成功完成的最后一个部署。 | 布尔 |
部署断路器
名字 | 描述 | 价值 |
---|---|---|
使 | 确定是否对服务使用部署断路器逻辑。 | 布尔 |
反转 | 确定是否将 Amazon ECS 配置为在服务部署失败时回滚服务。 如果回滚处于打开状态,当服务部署失败时,服务将回滚到成功完成的最后一个部署。 | 布尔 |
部署配置
名字 | 描述 | 价值 |
---|---|---|
警报 | 有关 CloudWatch 警报的信息。 其中一种方法提供了一种方法,可让你快速确定部署何时失败,然后选择性地将失败回滚到最后一个工作部署。 生成警报后,Amazon ECS 会将服务部署设置为失败。 设置回滚参数,让 Amazon ECS 在发生故障后将服务回滚到上次完成的部署。 仅当 DeploymentAlarms 设置为 DeploymentController (滚动更新)时,才能使用 ECS 方法检测故障。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 滚动更新。 |
部署警报 |
deploymentCircuitBreaker 的 | 部署断路器只能用于使用滚动更新(ECS )部署类型的服务。
部署断路器 确定如果服务无法达到稳定状态,服务部署是否会失败。 如果使用部署断路器,服务部署将转换为失败状态并停止启动新任务。 如果使用回滚选项,当服务部署失败时,服务将回滚到最后一个成功完成的部署。 有关详细信息,请参阅 Amazon Elastic Container Service 开发人员指南中的 滚动更新, 部署断路器只能用于使用滚动更新(ECS )部署类型的服务。
部署断路器 确定如果服务无法达到稳定状态,服务部署是否会失败。 如果启用,服务部署将转换为失败状态并停止启动新任务。 还可以将 Amazon ECS 配置为在发生故障后将服务回滚到上次完成的部署。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 滚动更新。 有关 API 失败原因的详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 API 故障原因。 |
部署断路器 |
maximumPercent (最大百分比) | 如果服务使用滚动更新(ECS )部署类型,则 maximumPercent 参数表示部署期间允许在 RUNNING 或 PENDING 状态中允许的服务任务数的上限(以 desiredCount 百分比(向下舍入为最接近的整数)。 此参数使你能够定义部署批大小。 例如,如果服务正在使用 REPLICA 服务计划程序,并且具有四个任务的 desiredCount ,并且 maximumPercent 值为 200%,则计划程序可能会在停止四个较旧任务之前启动四个新任务(前提是完成此操作所需的群集资源可用)。 使用 maximumPercent 服务计划程序的服务的默认 REPLICA 值为 200%。 如果服务使用的是蓝/绿(CODE_DEPLOY )或 EXTERNAL 部署类型和使用 EC2 启动类型的任务,则 最大百分比 值设置为默认值,并用于定义服务中处于 RUNNING 状态且容器实例处于 DRAINING 状态的任务数上限。 如果服务中的任务使用 Fargate 启动类型,则不使用最大百分比值,尽管在描述服务时会返回该值。 |
整数 (int) |
最小健康百分比 | 如果服务正在使用滚动更新(ECS )部署类型,则 minimumHealthyPercent 表示在部署期间必须保持 RUNNING 状态的服务任务数的下限(以 desiredCount 百分比(向上舍入为最接近的整数)。 此参数使你无需使用其他群集容量即可进行部署。 例如,如果服务有四个任务的 desiredCount ,minimumHealthyPercent 为 50%,则服务计划程序可能会停止两个现有任务来释放群集容量,然后再启动两个新任务。 对于 不 使用负载均衡器的服务,应注意以下事项:如果服务中任务中的所有基本容器通过其运行状况检查,则服务被视为正常。 + 如果任务没有定义运行状况检查的基本容器,则服务计划程序将在任务达到 RUNNING 状态后等待 40 秒,然后再将任务计入最小正常百分比总计。 + 如果任务具有定义运行状况检查的一个或多个基本容器,服务计划程序将等待任务达到正常状态,然后再将其计入最小正常百分比。 当任务中的所有基本容器都通过其运行状况检查时,任务被视为正常。 服务计划程序等待的时间由容器运行状况检查设置确定。 对于 使用负载均衡器的服务,应注意以下事项:+ 如果任务没有定义运行状况检查的基本容器,服务计划程序将等待负载均衡器目标组运行状况检查返回正常状态,然后再将任务计数为最小正常百分比。 + 如果任务具有定义运行状况检查的基本容器,服务计划程序将等待任务达到正常状态,负载均衡器目标组运行状况检查将返回正常状态,然后将任务计数为最小正常百分比。 如果服务使用的是蓝/绿(CODE_DEPLOY )或 EXTERNAL 部署类型,并且正在运行使用 EC2 启动类型的任务,则 最小正常百分比 值设置为默认值,并用于定义服务中处于 RUNNING 状态的任务数的下限,而容器实例处于 DRAINING 状态。 如果服务使用的是蓝/绿(CODE_DEPLOY )或 EXTERNAL 部署类型,并且正在运行使用 Fargate 启动类型的任务,则不会使用最小正常百分比值,尽管在描述服务时会返回该值。 |
整数 (int) |
部署控制器
名字 | 描述 | 价值 |
---|---|---|
类型 | 要使用的部署控制器类型。 有三种可用的部署控制器类型:+ ECS 滚动更新(ECS)部署类型涉及将容器的当前运行版本替换为最新版本。 在滚动更新期间,Amazon ECS 添加或删除服务中的容器数通过调整服务部署期间允许的最小和最大正常任务数来控制,如 DeploymentConfiguration 中指定的。 + CODE_DEPLOY蓝/绿(CODE_DEPLOY)部署类型使用蓝/绿部署模型,该模型允许在向服务发送生产流量之前验证服务的新部署。 + EXTERNAL 外部(EXTERNAL)部署类型使你能够使用任何第三方部署控制器完全控制 Amazon ECS 服务的部署过程。 | “CODE_DEPLOY” “ECS” “EXTERNAL” |
EBSTag 规范
名字 | 描述 | 价值 |
---|---|---|
propagate 标签 | 确定是否将标记从任务定义传播到 Amazon EBS 卷。 标记只能传播到 SERVICE 中指定的 ServiceVolumeConfiguration 。 如果未指定任何值,则不会传播标记。 |
“SERVICE” “TASK_DEFINITION” |
资源类型 | 卷资源的类型。 | 字符串 |
标签 | 应用于此 Amazon EBS 卷的标记。
AmazonECSCreated 和 AmazonECSManaged 是无法使用的保留标记。 |
标签自动生成26 |
EcsServiceProperties
名字 | 描述 | 价值 |
---|---|---|
阿恩 | Amazon 资源名称 (ARN) | 字符串 |
awsAccountId | AWS 帐户 ID | 字符串 |
awsProperties | AWS 属性 | AwsEcsServiceProperties |
awsRegion | AWS 区域 | 字符串 |
awsSourceSchema | AWS 源架构 | 字符串 |
aws标签 | AWS 标记 | EcsServicePropertiesAwsTags |
publicCloudConnectorsResourceId | 公有云连接器资源 ID | 字符串 |
publicCloudResourceName (公共云资源名称) | 公有云资源名称 | 字符串 |
EcsServicePropertiesAwsTags
名字 | 描述 | 价值 |
---|
负载均衡器
名字 | 描述 | 价值 |
---|---|---|
容器名称 | 容器的名称(如容器定义中所示)与负载均衡器相关联。 在为 Amazon ECS 负载均衡器配置目标组时,需要指定容器名称。 | 字符串 |
容器端口 | 要与负载均衡器关联的容器上的端口。 此端口必须与服务中任务正在使用的任务定义中的 containerPort 相对应。 对于使用 EC2 启动类型的任务,他们启动的容器实例必须允许端口映射 hostPort 上的入口流量。 |
整数 (int) |
loadBalancer名称 | 要与 Amazon ECS 服务或任务集关联的负载均衡器的名称。 如果使用应用程序负载均衡器或网络负载均衡器,则应省略负载均衡器名称参数。 | 字符串 |
targetGroupArn | 与服务或任务集关联的弹性负载均衡目标组或组的完整 Amazon 资源名称(ARN)。 仅当使用应用程序负载均衡器或网络负载均衡器时,才指定目标组 ARN。 对于使用 ECS 部署控制器的服务,可以指定一个或多个目标组。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 向服务 注册多个目标组。 对于使用 CODE_DEPLOY 部署控制器的服务,需要为负载均衡器定义两个目标组。 有关详细信息,请参阅 awsvpc 网络模式,则必须选择 ip 作为目标类型,而不是 instance 。 创建目标组时执行此操作,因为使用 awsvpc 网络模式的任务与弹性网络接口(而不是 Amazon EC2 实例)相关联。 Fargate 启动类型需要此网络模式。 |
字符串 |
日志配置
名字 | 描述 | 价值 |
---|---|---|
logDriver | 要用于容器的日志驱动程序。 对于 FARGATElong 上的任务,支持的日志驱动程序是 awslogs 、splunk 和 awsfirelens 。 对于 Amazon EC2 实例上托管的任务,支持的日志驱动程序为 awslogs 、fluentd 、gelf 、json-file 、journald 、logentries 、syslog 、splunk 和 awsfirelens 。 有关使用 awslogs 日志驱动程序的详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 using the awslogs log driver。 有关使用 awsfirelens 日志驱动程序的详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 自定义日志路由。 如果你的自定义驱动程序未列出,则可以对 GitHub 上 |
字符串 |
选项 | 要发送到日志驱动程序的配置选项。 此参数需要容器实例上的 Docker 远程 API 版本 1.19 或更高版本。 若要检查容器实例上的 Docker 远程 API 版本,请登录到容器实例并运行以下命令:sudo docker version --format '{{.Server.APIVersion}}' |
任何 |
secretOptions | 要传递给日志配置的机密。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中指定敏感数据。 | 机密[] |
网络配置
名字 | 描述 | 价值 |
---|---|---|
awsvpcConfiguration | 与任务关联的VP 子网和安全组。 所有指定的子网和安全组都必须来自同一个VP。 表示任务或服务的网络详细信息的对象。 例如 awsvpcConfiguration={subnets=['subnet-12344321'],securityGroups=['sg-12344321']} |
AwsVpcConfiguration |
PlacementConstraint (放置约束)
名字 | 描述 | 价值 |
---|---|---|
表达 | 要应用于约束的群集查询语言表达式。 表达式的最大长度可以为 2000 个字符。 如果约束类型 distinctInstance ,则不能指定表达式。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 群集查询语言。 |
字符串 |
类型 | 约束的类型。 使用 distinctInstance 来确保特定组中的每个任务在不同的容器实例上运行。 使用 memberOf 将所选内容限制为一组有效候选项。 |
“distinctInstance” “memberOf” |
PlacementStrategy (放置策略)
名字 | 描述 | 价值 |
---|---|---|
田 | 要对其应用放置策略的字段。 对于 spread 放置策略,有效值 instanceId (或 host ,其效果相同),或者应用于容器实例的任何平台或自定义属性,例如 attribute:ecs.availability-zone 。 对于 binpack 放置策略,有效值 CPU 和 MEMORY 。 对于 random 放置策略,不使用此字段。 |
字符串 |
类型 | 放置策略的类型。
random 放置策略将任务随机放置在可用候选项上。
spread 放置策略根据 field 参数均匀分散在可用候选项中。
binpack 策略将任务置于可用候选项上,这些候选项具有使用 field 参数指定的资源数量最少。 例如,如果在内存上装箱,则会将任务放置在实例上,该实例的剩余内存量最少,但仍足以运行该任务。 |
“binpack” “random” “spread” |
秘密
名字 | 描述 | 价值 |
---|---|---|
名字 | 机密的名称。 | 字符串 |
value从 | 要向容器公开的机密。 支持的值是 ASMlong 机密的完整 ARN 或 SSM 参数存储中参数的完整 ARN。 有关需要 IAMlong 权限的信息,请参阅 |
字符串 |
ServiceConnectClient别名
名字 | 描述 | 价值 |
---|---|---|
dns名称 |
dnsName 是在客户端任务的应用程序中用来连接到此服务的名称。 该名称必须是有效的 DNS 名称,但不需要完全限定。 该名称最多可以包含 127 个字符。 该名称可以包括小写字母、数字、下划线(_)、连字符(-)和句点(.)。 名称不能以连字符开头。 如果未指定此参数,则使用 discoveryName.namespace 的默认值。 如果未指定 discoveryName ,则任务定义中的端口映射名称用于 portName.namespace 。 为了避免在客户端 Amazon ECS 服务中更改应用程序,请将它设置为客户端应用程序默认使用的同名。 例如,一些公用名是 database 、db 或数据库的小写名称,例如 mysql 或 redis 。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Service Connect。 |
字符串 |
港口 | Service Connect 代理的侦听端口号。 此端口可在同一命名空间中的所有任务内使用。 若要避免在客户端 Amazon ECS 服务中更改应用程序,请将它设置为客户端应用程序默认使用的同一端口。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Service Connect。 | 整数 (int) |
ServiceConnectConfiguration 服务
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否使用此服务使用 Service Connect。 | 布尔 |
logConfiguration | 容器的日志配置。 此参数映射到 LogConfig 的“创建容器”部分的 ,以及用于 --log-driver 的 选项。 默认情况下,容器使用 Docker 守护程序使用的同一日志记录驱动程序。 但是,容器可能通过在容器定义中指定日志驱动程序配置来使用与 Docker 守护程序不同的日志记录驱动程序。 有关不同支持的日志驱动程序的选项的详细信息,请参阅 Docker 文档中 配置日志记录驱动程序。 指定容器的日志配置时,请了解以下内容。 + Amazon ECS 目前支持 Docker 守护程序可用的日志记录驱动程序的子集。 Amazon ECS 容器代理的未来版本中可能会提供其他日志驱动程序。 对于 FARGATElong 上的任务,支持的日志驱动程序是 awslogs 、splunk 和 awsfirelens 。 对于 Amazon EC2 实例上托管的任务,支持的日志驱动程序为 awslogs 、fluentd 、gelf 、json-file 、journald 、logentries 、syslog 、splunk 和 awsfirelens 。 + 此参数需要容器实例上的 Docker 远程 API 版本 1.18 或更高版本。 + 对于在 Amazon EC2 实例上托管的任务,Amazon ECS 容器代理必须在放置该实例的容器可以使用这些日志配置选项之前,向 ECS_AVAILABLE_LOGGING_DRIVERS 环境变量注册可用的日志记录驱动程序。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Amazon ECS 容器代理配置。 + 对于 FARGATElong 上的任务,由于你无权访问托管任务的基础基础结构,因此必须在任务之外安装所需的任何其他软件。 例如,Fluentd 输出聚合器或运行 Logstash 的远程主机将 Gelf 日志发送到该日志。 容器的日志配置。 此参数映射到 LogConfig 的“创建容器”部分的 ,以及用于 --log-driver 的 选项。 默认情况下,容器使用 Docker 守护程序使用的同一日志记录驱动程序。 但是,容器可能通过在容器定义中指定日志驱动程序配置来使用与 Docker 守护程序不同的日志记录驱动程序。 有关不同支持的日志驱动程序的选项的详细信息,请参阅 Docker 文档中 配置日志记录驱动程序。 指定容器的日志配置时,请了解以下内容。 + Amazon ECS 目前支持 Docker 守护程序可用的日志记录驱动程序的子集。 Amazon ECS 容器代理的未来版本中可能会提供其他日志驱动程序。 对于 FARGATElong 上的任务,支持的日志驱动程序是 awslogs 、splunk 和 awsfirelens 。 对于 Amazon EC2 实例上托管的任务,支持的日志驱动程序为 awslogs 、fluentd 、gelf 、json-file 、journald 、logentries 、syslog 、splunk 和 awsfirelens 。 + 此参数需要容器实例上的 Docker 远程 API 版本 1.18 或更高版本。 + 对于在 Amazon EC2 实例上托管的任务,Amazon ECS 容器代理必须在放置该实例的容器可以使用这些日志配置选项之前,向 ECS_AVAILABLE_LOGGING_DRIVERS 环境变量注册可用的日志记录驱动程序。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Amazon ECS 容器代理配置。 + 对于 FARGATElong 上的任务,由于你无权访问托管任务的基础基础结构,因此必须在任务之外安装所需的任何其他软件。 例如,Fluentd 输出聚合器或运行 Logstash 的远程主机将 Gelf 日志发送到该日志。 |
日志配置 |
Namespace | 用于 Service Connect 的 CMAPlong 命名空间的命名空间名称或完整的 Amazon 资源名称(ARN)。 命名空间必须与 Amazon ECS 服务和群集位于同一 AWS 区域中。 命名空间的类型不会影响服务连接。 有关 CMAPlong 的详细信息,请参阅 开发人员指南中的 使用服务。 | 字符串 |
服务业 | Service Connect 服务对象列表。 这些是其他 Amazon ECS 服务用于连接到此服务的名称和别名(也称为终结点)。 作为命名空间成员的“client”Amazon ECS 服务不需要此字段才能连接到命名空间中的其他服务。 例如,一个前端应用程序,它接受从附加到服务的负载均衡器或其他方式发出的传入请求。 对象从任务定义中选择端口,为 CMAPlong 服务分配名称,以及客户端应用程序引用此服务的别名(终结点)和端口列表。 | ServiceConnectService[] |
服务连接服务
名字 | 描述 | 价值 |
---|---|---|
client别名 | 此 Service Connect 服务的客户端别名列表。 可以使用这些来分配客户端应用程序可以使用的名称。 在此列表中可以拥有的最大客户端别名数为 1。 每个别名(“endpoint”)都是一个完全限定的名称和端口号,其他 Amazon ECS 任务(“客户端”)可用于连接到此服务。 每个名称和端口映射在命名空间中必须是唯一的。 对于每个 ServiceConnectService ,必须至少提供一个 clientAlias 一个 port 。 |
ServiceConnectClient别名 |
发现名称 |
discoveryName 是 Amazon ECS 为此 Amazon ECS 服务创建的新 CMAP 服务的名称。 这在 CMAP 命名空间中必须是唯一的。 该名称最多可以包含 64 个字符。 该名称可以包括小写字母、数字、下划线(_)和连字符(-)。 名称不能以连字符开头。 如果未指定 discoveryName ,则任务定义中的端口映射名称用于 portName.namespace 。 |
字符串 |
ingressPortOverride | 要侦听的服务连接代理的端口号。 使用此字段的值可以绕过此应用程序任务定义中命名 portMapping 中指定的端口号上的流量,然后在你的VP 安全组中使用它,以允许流量进入此 Amazon ECS 服务的代理。 在 awsvpc 模式和 Fargate 中,默认值为容器端口号。 容器端口号位于任务定义的 portMapping 中。 在网桥模式下,默认值为 Service Connect 代理的临时端口。 |
整数 (int) |
端口名称 |
portName 必须与此 Amazon ECS 服务的任务定义中所有容器中 portMappings 的名称匹配。 |
字符串 |
超时 | 对表示为 Service Connect 配置的超时的对象的引用。 一个对象,表示 Service Connect 的超时配置。 如果 idleTimeout 设置为小于 perRequestTimeout 的时间,则当到达 idleTimeout 而不是 perRequestTimeout 时,连接将关闭。 |
超时配置 |
TLS (英语) | 对表示传输层安全性 (TLS) 配置的对象的引用。 一个对象,表示 Service Connect TLS 的配置。 | ServiceConnectTlsConfiguration |
ServiceConnectTlsCertificateAuthority
名字 | 描述 | 价值 |
---|---|---|
awsPcaAuthorityArn | AWS 专用证书颁发机构证书的 ARN。 | 字符串 |
ServiceConnectTlsConfiguration
名字 | 描述 | 价值 |
---|---|---|
issuerCertificateAuthority 颁发者 | 签名者证书颁发机构。 表示 AWS 专用证书颁发机构证书的对象。 | ServiceConnectTlsCertificateAuthority |
kmsKey | AWS 密钥管理服务密钥。 | 字符串 |
roleArn | 与服务连接 TLS 关联的 IAM 角色的 Amazon 资源名称(ARN)。 | 字符串 |
ServiceManagedEBSVolumeConfiguration
名字 | 描述 | 价值 |
---|---|---|
加密 | 指示是否应加密卷。 如果未指定任何值,则默认启用加密。 此参数在 Encrypted 中使用 CreateVolume API 的 参数映射 1:1。 |
布尔 |
filesystemType | 卷的 Linux 文件系统类型。 对于从快照创建的卷,必须指定创建快照时卷所使用的同一文件系统类型。 如果文件系统类型不匹配,任务将无法启动。 可用的文件系统类型为 ext3 、ext4 和 xfs 。 如果未指定任何值,则默认使用 xfs 文件系统类型。 |
字符串 |
IOPS (国际速率) | 每秒 I/O 操作数(IOPS)。 对于 gp3 、io1 和 io2 卷,表示为卷预配的 IOPS 数。 对于 gp2 卷,这表示卷的基线性能,以及卷累积 I/O 信用额度以用于突发的速率。 以下是每种卷类型的支持值。
+
gp3 : 3,000 - 16,000 IOPS + io1 : 100 - 64,000 IOPS + io2 : 100 - 256,000 IOPS:此参数是 io1 和 io2 卷类型所必需的。
gp3 卷的默认值为 3,000 IOPS 。
st1 、sc1 或 standard 卷类型不支持此参数。 此参数在 Iops 中使用 CreateVolume API 的 参数映射 1:1。 |
整数 (int) |
kmsKeyId | 用于 Amazon EBS 加密的 AWS 密钥管理服务密钥的 Amazon 资源名称(ARN)标识符。 启用加密且未指定 AWS 密钥管理服务密钥时,将使用 Amazon EBS 卷的默认 AWS 托管密钥。 此参数在 KmsKeyId 中使用 CreateVolume API 的 参数映射 1:1。 AWS 以异步方式对 AWS 密钥管理服务密钥进行身份验证。 因此,如果指定 ID、别名或 ARN 无效,则操作可能会显示为完成,但最终会失败。 |
字符串 |
roleArn | 要与此卷关联的 IAM 角色的 ARN。 这是用于管理 AWS 基础结构的 Amazon ECS 基础结构 IAM 角色。 建议使用此角色的 Amazon ECS 托管 AmazonECSInfrastructureRolePolicyForVolumes IAM 策略。 有关详细信息,请参阅 Amazon ECS 开发人员指南中的 Amazon ECS 基础结构 IAM 角色。 |
字符串 |
大小InGiB | GiB 中卷的大小。 必须指定卷大小或快照 ID。 如果指定快照 ID,则默认将快照大小用于卷大小。 可以选择指定大于或等于快照大小的卷大小。 此参数在 Size 中使用 CreateVolume API 的 参数映射 1:1。 以下是每种卷类型支持的卷大小值。
+
gp2 和 gp3 :1-16,384 + io1 和 io2 :4-16,384 + st1 和 sc1 :125-16,384 + standard : 1-1,024 |
整数 (int) |
快照 ID | Amazon ECS 用于创建卷的快照。 必须指定快照 ID 或卷大小。 此参数在 SnapshotId 中使用 CreateVolume API 的 参数映射 1:1。 |
字符串 |
tag规格 | 要应用于卷的标记。 Amazon ECS 默认应用服务管理的标记。 此参数在 TagSpecifications.N 中使用 CreateVolume API 的 参数映射 1:1。 |
EBSTag规范 |
吞吐量 | 要为卷预配的吞吐量(以 MiB/s 为单位),最大吞吐量为 1,000 MiB/秒。 此参数在 Throughput 中使用 CreateVolume API 的 参数映射 1:1。 此参数仅支持 gp3 卷类型。 |
整数 (int) |
音量类型 | 卷类型。 此参数在 VolumeType 中使用 CreateVolume API 的 参数映射 1:1。 有关详细信息,请参阅 gp2 |gp3 + 预置 IOPS SSD: io1 |io2 + 吞吐量优化型 HDD: st1 + 冷 HDD: sc1 + 磁性 standard :Fargate 不支持磁性卷类型。 |
字符串 |
ServiceRegistry 服务
名字 | 描述 | 价值 |
---|---|---|
容器名称 | 要用于服务发现服务的容器名称值。 它已在任务定义中指定。 如果服务任务指定的任务定义使用 bridge 或 host 网络模式,则必须从任务定义中指定 containerName 和 containerPort 组合。 如果服务任务指定的任务定义使用 awsvpc 网络模式和使用类型 SRV DNS 记录,则必须指定 containerName 和 containerPort 组合或 port 值。 但是,不能同时指定这两者。 |
字符串 |
容器端口 | 要用于服务发现服务的端口值。 它已在任务定义中指定。 如果服务任务指定的任务定义使用 bridge 或 host 网络模式,则必须从任务定义中指定 containerName 和 containerPort 组合。 如果服务任务指定的任务定义使用 awsvpc 网络模式并使用 SRV DNS 记录类型,则必须指定 containerName 和 containerPort 组合或 port 值。 但是,不能同时指定这两者。 |
整数 (int) |
港口 | 如果服务发现服务指定了 SRV 记录,则使用的端口值。 如果使用 awsvpc 网络模式和 SRV 记录,可以使用此字段。 |
整数 (int) |
registryArn 注册表 | 服务注册表的 Amazon 资源名称(ARN)。 当前支持的服务注册表为 CMAP。 有关详细信息,请参阅 CreateService。 | 字符串 |
ServiceVolumeConfiguration
名字 | 描述 | 价值 |
---|---|---|
managedEBSVolume | Amazon ECS 代表你创建和管理的 Amazon EBS 卷的配置。 这些设置用于创建每个 Amazon EBS 卷,并为服务中的每个任务创建一个卷。 创建 Amazon EC2 控制台后,Amazon EBS 卷将显示在你的帐户中。 Amazon ECS 代表你创建和管理的 Amazon EBS 卷的配置。 这些设置用于创建每个 Amazon EBS 卷,并为服务中的每个任务创建一个卷。 其中许多参数使用 Amazon EBS CreateVolume API 请求参数映射 1:1。 |
ServiceManagedEBSVolumeConfiguration |
名字 | 卷的名称。 此值必须与任务定义中 Volume 对象的卷名称匹配。 |
字符串 |
标签自动生成26
名字 | 描述 | 价值 |
---|---|---|
钥匙 | 构成标记的键值对的一部分。
key 是一个常规标签,其作用类似于更具体的标记值的类别。 |
字符串 |
价值 | 构成标记的键值对的可选部分。
value 充当标记类别(键)中的描述符。 |
字符串 |
超时配置
名字 | 描述 | 价值 |
---|---|---|
idleTimeoutSeconds | 连接在空闲时保持活动的时间(以秒为单位)。 可以将 0 的值设置为禁用 idleTimeout 。
idleTimeout
HTTP
/
HTTP2
/ 的 GRPC 默认值为 5 分钟。
idleTimeout 的 TCP 默认值为 1 小时。 |
整数 (int) |
perRequestTimeout秒 | 等待上游以每个请求的完整响应进行响应的时间量。 可以将 0 的值设置为禁用 perRequestTimeout 。 仅当 Service Connect perRequestTimeout 未 appProtocol 时,才能设置 TCP 。 仅允许 idleTimeout TCP appProtocol 。 |
整数 (int) |
TrackedResourceTags
名字 | 描述 | 价值 |
---|
用法示例
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署 ecsServices 资源类型:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.AwsConnector/ecsServices 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.AwsConnector/ecsServices@2024-12-01"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
arn = "string"
awsAccountId = "string"
awsProperties = {
capacityProviderStrategy = [
{
base = int
capacityProvider = "string"
weight = int
}
]
cluster = "string"
deploymentConfiguration = {
alarms = {
alarmNames = [
"string"
]
enable = bool
rollback = bool
}
deploymentCircuitBreaker = {
enable = bool
rollback = bool
}
maximumPercent = int
minimumHealthyPercent = int
}
deploymentController = {
type = "string"
}
desiredCount = int
enableECSManagedTags = bool
enableExecuteCommand = bool
healthCheckGracePeriodSeconds = int
launchType = "string"
loadBalancers = [
{
containerName = "string"
containerPort = int
loadBalancerName = "string"
targetGroupArn = "string"
}
]
name = "string"
networkConfiguration = {
awsvpcConfiguration = {
assignPublicIp = "string"
securityGroups = [
"string"
]
subnets = [
"string"
]
}
}
placementConstraints = [
{
expression = "string"
type = "string"
}
]
placementStrategies = [
{
field = "string"
type = "string"
}
]
platformVersion = "string"
propagateTags = "string"
role = "string"
schedulingStrategy = "string"
serviceArn = "string"
serviceConnectConfiguration = {
enabled = bool
logConfiguration = {
logDriver = "string"
options = ?
secretOptions = [
{
name = "string"
valueFrom = "string"
}
]
}
namespace = "string"
services = [
{
clientAliases = [
{
dnsName = "string"
port = int
}
]
discoveryName = "string"
ingressPortOverride = int
portName = "string"
timeout = {
idleTimeoutSeconds = int
perRequestTimeoutSeconds = int
}
tls = {
issuerCertificateAuthority = {
awsPcaAuthorityArn = "string"
}
kmsKey = "string"
roleArn = "string"
}
}
]
}
serviceName = "string"
serviceRegistries = [
{
containerName = "string"
containerPort = int
port = int
registryArn = "string"
}
]
tags = [
{
key = "string"
value = "string"
}
]
taskDefinition = "string"
volumeConfigurations = [
{
managedEBSVolume = {
encrypted = bool
filesystemType = "string"
iops = int
kmsKeyId = "string"
roleArn = "string"
sizeInGiB = int
snapshotId = "string"
tagSpecifications = [
{
propagateTags = "string"
resourceType = "string"
tags = [
{
key = "string"
value = "string"
}
]
}
]
throughput = int
volumeType = "string"
}
name = "string"
}
]
}
awsRegion = "string"
awsSourceSchema = "string"
awsTags = {
{customized property} = "string"
}
publicCloudConnectorsResourceId = "string"
publicCloudResourceName = "string"
}
}
}
属性值
Microsoft.AwsConnector/ecsServices
名字 | 描述 | 价值 |
---|---|---|
位置 | 资源所在的地理位置 | string (必需) |
名字 | 资源名称 | 字符串 约束: 模式 = ^(?=.{0,259}[^\s.]$)(?!.*[<>%&\?/#]) (必需) |
性能 | 此资源的资源特定属性。 | EcsServiceProperties |
标签 | 资源标记 | 标记名称和值的字典。 |
类型 | 资源类型 | “Microsoft.AwsConnector/ecsServices@2024-12-01” |
AwsEcsServiceProperties
名字 | 描述 | 价值 |
---|---|---|
capacityProviderStrategy | 要用于服务的容量提供程序策略。 如果指定了 capacityProviderStrategy ,则必须省略 launchType 参数。 如果未指定 capacityProviderStrategy 或 launchType ,则使用群集的 defaultCapacityProviderStrategy 。 容量提供程序策略最多可以包含 6 个容量提供程序。 |
CapacityProviderStrategyItem[] |
簇 | 运行服务的群集的短名称或完整的 Amazon 资源名称(ARN)。 如果未指定群集,则假定默认群集。 | 字符串 |
deploymentConfiguration | 可选的部署参数,用于控制在部署期间运行的任务数以及停止和启动任务的顺序。
DeploymentConfiguration 属性指定可选的部署参数,用于控制部署期间运行的任务数以及停止和启动任务的顺序。 |
部署配置 |
deploymentController | 要用于服务的部署控制器。 如果未指定部署控制器,则使用 ECS 的默认值。 要用于服务的部署控制器。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Amazon ECS 部署类型。 |
部署控制器 |
desiredCount | 要放置并保留在服务中的指定任务定义的实例化数。 对于新服务,如果未指定所需的计数,则使用默认值 1 。 使用 DAEMON 计划策略时,不需要所需的计数。 对于现有服务,如果未指定所需的计数,则会从操作中省略它。 |
整数 (int) |
enableECSManagedTags | 指定是否为服务中的任务启用 Amazon ECS 托管标记。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中 标记 Amazon ECS 资源。 使用 Amazon ECS 托管标记时,需要设置 propagateTags 请求参数。 |
布尔 |
enableExecuteCommand | 确定是否为服务启用了执行命令功能。 如果 true ,则会为任务中的所有容器启用执行命令功能,作为服务的一部分。 |
布尔 |
healthCheckGracePeriodSeconds | Amazon ECS 服务计划程序在任务首次启动后忽略不正常的弹性负载均衡目标运行状况检查的时间(以秒为单位)。 仅当服务配置为使用负载均衡器时,才使用此服务。 如果服务定义了负载均衡器,并且未指定运行状况检查宽限期值,则使用 0 的默认值。 如果不使用弹性负载均衡,建议在任务定义运行状况检查参数中使用 startPeriod 。 有关详细信息,请参阅 运行状况检查。 如果服务的任务需要一段时间才能启动和响应弹性负载均衡运行状况检查,则可以指定最多 2,147,483,647 秒(约 69 年)的运行状况检查宽限期。 在此期间,Amazon ECS 服务计划程序将忽略运行状况检查状态。 此宽限期可以防止服务计划程序将任务标记为不正常,并在任务有时间出现之前将其停止。 |
整数 (int) |
launchType | 运行服务的启动类型。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Amazon ECS 启动类型。 | “EC2” “EXTERNAL” “FARGATE” |
负载均衡器 | 要与服务关联的负载均衡器对象列表。 如果指定 Role 属性,还必须指定 LoadBalancers 。 有关每个服务可以指定的负载均衡器数的信息,请参阅 Amazon Elastic Container Service Developer Guide中的 服务负载均衡。 |
负载均衡器 |
名字 | 属性名称 | 字符串 |
网络配置 | 服务的网络配置。 对于使用 awsvpc 网络模式接收其自己的弹性网络接口的任务定义,并且其他网络模式不支持此参数。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 任务网络。
NetworkConfiguration 属性指定表示任务或服务的网络配置的对象。 |
网络配置 |
placementConstraints | 用于服务中任务的放置约束对象的数组。 可以为每个任务指定最多 10 个约束。 此限制包括任务定义中的约束以及运行时指定的限制。 | PlacementConstraint[] |
placementStrategies (放置策略) | 要用于服务中任务的放置策略对象。 可以为每个服务指定最多 5 个策略规则。 | 放置策略 |
平台版本 | 服务中任务正在运行的平台版本。 平台版本仅针对使用 Fargate 启动类型的任务指定。 如果未指定平台版本,则使用 LATEST 平台版本。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 平台版本。 |
字符串 |
propagate 标签 | 指定是否将标记从任务定义传播到任务。 如果未指定任何值,则不会传播标记。 标记只能在任务创建过程中传播到任务。 若要在创建任务后将标记添加到任务,请使用 TagResource API 操作。 默认值为 NONE 。 |
“SERVICE” “TASK_DEFINITION” |
角色 | IAM 角色的名称或完整的 Amazon 资源名称(ARN),该角色允许 Amazon ECS 代表你调用负载均衡器。 仅当将负载均衡器用于服务并且任务定义不使用 awsvpc 网络模式时,才允许此参数。 如果指定 role 参数,则还必须使用 loadBalancers 参数指定负载均衡器对象。 如果帐户已创建 Amazon ECS 服务链接角色,除非在此处指定角色,否则该角色将用于服务。 如果任务定义使用 awsvpc 网络模式,或者如果服务配置为使用服务发现、外部部署控制器、多个目标组或弹性推理加速器,则需要服务链接角色,在这种情况下,此处未指定角色。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 为 Amazon ECS 使用服务链接角色。 如果指定的角色的路径不是 / ,则必须指定完整角色 ARN(建议这样做),或者为角色名称加上路径前缀。 例如,如果名称 bar 的角色具有 /foo/ 的路径,则将 /foo/bar 指定为角色名称。 有关详细信息,请参阅 IAM 用户指南中的 友好名称和路径。 |
字符串 |
scheduleStrategy | 要用于服务的计划策略。 有关详细信息,请参阅 服务。 有两种可用的服务计划程序策略:+ REPLICA -副本计划策略放置并维护群集中所需的任务数。 默认情况下,服务计划程序将任务分散到可用性区域。 可以使用任务放置策略和约束来自定义任务放置决策。 如果服务使用 CODE_DEPLOY 或 EXTERNAL 部署控制器类型,则需要此计划程序策略。
+
DAEMON -守护程序计划策略在满足群集中指定的所有任务放置约束的每个活动容器实例上部署一个任务。 服务计划程序还会评估正在运行的任务的任务放置约束,并停止不符合放置约束的任务。 使用此策略时,无需指定所需的任务数、任务放置策略或使用服务自动缩放策略。 使用 Fargate 启动类型或 CODE_DEPLOY 或 EXTERNAL 部署控制器类型的任务不支持 DAEMON 计划策略。 |
“DAEMON” “REPLICA” |
serviceArn | 属性 serviceArn | 字符串 |
serviceConnectConfiguration 服务 | 此服务的配置,用于发现和连接到服务,并通过命名空间中的其他服务进行发现和连接。 命名空间中运行的任务可以使用短名称连接到命名空间中的服务。 任务可以连接到命名空间中所有群集的服务。 任务通过托管代理容器进行连接,该容器收集日志和指标以提高可见性。 只有 Amazon ECS 服务创建的任务才支持 Service Connect。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Service Connect。 Amazon ECS 服务的 Service Connect 配置。 此服务的配置,用于发现和连接到服务,并通过命名空间中的其他服务进行发现和连接。 命名空间中运行的任务可以使用短名称连接到命名空间中的服务。 任务可以连接到命名空间中所有群集的服务。 任务通过托管代理容器进行连接,该容器收集日志和指标以提高可见性。 只有 Amazon ECS 服务创建的任务才支持 Service Connect。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Service Connect。 | ServiceConnectConfiguration 服务 |
服务名称 | 服务的名称。 最多允许使用 255 个字母(大写和小写)、数字、下划线和连字符。 服务名称在群集中必须是唯一的,但可以在区域内或跨多个区域的多个群集中具有类似的命名服务。 如果更改任何需要替换的属性并配置了 ServiceName ,堆栈更新将失败。 这是因为 AWS CloudFormation 首先创建替换服务,但每个 ServiceName 在群集中必须是唯一的。 |
字符串 |
serviceRegistries | 要与此服务关联的服务发现注册表的详细信息。 有关详细信息,请参阅 服务发现。 每个服务都可能与一个服务注册表相关联。 不支持每个服务的多个服务注册表。 | ServiceRegistry [] |
标签 | 应用于服务的元数据有助于对它们进行分类和组织。 每个标记都包含一个键和一个可选值,这两个值都是你定义的。 删除服务时,也会删除标记。 以下基本限制适用于标记:+ 每个资源的最大标记数 - 50 + 对于每个资源,每个标记键必须是唯一的,每个标记键只能有一个值。 + 最大密钥长度 - UTF-8 中的 128 个 Unicode 字符 + 最大值长度 - UTF-8 中的 256 个 Unicode 字符 + 如果标记架构用于多个服务和资源,请记住其他服务可能对允许的字符有限制。 一般允许的字符是:字母、数字和空格(以 UTF-8 表示)和以下字符:+ - = 。 _ : / @. + 标记键和值区分大小写。 + 请勿使用 aws: 、AWS: 或任何大写或小写的组合,例如键或值的前缀,因为它保留供 AWS 使用。 不能编辑或删除具有此前缀的标记键或值。 具有此前缀的标记不计入每个资源限制的标记。 |
标签自动生成26 |
taskDefinition | 要在你的服务中运行的任务定义的 family 和 revision (family:revision )或完整的 ARN。 如果未指定 revision ,则使用最新的 ACTIVE 修订。 如果服务使用 ECS 或 CODE_DEPLOY 部署控制器,则必须指定任务定义。 有关部署类型的详细信息,请参阅 Amazon ECS 部署类型。 |
字符串 |
volumeConfigurations | 任务定义中指定的卷的配置,作为在启动时配置的卷。 目前,唯一支持的卷类型是 Amazon EBS 卷。 | ServiceVolumeConfiguration[] |
AwsVpcConfiguration
名字 | 描述 | 价值 |
---|---|---|
分配公共 IP | 任务的弹性网络接口是否接收公共 IP 地址。 默认值为 DISABLED 。 |
“DISABLED” “ENABLED” |
安全组 | 与任务或服务关联的安全组的 ID。 如果未指定安全组,将使用默认安全组。 每个 AwsVpcConfiguration 只能指定 5 个安全组。 所有指定的安全组都必须来自同一个VP。 |
字符串[] |
子网 | 与任务或服务关联的子网的 ID。 每个 AwsVpcConfiguration 可以指定 16 个子网的限制。 所有指定的子网都必须来自同一个VP。 |
字符串[] |
CapacityProviderStrategyItem
名字 | 描述 | 价值 |
---|---|---|
基础 |
基本 值指定在指定容量提供程序上运行的任务数(至少)。 容量提供程序策略中只有一个容量提供程序可以定义 基本。 如果未指定任何值,则使用 0 的默认值。 |
整数 (int) |
容量提供程序 | 容量提供程序的短名称。 | 字符串 |
重量 |
权重 值指定应使用指定容量提供程序启动的任务总数的相对百分比。 满足 weight 值(如果已定义)后,将考虑 base 值。 如果未指定 weight 值,则使用 0 的默认值。 在容量提供程序策略中指定多个容量提供程序时,至少有一个容量提供程序的权重值必须大于零,并且任何权重为 0 的容量提供程序都不能用于放置任务。 如果在具有 0 权重的策略中指定多个容量提供程序,则使用容量提供程序策略的任何 RunTask 或 CreateService 操作都将失败。 使用权重的示例方案是定义一个策略,该策略包含两个容量提供程序,两者都具有 1 权重,然后在满足 base 时,任务将均匀拆分到两个容量提供程序之间。 使用相同的逻辑,如果为 1 指定 的权重,并为 4 指定 权重,则对于使用 capacityProviderA运行的每个任务,四个任务将使用 capacityProviderB。 |
整数 (int) |
部署警报
名字 | 描述 | 价值 |
---|---|---|
alarmNames (警报名称) | 一个或多个 CloudWatch 警报名称。 使用“,”分隔警报。 | 字符串[] |
使 | 确定是否在服务部署过程中使用 CloudWatch 警报选项。 | 布尔 |
反转 | 确定是否将 Amazon ECS 配置为在服务部署失败时回滚服务。 如果使用回滚,当服务部署失败时,服务将回滚到成功完成的最后一个部署。 | 布尔 |
部署断路器
名字 | 描述 | 价值 |
---|---|---|
使 | 确定是否对服务使用部署断路器逻辑。 | 布尔 |
反转 | 确定是否将 Amazon ECS 配置为在服务部署失败时回滚服务。 如果回滚处于打开状态,当服务部署失败时,服务将回滚到成功完成的最后一个部署。 | 布尔 |
部署配置
名字 | 描述 | 价值 |
---|---|---|
警报 | 有关 CloudWatch 警报的信息。 其中一种方法提供了一种方法,可让你快速确定部署何时失败,然后选择性地将失败回滚到最后一个工作部署。 生成警报后,Amazon ECS 会将服务部署设置为失败。 设置回滚参数,让 Amazon ECS 在发生故障后将服务回滚到上次完成的部署。 仅当 DeploymentAlarms 设置为 DeploymentController (滚动更新)时,才能使用 ECS 方法检测故障。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 滚动更新。 |
部署警报 |
deploymentCircuitBreaker 的 | 部署断路器只能用于使用滚动更新(ECS )部署类型的服务。
部署断路器 确定如果服务无法达到稳定状态,服务部署是否会失败。 如果使用部署断路器,服务部署将转换为失败状态并停止启动新任务。 如果使用回滚选项,当服务部署失败时,服务将回滚到最后一个成功完成的部署。 有关详细信息,请参阅 Amazon Elastic Container Service 开发人员指南中的 滚动更新, 部署断路器只能用于使用滚动更新(ECS )部署类型的服务。
部署断路器 确定如果服务无法达到稳定状态,服务部署是否会失败。 如果启用,服务部署将转换为失败状态并停止启动新任务。 还可以将 Amazon ECS 配置为在发生故障后将服务回滚到上次完成的部署。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 滚动更新。 有关 API 失败原因的详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 API 故障原因。 |
部署断路器 |
maximumPercent (最大百分比) | 如果服务使用滚动更新(ECS )部署类型,则 maximumPercent 参数表示部署期间允许在 RUNNING 或 PENDING 状态中允许的服务任务数的上限(以 desiredCount 百分比(向下舍入为最接近的整数)。 此参数使你能够定义部署批大小。 例如,如果服务正在使用 REPLICA 服务计划程序,并且具有四个任务的 desiredCount ,并且 maximumPercent 值为 200%,则计划程序可能会在停止四个较旧任务之前启动四个新任务(前提是完成此操作所需的群集资源可用)。 使用 maximumPercent 服务计划程序的服务的默认 REPLICA 值为 200%。 如果服务使用的是蓝/绿(CODE_DEPLOY )或 EXTERNAL 部署类型和使用 EC2 启动类型的任务,则 最大百分比 值设置为默认值,并用于定义服务中处于 RUNNING 状态且容器实例处于 DRAINING 状态的任务数上限。 如果服务中的任务使用 Fargate 启动类型,则不使用最大百分比值,尽管在描述服务时会返回该值。 |
整数 (int) |
最小健康百分比 | 如果服务正在使用滚动更新(ECS )部署类型,则 minimumHealthyPercent 表示在部署期间必须保持 RUNNING 状态的服务任务数的下限(以 desiredCount 百分比(向上舍入为最接近的整数)。 此参数使你无需使用其他群集容量即可进行部署。 例如,如果服务有四个任务的 desiredCount ,minimumHealthyPercent 为 50%,则服务计划程序可能会停止两个现有任务来释放群集容量,然后再启动两个新任务。 对于 不 使用负载均衡器的服务,应注意以下事项:如果服务中任务中的所有基本容器通过其运行状况检查,则服务被视为正常。 + 如果任务没有定义运行状况检查的基本容器,则服务计划程序将在任务达到 RUNNING 状态后等待 40 秒,然后再将任务计入最小正常百分比总计。 + 如果任务具有定义运行状况检查的一个或多个基本容器,服务计划程序将等待任务达到正常状态,然后再将其计入最小正常百分比。 当任务中的所有基本容器都通过其运行状况检查时,任务被视为正常。 服务计划程序等待的时间由容器运行状况检查设置确定。 对于 使用负载均衡器的服务,应注意以下事项:+ 如果任务没有定义运行状况检查的基本容器,服务计划程序将等待负载均衡器目标组运行状况检查返回正常状态,然后再将任务计数为最小正常百分比。 + 如果任务具有定义运行状况检查的基本容器,服务计划程序将等待任务达到正常状态,负载均衡器目标组运行状况检查将返回正常状态,然后将任务计数为最小正常百分比。 如果服务使用的是蓝/绿(CODE_DEPLOY )或 EXTERNAL 部署类型,并且正在运行使用 EC2 启动类型的任务,则 最小正常百分比 值设置为默认值,并用于定义服务中处于 RUNNING 状态的任务数的下限,而容器实例处于 DRAINING 状态。 如果服务使用的是蓝/绿(CODE_DEPLOY )或 EXTERNAL 部署类型,并且正在运行使用 Fargate 启动类型的任务,则不会使用最小正常百分比值,尽管在描述服务时会返回该值。 |
整数 (int) |
部署控制器
名字 | 描述 | 价值 |
---|---|---|
类型 | 要使用的部署控制器类型。 有三种可用的部署控制器类型:+ ECS 滚动更新(ECS)部署类型涉及将容器的当前运行版本替换为最新版本。 在滚动更新期间,Amazon ECS 添加或删除服务中的容器数通过调整服务部署期间允许的最小和最大正常任务数来控制,如 DeploymentConfiguration 中指定的。 + CODE_DEPLOY蓝/绿(CODE_DEPLOY)部署类型使用蓝/绿部署模型,该模型允许在向服务发送生产流量之前验证服务的新部署。 + EXTERNAL 外部(EXTERNAL)部署类型使你能够使用任何第三方部署控制器完全控制 Amazon ECS 服务的部署过程。 | “CODE_DEPLOY” “ECS” “EXTERNAL” |
EBSTag 规范
名字 | 描述 | 价值 |
---|---|---|
propagate 标签 | 确定是否将标记从任务定义传播到 Amazon EBS 卷。 标记只能传播到 SERVICE 中指定的 ServiceVolumeConfiguration 。 如果未指定任何值,则不会传播标记。 |
“SERVICE” “TASK_DEFINITION” |
资源类型 | 卷资源的类型。 | 字符串 |
标签 | 应用于此 Amazon EBS 卷的标记。
AmazonECSCreated 和 AmazonECSManaged 是无法使用的保留标记。 |
标签自动生成26 |
EcsServiceProperties
名字 | 描述 | 价值 |
---|---|---|
阿恩 | Amazon 资源名称 (ARN) | 字符串 |
awsAccountId | AWS 帐户 ID | 字符串 |
awsProperties | AWS 属性 | AwsEcsServiceProperties |
awsRegion | AWS 区域 | 字符串 |
awsSourceSchema | AWS 源架构 | 字符串 |
aws标签 | AWS 标记 | EcsServicePropertiesAwsTags |
publicCloudConnectorsResourceId | 公有云连接器资源 ID | 字符串 |
publicCloudResourceName (公共云资源名称) | 公有云资源名称 | 字符串 |
EcsServicePropertiesAwsTags
名字 | 描述 | 价值 |
---|
负载均衡器
名字 | 描述 | 价值 |
---|---|---|
容器名称 | 容器的名称(如容器定义中所示)与负载均衡器相关联。 在为 Amazon ECS 负载均衡器配置目标组时,需要指定容器名称。 | 字符串 |
容器端口 | 要与负载均衡器关联的容器上的端口。 此端口必须与服务中任务正在使用的任务定义中的 containerPort 相对应。 对于使用 EC2 启动类型的任务,他们启动的容器实例必须允许端口映射 hostPort 上的入口流量。 |
整数 (int) |
loadBalancer名称 | 要与 Amazon ECS 服务或任务集关联的负载均衡器的名称。 如果使用应用程序负载均衡器或网络负载均衡器,则应省略负载均衡器名称参数。 | 字符串 |
targetGroupArn | 与服务或任务集关联的弹性负载均衡目标组或组的完整 Amazon 资源名称(ARN)。 仅当使用应用程序负载均衡器或网络负载均衡器时,才指定目标组 ARN。 对于使用 ECS 部署控制器的服务,可以指定一个或多个目标组。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 向服务 注册多个目标组。 对于使用 CODE_DEPLOY 部署控制器的服务,需要为负载均衡器定义两个目标组。 有关详细信息,请参阅 awsvpc 网络模式,则必须选择 ip 作为目标类型,而不是 instance 。 创建目标组时执行此操作,因为使用 awsvpc 网络模式的任务与弹性网络接口(而不是 Amazon EC2 实例)相关联。 Fargate 启动类型需要此网络模式。 |
字符串 |
日志配置
名字 | 描述 | 价值 |
---|---|---|
logDriver | 要用于容器的日志驱动程序。 对于 FARGATElong 上的任务,支持的日志驱动程序是 awslogs 、splunk 和 awsfirelens 。 对于 Amazon EC2 实例上托管的任务,支持的日志驱动程序为 awslogs 、fluentd 、gelf 、json-file 、journald 、logentries 、syslog 、splunk 和 awsfirelens 。 有关使用 awslogs 日志驱动程序的详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 using the awslogs log driver。 有关使用 awsfirelens 日志驱动程序的详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 自定义日志路由。 如果你的自定义驱动程序未列出,则可以对 GitHub 上 |
字符串 |
选项 | 要发送到日志驱动程序的配置选项。 此参数需要容器实例上的 Docker 远程 API 版本 1.19 或更高版本。 若要检查容器实例上的 Docker 远程 API 版本,请登录到容器实例并运行以下命令:sudo docker version --format '{{.Server.APIVersion}}' |
任何 |
secretOptions | 要传递给日志配置的机密。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中指定敏感数据。 | 机密[] |
网络配置
名字 | 描述 | 价值 |
---|---|---|
awsvpcConfiguration | 与任务关联的VP 子网和安全组。 所有指定的子网和安全组都必须来自同一个VP。 表示任务或服务的网络详细信息的对象。 例如 awsvpcConfiguration={subnets=['subnet-12344321'],securityGroups=['sg-12344321']} |
AwsVpcConfiguration |
PlacementConstraint (放置约束)
名字 | 描述 | 价值 |
---|---|---|
表达 | 要应用于约束的群集查询语言表达式。 表达式的最大长度可以为 2000 个字符。 如果约束类型 distinctInstance ,则不能指定表达式。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 群集查询语言。 |
字符串 |
类型 | 约束的类型。 使用 distinctInstance 来确保特定组中的每个任务在不同的容器实例上运行。 使用 memberOf 将所选内容限制为一组有效候选项。 |
“distinctInstance” “memberOf” |
PlacementStrategy (放置策略)
名字 | 描述 | 价值 |
---|---|---|
田 | 要对其应用放置策略的字段。 对于 spread 放置策略,有效值 instanceId (或 host ,其效果相同),或者应用于容器实例的任何平台或自定义属性,例如 attribute:ecs.availability-zone 。 对于 binpack 放置策略,有效值 CPU 和 MEMORY 。 对于 random 放置策略,不使用此字段。 |
字符串 |
类型 | 放置策略的类型。
random 放置策略将任务随机放置在可用候选项上。
spread 放置策略根据 field 参数均匀分散在可用候选项中。
binpack 策略将任务置于可用候选项上,这些候选项具有使用 field 参数指定的资源数量最少。 例如,如果在内存上装箱,则会将任务放置在实例上,该实例的剩余内存量最少,但仍足以运行该任务。 |
“binpack” “random” “spread” |
秘密
名字 | 描述 | 价值 |
---|---|---|
名字 | 机密的名称。 | 字符串 |
value从 | 要向容器公开的机密。 支持的值是 ASMlong 机密的完整 ARN 或 SSM 参数存储中参数的完整 ARN。 有关需要 IAMlong 权限的信息,请参阅 |
字符串 |
ServiceConnectClient别名
名字 | 描述 | 价值 |
---|---|---|
dns名称 |
dnsName 是在客户端任务的应用程序中用来连接到此服务的名称。 该名称必须是有效的 DNS 名称,但不需要完全限定。 该名称最多可以包含 127 个字符。 该名称可以包括小写字母、数字、下划线(_)、连字符(-)和句点(.)。 名称不能以连字符开头。 如果未指定此参数,则使用 discoveryName.namespace 的默认值。 如果未指定 discoveryName ,则任务定义中的端口映射名称用于 portName.namespace 。 为了避免在客户端 Amazon ECS 服务中更改应用程序,请将它设置为客户端应用程序默认使用的同名。 例如,一些公用名是 database 、db 或数据库的小写名称,例如 mysql 或 redis 。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Service Connect。 |
字符串 |
港口 | Service Connect 代理的侦听端口号。 此端口可在同一命名空间中的所有任务内使用。 若要避免在客户端 Amazon ECS 服务中更改应用程序,请将它设置为客户端应用程序默认使用的同一端口。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Service Connect。 | 整数 (int) |
ServiceConnectConfiguration 服务
名字 | 描述 | 价值 |
---|---|---|
启用 | 指定是否使用此服务使用 Service Connect。 | 布尔 |
logConfiguration | 容器的日志配置。 此参数映射到 LogConfig 的“创建容器”部分的 ,以及用于 --log-driver 的 选项。 默认情况下,容器使用 Docker 守护程序使用的同一日志记录驱动程序。 但是,容器可能通过在容器定义中指定日志驱动程序配置来使用与 Docker 守护程序不同的日志记录驱动程序。 有关不同支持的日志驱动程序的选项的详细信息,请参阅 Docker 文档中 配置日志记录驱动程序。 指定容器的日志配置时,请了解以下内容。 + Amazon ECS 目前支持 Docker 守护程序可用的日志记录驱动程序的子集。 Amazon ECS 容器代理的未来版本中可能会提供其他日志驱动程序。 对于 FARGATElong 上的任务,支持的日志驱动程序是 awslogs 、splunk 和 awsfirelens 。 对于 Amazon EC2 实例上托管的任务,支持的日志驱动程序为 awslogs 、fluentd 、gelf 、json-file 、journald 、logentries 、syslog 、splunk 和 awsfirelens 。 + 此参数需要容器实例上的 Docker 远程 API 版本 1.18 或更高版本。 + 对于在 Amazon EC2 实例上托管的任务,Amazon ECS 容器代理必须在放置该实例的容器可以使用这些日志配置选项之前,向 ECS_AVAILABLE_LOGGING_DRIVERS 环境变量注册可用的日志记录驱动程序。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Amazon ECS 容器代理配置。 + 对于 FARGATElong 上的任务,由于你无权访问托管任务的基础基础结构,因此必须在任务之外安装所需的任何其他软件。 例如,Fluentd 输出聚合器或运行 Logstash 的远程主机将 Gelf 日志发送到该日志。 容器的日志配置。 此参数映射到 LogConfig 的“创建容器”部分的 ,以及用于 --log-driver 的 选项。 默认情况下,容器使用 Docker 守护程序使用的同一日志记录驱动程序。 但是,容器可能通过在容器定义中指定日志驱动程序配置来使用与 Docker 守护程序不同的日志记录驱动程序。 有关不同支持的日志驱动程序的选项的详细信息,请参阅 Docker 文档中 配置日志记录驱动程序。 指定容器的日志配置时,请了解以下内容。 + Amazon ECS 目前支持 Docker 守护程序可用的日志记录驱动程序的子集。 Amazon ECS 容器代理的未来版本中可能会提供其他日志驱动程序。 对于 FARGATElong 上的任务,支持的日志驱动程序是 awslogs 、splunk 和 awsfirelens 。 对于 Amazon EC2 实例上托管的任务,支持的日志驱动程序为 awslogs 、fluentd 、gelf 、json-file 、journald 、logentries 、syslog 、splunk 和 awsfirelens 。 + 此参数需要容器实例上的 Docker 远程 API 版本 1.18 或更高版本。 + 对于在 Amazon EC2 实例上托管的任务,Amazon ECS 容器代理必须在放置该实例的容器可以使用这些日志配置选项之前,向 ECS_AVAILABLE_LOGGING_DRIVERS 环境变量注册可用的日志记录驱动程序。 有关详细信息,请参阅 Amazon Elastic Container Service Developer Guide中的 Amazon ECS 容器代理配置。 + 对于 FARGATElong 上的任务,由于你无权访问托管任务的基础基础结构,因此必须在任务之外安装所需的任何其他软件。 例如,Fluentd 输出聚合器或运行 Logstash 的远程主机将 Gelf 日志发送到该日志。 |
日志配置 |
Namespace | 用于 Service Connect 的 CMAPlong 命名空间的命名空间名称或完整的 Amazon 资源名称(ARN)。 命名空间必须与 Amazon ECS 服务和群集位于同一 AWS 区域中。 命名空间的类型不会影响服务连接。 有关 CMAPlong 的详细信息,请参阅 开发人员指南中的 使用服务。 | 字符串 |
服务业 | Service Connect 服务对象列表。 这些是其他 Amazon ECS 服务用于连接到此服务的名称和别名(也称为终结点)。 作为命名空间成员的“client”Amazon ECS 服务不需要此字段才能连接到命名空间中的其他服务。 例如,一个前端应用程序,它接受从附加到服务的负载均衡器或其他方式发出的传入请求。 对象从任务定义中选择端口,为 CMAPlong 服务分配名称,以及客户端应用程序引用此服务的别名(终结点)和端口列表。 | ServiceConnectService[] |
服务连接服务
名字 | 描述 | 价值 |
---|---|---|
client别名 | 此 Service Connect 服务的客户端别名列表。 可以使用这些来分配客户端应用程序可以使用的名称。 在此列表中可以拥有的最大客户端别名数为 1。 每个别名(“endpoint”)都是一个完全限定的名称和端口号,其他 Amazon ECS 任务(“客户端”)可用于连接到此服务。 每个名称和端口映射在命名空间中必须是唯一的。 对于每个 ServiceConnectService ,必须至少提供一个 clientAlias 一个 port 。 |
ServiceConnectClient别名 |
发现名称 |
discoveryName 是 Amazon ECS 为此 Amazon ECS 服务创建的新 CMAP 服务的名称。 这在 CMAP 命名空间中必须是唯一的。 该名称最多可以包含 64 个字符。 该名称可以包括小写字母、数字、下划线(_)和连字符(-)。 名称不能以连字符开头。 如果未指定 discoveryName ,则任务定义中的端口映射名称用于 portName.namespace 。 |
字符串 |
ingressPortOverride | 要侦听的服务连接代理的端口号。 使用此字段的值可以绕过此应用程序任务定义中命名 portMapping 中指定的端口号上的流量,然后在你的VP 安全组中使用它,以允许流量进入此 Amazon ECS 服务的代理。 在 awsvpc 模式和 Fargate 中,默认值为容器端口号。 容器端口号位于任务定义的 portMapping 中。 在网桥模式下,默认值为 Service Connect 代理的临时端口。 |
整数 (int) |
端口名称 |
portName 必须与此 Amazon ECS 服务的任务定义中所有容器中 portMappings 的名称匹配。 |
字符串 |
超时 | 对表示为 Service Connect 配置的超时的对象的引用。 一个对象,表示 Service Connect 的超时配置。 如果 idleTimeout 设置为小于 perRequestTimeout 的时间,则当到达 idleTimeout 而不是 perRequestTimeout 时,连接将关闭。 |
超时配置 |
TLS (英语) | 对表示传输层安全性 (TLS) 配置的对象的引用。 一个对象,表示 Service Connect TLS 的配置。 | ServiceConnectTlsConfiguration |
ServiceConnectTlsCertificateAuthority
名字 | 描述 | 价值 |
---|---|---|
awsPcaAuthorityArn | AWS 专用证书颁发机构证书的 ARN。 | 字符串 |
ServiceConnectTlsConfiguration
名字 | 描述 | 价值 |
---|---|---|
issuerCertificateAuthority 颁发者 | 签名者证书颁发机构。 表示 AWS 专用证书颁发机构证书的对象。 | ServiceConnectTlsCertificateAuthority |
kmsKey | AWS 密钥管理服务密钥。 | 字符串 |
roleArn | 与服务连接 TLS 关联的 IAM 角色的 Amazon 资源名称(ARN)。 | 字符串 |
ServiceManagedEBSVolumeConfiguration
名字 | 描述 | 价值 |
---|---|---|
加密 | 指示是否应加密卷。 如果未指定任何值,则默认启用加密。 此参数在 Encrypted 中使用 CreateVolume API 的 参数映射 1:1。 |
布尔 |
filesystemType | 卷的 Linux 文件系统类型。 对于从快照创建的卷,必须指定创建快照时卷所使用的同一文件系统类型。 如果文件系统类型不匹配,任务将无法启动。 可用的文件系统类型为 ext3 、ext4 和 xfs 。 如果未指定任何值,则默认使用 xfs 文件系统类型。 |
字符串 |
IOPS (国际速率) | 每秒 I/O 操作数(IOPS)。 对于 gp3 、io1 和 io2 卷,表示为卷预配的 IOPS 数。 对于 gp2 卷,这表示卷的基线性能,以及卷累积 I/O 信用额度以用于突发的速率。 以下是每种卷类型的支持值。
+
gp3 : 3,000 - 16,000 IOPS + io1 : 100 - 64,000 IOPS + io2 : 100 - 256,000 IOPS:此参数是 io1 和 io2 卷类型所必需的。
gp3 卷的默认值为 3,000 IOPS 。
st1 、sc1 或 standard 卷类型不支持此参数。 此参数在 Iops 中使用 CreateVolume API 的 参数映射 1:1。 |
整数 (int) |
kmsKeyId | 用于 Amazon EBS 加密的 AWS 密钥管理服务密钥的 Amazon 资源名称(ARN)标识符。 启用加密且未指定 AWS 密钥管理服务密钥时,将使用 Amazon EBS 卷的默认 AWS 托管密钥。 此参数在 KmsKeyId 中使用 CreateVolume API 的 参数映射 1:1。 AWS 以异步方式对 AWS 密钥管理服务密钥进行身份验证。 因此,如果指定 ID、别名或 ARN 无效,则操作可能会显示为完成,但最终会失败。 |
字符串 |
roleArn | 要与此卷关联的 IAM 角色的 ARN。 这是用于管理 AWS 基础结构的 Amazon ECS 基础结构 IAM 角色。 建议使用此角色的 Amazon ECS 托管 AmazonECSInfrastructureRolePolicyForVolumes IAM 策略。 有关详细信息,请参阅 Amazon ECS 开发人员指南中的 Amazon ECS 基础结构 IAM 角色。 |
字符串 |
大小InGiB | GiB 中卷的大小。 必须指定卷大小或快照 ID。 如果指定快照 ID,则默认将快照大小用于卷大小。 可以选择指定大于或等于快照大小的卷大小。 此参数在 Size 中使用 CreateVolume API 的 参数映射 1:1。 以下是每种卷类型支持的卷大小值。
+
gp2 和 gp3 :1-16,384 + io1 和 io2 :4-16,384 + st1 和 sc1 :125-16,384 + standard : 1-1,024 |
整数 (int) |
快照 ID | Amazon ECS 用于创建卷的快照。 必须指定快照 ID 或卷大小。 此参数在 SnapshotId 中使用 CreateVolume API 的 参数映射 1:1。 |
字符串 |
tag规格 | 要应用于卷的标记。 Amazon ECS 默认应用服务管理的标记。 此参数在 TagSpecifications.N 中使用 CreateVolume API 的 参数映射 1:1。 |
EBSTag规范 |
吞吐量 | 要为卷预配的吞吐量(以 MiB/s 为单位),最大吞吐量为 1,000 MiB/秒。 此参数在 Throughput 中使用 CreateVolume API 的 参数映射 1:1。 此参数仅支持 gp3 卷类型。 |
整数 (int) |
音量类型 | 卷类型。 此参数在 VolumeType 中使用 CreateVolume API 的 参数映射 1:1。 有关详细信息,请参阅 gp2 |gp3 + 预置 IOPS SSD: io1 |io2 + 吞吐量优化型 HDD: st1 + 冷 HDD: sc1 + 磁性 standard :Fargate 不支持磁性卷类型。 |
字符串 |
ServiceRegistry 服务
名字 | 描述 | 价值 |
---|---|---|
容器名称 | 要用于服务发现服务的容器名称值。 它已在任务定义中指定。 如果服务任务指定的任务定义使用 bridge 或 host 网络模式,则必须从任务定义中指定 containerName 和 containerPort 组合。 如果服务任务指定的任务定义使用 awsvpc 网络模式和使用类型 SRV DNS 记录,则必须指定 containerName 和 containerPort 组合或 port 值。 但是,不能同时指定这两者。 |
字符串 |
容器端口 | 要用于服务发现服务的端口值。 它已在任务定义中指定。 如果服务任务指定的任务定义使用 bridge 或 host 网络模式,则必须从任务定义中指定 containerName 和 containerPort 组合。 如果服务任务指定的任务定义使用 awsvpc 网络模式并使用 SRV DNS 记录类型,则必须指定 containerName 和 containerPort 组合或 port 值。 但是,不能同时指定这两者。 |
整数 (int) |
港口 | 如果服务发现服务指定了 SRV 记录,则使用的端口值。 如果使用 awsvpc 网络模式和 SRV 记录,可以使用此字段。 |
整数 (int) |
registryArn 注册表 | 服务注册表的 Amazon 资源名称(ARN)。 当前支持的服务注册表为 CMAP。 有关详细信息,请参阅 CreateService。 | 字符串 |
ServiceVolumeConfiguration
名字 | 描述 | 价值 |
---|---|---|
managedEBSVolume | Amazon ECS 代表你创建和管理的 Amazon EBS 卷的配置。 这些设置用于创建每个 Amazon EBS 卷,并为服务中的每个任务创建一个卷。 创建 Amazon EC2 控制台后,Amazon EBS 卷将显示在你的帐户中。 Amazon ECS 代表你创建和管理的 Amazon EBS 卷的配置。 这些设置用于创建每个 Amazon EBS 卷,并为服务中的每个任务创建一个卷。 其中许多参数使用 Amazon EBS CreateVolume API 请求参数映射 1:1。 |
ServiceManagedEBSVolumeConfiguration |
名字 | 卷的名称。 此值必须与任务定义中 Volume 对象的卷名称匹配。 |
字符串 |
标签自动生成26
名字 | 描述 | 价值 |
---|---|---|
钥匙 | 构成标记的键值对的一部分。
key 是一个常规标签,其作用类似于更具体的标记值的类别。 |
字符串 |
价值 | 构成标记的键值对的可选部分。
value 充当标记类别(键)中的描述符。 |
字符串 |
超时配置
名字 | 描述 | 价值 |
---|---|---|
idleTimeoutSeconds | 连接在空闲时保持活动的时间(以秒为单位)。 可以将 0 的值设置为禁用 idleTimeout 。
idleTimeout
HTTP
/
HTTP2
/ 的 GRPC 默认值为 5 分钟。
idleTimeout 的 TCP 默认值为 1 小时。 |
整数 (int) |
perRequestTimeout秒 | 等待上游以每个请求的完整响应进行响应的时间量。 可以将 0 的值设置为禁用 perRequestTimeout 。 仅当 Service Connect perRequestTimeout 未 appProtocol 时,才能设置 TCP 。 仅允许 idleTimeout TCP appProtocol 。 |
整数 (int) |
TrackedResourceTags
名字 | 描述 | 价值 |
---|