ちょっと話題の記事

AWS CDKの学習方法 ドキュメントや学習コンテンツをまとめてみる

2022.04.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

「AWS CDK?学習コスト高そう。。」

AWS CDKは、プログラミング言語でインフラを定義できる便利なツールです。

反面、プログラミングに慣れていない人には学習コストが高そうに感じるかもしれません。

AWS CDKを使ったことがない方が学習を進めるのに役立つドキュメントや学習コンテンツをまとめてみました。

以下のような方の、参考になると嬉しいです。

  • AWS CDK何から始めればいいのかわからない
  • 概要は知っているけど触ったことはない
  • プログラミング言語を使うことにハードルを感じる

入門

とりあえず動かす

とりあえず、動かしてみましょう。 CDK入門には「CDK Workshop」が有名ですが、以下の方がボリュームは少ないのでファーストステップにおすすめです。(所要時間 25分)

AWS Cloud Development Kit (CDK) の開始方法 | はじめに

こちらのガイドでは、Cloud9にCDKをインストールして、CDKで簡単なリソース作成を行います。

公式資料で概要把握

全て読まなくても大丈夫ですが、ブックマークくらいはしておきます。

What is the AWS CDK? - AWS Cloud Development Kit (CDK) v2

API Reference · AWS CDK

上記は現時点(2022/04時点)では、日本語訳はないためBlackBeltの方がわかりやすいかもしれません。

[AWS Black Belt Online Seminar] AWS Cloud Development Kit (CDK) 資料及び QA 公開 | Amazon Web Services ブログ

ざっくりプログラミング言語の文法を把握

CDKでは、様々なプログラミング言語を使用することができます。

使用するプログラミング言語はTypeScriptがおすすめです。 CDK自体もTypeScriptで作成されており、サンプルも豊富なためです。

TypeScriptを使ったことがない方は、学習コストに身構えるかもしれません。 しかし、必要な記述はシンプルなことが多く、最低限の文法を知っていれば問題ないことがほとんどです。

読んで学ぶTypeScript | TypeScript入門『サバイバルTypeScript』の以下を読むくらいで良いかと思います。

  • 値・型・変数
  • 関数
  • オブジェクト指向

全て完全に理解するには時間がかかると思うため、CDK書いてて疑問に思ったら調べるくらいが効率的かと思います。

他には、書籍「実践 AWS CDK - TypeScript でインフラもアプリも!」のTypeScript入門がコンパクトにまとまっていてよかったです。

TypeScriptのちょっとした練習には、「TypeScript: TS Playground」がおすすめです。

「AWS CDK Intro Workshop」をやってみる

次はWorkshopをやってみましょう。(所要時間: 2時間程度)

AWS CDK Intro Workshop :: AWS Cloud Development Kit (AWS CDK) Workshop

以下が学べます。

  • CDK実行するための環境定義
  • LambdaとAPI Gatewayを利用した簡単なサービスの公開
  • モジュールの作り方
  • クラス構造の解説
  • デバッグ方法
  • モジュールの利用方法
  • 関連リソースの一括削除

実践

ベストプラクティスを理解する

AWS公式ブログでベストプラクティスが紹介されています。

AWS CDKでクラウドアプリケーションを開発するためのベストプラクティス | Amazon Web Services ブログ

サンプルが欲しい

個人的には、APIリファレンスのOverviewの箇所を参考にすることが多いです。

ECS CDK API Reference

ecs-cdk-lib

サンプルリポジトリであれば、一番有名なのはこちらかと思います。(よくある質問で紹介されている)

aws-samples/aws-cdk-examples

AWS DevAx::connect勉強会で紹介されていた実装例はバリエーションが豊富で勉強になります。

AWS DevAx::connect 番外編「AWS CDK勉強会」資料ライブラリー

BLEAも参考になります。

aws-samples/baseline-environment-on-aws

他にも色々あります。

DeveloppersIO 実践!AWS CDK

DeveloppersIOに「実践!AWS CDK」というシリーズ記事があります。 (この記事執筆時点で30本以上あります)

コードつきでいろいろなリソース作成していて、おすすめです。

さらに先に

The CDK Book

The CDK Book」おすすめです。

AWS Heroの方々が書いた本です。 内容的には、AWS公式ブログのベストプラクティスの記事をより具体的にしてサンプルコードもついているような感じです。

Configの管理やデプロイ戦略、テストなど業務で使う際に役立つ情報が盛り込まれています。

Slackチャンネル cdk.dev

CDKコミニティのSlackチャンネルがあります。 最新情報のキャッチアップに役立ちます。

cdk.dev

awssome-cdk

kolomied/awesome-cdk: A collection of awesome things related to the AWS Cloud Development Kit (CDK)

最後に

CDKの学習に役立ちそうな情報をまとめてみました。

改めて調べてみると、予想以上に学習コンテンツやサンプルコード充実していました。

最初は学習コストがかかると思いますが、短い記述でリソース定義できて便利で楽しいツールです。 CDKを学習したい人の参考になると幸いです。

以上、AWS事業本部の佐藤(@chari7311)でした。