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
630
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.1k
AWS CDK Conference Japan 2024 OP
tomoki10
0
580
AWSでもBuildpacksを使ってDockerfileレスに出来るのか!?/can-i-use-buildpacks-to-go-dockerfile-less-in-aws
tomoki10
0
2.7k
ECS on Fargate のセキュリティ対策は何をやるべき?開発者目線で考える/security-for-ecs-on-fargate-secjawsdays
tomoki10
13
10k
AWS CDKの最強の書き方を実践してみる 2023年版/practice-the-strongest-writing-method-of-aws-cdk-2023-edition
tomoki10
4
6.5k
CDK支部のこれまでとこれから / jaws-ug-cdk-past-and-future
tomoki10
1
840
AWS CDKでECS on FargateのCI/CDを実現する際の理想と現実 / ideal-and-reality-when-implementing-cicd-for-ecs-on-fargate-with-aws-cdk
tomoki10
20
26k
AWSCDKを通してAWSを学ぶ/learn AWS through AWS CDK
tomoki10
0
3.3k
それでも俺はAWS CDKが作るリソースに物理名を付けたい 〜CDKのベストプラクティスは本当にベストなのか〜 / AWS CDK resource name can be a physical name
tomoki10
1
7.5k
Other Decks in Technology
See All in Technology
Applied NLP with LLMs: Beyond Black-Box Monoliths
inesmontani
PRO
0
180
太田博三(@usagisan2020)
otanet
0
140
多数のWebサービスをECS/Fargate構成で効率よく構築・運用するなら copilot-cli
interu
2
160
Do you know “Environment Variables” ?
akimiya
0
140
Amazon ECS & AWS Fargate 今昔物語 / past and present stories of Amazon ECS and AWS Fargate
iselegant
18
3.8k
生成AI入門
shukob
0
110
Cosmos DB で持続可能な RAG を実現しよう!~ AOAI Dev Day ふりかえりを添えて / Sustainable RAG with Cosmos DB with recap AOAI Dev Day
miyake
0
170
外部カンファレンスで登壇しよう! 〜「強い」エンジニアへの一歩を踏み出す〜
logica0419
4
130
LINE-ChatGPT 倫理問題を整理する全力肯定彼氏くん [LuC4]に訪れたサービス開始以来の最大の危機
o_ob
2
290
ラブグラフ紹介資料 〜プロダクト解体新書〜 / Lovegraph Product Deck
lovegraph
0
14k
複数の外部サービスデータの統合と変換を実現する Railsのインポートアーキテクチャ / Rails import architecture for integration and transformation of multiple external service data
aiandrox
0
190
SOLID - Architecture and Architectural Decisions - Devfest Goa 2024
rivuchk
0
150
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
630
The Pragmatic Product Professional
lauravandoore
31
6.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
23k
A Tale of Four Properties
chriscoyier
156
22k
Why Our Code Smells
bkeepers
PRO
334
57k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
40
2.1k
Building Applications with DynamoDB
mza
90
6k
Typedesign – Prime Four
hannesfritz
39
2.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
Six Lessons from altMBA
skipperchong
26
3.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
26
700
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