JAWS-UG CDK支部 #3

2022/09/07(水)19:30 〜 21:00 開催
ブックマーク

イベント内容

開催概要

CDK支部第3回、開催します! 第1回、2回とともに100名を超える参加のご応募をいただき、運営チーム側もCDKの人気を感じております! 今回はLTの公募も復活いたしましたので、奮ってご応募いただければと!

CDKに興味があってこれからを触ってみたい方やベテランのCDKユーザも是非ご参加ください!!!

タイムテーブル

各発表は、LT発表10分+5分質問タイム兼入れ替わり準備で実施します。

Timeline Title Speaker
19:30 - 19:35 (5min) オープニング 全体
19:35 - 19:50 (10 + 5min) 自己流 CDKで複数環境をあつかう場合のパラメーターの入力とGitブランチ戦略の紹介 加藤 諒
19:50 - 20:05 (10 + 5min) セキュリティスキャンツール cdk-nag を使ってみた Kinyo
20:05 - 20:20 (10 + 5min) Terraform 初心者が CDK for Terraform を触ってみた Yui
20:20 - 20:35 (10 + 5min) TypeScriptで書くLambdaをCDKでいい感じに管理する クライヤー篠塚 一帆
20:35 - 20:50 (10 + 5min) AWS CDKを通してAWSを学ぶ CDK 支部メンバー(tmk2154)
20:50 - 21:00 (10min) クロージング 全体
21:00 - 懇親会 参加希望者のみ(途中退室可)

Speakers

加藤 諒

katoryo.jpeg

  • 東急(株) URBAN HACKS所属のバックエンドエンジニアです
  • サーバーレスアーキテクチャとCDKの親和性が好き
  • 地方SIer→クラスメソッド(株)/デジタル庁→東急(株)かとりょー

Kinyo

kinyo.png

株式会社電通国際情報サービス(ISID)所属のセキュリティエンジニア。

インフラをコード化できる = セキュリティチェックを簡単にできる!

ということで、セキュリティスキャンツール cdk-nag を皆さんで使い倒していきましょう。

Yui

yui.jpg

株式会社プレイドのバックエンドエンジニア。

地方SIer → クラスメソッド → プレイド。AWS とか TypeScript とかをやっています。

クライヤー篠塚一帆

shino.jpg

旭化成株式会社所属。タンパク質シミュレーション→組み込みエンジニアを経て、なぜかwebアプリ界隈にやってきました。

好きなものはバドミントンとニキシー管です。

佐藤智樹

sato.jpg

クラスメソッド株式会社 Delivery部所属。 大手SIer子会社でSE->現職でバックエンド兼インフラエンジニア等

AWS CDKが好きです。 AWS Community BuilderとかもやっててCDKを盛り上げたい!

参加のルール/マナー

勉強会に参加される方は、JAWS-UGの定める以下のルール/マナーに則って行動することをお願いしております。

ルール

  • 関係者の人種、性別、性的指向、身体的特徴、見た目、政治、宗教(または無宗教)などに係る表現は、いかなる場合も適切ではありません。
  • JAWS-UG は No sell, No Job です。イベントの趣旨と関係のない宣伝行為・採用活動・ネットワーキングのみを目的としたご参加はご遠慮ください。 ルールに違反する方は参加をお断りする場合がございます。

マナー

  • あなたのクリエイティブで前向きな発言がイベントをより楽しくします。発表者や質問者に対して疑問や意見がある場合は批判や罵り・嘲りではなく提案と課題解決の態度でポジティブな発言を心がけましょう。
  • 全てのイベントは有志のボランティアにより非営利目的にて運営され、いつでもあなたの手助けを必要としています。お気付きの点があればぜひご協力をお願いいたします。
  • 私たちはコミュニティへの貢献を通じて社会からの信頼を得ることがより良いビジネスに繋がり、より自分らしい働き方を見つける手段になると信じています。
  • AWSのユーザーグループは日本中、世界中に存在し、あなたの参加を待っています。是非コミュニティを通じて世界中の仲間と繋がりましょう。

https://jaws-ug.jp/for-participant/

当日の質問への回答

当日出た質問で回答しきれなかった内容を追記します。一部運営側で確認した内容も追記します。追加で気になることなどある場合はCDKの日本コミュニティなどで聞いてみてください。

  • リソース作成の依存関係に関して、Terraformだと“depends_on”で指定しますが、CDKTFでも同様の指定があるのでしょうか?

ソース見ると実装が入っているので同様の指定ができそうです! https://github.com/hashicorp/terraform-cdk/blob/2e69c121bfe0086c9bff7a73e78b204141128fb5/packages/cdktf/lib/terraform-resource.ts#L43

  • AWS側にデプロイしたものはCloudFormationのManagement Consoleでスタックとして見えるんでしょうか?

CDKTF は CloudFormation 経由ではなく Terraform 経由で直接APIを叩きにいっているので CloudFormation のマネジメントコンソールでは確認できません

  • CDKTFのテストってどんな感じですか?

TypeScript の場合はそれぞれのプロバイダー別に公式のサンプルコードが用意されているのでその下のテストファイルを見てもらうとよさそうです https://github.com/hashicorp/terraform-cdk/tree/main/examples/typescript

  • Terraformの強みである、ignore_changesって設定できたりするんでしょうか?CFn自体ができないので難しいと思ってますが。。。

こちらも実装されているので使えると思います https://github.com/hashicorp/terraform-cdk/blob/2e69c121bfe0086c9bff7a73e78b204141128fb5/packages/cdktf/lib/terraform-resource.ts#L36

  • NodeJsFunctionでcdk diffを取った時にコードを変更していないのに謎のハッシュ値の差分でることないですか?上手い対応方法があれば知りたく・・・

運営追記) 経験上以下の2パターンで想定外の差分が出ることが多いです。

  1. Lambdaの関連するパッケージのバージョンを固定化していないことで、パッケージ更新時にassetsのハッシュ値が変わってしまう

  2. cdkのバージョンやnodeのバージョンなどがCfnテンプレートに残るCDK::Metaddataで差分がでる

前者の場合はバージョンを固定する。後者の場合は、以下のドキュメントの章の後半のメタデータ削除 cdk --no-version-reporting synth などで対応可能です。 https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/cli.html#version_reporting

もし上記以外の場合で、テストの際に差分が気になる場合は以下の記事などが参考になります。 https://dev.classmethod.jp/articles/aws-cdk-v2-unit-test-ignore-assets/

  • 大量にLambdaがある場合、おすすめの管理方法とかありますか? 運用開始後に、特定のLambdaだけランタイムを変更したい場合とか

運営追記) ループなどでの実装の共通化は後々の細かい変更が難しくなるので十分検討して実施した方が良いです。数が50以上などになる場合、以下の記事をなどを読んでMono-LambdaにするかSingle-Lambdaにするかなどの検討はいるかと思います。 https://dev.to/aws-builders/the-what-why-and-when-of-mono-lambda-vs-single-function-apis-5cig

  • プログラムCDKしか書いたことなく、CDK書くときはリファレンス見る時間が大半でプログラムを書いている感が少ないのですが、CDKが書けるってプログラマ目線どれくらいのレベルなのでしょう?

バックエンドエンジニアをやっている経験からするとCDK自体を使うことはそこまで難しいレベルではないと思っています。ただリファレンスだけでなくCDK内部のConstructのコードを読んで設計/実装できたり、実装出来なかったことをGitHubのissueで調べたり出来るようになれば一定以上のレベルのプログラマと同等になるのではと思います。

注意事項

※ こちらのイベント情報は、外部サイトから取得した情報を掲載しています。
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。

関連するイベント