AWS CDKは、プログラミング言語で表現することのできる、AWSが誇る画期的なIaCツールです。
プログラミング言語で書けるが故に自由度の高い拡張性や汎用性を実現できるものの、それらをうまく表現するには様々なコード設計の選択が伴ってくるのもまた事実です。
特にCDKには特有の「コンストラクト」という概念などを通して、非常に高い再利用性を表現できる仕組みがあります。
しかし、「この再利用性を具体的にどう表現するのか?」といったセオリーはまだあまり世には広まっておらず、各個人・組織での秘伝のタレとなっているような状況もあるようにも思えます。
そんなCDKにおける再利用性に関して、できるだけ具体的に・かつ属人性を排除して扱えるように、一つずつポイントにフォーカスして、CDKユーザーの皆様が「再利用性」を担保できるIaCコードを実現可能にするためのアプローチをお話したいと思います。