Try T.M Engineer Blog

多摩市で生息するエンジニアが「アウトプットする事は大事だ」と思って初めたブログ

AWS CDKに挑戦する話

最近、JavaScript / TypeScriptの学習に取り組んでいるので、これを機会にCloud Formationのテンプレートを書く方法もYAMLからAWS CDKに移行しようと思う。

AWS CDKを学ぶにあたり、AWS CDK Workshopをオススメされたので、やってみた。

AWS CDK Workshopでは、最初はAPI Gateway + Lambdaの簡単なところから、中盤にテスト、後半はCodePiplineを使ったCDを学ぶことができる。

今までYAMLで書いていたところを、if文クラス関数を使って書くことができるのは、新鮮に感じることができた。

今後は、可能なかぎりCloud Formationのテンプレートを書く時はAWS CDKを使って書くようにして、慣れていきたい。

あと、AWS CDKのデプロイ時に以下エラーで躓いたので、残しておく。

Unable to resolve AWS account to use. It must be either configured when you define your CDK or through the environment

このエラーメッセージはCDKの中では有名で、解決策としてawsconfigcredencialファイルを(空でも)作成しておくというのがある。
このエラーメッセージに出くわしたら、このissuesを参考にすること。

しかし、私の場合、上記の設定をしてもエラーを解決できなかった。 cdk doctorコマンドを使用して、潜在的な問題がないかチェックしたところ、どうやら環境変数AWS_CONFIG_FILEAWS_SHARED_CREDENTIALS_FILEが 設定されているとデプロイできなくなる模様。
こちらの環境変数を削除したら、無事デプロイできるようになった。(めでたし、めでたし)