サンプルコードの削除

スタックからサンプルコードを削除する

cdk init sample-app によって作成されたプロジェクトには、SQSキューとSNSトピックが含まれます。このプロジェクトではそれらを使用する予定はないので、 MyStack コンストラクタから削除しましょう。

hello/hello_stack.py を開き、削除します。最終的には次のようになります。

from aws_cdk import (
    core,
)


class MyStack(core.Stack):

    def __init__(self, scope: core.Construct, id: str, **kwargs) -> None:
        super().__init__(scope, id, **kwargs)

        # Nothing here!

hello/hello_construct.py ファイルも必要なくなるため、削除しましょう。

cdk diff

 さて、スタックの内容を変更したので、実行するとどうなるかをツールキットで確認できます。 cdk deploy を実行してみましょう。 (CDKアプリと現在デプロイされているものの違いを確認できます)

cdk diff hello-cdk-1

出力は次のようになります。

Stack hello-cdk-1
IAM Statement Changes
┌───┬────────────────────┬────────┬────────────────────┬────────────────────┬───────────────────────┐
│   │ Resource           │ Effect │ Action             │ Principal          │ Condition             │
├───┼────────────────────┼────────┼────────────────────┼────────────────────┼───────────────────────┤
│ - │ ${MyFirstQueueFF09 │ Allow  │ sqs:SendMessage    │ Service:sns.amazon │ "ArnEquals": {        │
│   │ 316A.Arn}          │        │                    │ aws.com            │   "aws:SourceArn": "$ │
│   │                    │        │                    │                    │ {MyFirstTopic0ED1F8A4 │
│   │                    │        │                    │                    │ }"                    │
│   │                    │        │                    │                    │ }                     │
├───┼────────────────────┼────────┼────────────────────┼────────────────────┼───────────────────────┤
│ - │ ${MyHelloConstruct │ Allow  │ s3:GetBucket*      │ AWS:${MyUserDC4502 │                       │
│   │ Bucket0DAEC57E1.Ar │        │ s3:GetObject*      │ 8B}                │                       │
│   │ n}                 │        │ s3:List*           │                    │                       │
│   │ ${MyHelloConstruct │        │                    │                    │                       │
│   │ Bucket0DAEC57E1.Ar │        │                    │                    │                       │
│   │ n}/*               │        │                    │                    │                       │
├───┼────────────────────┼────────┼────────────────────┼────────────────────┼───────────────────────┤
│ - │ ${MyHelloConstruct │ Allow  │ s3:GetBucket*      │ AWS:${MyUserDC4502 │                       │
│   │ Bucket18D9883BE.Ar │        │ s3:GetObject*      │ 8B}                │                       │
│   │ n}                 │        │ s3:List*           │                    │                       │
│   │ ${MyHelloConstruct │        │                    │                    │                       │
│   │ Bucket18D9883BE.Ar │        │                    │                    │                       │
│   │ n}/*               │        │                    │                    │                       │
├───┼────────────────────┼────────┼────────────────────┼────────────────────┼───────────────────────┤
│ - │ ${MyHelloConstruct │ Allow  │ s3:GetBucket*      │ AWS:${MyUserDC4502 │                       │
│   │ Bucket2C1DA3656.Ar │        │ s3:GetObject*      │ 8B}                │                       │
│   │ n}                 │        │ s3:List*           │                    │                       │
│   │ ${MyHelloConstruct │        │                    │                    │                       │
│   │ Bucket2C1DA3656.Ar │        │                    │                    │                       │
│   │ n}/*               │        │                    │                    │                       │
├───┼────────────────────┼────────┼────────────────────┼────────────────────┼───────────────────────┤
│ - │ ${MyHelloConstruct │ Allow  │ s3:GetBucket*      │ AWS:${MyUserDC4502 │                       │
│   │ Bucket398A5DE67.Ar │        │ s3:GetObject*      │ 8B}                │                       │
│   │ n}                 │        │ s3:List*           │                    │                       │
│   │ ${MyHelloConstruct │        │                    │                    │                       │
│   │ Bucket398A5DE67.Ar │        │                    │                    │                       │
│   │ n}/*               │        │                    │                    │                       │
└───┴────────────────────┴────────┴────────────────────┴────────────────────┴───────────────────────┘
(NOTE: There may be security-related changes not in this list. See http://bit.ly/cdk-2EhF7Np)

Resources
[-] AWS::SQS::Queue MyFirstQueueFF09316A destroy
[-] AWS::SQS::QueuePolicy MyFirstQueuePolicy596EEC78 destroy
[-] AWS::SNS::Subscription MyFirstQueuehellocdk1MyFirstTopicB252874C505090E8 destroy
[-] AWS::SNS::Topic MyFirstTopic0ED1F8A4 destroy
[-] AWS::S3::Bucket MyHelloConstructBucket0DAEC57E1 orphan
[-] AWS::S3::Bucket MyHelloConstructBucket18D9883BE orphan
[-] AWS::S3::Bucket MyHelloConstructBucket2C1DA3656 orphan
[-] AWS::S3::Bucket MyHelloConstructBucket398A5DE67 orphan
[-] AWS::IAM::User MyUserDC45028B destroy
[-] AWS::IAM::Policy MyUserDefaultPolicy7B897426 destroy

すべてのリソースは残酷なまでに削除されます。

cdk deploy

cdk deployを実行し、 終わるのを待つ必要はないため次のセクションに進みます。

cdk deploy hello-cdk-1

デプロイが完了すれば、削除されているリソースが確認できるはずです。