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

脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?

Har1101
March 28, 2024

脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?

2024年3月27日(水)にJAWS-UG初心者支部にて登壇した資料です。AWS CDKを使ったことがない初心者の方向けの内容となっております。

Har1101

March 28, 2024
Tweet

More Decks by Har1101

Other Decks in Programming

Transcript

  1. © NEC Solution Innovators, Ltd. 2024 脱・初心者! 脱・マネコン! AWS CDKを使ってみませんか!?

    NECソリューションイノベータ株式会社 1年目 福地 開 2024/03/27 JAWS-UG初心者支部 【NECグループ外秘】 【NEC Group Internal Use Only】
  2. © NEC Solution Innovators, Ltd. 2024 4 ◆ 氏名:福地 開

    (ふくち はるき) ◆ 所属:NECソリューションイノベータ株式会社 →文系学部卒1年目(IT超初心者) ◆ 趣味:バスケ、スキューバダイビング、競馬 ◆ 好きなAWSサービス:ECS,CDK ◆ 担当業務:コンテナベースの システム基盤構築(AWS CDK) 1.プロフィール
  3. © NEC Solution Innovators, Ltd. 2024 8 2.AWS CDKとは? ◆

    AWS Cloud Development Kitの略 ◆ プログラミング言語でソースコードを書き、AWSリソースを作成できるサービス!
  4. © NEC Solution Innovators, Ltd. 2024 12 2-3.初心者が特に感じた、AWS CDKのメリット ◆

    メリット: ①高レベルの抽象化! →複雑な設定を抽象化することでコード量と学習コスト削減 ②アプリ全体をコードで定義! →クラウドリソースに加えて、Lambda関数のコードやコンテナイメージなど アプリ全体をまとめて管理可能 ③スピーディーなデプロイ! →作成・更新・削除が容易かつ素早い
  5. © NEC Solution Innovators, Ltd. 2024 14 3.初心者がCDKを始めるべき理由! 理由その①: AWS

    CDKはコーディングがしやすいため! 理由その②: 公式が初心者向け学習教材を用意してくれているため!
  6. © NEC Solution Innovators, Ltd. 2024 15 3.初心者がCDKを始めるべき理由! 理由その①: AWS

    CDKはコーディングがしやすいため! 理由その②: 公式が初心者向け学習教材を用意してくれているため!
  7. © NEC Solution Innovators, Ltd. 2024 17 ◆ CloudFormationは必要なプロパティを明示的に設定する必要がある →具体的な設定が必要(=これはこれでわかりやすい!)

    →ただ、どうしてもコーディング量が多くなる 理由その①: AWS CDKはコーディングがしやすいため! ↑公式リファレンス (https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html)
  8. © NEC Solution Innovators, Ltd. 2024 18 ◆ 以下はAWS CDKで書いたコード(VPC内にECSを作成する)

    https://docs.aws.amazon.com/cdk/v2/guide/home.html 合計で31行 →これならまだ書けそう! 理由その①: AWS CDKはコーディングがしやすいため!
  9. © NEC Solution Innovators, Ltd. 2024 19 ◆ AWS CDKでは、AWSリソース定義を抽象的に行える

    L2コンストラクト :デフォルト値や便利なメソッドを定義した単一のAWSリソースを表すクラス →コーディング量を少なくすることができる! 理由その①: AWS CDKはコーディングがしやすいため! ※記載しなかった設定は、AWSの ベストプラクティスに則って自動で設定される!
  10. © NEC Solution Innovators, Ltd. 2024 21 理由その①: AWS CDKはコーディングがしやすいため!

    CDKは抽象的にも 具体的にも記述できる! CloudFormationは 具体的に記述できる! …で、どうやって学習すればいいの…?
  11. © NEC Solution Innovators, Ltd. 2024 22 3.初心者がCDKを始めるべき理由! 理由その①: AWS

    CDKはコーディングがしやすいため! 理由その②: 公式が初心者向け学習教材を用意してくれているため!
  12. © NEC Solution Innovators, Ltd. 2024 23 ◆ 1つ目:TypeScriptの基礎から始めるAWS CDK開発入門

    →TypeScriptの基礎からCDKを学べるワークショップ コーディング経験が無い方向け https://catalog.workshops.aws/typescript-and-cdk-for-beginner/ja-JP 理由その②: 公式が初心者向け学習教材を用意してくれているため!
  13. © NEC Solution Innovators, Ltd. 2024 24 ◆ 2つ目:AWS CDK

    Workshop →複数言語に対応し、実際にコードを書きながらCDKを学べるワークショップ (TypeScript, Python, C#/.NET, Java, Go) https://cdkworkshop.com/ 理由その②: 公式が初心者向け学習教材を用意してくれているため!
  14. © NEC Solution Innovators, Ltd. 2024 25 3.初心者がCDKを始めるべき理由! 理由その①: AWS

    CDKはコーディングがしやすいため! 理由その②: 公式が初心者向け学習教材を用意してくれているため! 再掲
  15. © NEC Solution Innovators, Ltd. 2024 29 4.初心者が実際にCDKを使ってみた! ◆ 実装したコード:合計で95行(CloudFormationテンプレートは684行)

    API Gatewayの設定で3時間格闘… →行き詰った個所で得られた知識は 頭に残りやすい! 初心者にとっては良い経験になった!
  16. © NEC Solution Innovators, Ltd. 2024 30 2-3.初心者が特に感じた、AWS CDKのメリット ◆

    メリット: ①高レベルの抽象化! →複雑な設定を抽象化することでコード量と学習コスト削減 ②アプリ全体をコードで定義! →クラウドリソースに加えて、Lambda関数のコードやコンテナイメージなど アプリ全体をまとめて管理可能 ③スピーディーなデプロイ! →作成・更新・削除が容易かつ素早い 再掲
  17. © NEC Solution Innovators, Ltd. 2024 35 ◆ AWS CDKは、初心者に優しく、

    学習環境もかなり整っている! ◆ AWS歴半年でも実際に 1からコーディングができた! 本日のLTが、AWS CDKに触れてみるきっかけに なっていれば幸いです! 一緒に頑張りましょう! 5.おわりに 作:Bedrock