最近、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の中では有名で、解決策としてaws
のconfig
とcredencial
ファイルを(空でも)作成しておくというのがある。
このエラーメッセージに出くわしたら、このissuesを参考にすること。
しかし、私の場合、上記の設定をしてもエラーを解決できなかった。 cdk doctor
コマンドを使用して、潜在的な問題がないかチェックしたところ、どうやら環境変数のAWS_CONFIG_FILE
とAWS_SHARED_CREDENTIALS_FILE
が 設定されているとデプロイできなくなる模様。
こちらの環境変数を削除したら、無事デプロイできるようになった。(めでたし、めでたし)