Upgrade to Pro — share decks privately, control downloads, hide ads and more …

脱ぽちぽちを目指して CDKでインフラ構築をしてみた

脱ぽちぽちを目指して CDKでインフラ構築をしてみた

AWS CDK Conference Japan 2024 presented by JAWS-UG

私は業務経験半年ほどのバックエンドのジュニアエンジニアです。AWS関連の業務に携われるようになるために、ハッカソンに参加してCDKを使用してWebアプリケーションのインフラ構築に挑戦してみました。L2コンストラクトを用いた実装に挑戦し、得られた知見や感想をジュニアエンジニアの視点からお話しします。 具体的には、マネジメントコンソールで時間がかかっていたESConFargateへのコンテナデプロイがCDKを使うことで一瞬で完了する感動や、CloudFormationスタックがロールバックできずに困惑した経験など、CDK初心者が直面しがちな課題とその解決策について共有します。 このセッションを通じて、CDK未経験の方々のハードルを少しでも下げ、ジュニアエンジニアの視点からCDKの魅力と挑戦する価値を伝えたいと考えています。

yuto mori

July 06, 2024
Tweet

More Decks by yuto mori

Other Decks in Technology

Transcript

  1. ©Fusic Co., Ltd. 1 森 優⽃ Mori Yuto v I

    am - 消防10年 ▶ Fusic 1年 - 初⾳ミクとギターが好きです v Skills - Ruby on Rails / AWS v Comment - エンジニア1年⽣ - 先⽇、初めて髪を染めました ⾃⼰紹介 はじめに 株式会社Fusic @福岡 技術創造部⾨ エンジニア @kotukotuganbad
  2. ©Fusic Co., Ltd. 2 CONTENTS ⽬次 1. CDKを触ることになったきっかけ 2. 実際の成果物

    3. ここが感動したぞCDK!! 4. ここが難儀だったぞCDK!! 5. まとめ
  3. ©Fusic Co., Ltd. 15 ここが感動したぞCDK!! 初⼼者が感じたCDKの魅⼒ L1 L2 L3 詳細に記述

    ⾃由度が⾼い いい感じにしてくれる AWS Cloud EC2とRDSパターン EC2はだいたいこんな感じ RDSはだいたいこんな感じ EC2についてセキュリティグ ループはこうして、そのアウ トバウンドはこうして、EC2 のタイプはこうして、、 =
  4. ©Fusic Co., Ltd. 16 ここが感動したぞCDK!! 初⼼者が感じたCDKの魅⼒ const repository = new

    ecr.Repository(this, 'MyRepository'); const fargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'MyFargateService', { taskImageOptions: { image: ecs.ContainerImage.fromEcrRepository(repository), }, }); L3 たった数⾏でよくある「パターン」をそのまま実装できる AWS Cloud
  5. ©Fusic Co., Ltd. 20 ここが感動したぞCDK!! 初⼼者が感じたCDKの魅⼒ app app/stack1 app/stack2 app/stack1/construct1

    app/stack1/construct2 app/stack2/construct1 app/stack2/construct2 クラスと継承の概念でインフラを構築することができる
  6. ©Fusic Co., Ltd. 21 ここが感動したぞCDK!! 初⼼者が感じたCDKの魅⼒ app app/stack1 app/stack2 app/stack1/construct1

    app/stack1/construct2 app/stack2/construct1 app/stack2/construct2 クラスと継承の概念でインフラを構築することができる 1コンストラクト、1クラス
  7. ©Fusic Co., Ltd. 22 ここが感動したぞCDK!! 初⼼者が感じたCDKの魅⼒ app app/stack1 app/stack2 app/stack1/construct1

    app/stack1/construct2 app/stack2/construct1 app/stack2/construct2 クラスと継承の概念でインフラを構築することができる 1コンストラクト、1クラス 複数のクラス(コンストラクト)をimport
  8. ©Fusic Co., Ltd. 33 ここが難儀だったぞCDK!! 初⼼者が初めてのCDKでの実装でつまづいたポイント aws cloudformation delete-stack --stack-name

    [スタック名] --retain-resources [保持したいリソース名] マネジメントコンソール上では削除ができなくな りますが、CLIコマンドで強制削除することがで きます 2. CloudFormationスタックのロールバックできなくなったら
  9. ©Fusic Co., Ltd. 37 Thank You We are Hiring! https://recruit.fusic.co.jp/

    ご清聴いただきありがとうございました