2023.01.15追記
全部日本語訳された内容で再度行った内容を、以下で記事にしました。
参考にされる方はそちらをご覧ください。
はじめに
今までIaCをCloudFormationで記述してきましたが、規模が大きくなると比例して行数も多くなり、可読性が悪いと感じてきました。
AWS CDKで記述すれば可読性が良くなると聞き、AWS CDK Intro Workshopをやってみました。
リンク
日本語版は以下になりますがコードのバージョンが古いです。
日本語を見つつ、コードは英語の方を写経しました。
環境
Cloud9を使いましたので、PCはブラウザのみ。
言語はTypeScriptで行いました。
環境構築
Cloud9であれば中にすべて入っていましたので、何もインストールする必要ありませんでした。
- Cloud9作成
- デフォルトVPC
- デフォルトIAMロール
- インスタンスタイプはメモリが2GB以上
- 1GBで作ってしまいcdk diffでメモリが足りなくなり、インスタンスタイプを変更することになりました。
- Node.jsはインストール済み
- AWS CDKもインストール済み
気づいた点
テキスト通りに行えば問題ありませんが、気になった点をいくつか挙げていきます。
サンプル未使用で始めるとどうなるのか
テキストではcdk init sample-app --language typescript
と、 "sample-app"で始めているため、最初からある程度のファイルが配置されています。
指定しない場合はどうなるのか、以下のサイトに解説ありました。
比較して、どのファイルが素の状態で作成されるのか、最初に把握しておきたかったです。
DynamoDBコンソールのUI変更
テキストが書かれたときと、現時点でのUIが異なっていたので、確認するのに苦労しました。
現時点では、左ペインの[テーブル]-[項目の探索]を選択し、対象のテーブルを選択することで中身が見れます。
EXTRA CREDIT(追加課題)のヒント
以下のところに使い方が書いてありました。
cdk destroy
で消えなかったリソース
テキストにはcdk destroy
で消える、とありましたが、消えなかったのが多数ありました。
そのため、以下の手順で削除を行いました。
- 対象のCloudFormationのスタックを削除
- S3バケットも中にありましたので、空にする必要があります。
- destroyで消えなかったのも、このためか?
- S3バケットも中にありましたので、空にする必要があります。
- DynamoDB
- コンソールから削除。
- LambdaFunctionのロググループ
- コンソールから削除
- /aws/lambda/CdkWorkshopStack- で始まるもの
- 他のは消さないように
Advanced Topicsが英語のみ
テストやパイプラインのワークショップで大変重要な部分かと思いましたが、日本語訳されておらず、また時間も無かったのでここは出来ませんでした。。。
おわりに
事前準備不要で、Cloud9だけでAWS CDKが実現できることがわかる大変有用なワークショップでした。
弊社ではPCにソフトをインストールするのに紙での申請が必要なため、クラウド上で完結できる環境を重宝しております。
AWS CDKに少しでも興味ある方は、気軽に始められてはいかがでしょうか。