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
HIGOBASHI.AWS 第12回「AWS CDKのConstruct Libraryを作っ...
Search
yuji nishimura
November 30, 2019
Programming
660
0
Share
HIGOBASHI.AWS 第12回「AWS CDKのConstruct Libraryを作って 公開してみよう」
HIGOBASHI.AWS 第12回で登壇したスライドになります
yuji nishimura
November 30, 2019
More Decks by yuji nishimura
See All by yuji nishimura
Kinesis Video Streams 最新アップデートの紹介 #reinvent #cmregrowth
ynishimura
0
1.6k
Angularを使って爆速で管理画面を作る
ynishimura
0
3k
サーバーレスアーキテクチャで作ったIoTのバックエンドシステムで遭遇したエラーと対処法
ynishimura
0
2.2k
HIGOBASHI.AWS 第10回「サーバーレスとデータ分析 ~AWS Lambdaを活用して効率化しよう~」
ynishimura
0
1.4k
re:Invent2018 IoT系の新サービス・アップデート
ynishimura
0
1.4k
【Developers.IO 2018】IoTを実現するためのAWSのIoT系サービス:分析、セキュリティ管理、組み込み向けサービスもあるで!
ynishimura
2
1.2k
HIGOBASHI.AWS 第6回「Amazon Route53で ドメインを購入して、設定してみよう」
ynishimura
0
1.9k
HIGOBASHI.AWS 第5回「AngularとAWS AppSyncで作るサーバーレスアプリケーション」
ynishimura
0
4.2k
higobashi.aws 第2回「IoTとサーバーレスとラズパイ」
ynishimura
1
1.6k
Other Decks in Programming
See All in Programming
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
130
要はバランスからの卒業 #yumemi_grow
kajitack
0
200
関係性から理解する"同一性"の型用語たち
pvcresin
2
610
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
410
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
180
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.2k
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
15
7.4k
デフォルト運用のCodeRabbit、1年で何が変わったか / How CodeRabbit Changed Our Code Review in 1 Year
bake0937
1
110
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
300
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
180
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
290
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
210
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
320
How to make the Groovebox
asonas
2
2.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
210
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
540
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
930
First, design no harm
axbom
PRO
2
1.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
190
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
390
Agile that works and the tools we love
rasmusluckow
331
21k
Transcript
"84$%,ͷ$POTUSVDU -JCSBSZΛ࡞ͬͯ ެ։ͯ͠ΈΑ͏ $9ࣄۀຊ෦ ଜ༞ೋ
#higobashiaws
εϥΠυޙͰೖख͢Δ͜ͱ͕ग़དྷ·͢ͷͰ ൃදதͷ༰ΛϝϞ͢Δඞཁ͋Γ·ͤΜɻ ࣸਅࡱӨΛ͢Δ߹ ϑϥογϡɾγϟολʔԻ͕ग़ͳ͍Α͏ʹྀ͍ͩ͘͝͞ Attention
ࣗݾհ 2019 APN AWS Top Engineersೝఆ AWSೝఆ 2017/5 ΫϥεϝιουJoin
ࠓͷۀɿDevelopers.IO CAFEͷཧը໘ɺAPI ೖࣾ࣌γεʹॴଐ લ৬ͰΠϯϑϥͷӡ༻ɾอक Angular͕͖ ܦྺ ଜ ༞ೋ(29) CXࣄۀຊ෦ॴଐ େࡕΦϑΟεࡏ੶
AWS CDKΛ࣮ࡍʹͬͯΔਓ✋
ຊൃදͷରऀ w"84$%,ͷνϡʔτϦΞϧΛऴ͑ͯ࣍Կ͠Α͔໎͍ͬͯΔਓ w"84ڥΛίʔυԽͯ͠ɺΈΜͳʹڞ༗ɾ͍ͨ͠ਓ
ൃද༰ wલͷηογϣϯͰجຊతͳ͜ͱΘͬͯΔͣ wσϞ͕ϝΠϯͷൃදͰ͢ ࣦഊͨ͠Β͝ΊΜͳ͍͞ w࣮ࡍʹΤσΟλͰิ͕ޮ͘͜ͱ wαϯϓϧͷςετίʔυΛॻ͍ͯಈ͘ͱ͜ΖΛݟͯΒ͏ w࡞ͬͨ$POTUSVDUΛOQNͰެ։ͯ͠ར༻ͯ͠ΈΔ
ΞδΣϯμ w"84$%,ͷݸਓతʹྑ͔ͬͨͱ͜Ζ w$POTUSVDU-JCSBSZʹ͍ͭͯ w"84$%,ͷςετʹ͍ͭͯ wσϞ w"84$%,ͷ5JQT w·ͱΊ NJO NJO
NJO NJO NJO NJO
AWS CDKͷݸਓతʹྑ͔ͬͨͱ͜Ζ
ࣗͷ͖ͳݴޠͰIaCͰ͖Δ
ରԠݴޠ Python TypeScript Java .NET(C#, F#, …)
ΫϥεܧঝͳͲ͕͑Δ
ΫϥεܧঝͳͲ͕͑Δ நԽͰ͖ͯ গͳ͍ίʔυྔͰΠϯϑϥΛఆٛͰ͖Δ ͨͩ͠ɺࡉ͔ͳઃఆΛ͍ͨ͠ͱ͖ɺ ίʔυྔ૿͑Δ
ύοέʔδϚωʔδϟʔͰͰ͖Δ
ύοέʔδϚωʔδϟʔͰͰ͖Δ npmɺpipͳͲͰ࡞ͬͨ ConstructΛڞ༗ɾͰ͖Δ ࠓճ͜ΕΛΓ·͢
ΤσΟλͰܕνΣοΫɺิ͕ޮ͘
ΤσΟλͰܕνΣοΫɺิ͕ޮ͘ ͲΜͳϓϩύςΟ͕͋Δͷ͔ɺͲΜͳઃఆ͢ΕΑ͍͔ ΛௐΔͨΊʹ ϦϑΝϨϯεΛߦͬͨΓདྷͨΓ͢Δճ͕ݮͬͨ σϓϩΠࣦͯ͠ഊͨ͠ɺͱ͍͏͜ͱ͕ݮͬͨ
ςετίʔυ͕͔͚Δ
ςετίʔυ͕͔͚Δ ͪΌΜͱϝϯςφϯεͰ͖ΔΑ͏ʹͳͬͨ $'O࡞ͬͯ࡞Γͬͺͳ͠ɺن͕େ͖͘ͳΔͱಛʹ ࠓճ࣮ࡍʹςετίʔυΛॻ͍ͯΈ·͢
CFnςϯϓϨʔτΛ؆୯ʹ ग़ྗɾ֬ೝͰ͖Δ
CFnςϯϓϨʔτΛमਖ਼͢Δ ͱ͍͏࠷ऴखஈ͕Ͱ͖Δ
Construct Library
$POTUSVDUT-JCSBSZ 4UBDLʹ࡞͞ΕΔ"84Ϧιʔε ୯ҰͷϦιʔεෳͷ"84$%,ϦιʔεΛ·͕ͨΔ ϋΠϨϕϧίϯϙʔωϯτΛදݱ͢Δ͜ͱՄೳ طଘͷ$POTUSVDUΛܧঝͯ͠ಠࣗͷ$POTUSVDUΛఆٛ ͨ͠Γ࡞ͨ͠$POTUSVDUΛύοέʔδͱͯ͢͠ Δ͜ͱ͕Մೳ
$POTUSVDUT-JCSBSZ )JHIMFWFMDPOTUSVDUT wগͳ͍ίʔυྔͰ"84αʔϏεΛఆٛ wσϑΥϧτศརͳϝιουΛఆٛͨ͠"84ϦιʔεΛද͢Ϋϥε -PXMFWFMDPOTUSVDUT wࡉ͔͍ઃఆ͍ͨ͠ͱ͖ʹ͏ w$'ϦιʔεٴͼϓϩύςΟΛରʹͯ͠ରԠ w$GO999ʢT$GO#VDLFU"844#VDLFUΛҙຯʣ 1BUUFSOT
wෳͷϦιʔεΛؚΉҰൠతͳߏύλʔϯΛఆٛͨ͠ͷ
AWS CDKͷςετίʔυ
ࢀߟαΠτ https://aws.amazon.com/jp/blogs/ developer/testing-infrastructure-with-the- aws-cloud-development-kit-cdk/
ࢀߟαΠτ֓ཁ 4OBQTIPUUFTUT HPMEFONBTUFSUFTUT wੜ͢Δ$'OςϯϓϨʔτͱલʹੜ͞ΕͨςϯϓϨʔτ͕ಉ͡Ͱ͋Δ͔Λ ςετ 'JOFHSBJOFEBTTFSTJPOT wࢦఆͨ͠ϓϩύςΟ͍ͬͯΔ͔ςετɹɹɹɹ 7BMJEBUJPOUFTUT
w$POTUSVDUʹ༩͑ΒΕͨύϥϝʔλ͕ਖ਼͍͜͠ͱΛݕূ͢Δ65 wޡͬͨύϥϝʔλΛ༩͑ͨΒ5ISPX͞ΕΔ͔ͱ͔
σϞ
σϞͷ֓ཁ w؆୯ͳ$POTUSVDU-JCSBSZΛ࡞ͬͯOQNͰެ։ͯ͠ΈΔ w"84$%,ͷΞϓϦέʔγϣϯ͔Βެ։ͨ͠-JCSBSZΛͬͯΈΔ wެ։ͨ͠-JCSBSZΛςετΛॻ͖ͭͭػೳ֦ுͯ͠Ξοϓσʔτ wར༻͢Δଆ-JCFSUZΛΞοϓσʔτͯ͠ΈΔ
σϞͷݟͯ΄͍͠ͱ͜Ζ w$%,ͷ$-*Ͱ؆୯ʹܗ͕ͭ͘ΕΔͱ͜Ζ wςετίʔυ͕͔͚Δͱ͜Ζ wύοέʔδϚωʔδϟʔͰެ։Ͱ͖Δͱ͜Ζ wΤσΟλͰิ͕ޮ͘ͱ͜Ζ wެ։ͨ͠-JCSBSZ͕ར༻Ͱ͖Δͱ͜Ζ
$%,Ͱܗ
OQNͰެ։ ύοέʔδެ։ npm publish --access=public
εφοϓγϣοτςετ ʮ@@TOBQTIPUT@@ʯʹ$'OςϯϓϨʔτ͕࡞ > npm run test -- -u มߋΛड͚ೖΕΔͱ͖
CVJMEΕ͕ͪ मਖ਼ͨ͠ͷʹө͞Εͯͳ͍ ݪҼ΄΅ϏϧυΕ
ޙย͚ > npm unpublish @username/aws-cdk-lib-sample --force > cdk destroy
࣮ࡍʹ͑ΔͷΛ࡞Δ ͬͱ࣮ફతͳͷΛ࡞Δࡍ aws-cdkͷaws-ecs-patterns͕ࢀߟʹͳΔ https://github.com/aws/aws-cdk/tree/master/packages/%40aws-cdk/aws-ecs-patterns
·ͱΊ
·ͱΊ Happy Coding! AWS CDKΛ͏͜ͱͰΞϓϦέʔγϣϯ։ൃͷΑ͏ͳྲྀΕͰ ࣮ɺػೳՃɺϝϯςφϯεɺڞ༗Ͱ͖ΔΑ͏ʹͳΓ·ͨ͠ ຊൃදͰɺσϞΛ௨ͯ͠ ։ൃͷྲྀΕɺςετίʔυɺڞ༗ํ๏ʹ͍ͭͯઆ໌͠·ͨ͠
None