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
辛くない CloudFormation
Search
Takafumi Omuro
October 28, 2021
Technology
1
1k
辛くない CloudFormation
2021/10/28(木)に行われた【JAWS-UG朝会 #26】にて発表した
「辛くない CloudFormation」
の資料です。
Takafumi Omuro
October 28, 2021
Tweet
Share
More Decks by Takafumi Omuro
See All by Takafumi Omuro
Cloudflare Workers の実行時間が遅くなることがある
tomuro
0
6
生成AI使ってますか? 〜Amazon Bedrockで試してみよう〜
tomuro
2
220
Morisawa Fonts 新プランでのStripe導入事例
tomuro
0
99
Cloudflareを活用したWebフォントサービスの概要
tomuro
0
220
Stripeでサブスクリプションに割引を適用したときの注意点
tomuro
0
290
クラウドを利用したサブスクリプションサービスに向けて内製化開発に切り替えた話
tomuro
2
320
SESからSendGridに変更したけど移行で問題が出た話
tomuro
1
1.9k
なぜ老舗企業がOktaでDXを実現できたのか?
tomuro
1
540
Serverless で運用を楽にしたい
tomuro
0
590
Other Decks in Technology
See All in Technology
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
160
クラウドサービス事業者におけるOSS
tagomoris
3
980
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
170
Pwned Labsのすゝめ
ken5scal
0
260
内製化を加速させるlaC活用術
nrinetcom
PRO
2
110
MIMEと文字コードの闇
hirachan
2
1.4k
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
180
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
1.6k
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
1
340
Iceberg Meetup Japan #1 : Iceberg and Databricks
databricksjapan
0
290
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
170
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
27
15k
Featured
See All Featured
Designing Experiences People Love
moore
140
23k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Building Your Own Lightsaber
phodgson
104
6.2k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Unsuck your backbone
ammeep
669
57k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Into the Great Unknown - MozCon
thekraken
35
1.6k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Designing for Performance
lara
604
68k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Transcript
ਏ͘ͳ͍$MPVE'PSNBUJPO גࣜձࣾϞϦαϫ খࣨو࢙
໊લɿখࣨو࢙ ࣗݾհ ࣄɿςοΫϦʔυ "84ΠϯϑϥΤϯδχΞ ͖ͳαʔϏεɿ$PEF#VJME $MPVE'PSNBUJPO ॴଐɿגࣜձࣾϞϦαϫ γεςϜ։ൃ෦ Πϊϕʔγϣϯ։ൃ՝
w $MPVE'PSNBUJPOͱ w ࢲతਏ͍$MPVE'PSNBUJPO w ਏ͘ͳ͍$MPVE'PSNBUJPO w ·ͱΊ ΞδΣϯμ
$MPVE'PSNBUJPOͷӡ༻ਏ͍ʁ
ͦΜͳʹਏ͘ͳ͍Α
$MPVE'PSNBUJPOͱ $MPVE'PSNBUJPOͷ͓͞Β͍ IUUQTEPDTBXTBNB[PODPNKB@KQ"84$MPVE'PSNBUJPOMBUFTU6TFS(VJEFDGOXIBUJTIPXEPFTJUXPSLIUNMΑΓҾ༻ :".-+40/ͰςϯϓϨʔτϑΝΠϧΛ࡞͠ɺϦιʔεͷ ϓϩϏδϣχϯάΛߦ͏͜ͱ͕Ͱ͖ΔαʔϏεͰ͢ɻ "84ϦιʔεΛݸผʹ࡞ɺઃܭͯ͠ɺͦΕͧΕͷґଘؔ Λߟ͑Δඞཁ͋Γ·ͤΜɻ ࡞͞ΕͨϦιʔεɺελοΫͱ͍͏୯ҐͰཧ͞Ε·͢ɻ
$MPVE'PSNBUJPOͱ $MPVE'PSNBUJPOͷ͓͞Β͍ IUUQTEPDTBXTBNB[PODPNKB@KQ"84$MPVE'PSNBUJPOMBUFTU6TFS(VJEFDGOXIBUJTIPXEPFTJUXPSLIUNMΑΓҾ༻ :".-+40/ͰςϯϓϨʔτϑΝΠϧΛ࡞͠ɺϦιʔεͷ ϓϩϏδϣχϯάΛߦ͏͜ͱ͕Ͱ͖ΔαʔϏεͰ͢ɻ "84ϦιʔεΛݸผʹ࡞ɺઃܭͯ͠ɺͦΕͧΕͷґଘؔ Λߟ͑Δඞཁ͋Γ·ͤΜɻ ࡞͞ΕͨϦιʔεɺελοΫͱ͍͏୯ҐͰཧ͞Ε·͢ɻ ɹςϯϓϨʔτͰϦιʔεͷґଘؔ ɹߟ͑Δඞཁ͕͋Γ·͢ɻ
$MPVE'PSNBUJPOͱ $MPVE'PSNBUJPOͷ͓͞Β͍ IUUQTEPDTBXTBNB[PODPNKB@KQ"84$MPVE'PSNBUJPOMBUFTU6TFS(VJEFDGOXIBUJTIPXEPFTJUXPSLIUNMΑΓҾ༻ :".-+40/ͰςϯϓϨʔτϑΝΠϧΛ࡞͠ɺϦιʔεͷ ϓϩϏδϣχϯάΛߦ͏͜ͱ͕Ͱ͖ΔαʔϏεͰ͢ɻ "84ϦιʔεΛݸผʹ࡞ɺઃܭͯ͠ɺͦΕͧΕͷґଘؔ Λߟ͑Δඞཁ͋Γ·ͤΜɻ ࡞͞ΕͨϦιʔεɺελοΫͱ͍͏୯ҐͰཧ͞Ε·͢ɻ ɹෳςϯϓϨʔτΛ͏߹ɺෳͷελοΫ͕Ͱ͖·͢ɻ ɹελοΫؒͰͷґଘ͕ؔൃੜ͠·͢ɻ
$MPVE'PSNBUJPOͱ $MPVE'PSNBUJPOͷ͓͞Β͍ IUUQTEPDTBXTBNB[PODPNKB@KQ"84$MPVE'PSNBUJPOMBUFTU6TFS(VJEFDGOXIBUJTIPXEPFTJUXPSLIUNMΑΓҾ༻ :".-+40/ͰςϯϓϨʔτϑΝΠϧΛ࡞͠ɺϦιʔεͷ ϓϩϏδϣχϯάΛߦ͏͜ͱ͕Ͱ͖ΔαʔϏεͰ͢ɻ "84ϦιʔεΛݸผʹ࡞ɺઃܭͯ͠ɺͦΕͧΕͷґଘؔ Λߟ͑Δඞཁ͋Γ·ͤΜɻ ࡞͞ΕͨϦιʔεɺελοΫͱ͍͏୯ҐͰཧ͞Ε·͢ɻ ɹ"84Λ͏Ҏ্ɺͲ͔͜Ͱґଘؔઈରʹग़͖ͯ·͢ɻ ɹґଘؔΛΘ͔Γ͘͢ཧ͢Δͷ͕؊ͩͱࢥ͍·͢ɻ
ࢲతਏ͍$MPVE'PSNBUJPO
ڊେͳςϯϓϨʔτ ࢲతਏ͍$MPVE'PSNBUJPO ಡΉͷ͕ΊͬͪΌେม w ͪΐͬͱͨ͠มߋͷσϓϩΠ͕ࠔ w ࠓΤϥʔ͕ग़ͯܧଓͰ͖Δ͔ΒϚγ w ॳճͷߏஙೲʹ༗༻͕ͩӡ༻ʹෆ͖ w
ҰൃͰγεςϜΛϓϩϏδϣχϯάͰ͖Δ w ςϯϓϨʔτ֎ͷґଘؔ࠷ݶ w ൈ͚࿙Ε͕ͳ͘ͳΔ
ͦͷ··ೖͰ͖ͳ͍ͷ ࢲతਏ͍$MPVE'PSNBUJPO ৽نελοΫ࡞Ͱಈ࡞͠ͳ͍ w ॳճͷΈͷରԠ͕ඞཁͰίϝϯτΞτͱ͔ w ྫʣ3%4ͳΒॳճ6TFS1BTTͷࢦఆ͕ඞཁ w Ξοϓσʔτ࣌ʹෆཁʹͳͬͯίϝϯτΞτ w
$POEJUJPOTl"84/P7BMVFͰ͍͍ײ͡ʹ͢Δ w ςϯϓϨʔτʹϦιʔε͕Ճ͞Εͯґଘ͕ؔൃੜ w $'OͰฒߦͯ͠Ϧιʔε͕࡞͞ΕΔ w ه͢Δͱॱ࣮࣍ߦ࣌ͳ͍ w ৽ن࡞ͰґଘؔΛղܾͰ͖ͣʹΤϥʔͱͳΔ w %FQFOET0O3FGͰґଘؔΛ໌ࣔ͢Δ
ΫϩεελοΫࢀরͷଟ༻ ࢲతਏ͍$MPVE'PSNBUJPO ࢀরݩͷελοΫͷআมߋ͕Ͱ͖ͳ͍ w ΫϩεελοΫࢀরͱ w ࢀরݩͷςϯϓϨʔτ&YQPSUͰύϥϝʔλ໊Λ༩ w ࢀরઌͷςϯϓϨʔτ*NQPSU7BMVFͰࢀরͰ͖Δ w
ࢀরݩͷελοΫͷআɺมߋ͕Ͱ͖ͳ͘ͳΔ w ӡ༻࣌ʹࠔΔέʔε͕ൃੜ͢ΔͷͰҙ w มߋ͕ଟ͍ελοΫͷ߹ҎԼΛར༻ w $MPVE'PSNBUJPOͷύϥϝʔλͰ͢ w "SOΛμΠφϛοΫࢀর͢Δ
ਏ͘ͳ͍$MPVE'PSNBUJPO
ςϯϓϨʔτఔΑ͍େ͖͞ ਏ͘ͳ͍$MPVE'PSNBUJPO ϦιʔεͷϥΠϑαΠΫϧͰ͚Δ w ॳظߏஙʹඞཁͳͷ w ࠪܥɿ$MPVE5SBJM $POpH (VBSE%VUZͳͲ w
*".ɿ*".6TFS (SPVQ 3PMF w ωοτϫʔΫɿ3PVUF 71$ *(8 /"5ͳͲ w ӡ༻ʹར༻͢Δͷ w 4/4 w $IBUCPU w Ӭଓతʹར༻͢Δͷ w 4 &$3 w 3%4 %ZOBNP%#
ελοΫ࡞ॱ͢ ਏ͘ͳ͍$MPVE'PSNBUJPO ΫϩεελοΫࢀরͰࠔΒͳ͍Α͏ʹ͢Δ w 3&"%.&Λ४උͯ͠هࡌ͢Δ w ϑΝΠϧʹ൪߸Λৼ͍͍ͬͯ w ΫϩεελοΫࢀর͍ͯ͠Δ͜ͱΛղΔΑ͏ʹ͢Δ w
(JUʹςϯϓϨʔτͱڞʹอଘཧ͢Δ w ESBXJPͰਤղҰॹʹίϛοτ͢Δͱ၆ᛌͰ͖Δ | テンプレート | 主なリソース | 説明 | | ------------- | ------------------------------ | ——————————————————————————————————————— | | Audit.yml | CloudTrail, Config, GuardDuty | 監査用 | | IAM.yml | IAM | IAM 作成 | | Network.yml | VPC, IGW, NAT, Route53 | VPC 作成, IPv4/IPv6, Route53 | | SNS.yml | SNS | 通知用 SNS Topics | | Chatbot.yml | Chatbot | Chatbot 通知作成, Audit/SNS 依存あり | | ECR.yml | ECR | ECR 作成 | | Datastore.yml | S3, KMS | ログ、リソース S3 | | DynamoDB.yml | DynamoDB | DynamoDB 作成 | | RDS.yml | RDS(Aurora Cluster), SG, SNS | Aurora 作成, VPC/SNS/Datastore 依存あり |
$MPVE'PSNBUJPOΛΘͳ͍ ਏ͘ͳ͍$MPVE'PSNBUJPO શͯΛ$'OͰແཧʹΒͳ͍ w ͔͠࡞ۀΛߦΘͳ͍ͷ$-*Ͱߦ͏ w $-*ͷίϚϯυΛͯ͠࠶ར༻͢Δ w "1*ͳͲͷόοΫΤϯυҰࣜผπʔϧָ͕ w
։ൃऀ͕ΨϦΨϦ։ൃ͢Δ෦ w 4FSWFSMFTT'SBNFXPSL 4". $%,Λ͏ w "1*(BUFXBZ -BNCEB w "-# &$4 w $*$%ύΠϓϥΠϯ
·ͱΊ
ແཧͷͳ͍ൣғͰ$'OΛ͓͏ ·ͱΊ w ςϯϓϨʔτఔΑ͍େ͖͞ʹ w ϥΠϑαΠΫϧͰΓ͚Δ w มԽ͕গͳ͍ͷΫϩεελοΫࢀর͢Δ w ґଘ͕ؔग़ͯ͠·͏͕3&"%.&Ͱิ
w ςϯϓϨʔτͷ࠶ར༻ੑΛ্͛Δ w $POEJUJPOT"84/P7BMVFΛ্खʹ͏ w Ұ͔͠Θͳ͍ͷผखஈ w $-*׆༻ w όοΫΤϯυ$'OΛੜ͢Δπʔϧָ͕ w 4FSWFSMFTT'SBNFXPSL 4". $%,
ؒืूத ΧδϡΞϧ໘ஊͯ͠·͢ w ϓϩδΣΫτϚωʔδϟʔ w 1.0#31%9ܦݧऀ w όοΫΤϯυΤϯδχΞ w "84
(P1ZUIPO %PDLFSܦݧऀ 1IPUP1",65"40 'POU.PSJTBXB