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
910
辛くない 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
クラウドを利用したサブスクリプションサービスに向けて内製化開発に切り替えた話
tomuro
2
140
SESからSendGridに変更したけど移行で問題が出た話
tomuro
1
1.1k
なぜ老舗企業がOktaでDXを実現できたのか?
tomuro
1
350
Serverless で運用を楽にしたい
tomuro
0
420
Amazon SES のバウンス率が急上昇 〜Amazon SES を止めてしまった日〜
tomuro
5
3.9k
DevOpsの推進からのFour Keysの計測へ
tomuro
1
1.5k
老舗企業が開発組織カルチャーの刷新を行い SaaS 戦略に切り替えた話
tomuro
4
1.4k
未経験からデータ基盤を1年で作ってみた
tomuro
1
1.2k
Okta Customer Identity Cloud (旧Auth0) の 採用に至った理由 〜モリサワの SaaS 戦略〜
tomuro
0
390
Other Decks in Technology
See All in Technology
Azureコストは水道代/The_47th_Tokyo_Jazug
aeonpeople
3
390
これまでのキャリアとこれからMLエンジニアとしてどう動くか
masatakashiwagi
1
700
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
24
7.2k
LLMの現在
pfn
PRO
3
1.3k
生成AIサービスPanorama AIご説明資料
sdt
0
300
バッチ処理のSLOをどう設計するか
rynsuke
7
590
LLMプロダクト事業の立ち上げにおける挑戦
layerx
PRO
7
1.5k
初心者が行く!サーバレスWebアプリ開発の道
nagaharutogawa
0
450
2023 Japan AWS Jr.Championsに選出されての振り返りとこれから
hiropy877
1
130
10分でわかるfreeeのQA
freee
0
260
中央集権体制からDataOpsへの転換 / centralized-to-dataops-transformation
pei0804
7
1.6k
データマネジメントを支える武器としてのメタデータ管理
10xinc
2
940
Featured
See All Featured
A better future with KSS
kneath
230
16k
What's new in Ruby 2.0
geeforr
335
31k
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
Happy Clients
brianwarren
91
6.3k
Scaling GitHub
holman
456
140k
Producing Creativity
orderedlist
PRO
335
39k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
178
11k
Optimizing for Happiness
mojombo
369
69k
Designing the Hi-DPI Web
ddemaree
275
33k
Embracing the Ebb and Flow
colly
78
4.1k
What the flash - Photography Introduction
edds
64
11k
How to name files
jennybc
62
92k
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