這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 已於 2022 年 6 月 1 日進入維護,並於 2023 年 6 月 1 日結束支援。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AWS Cloud Development Kit (AWS CDK) 命令列界面 (CLI) cdk gc
命令,對存放在引導堆疊資源中的未使用資產執行垃圾收集。使用此命令來檢視、管理和刪除您不再需要的資產。
對於 Amazon Simple Storage Service (Amazon S3) 資產,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