S3バケット高速削除・空にするツール(バージョニング対応)

概要

  • S3コンソールの「バケットを空にする」機能がCLISDKではしづらい
    • バージョニングがオフならCLIだとaws s3 rm --recursiveで可能だが、速度が遅い
    • バージョニングがオンだとそもそもできない(やろうとすると面倒で大変)
  • S3バケットを削除する際、バケットが空でないと削除できない
    • CLIではaws s3 rb --forceで可能だが、速度が遅い
  • 空にしたいが他リソースから依存されていて、CDKのautoDeleteObjectsなどでバケット削除+再作成が出来ない
  • S3のライフサイクル機能で消そうとしても1日待たないといけない


そんなむず痒さを解消するためのツールをOSSで公開しました。

とても楽に、高速にバケットを空にしたり、バケットごと削除したりできるようになりました。

しかも、複数バケットを(検索しつつ)一括でできます!


続きを読む

CDKの外部パラメータに型だけでなく制約もかける

概要

CDKでスタックに渡す外部パラメータはTypeScriptで定義すると型が付いてよかったりします。

そこで、「ついでに型と一緒に制約もかけてバリデーションしちゃおう」という思いつきでやってみたら意外とよかった話です。


続きを読む

AWS CloudFormationスタック強制削除ツール

概要

AWS CloudFormationスタックの削除時、削除に失敗する(DELETE_FAILEDになる)リソースは手動で対応しないとスタックの削除ができないのが面倒ですよね。

そんなリソースを含むスタックでも1コマンドでまるごと楽々削除できるCLIツールを、OSSで公開しました。

スタック検索できたりと、普段使いにも中々便利になりました。


続きを読む

サーバーレスでスケールするメール送信システムをAWS CDKで構築する

概要

タイトル通りですが、AWSでサーバーレスなメール送信システムを、AWS CDKを使って構築してみました。

サーバーレスなので、スケールする良い感じの構成になります。


荒いところもありますが結構便利なのでよかったらぜひご参考に、またはそのまま使ってくださいという感じで読んでいただけたら光栄です。

Amazon SESを使用してメールを送信していますが、(少し変えれば)SES以外でも送信できるかと思います。


続きを読む

TypeScriptのCDKスタックをZodでバリデーションする

概要

TypeScriptで書かれたCDKスタックのバリデーションを、Zodというバリデーションツールでバリデートするようにしてみました。


続きを読む