cdk gc - AWS クラウド開発キット (AWS CDK) v2

これは AWS CDK v2 デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

cdk gc

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>

この引数は、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 コマンドを使用するには必要です。

このオプションは、1 つのコマンドで複数回指定できます。

を使用するには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 バケット内のアセットの範囲に対してガベージコレクションアクションを実行します。この範囲には、30 日以上前に cdk gcによってタグ付けされ、10 日以上前に作成されたアセットが含まれます。このコマンドは、アセットを削除する前に手動確認を求めます。

$ cdk gc --unstable=gc --type=s3 --rollback-buffer-days=30 --created-buffer-days=10

次の例では、30 日以上使用されていないブートストラップスタックの Amazon S3 バケット内の以前にタグ付けされたアセットを削除するアクションを実行します。

$ cdk gc --unstable=gc --type=s3 --action=delete-tagged --rollback-buffer-days=30