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
TypeScripterに送るIaCの世界への招待〜AWS CDKと共に〜/inviting-...
Search
tomoki10
June 04, 2024
Technology
0
700
TypeScripterに送るIaCの世界への招待〜AWS CDKと共に〜/inviting-typescripters-to-the-world-of-iac-with-aws-cdk
TSKaigi 2024 After Talkで話した内容です。
https://layerx.connpass.com/event/318123/
tomoki10
June 04, 2024
Tweet
Share
More Decks by tomoki10
See All by tomoki10
Classmethod流のPlatform Engineering / classmethod-platform-engineering-devio2024
tomoki10
1
1.2k
AWS CDK Conference Japan 2024 OP
tomoki10
0
630
AWSでもBuildpacksを使ってDockerfileレスに出来るのか!?/can-i-use-buildpacks-to-go-dockerfile-less-in-aws
tomoki10
0
2.8k
ECS on Fargate のセキュリティ対策は何をやるべき?開発者目線で考える/security-for-ecs-on-fargate-secjawsdays
tomoki10
14
11k
AWS CDKの最強の書き方を実践してみる 2023年版/practice-the-strongest-writing-method-of-aws-cdk-2023-edition
tomoki10
4
6.6k
CDK支部のこれまでとこれから / jaws-ug-cdk-past-and-future
tomoki10
1
860
AWS CDKでECS on FargateのCI/CDを実現する際の理想と現実 / ideal-and-reality-when-implementing-cicd-for-ecs-on-fargate-with-aws-cdk
tomoki10
21
26k
AWSCDKを通してAWSを学ぶ/learn AWS through AWS CDK
tomoki10
0
3.4k
それでも俺はAWS CDKが作るリソースに物理名を付けたい 〜CDKのベストプラクティスは本当にベストなのか〜 / AWS CDK resource name can be a physical name
tomoki10
1
7.7k
Other Decks in Technology
See All in Technology
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
Platform Engineering for Software Developers and Architects
syntasso
1
520
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
380
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
420
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
530
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
180
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Facilitating Awesome Meetings
lara
50
6.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
For a Future-Friendly Web
brad_frost
175
9.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
97
Ruby is Unlike a Banana
tanoku
97
11k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Transcript
5ZQF4DSJQUFSʹૹΔ*B$ͷੈքͷট ʙ"84$%,ͱڞʹʙ ࠤ౻ஐथ ϏδωεςΫϊϩδʔ෦
Έͳ͞Μ AWS CDKͬͯͬͯ·͢ʁ
ࠤ౻ஐथ ϏδωεςΫϊϩδʔ෦ ΞʔΩςΫτνʔϜ +"846($%,ࢧ෦ӡӦ ͖ͳ"84αʔϏε ࣗݾհ !UNL !UPNPLJ "84-BNCEB
"84$%,
ࠓ͍͑ͨ͜ͱ ͚ͨͬͨͭͩͰ͢ wΠϯϑϥ͕5ZQF4DSJQUͷܕิͰؾ࣋ͪΑ͘ॻ͚Δ w$%,ຊޠͷใ͕͔ͳΓ͋ͬͯ࢝Ί͍͢ ͞ͳ͍͜ͱ w*B$ࣗମͷར
࣍ w"84$%,ͱԿ͔ w5ZQF4DSJQUͰ͋Δ͜ͱͷར wຊͱ$%,ͷؔ wΠϕϯτએ
"84$%,ͱ w͍׳ΕͨݴޠͰ"84ϦιʔεΛ࡞Ͱ͖ΔπʔϧαʔϏε wݴޠ w5ZQF4DSJQU+BWB4DSJQU 1ZUIPO +BWB $ (PͰهड़Մೳ wಛ
w"84ϦιʔεҰ෦4BB4ΛநԽͯ͠ίʔυͰཧ w044ͳͷͰ࣮ͷৄࡉιʔεϨϕϧͰ֬ೝՄೳ "84$MPVE%FWFMPQNFOU,JU "84$%,
$%,ͷछྨ ͓͓·͔ʹछྨ͋Γ·͢ ʮcdk8s(+)Ͱ͡ΊΔKubernetesʯ https://speakerdeck.com/horsewin/cdk8s-plus-dehazimerukubernetes "84$%, $MPVE'PSNBUJPOςϯϓ ϨʔτͳͲΛੜ͠Ϋϥυ ΠϯϑϥڥΛίʔυཧ "84ϦιʔεҰ෦4BB4
ΛநԽͯ͠ཧՄೳ 5FSSBGPSNςϯϓϨʔτΛੜ ͠ɺΫϥυΠϯϑϥڥ Λίʔυཧ "84($"[VSF4BB4 ΛநԽͯ͠ཧՄೳ LTϚχϡϑΣετΛੜ ͠ɺLTڥΛखଓ͖ܕͷॻ ͖ํͰཧ LTΛཧՄೳ ※ʮTerraform ॳ৺ऀ͕ CDK for Terraform Λ৮ͬͯΈͨॴײʯ https://zenn.dev/mayforblue/articles/09574f95fdbf69 ˢࠓ͜͜ͷʂ
"84$%,ͷྫ ίʔυྫ ࡞͞ΕΔϦιʔεʢҰ෦ʣ
"84$%,ͷϢʔβ͔Βݟͨ֓ཁ Client CI/CD Env Source code AWS CloudFormation AWS
account OR AWS CDK AWS Lambda Amazon API Gateway Stack (Resource State) Generate $ cdk deploy
"84$%,ͷཪଆͷجຊతͳಈ͖ Client CI/CD Env Source code OR AWS CDK
const getItemFunction = new node_lambda.NodejsFunction(this, "getItem", { runtime: lambda.Runtime.NODEJS_20_X, entry: path.join(__dirname, "../../src/hoge/index.ts"), handler: "getItem", timeout: cdk.Duration.seconds(30), });
"84$%,ͷཪଆͷجຊతͳಈ͖ Client CI/CD Env Source code OR AWS CDK
Cfn Template 1.Synthesize Assets w"TTFUT wόϯυϧͰ͖ΔϩʔΧϧϑΝΠϧσΟϨΫτ Ϧɺ%PDLFSΠϝʔδͳͲؚ͕·ΕΔ w-BNCEBͷίʔυؚΉ w $MPVE'PSNBUJPOςϯϓϨʔτ w $%,͕ੜͨ͠$MPVE'PSNBUJPOͷςϯϓ ϨʔτϑΝΠϧ
"84$%,ͷཪଆͷجຊతͳಈ͖ Client CI/CD Env Source code AWS account OR
AWS CDK Cfn Template 1.Synthesize S3 Bucket Assets 2.Upload
"84$%,ͷཪଆͷجຊతͳಈ͖ Client CI/CD Env Source code AWS CloudFormation AWS
account OR AWS CDK Cfn Template 1.Synthesize S3 Bucket Assets 2.Upload 3.Deploy
"84$%,ͷཪଆͷجຊతͳಈ͖ Client CI/CD Env Source code AWS CloudFormation AWS
account OR AWS CDK Cfn Template Cfn Template 1.Synthesize S3 Bucket Assets 2.Upload 3.Deploy 4.Pull
"84$%,ͷཪଆͷجຊతͳಈ͖ Client CI/CD Env Source code AWS CloudFormation AWS
account OR AWS CDK Cfn Template Stack (Resource State) Cfn Template 1.Synthesize S3 Bucket Assets 2.Upload 3.Deploy 5.Generate 4.Pull
"84$%,ͷཪଆͷجຊతͳಈ͖ Client CI/CD Env Source code AWS CloudFormation AWS
account OR AWS CDK Cfn Template Stack (Resource State) Cfn Template 1.Synthesize S3 Bucket Assets 2.Upload 3.Deploy 5.Generate AWS Lambda Amazon API Gateway 6.API Call 4.Pull
Ͱ͏ϦιʔεखͰ࡞ͬͪΌͬͨΜͩΑͳ͋ *B$(FOFSBUPSͱ$%,.JHSBUFͳΒ·ͩؒʹ߹͏͔ʁ ˠ*B$(FOFSBUPS *B$( ɿطଘΠϯϑϥ͔ΒίʔυΛੜ ˠ$%,.JHSBUFɿ*B$(Λ͍$%,ίʔυΛੜ ؾʹͳΔํɺJAWS-UG CDKࢧ෦ 14ճࢀর
ຊͱ$%,ͷؔ ࣮ੈքͰ൪ʹελʔΛ͚͕ͭͨଟ͍ࠃ https://ossinsight.io/analyze/aws/aws-cdk#people
1VMM3FRVFTU࡞ࠃผͰੈքҐ ຊͱ$%,ͷؔ https://ossinsight.io/analyze/aws/aws-cdk#people
ຊਓͷίϯτϦϏϡʔλʔϨϏϡΞʔ͍ͯ૬ஊ͍͢͠ ຊͱ$%,ͷؔ https://aws.amazon.com/jp/developer/community/heroes/kenta-goto/ https://github.com/aws/aws-cdk/wiki/CDK-Community-PR-Reviews
+"846(ͷ$%,ࢧ෦ͱͯ͠ఆظతʹΠϕϯτ։࠵ ճ։࠵ $%,ͷࡉ͔͍ϊϋ͕ຊޠͰֶΔʂ ຊͱ$%,ͷؔ https://jawsug-cdk.connpass.com/
ࠓͷΠϕϯτ։࠵͠·͢ʂൃද͚ͩͰͳ͘ ϫʔΫγϣοϓ։࠵༧ఆͳͷͰؾʹͳΔํੋඇʂ એ https://jawsug-cdk.connpass.com/event/317921/
None