资讯动态

AWS CLI App Runner `delete-auto-scaling-configuration` 命令完全指南:删除自动扩缩容配置

发布时间:2026/9/14 11:38:50 来源:尧图企业网站定制
AWS CLI App Runnerdelete-auto-scaling-configuration命令完全指南删除自动扩缩容配置【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cliAWS App Runner 的自动扩缩容配置Auto Scaling Configuration决定了服务实例在并发请求压力下的扩缩容行为。当某个配置不再被任何服务使用、需要清理历史修订或调整默认策略时就需要通过 AWS CLI 的delete-auto-scaling-configuration命令将其删除。本文基于本仓库aws-cli中的官方示例文档 delete-auto-scaling-configuration.rst 展开并结合仓库内置的 App Runner 服务模型定义service-2.json与配套示例完整讲解该命令的两种删除模式、请求参数语义、返回字段含义以及删除操作的约束边界。读完本文你将能精确控制删哪个修订、删到什么粒度并理解删除后配置状态的变化。一、命令概览与适用场景delete-auto-scaling-configuration用于删除 App Runner 的自动扩缩容配置资源。一个配置名称例如high-availability下可以存在多个修订Revision每次以同一名称再次调用create-auto-scaling-configuration都会生成递增的新修订。该命令支持三种删除粒度删除某个配置名称下的最新活跃修订删除指定编号的某一修订删除某个配置名称下的全部修订通过DeleteAllRevisions参数实现。从服务模型看该操作通过 HTTPPOST发送请求见 service-2.json其官方文档明确指出你可以删除一个顶层自动扩缩容配置、它的某个特定修订或与该顶层配置关联的所有修订。你不能删除默认自动扩缩容配置也不能删除被一个或多个 App Runner 服务正在使用的配置。这句话界定了删除操作的边界后面的约束小节会详细展开。二、请求参数详解该命令的输入结构为DeleteAutoScalingConfigurationRequest见 service-2.json包含两个字段参数CLI 写法JSON 字段是否必填说明--auto-scaling-configuration-arnAutoScalingConfigurationArn必填要删除的自动扩缩容配置 ARN。可以是完整 ARN也可以是省略修订部分的部分 ARN即.../name或.../name/revision结尾。若未指定修订号默认删除最新活跃修订。--delete-all-revisionsDeleteAllRevisions否布尔值设为true时删除与 ARN 关联的所有修订。此时 ARN 只能是部分 ARN且必须以.../name结尾。命令行可以直接传参也可以像示例文档那样通过--cli-input-json file://input.json读取 JSON 文件两种方式等价。三、示例一删除最新活跃修订当 ARN 只包含配置名称、不包含修订号时命令会删除该名称下最新的活跃修订。命令aws apprunner delete-auto-scaling-configuration \ --cli-input-json file://input.jsoninput.json 内容{ AutoScalingConfigurationArn: arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability }注意这里 ARN 以high-availability结尾没有/1或/2这样的修订组件。在示例场景中执行删除前该配置存在两个修订因此编号 2最新的修订被删除。返回输出{ AutoScalingConfiguration: { AutoScalingConfigurationArn: arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/2/e76562f50d78042e819fead0f59672e6, AutoScalingConfigurationName: high-availability, AutoScalingConfigurationRevision: 2, CreatedAt: 2021-02-25T17:42:59Z, DeletedAt: 2021-03-02T08:07:06Z, Latest: false, Status: INACTIVE, MaxConcurrency: 30, MaxSize: 90, MinSize: 5 } }这里有几个关键点需要解读返回的 ARN 带有完整的修订组件/2/e76562f50d78042e819fead0f59672e6证明删除的是修订 2DeletedAt字段被填充标识删除发生的时间Status变为INACTIVE。根据服务模型的说明INACTIVE表示该修订已被删除、不能再被使用且会在删除后一段时间被永久清理见 service-2.json示例强调此时Latest为false。因为修订 2 被删除后它不再是最新活跃修订了。Latest字段的定义是在共享同一AutoScalingConfigurationName的所有配置中Revision值最高的那个为true其余为false。四、示例二删除指定修订当需要精确删除某一个历史修订而不是最新版时在 ARN 中带上修订号即可。命令aws apprunner delete-auto-scaling-configuration \ --cli-input-json file://input.jsoninput.json 内容{ AutoScalingConfigurationArn: arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/1 }这里的 ARN 以/1结尾明确指定删除修订 1。示例场景中该配置存在多个修订本次操作删除了编号为1的修订。返回输出{ AutoScalingConfiguration: { AutoScalingConfigurationArn: arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/1/2f50e7656d7819fead0f59672e68042e, AutoScalingConfigurationName: high-availability, AutoScalingConfigurationRevision: 1, CreatedAt: 2020-11-03T00:29:17Z, DeletedAt: 2021-03-02T08:07:06Z, Latest: false, Status: INACTIVE, MaxConcurrency: 100, MaxSize: 50, MinSize: 5 } }对比两个示例可以发现修订 1 与修订 2 的扩缩容参数完全不同修订 1 为MaxConcurrency: 100 / MaxSize: 50修订 2 为MaxConcurrency: 30 / MaxSize: 90这说明同一配置名称下的不同修订可以承载不同的扩缩容策略这正是按修订管理配置的价值所在——删除时按需精确清理避免误删仍在使用的策略。五、输出字段语义命令返回体为DeleteAutoScalingConfigurationResponse其中AutoScalingConfiguration为必填字段描述刚被删除的配置见 service-2.json。该对象的核心字段及含义如下结构定义见 service-2.json字段类型含义AutoScalingConfigurationArnstring配置的完整 ARN含修订号与修订标识符AutoScalingConfigurationNamestring用户提供的配置名称可被多个修订共享AutoScalingConfigurationRevisioninteger修订号在同一名称的所有活跃配置Status: ACTIVE中唯一Latestboolean同一名称下修订号最高者为true删除后不再成立StatusstringACTIVE可被使用或INACTIVE已删除、不可用稍后会被永久移除MaxConcurrencyinteger单个实例能处理的最大并发请求数超过后 App Runner 向上扩容MinSizeinteger服务至少预置的实例数预置但未激活的实例作为低成本算力储备MaxSizeinteger服务最多扩容到的实例数至多这么多实例活跃服务流量CreatedAt/DeletedAttimestamp创建与删除时间Unix 时间戳格式HasAssociatedServiceboolean是否已有 App Runner 服务关联该配置IsDefaultboolean是否为该区域账户的默认配置每个区域每个账户仅一个默认配置其中MinSize、MaxSize、MaxConcurrency与创建时传入的值一致可用于确认删对了配置。需要留意的是示例输出未展示HasAssociatedService与IsDefault字段是因为这两个字段并非必返字段——这一点也与不能删除默认配置或被服务使用的配置的约束相呼应。六、删除约束与状态流转根据服务模型文档service-2.json删除操作存在两条硬性约束不能删除默认自动扩缩容配置每个账户在每个区域只能有一个默认配置IsDefault: true删除请求会被拒绝。不能删除正在被服务使用的配置若一个或多个 App Runner 服务仍关联着该配置删除会失败。这与HasAssociatedService字段的语义一致——先解除服务关联才能执行删除。删除后的状态流转为被删修订的Status变为INACTIVE不能再用于创建或更新服务INACTIVE的修订会在删除后一段时间内被永久移除服务模型原文Inactive configuration revisions are permanently removed some time after they are deleted若同一名称下还存在其他活跃修订它们不受影响仍可继续使用。错误处理该操作可能的失败场景包括InvalidRequestException参数不合法、ResourceNotFoundException目标配置不存在以及InternalServiceErrorException服务端内部错误。七、批量删除全部修订除了示例文档展示的两种方式服务模型还提供了第三种删除模式DeleteAllRevisions。当需要彻底清理某个配置名称的所有历史修订时将请求体改为{ AutoScalingConfigurationArn: arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability, DeleteAllRevisions: true }对应的命令行写法为aws apprunner delete-auto-scaling-configuration \ --auto-scaling-configuration-arn arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability \ --delete-all-revisions根据 service-2.json 中的说明当DeleteAllRevisions为true时ARN 的合法取值只能是部分 ARN且必须以.../name结尾——即不能同时指定具体修订号语义上避免冲突。八、配套命令删除前的排查与确认删除操作是不可轻易回滚的管理动作INACTIVE修订最终会被永久移除建议删除前先做确认。仓库中的配套示例提供了完整的排查链路1. 列出账户内所有配置确认目标名称与最新修订见 list-auto-scaling-configurations.rst{ MaxResults: 5 }返回的AutoScalingConfigurationSummaryList中会给出每个配置的 ARN、名称与修订号便于精确拼出删除用的 ARN。2. 查看某个配置的完整详情可使用describe-auto-scaling-configuration命令对应示例文档 describe-auto-scaling-configuration.rst确认HasAssociatedService与IsDefault字段提前判断删除是否会被约束拦截。3. 从创建端理解修订语义参考 create-auto-scaling-configuration.rst首次以某名称创建时修订号为 1 且Latest: true、Status: ACTIVE后续同名创建才会递增修订。理解了创建端的行为才能正确预判删除最新修订与删除指定修订各自的效果。九、从源码结构看该命令在 AWS CLI 中的定位在 aws-cli 仓库中App Runner 的服务定义位于 awscli/botocore/data/apprunner/2020-05-15/service-2.jsondelete-auto-scaling-configuration对应的操作DeleteAutoScalingConfiguration就定义在其中同时仓库还内置了 examples-1.json 与该服务的 paginators-1.json。这意味着该命令由 AWS CLI 基于服务模型自动生成无需手写定制逻辑参数校验、请求序列化均遵循标准流程与create-auto-scaling-configuration、list-auto-scaling-configurations、describe-auto-scaling-configuration等命令共享同一套AutoScalingConfiguration结构定义因此返回字段在各命令间保持一致方便在脚本中组合使用。这解释了为什么通过aws apprunner help或aws apprunner delete-auto-scaling-configuration help查看的命令帮助与本文所述的参数完全对应——它们都来源于仓库中这份模型文件。十、最佳实践小结围绕删除自动扩缩容配置可以沉淀出以下可落地的操作流程先查后删用list-auto-scaling-configurations列出账户内配置记录目标配置的名称与最新修订号核对关联用describe-auto-scaling-configuration检查HasAssociatedService与IsDefault避免删除请求被拒绝按需选择粒度仅需清理最新版用.../name结尾的部分 ARN需要保留最新版、只删历史修订则用.../name/revision需要整体清理则附加--delete-all-revisions验证结果检查返回体中的Status: INACTIVE与DeletedAt字段确认删除已生效留意不可逆性INACTIVE修订最终会被永久移除删除操作不可恢复重要配置建议在删除前用describe-auto-scaling-configuration留存参数快照。通过本文的两种示例与参数语义解析配合仓库中的服务模型与配套示例你已具备安全、精确地管理 App Runner 自动扩缩容配置生命周期的能力。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价