Slide 1

Slide 1 text

© NEC Solution Innovators, Ltd. 2024 脱・初心者! 脱・マネコン! AWS CDKを使ってみませんか!? NECソリューションイノベータ株式会社 1年目 福地 開 2024/03/27 JAWS-UG初心者支部 【NECグループ外秘】 【NEC Group Internal Use Only】

Slide 2

Slide 2 text

1. プロフィール 2. AWS CDKとは? 3. 初心者がCDKを始めるべき理由! 4. 初心者が実際にCDKを使ってみた! 5. おわりに 目次

Slide 3

Slide 3 text

1.プロフィール 1. プロフィール 2. AWS CDKとは? 3. 初心者がCDKを始めるべき理由! 4. 初心者が実際にCDKを使ってみた! 5. おわりに

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

© NEC Solution Innovators, Ltd. 2024 5 本日は、AWS CDKを触ったことがない 初心者向けの発表をさせていただきます

Slide 6

Slide 6 text

© NEC Solution Innovators, Ltd. 2024 6 伝えたいこと: AWS CDKを使ってみませんか!?

Slide 7

Slide 7 text

2.AWS CDKとは? 1. プロフィール 2. AWS CDKとは? 3. 初心者がCDKを始めるべき理由! 4. 初心者が実際にCDKを使ってみた! 5. おわりに

Slide 8

Slide 8 text

© NEC Solution Innovators, Ltd. 2024 8 2.AWS CDKとは? ◆ AWS Cloud Development Kitの略 ◆ プログラミング言語でソースコードを書き、AWSリソースを作成できるサービス!

Slide 9

Slide 9 text

© NEC Solution Innovators, Ltd. 2024 9 2-1.AWS CDKの仕組み https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_AWS-CDK-Basic-1-Overview_0731_v1.pdf

Slide 10

Slide 10 text

© NEC Solution Innovators, Ltd. 2024 10 (CloudFormationとは?) テンプレート:設計書(構築するリソースの定義、yaml/jsonで記述) スタック:設計書を元に作成したリソースの集合 VPC EC2 S3 Aurora テンプレート スタック

Slide 11

Slide 11 text

© NEC Solution Innovators, Ltd. 2024 11 2-2.AWS CDKの概念 https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_AWS-CDK-Basic-1-Overview_0731_v1.pdf

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

3.初心者がCDKを始めるべき理由! 1. プロフィール 2. AWS CDKとは? 3. 初心者がCDKを始めるべき理由! 4. 初心者が実際にCDKを使ってみた! 5. おわりに

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

© NEC Solution Innovators, Ltd. 2024 16 ◆ 以下はCloudFormationのテンプレート(VPC内にECSを作成する) https://github.com/awsdocs/aws-cdk-guide/blob/main/doc_source/my_ecs_construct-stack.yaml 合計で437行 →ちょっとハードルが高い… 理由その①: AWS CDKはコーディングがしやすいため!

Slide 17

Slide 17 text

© NEC Solution Innovators, Ltd. 2024 17 ◆ CloudFormationは必要なプロパティを明示的に設定する必要がある →具体的な設定が必要(=これはこれでわかりやすい!) →ただ、どうしてもコーディング量が多くなる 理由その①: AWS CDKはコーディングがしやすいため! ↑公式リファレンス (https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html)

Slide 18

Slide 18 text

© NEC Solution Innovators, Ltd. 2024 18 ◆ 以下はAWS CDKで書いたコード(VPC内にECSを作成する) https://docs.aws.amazon.com/cdk/v2/guide/home.html 合計で31行 →これならまだ書けそう! 理由その①: AWS CDKはコーディングがしやすいため!

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

© NEC Solution Innovators, Ltd. 2024 20 ※具体的に1つ1つパラメータを設定することも可能 →慣れてきたらこれに挑戦! 理由その①: AWS CDKはコーディングがしやすいため!

Slide 21

Slide 21 text

© NEC Solution Innovators, Ltd. 2024 21 理由その①: AWS CDKはコーディングがしやすいため! CDKは抽象的にも 具体的にも記述できる! CloudFormationは 具体的に記述できる! …で、どうやって学習すればいいの…?

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

4.初心者が実際にCDKを使ってみた! 1. プロフィール 2. AWS CDKとは? 3. 初心者がCDKを始めるべき理由! 4. 初心者が実際にCDKを使ってみた! 5. おわりに

Slide 27

Slide 27 text

© NEC Solution Innovators, Ltd. 2024 27 4.初心者が実際にCDKを使ってみた! ◆ 作成したもの:Bedrockで画像を生成するWebアプリ https://aws.amazon.com/jp/builders-flash/202402/bedrock-image-generation/?awsf.filter-name=*all

Slide 28

Slide 28 text

© NEC Solution Innovators, Ltd. 2024 28 4.初心者が実際にCDKを使ってみた! ◆ 実装したコード:合計で95行 (CloudFormationテンプレートは684行)

Slide 29

Slide 29 text

© NEC Solution Innovators, Ltd. 2024 29 4.初心者が実際にCDKを使ってみた! ◆ 実装したコード:合計で95行(CloudFormationテンプレートは684行) API Gatewayの設定で3時間格闘… →行き詰った個所で得られた知識は 頭に残りやすい! 初心者にとっては良い経験になった!

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

© NEC Solution Innovators, Ltd. 2024 31 4.初心者が実際にCDKを使ってみた! ◆ アプリ全体を1つのエディタ内で作成可能 →Lambda関数も一緒に作成・デプロイできる!

Slide 32

Slide 32 text

© NEC Solution Innovators, Ltd. 2024 32 4.初心者が実際にCDKを使ってみた! ◆ スピーディーなデプロイ →作成・更新・削除が容易かつ素早く行える

Slide 33

Slide 33 text

© NEC Solution Innovators, Ltd. 2024 33 4.初心者が実際にCDKを使ってみた! ◆ 完成したもの(フロントエンドのデザインは生成AIにお願いしました)

Slide 34

Slide 34 text

5.おわりに 1. プロフィール 2. AWS CDKとは? 3. 初心者がCDKを始めるべき理由! 4. 初心者が実際にCDKを使ってみた! 5. おわりに

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

© NEC Solution Innovators, Ltd. 2024

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

No content