セッション情報
- タイトル(英題):Simplify cloud infrastructure creation with the AWS CDK[DOP321]
- スピーカー:Natalie White(AWS), Sailesh Kadam(AWS)
- セッションタイプ:チョークトーク(参加者からのQ&Aもあるセッション)
- レベル:300(Advanced)
セッション概要
セッションカタログから抜粋(翻訳ツールにて日本語に翻訳)
AWS Cloud Development Kit(AWS CDK)は、コードでクラウドインフラストラクチャを定義し、AWS CloudFormationを通じてプロビジョニングするためのオープンソースのソフトウェア開発フレームワークです。このチョークトークでは、AWS CDKの概要を説明し、インフラストラクチャの作成を簡素化する方法のデモを紹介します。コード例と図表を通じて、AWS CDKで使い慣れたプログラミング言語を使用して宣言的なインフラストラクチャを定義する方法を確認します。また、ネイティブCloudFormationよりも高レベルの抽象化と構造を提供する方法についても学習します。
サービス説明
本セッションで登場したAWSサービスについて簡単に説明を記載します。
AWS CDK(AWS Cloud Development Kit)
PythonやTypeScriptなどのプログラミング言語を使って、AWSのクラウドインフラをコードとして定義し、デプロイするためのツール。
デプロイ時の裏の動きとしては、CloudFormationを経由して実行される。
セッション内容
CDKは抽象化に優れている
・CDKは抽象度が高いため、リソースの再利用やIaCの単純化に適している
・CDKのIaC単純化が分かりやすい典型的な例としてbucket.grantRead(lambdaFuction); がある
同じリソースを構築しようとCloudFormatonで記述した場合JSONで記述するためかなり長くなる。
・CDKにはアプリケーションを構成する要素としてconstructというものがある。constructには抽象度に応じてL1~L3があり(L3の方が抽象度が高い)、
抽象度の高いconstructを用いてAWSリソースをまとめることで、各スタックに効率的に再利用することができる
CDKによるデプロイ工程
・デプロイ用のアカウントを分けることでセキュリティを向上させる
・デプロイ時にビルドテストを組み込むことができる
修正箇所もCloudFormationより少ない
・CDKは高度な抽象化をしているため、設定値が変更となった場合でも変更箇所がCloudFormationより少なく済む
(以下の例はVPCのCIDR blockを変更するとなった場合の例)
ライブラリの活用
・Construct HubでCDKのライブラリを検索できる
・Construct HubはTypeScriptやPythonなど各言語に対応していたり、CloudFormation用のCDKだけでなくCDKTF(Terraform用)やCDK8s(Kubernetesのmanifests)にも対応している。
質疑応答
・CloudFormationからCDKへの変換方法を質問している参加者がいました(会話のラリーが続くうちについていけなくなりました…)。
・他にも具体的なユースケースをあげて質問している件については、理解するのが難しかったです…。
まとめ
CDKではIaCをより抽象化でき、デプロイ時にビルドテストなども組み込むことができます。
開発目線でいくと普段使っている言語(PythonやTypeScriptなど)でIaCできるのは便利かと思いますが、
インフラエンジニアとしてキャリアをスタートしてCloudFormationからIaCを学び始めた身としては
プログラミング言語の学習に障壁を感じておりましが、CDKのメリットやライブラリの汎用性の高さを知ることができました。
クラウドではコンテナやサーバレス化が進み、インフラメインで生きてきた人もコードが書けないときついなあと感じていたので、
CDKにチャレンジするモチベーションとなるセッションでした。
後記
もともとワークショップを入れておりましたが、ワークショップが多めだったので、気分転換がてら英語力がないときついと分かりながらもチョークトークに挑戦しました。
質疑応答の部分ではアドリブでの会話の応酬となり、話が別の話題に展開したりするのでついていけませんでした…。
もしまたre:Inventに参加できる機会があれば、チョークトークで質問することを目標に英語力を上げていきたいです…!
2024年12月19日(木)18時より、「AWS re:Invent 2024」のポイントを解説する「AWS re:Invent 2024 re:Cap presented by iret」を開催します。 |