0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS CDKで前回デプロイしたものとの差分を確認する

0
Posted at

AWS CDKでデプロイしたスタックが今回と前回でどのような違いがあるのか確認する方法を解説します。

前提条件

  • AWS CDK ver2系

差分を確認する方法

差分を確認するには次のコマンドを実行すれればOKです。このコマンドはデプロイ前(cdk deploy)に実行することができます。

$ cdk diff

このコマンドは、前回デプロイしたスタックと今回デプロイするスタックの差分を表示してくれます。

差分の表示例

最初に、次のようにほぼデフォルト設定のLambdaをデプロイしていたとします。

lib/sample_stack.ts
import * as cdk from "aws-cdk-lib/core";
import { Construct } from "constructs";
import * as lambda from "aws-cdk-lib/aws-lambda";

export class CdkIntroStack extends cdk.Stack {
  constructor(scope: Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    new lambda.Function(this, "SampleFunction", {
      runtime: lambda.Runtime.NODEJS_24_X,
      handler: "index.handler",
      code: lambda.Code.fromAsset("lambda")
    });
  }
}

次に、タイムアウト時間をデフォルトの3秒から延長して10秒に変更したとします。

lib/sample_stack.ts
import * as cdk from "aws-cdk-lib/core";
import { Construct } from "constructs";
import * as lambda from "aws-cdk-lib/aws-lambda";

export class CdkIntroStack extends cdk.Stack {
  constructor(scope: Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    new lambda.Function(this, "SampleFunction", {
      runtime: lambda.Runtime.NODEJS_24_X,
      handler: "index.handler",
      code: lambda.Code.fromAsset("lambda"),
      timeout: cdk.Duration.seconds(10)  // タイムアウト時間を延長
    });
  }
}

この状態でcdk diffを実行すると、次のように差分が表示されます。

$ cdk diff
start: Building CdkIntroStack Template
Stack SampleStack
Resources
[~] AWS::Lambda::Function ******
 └─ [+] Timeout
     └─ 10
     
✨  Number of stacks with differences: 1

どういう差分があるのかは、サービスの接頭辞で区別できます。

接頭辞 変更内容
[+] 追加
[-] 削除
[~] 変更

上記の例では、タイムアウト時間が追加([+])され、Lambdaが変更([~])されることがわかります。

まとめ

AWS CDKでスタックの差分を確認する方法をまとめました。デプロイする前には、差分を確認して修正内容が正しいことを確認するようにしたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?