这是 AWS CDK v2 开发者指南。旧版 CDK v1 于 2022 年 6 月 1 日进入维护阶段,并于 2023 年 6 月 1 日终止支持。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 AWS Cloud Development Kit (AWS CDK) 命令行界面 (CLI) cdk gc
命令对存储在引导堆栈资源中的未使用资产执行垃圾回收。使用此命令查看、管理和删除不再需要的资产。
对于亚马逊简单存储服务 (Amazon S3) Semple Service 资产,CDK CLI 将检查同一环境中的现有 AWS CloudFormation 模板以查看它们是否被引用。如果未被引用,它们将被视为未使用且有资格进行垃圾回收操作。
警告
该cdk gc
命令正在开发中,用于 AWS CDK。该命令的当前功能被认为已准备就绪,可以安全使用。但是,此命令的范围及其功能可能会发生变化。因此,您必须通过提供使用此命令的unstable=gc
选项来选择加入。
使用量
$
cdk gc
<arguments>
<options>
参数
- AWS 环境
-
要对其执行垃圾收集操作的目标 AWS 环境。
提供环境时,请使用以下格式:
aws://
。例如,<account-id>
/<region>
aws://
。123456789012
/us-east-1
可以在单个命令中多次提供此参数,以便在多个环境中执行垃圾收集操作。
默认情况下,CDK CLI 将对您在 CDK 应用程序中引用或作为参数提供的所有环境执行垃圾收集操作。如果你不提供环境,CDK CLI 将根据默认来源确定环境。这些源包括您使用
--profile
选项、环境变量或默认 AWS CLI 源指定的环境。
选项
查看适用于所有 CDK 的全局选项列表 CLI 命令,请参阅全局选项。
--action
STRING
-
在垃圾收集期间对您的资产
cdk gc
执行的操作。-
delete-tagged
— 删除已标记日期在您提供的缓冲天数范围内的资产,但不标记新识别的未使用资产。 -
full
— 执行所有垃圾收集操作。这包括在您提供的缓冲天数范围内删除资产,以及标记新发现的未使用资产。 -
print
— 在命令提示符下输出未使用资产的数量,但不在您的 AWS 环境中进行任何实际更改。 -
tag
— 标记所有新发现的未使用资产,但不会删除您提供的缓冲天数范围内的任何资产。
可接受的值:
delete-tagged
、full
、print
、tag
默认值:
full
-
--bootstrap-stack-name
STRING
-
您的 AWS 环境中 CDK 引导堆栈的名称。如果您自定义了引导程序堆栈名称,请提供此选项。如果您使用的是默认
CDKToolkit
堆栈名称,则不必提供此选项。默认值:
CDKToolkit
--confirm
BOOLEAN
-
指定 CDK 是否 CLI 在删除任何资产之前,将要求您进行手动确认。
指定
false
自动删除资源而不提示您进行手动确认。默认值:
true
--created-buffer-days
NUMBER
-
资产在符合垃圾收集操作资格之前必须存在的天数。
当您提供数字时,在您指定的天数之内不存在的资产将从垃圾收集操作中过滤掉。
默认值:
1
--help, -h
BOOLEAN
-
显示
cdk gc
命令的命令参考信息。 --rollback-buffer-days
NUMBER
-
资产在符合垃圾收集操作资格之前必须被标记为隔离的天数。
当您提供号码时,CDK CLI 将使用当前日期标记未使用的资产,而不是将其删除。CDK CLI 还将检查在之前运行该
cdk gc
命令期间是否有任何资产被标记。之前标记的资产如果在您提供的缓冲天数范围内,则将被删除。默认值:
0
--type
STRING
-
引导堆栈中用于执行垃圾收集操作的引导程序资源类型。
-
all
— 对所有已启动的资源执行垃圾收集操作。 -
ecr
— 对引导堆栈的 Amazon Elastic Container Registry (Amazon ECR) 存储库中的资产执行垃圾收集操作。 -
s3
— 对引导堆栈的 Amazon S3 存储桶中的资产执行垃圾收集操作。
可接受的值:
all
、ecr
、s3
默认值:
all
-
--unstable
STRING
-
允许使用 CDK CLI 仍在开发中的命令。
使用任何 CDK 都需要此选项 CLI 该命令仍在开发中,可能会发生变化。
可以在单个命令中多次提供此选项。
要使用
cdk gc
,请提供--unstable=gc
。
示例
基本示例
以下示例提示您手动确认对引导堆栈的 Amazon S3 存储桶中的资产执行默认的垃圾收集操作:
$
cdk gc --unstable=gc --type=s3
⏳ Garbage Collecting environment aws://<account-id>
/<region>
... Found99
assets to delete based off of the following criteria: - assets have been isolated for > 0 days - assets were created > 1 days ago Delete this batch (yes/no/delete-all)?
以下示例对引导堆栈的 Amazon S3 存储桶中的一系列资产执行垃圾收集操作。此范围包括之前已被cdk gc
标记超过 30 天且已创建 10 天或更长时间的资产。在删除任何资源之前,此命令将提示您进行手动确认:
$
cdk gc --unstable=gc --type=s3 --rollback-buffer-days=30 --created-buffer-days=10
以下示例执行的操作是删除引导堆栈的 Amazon S3 存储桶中未使用时间超过 30 天的先前标记的资产:
$
cdk gc --unstable=gc --type=s3 --action=delete-tagged --rollback-buffer-days=30