cdk gc - AWS Cloud Development Kit (AWS CDK) v2

这是 AWS CDK v2 开发者指南。旧版 CDK v1 于 2022 年 6 月 1 日进入维护阶段,并于 2023 年 6 月 1 日终止支持。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

cdk gc

使用 C AWS loud Development Kit (AWS CDK) cdk gc 命令行接口 (CLI) 命令对存储在引导堆栈资源中的未使用资产执行垃圾回收。使用此命令查看、管理和删除不再需要的资产。

对于亚马逊简单存储服务 (Amazon S3) Simple 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-taggedfullprinttag

默认值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 存储桶中的资产执行垃圾收集操作。

可接受的值allecrs3

默认值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>... Found 99 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