Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
Search
Har1101
March 28, 2024
Programming
0
570
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
2024年3月27日(水)にJAWS-UG初心者支部にて登壇した資料です。AWS CDKを使ったことがない初心者の方向けの内容となっております。
Har1101
March 28, 2024
Tweet
Share
More Decks by Har1101
See All by Har1101
スケジュール駆動なエージェントを作ろう!
har1101
4
470
AIエージェントの設計で注意するべきポイント6選
har1101
6
2.8k
Now, go out
har1101
4
230
AWS re:Inventから考える、2026年のAIエージェント開発
har1101
2
550
CBとして行く初re:Invent 挑戦と失敗
har1101
2
320
Jr.Championsもいいけど、Community Buildersもね!
har1101
2
250
AgentCoreで始めるAmbient Agent
har1101
3
150
AgentCore×非同期実行で広がる、Ambient Agentの可能性
har1101
2
120
「OutputOps」なエージェントを作りたかった…~エージェント開発Tipsを添えて~
har1101
3
140
Other Decks in Programming
See All in Programming
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
470
Grafana:建立系統全知視角的捷徑
blueswen
0
260
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
150
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
120
GoLab2025 Recap
kuro_kurorrr
0
790
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
800
Developing static sites with Ruby
okuramasafumi
0
340
複雑なUI設計への銀の弾丸 「オブジェクト指向UIデザイン」
teamlab
PRO
2
110
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
140
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
250
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
80
It's Worth the Effort
3n
187
29k
Tell your own story through comics
letsgokoyo
0
770
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
180
Statistics for Hackers
jakevdp
799
230k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Facilitating Awesome Meetings
lara
57
6.7k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
74
HDC tutorial
michielstock
1
280
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
36
Transcript
© NEC Solution Innovators, Ltd. 2024 脱・初心者! 脱・マネコン! AWS CDKを使ってみませんか!?
NECソリューションイノベータ株式会社 1年目 福地 開 2024/03/27 JAWS-UG初心者支部 【NECグループ外秘】 【NEC Group Internal Use Only】
1. プロフィール 2. AWS CDKとは? 3. 初心者がCDKを始めるべき理由! 4. 初心者が実際にCDKを使ってみた! 5.
おわりに 目次
1.プロフィール 1. プロフィール 2. AWS CDKとは? 3. 初心者がCDKを始めるべき理由! 4. 初心者が実際にCDKを使ってみた!
5. おわりに
© NEC Solution Innovators, Ltd. 2024 4 ◆ 氏名:福地 開
(ふくち はるき) ◆ 所属:NECソリューションイノベータ株式会社 →文系学部卒1年目(IT超初心者) ◆ 趣味:バスケ、スキューバダイビング、競馬 ◆ 好きなAWSサービス:ECS,CDK ◆ 担当業務:コンテナベースの システム基盤構築(AWS CDK) 1.プロフィール
© NEC Solution Innovators, Ltd. 2024 5 本日は、AWS CDKを触ったことがない 初心者向けの発表をさせていただきます
© NEC Solution Innovators, Ltd. 2024 6 伝えたいこと: AWS CDKを使ってみませんか!?
2.AWS CDKとは? 1. プロフィール 2. AWS CDKとは? 3. 初心者がCDKを始めるべき理由! 4.
初心者が実際にCDKを使ってみた! 5. おわりに
© NEC Solution Innovators, Ltd. 2024 8 2.AWS CDKとは? ◆
AWS Cloud Development Kitの略 ◆ プログラミング言語でソースコードを書き、AWSリソースを作成できるサービス!
© 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
© NEC Solution Innovators, Ltd. 2024 10 (CloudFormationとは?) テンプレート:設計書(構築するリソースの定義、yaml/jsonで記述) スタック:設計書を元に作成したリソースの集合
VPC EC2 S3 Aurora テンプレート スタック
© 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
© NEC Solution Innovators, Ltd. 2024 12 2-3.初心者が特に感じた、AWS CDKのメリット ◆
メリット: ①高レベルの抽象化! →複雑な設定を抽象化することでコード量と学習コスト削減 ②アプリ全体をコードで定義! →クラウドリソースに加えて、Lambda関数のコードやコンテナイメージなど アプリ全体をまとめて管理可能 ③スピーディーなデプロイ! →作成・更新・削除が容易かつ素早い
3.初心者がCDKを始めるべき理由! 1. プロフィール 2. AWS CDKとは? 3. 初心者がCDKを始めるべき理由! 4. 初心者が実際にCDKを使ってみた!
5. おわりに
© NEC Solution Innovators, Ltd. 2024 14 3.初心者がCDKを始めるべき理由! 理由その①: AWS
CDKはコーディングがしやすいため! 理由その②: 公式が初心者向け学習教材を用意してくれているため!
© NEC Solution Innovators, Ltd. 2024 15 3.初心者がCDKを始めるべき理由! 理由その①: AWS
CDKはコーディングがしやすいため! 理由その②: 公式が初心者向け学習教材を用意してくれているため!
© 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はコーディングがしやすいため!
© NEC Solution Innovators, Ltd. 2024 17 ◆ CloudFormationは必要なプロパティを明示的に設定する必要がある →具体的な設定が必要(=これはこれでわかりやすい!)
→ただ、どうしてもコーディング量が多くなる 理由その①: AWS CDKはコーディングがしやすいため! ↑公式リファレンス (https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html)
© NEC Solution Innovators, Ltd. 2024 18 ◆ 以下はAWS CDKで書いたコード(VPC内にECSを作成する)
https://docs.aws.amazon.com/cdk/v2/guide/home.html 合計で31行 →これならまだ書けそう! 理由その①: AWS CDKはコーディングがしやすいため!
© NEC Solution Innovators, Ltd. 2024 19 ◆ AWS CDKでは、AWSリソース定義を抽象的に行える
L2コンストラクト :デフォルト値や便利なメソッドを定義した単一のAWSリソースを表すクラス →コーディング量を少なくすることができる! 理由その①: AWS CDKはコーディングがしやすいため! ※記載しなかった設定は、AWSの ベストプラクティスに則って自動で設定される!
© NEC Solution Innovators, Ltd. 2024 20 ※具体的に1つ1つパラメータを設定することも可能 →慣れてきたらこれに挑戦! 理由その①:
AWS CDKはコーディングがしやすいため!
© NEC Solution Innovators, Ltd. 2024 21 理由その①: AWS CDKはコーディングがしやすいため!
CDKは抽象的にも 具体的にも記述できる! CloudFormationは 具体的に記述できる! …で、どうやって学習すればいいの…?
© NEC Solution Innovators, Ltd. 2024 22 3.初心者がCDKを始めるべき理由! 理由その①: AWS
CDKはコーディングがしやすいため! 理由その②: 公式が初心者向け学習教材を用意してくれているため!
© NEC Solution Innovators, Ltd. 2024 23 ◆ 1つ目:TypeScriptの基礎から始めるAWS CDK開発入門
→TypeScriptの基礎からCDKを学べるワークショップ コーディング経験が無い方向け https://catalog.workshops.aws/typescript-and-cdk-for-beginner/ja-JP 理由その②: 公式が初心者向け学習教材を用意してくれているため!
© NEC Solution Innovators, Ltd. 2024 24 ◆ 2つ目:AWS CDK
Workshop →複数言語に対応し、実際にコードを書きながらCDKを学べるワークショップ (TypeScript, Python, C#/.NET, Java, Go) https://cdkworkshop.com/ 理由その②: 公式が初心者向け学習教材を用意してくれているため!
© NEC Solution Innovators, Ltd. 2024 25 3.初心者がCDKを始めるべき理由! 理由その①: AWS
CDKはコーディングがしやすいため! 理由その②: 公式が初心者向け学習教材を用意してくれているため! 再掲
4.初心者が実際にCDKを使ってみた! 1. プロフィール 2. AWS CDKとは? 3. 初心者がCDKを始めるべき理由! 4. 初心者が実際にCDKを使ってみた!
5. おわりに
© 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
© NEC Solution Innovators, Ltd. 2024 28 4.初心者が実際にCDKを使ってみた! ◆ 実装したコード:合計で95行
(CloudFormationテンプレートは684行)
© NEC Solution Innovators, Ltd. 2024 29 4.初心者が実際にCDKを使ってみた! ◆ 実装したコード:合計で95行(CloudFormationテンプレートは684行)
API Gatewayの設定で3時間格闘… →行き詰った個所で得られた知識は 頭に残りやすい! 初心者にとっては良い経験になった!
© NEC Solution Innovators, Ltd. 2024 30 2-3.初心者が特に感じた、AWS CDKのメリット ◆
メリット: ①高レベルの抽象化! →複雑な設定を抽象化することでコード量と学習コスト削減 ②アプリ全体をコードで定義! →クラウドリソースに加えて、Lambda関数のコードやコンテナイメージなど アプリ全体をまとめて管理可能 ③スピーディーなデプロイ! →作成・更新・削除が容易かつ素早い 再掲
© NEC Solution Innovators, Ltd. 2024 31 4.初心者が実際にCDKを使ってみた! ◆ アプリ全体を1つのエディタ内で作成可能
→Lambda関数も一緒に作成・デプロイできる!
© NEC Solution Innovators, Ltd. 2024 32 4.初心者が実際にCDKを使ってみた! ◆ スピーディーなデプロイ
→作成・更新・削除が容易かつ素早く行える
© NEC Solution Innovators, Ltd. 2024 33 4.初心者が実際にCDKを使ってみた! ◆ 完成したもの(フロントエンドのデザインは生成AIにお願いしました)
5.おわりに 1. プロフィール 2. AWS CDKとは? 3. 初心者がCDKを始めるべき理由! 4. 初心者が実際にCDKを使ってみた!
5. おわりに
© NEC Solution Innovators, Ltd. 2024 35 ◆ AWS CDKは、初心者に優しく、
学習環境もかなり整っている! ◆ AWS歴半年でも実際に 1からコーディングができた! 本日のLTが、AWS CDKに触れてみるきっかけに なっていれば幸いです! 一緒に頑張りましょう! 5.おわりに 作:Bedrock
© NEC Solution Innovators, Ltd. 2024
None
None