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
TerraformとGitHub Actionsで手軽に実装するECSのCI/CD
Search
Ken Takagi
May 24, 2025
Technology
0
210
TerraformとGitHub Actionsで手軽に実装するECSのCI/CD
Ken Takagi
May 24, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
CloudTrailも、GuardDutyも、VPC Flow logsも… ログ多すぎ問題の整理術
nikuyoshi
2
360
「祝」Desktop Linux 元年 2025年度版
rlysleepynick
0
110
AWS LambdaをTypeScriptで動かして分かった、Node.jsのTypeScriptサポートの利点と課題
smt7174
1
2.5k
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
17k
NAB Show 2025 動画技術関連レポート / NAB Show 2025 Report
cyberagentdevelopers
PRO
1
210
テスト設計チュートリアル ちびこん編 ’25
omn
1
380
VPC Reachability AnalyzerAnalyzer~実務での使いどころ
masakiokuda
1
290
golang-migrate VS Atlas !? 技術選定のポイントと学び ~DBマイグレーションツール選定の実例を通して~ / golang-migrate vs Atlas ! What is the point of technology selection and what you can learn from the examples of DB migration tool selection?
nttcom
0
150
AI駆動時代の新規事業の作り方
ryohysk
2
130
君だけのオリジナル async / await を作ろう / TSKaigi 2025
susisu
12
5.2k
Modular RAG Architectures with Java and Spring AI
thomasvitale
0
230
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-not-bad
hanhan1978
8
11k
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
430
65k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Being A Developer After 40
akosma
91
590k
Scaling GitHub
holman
459
140k
Facilitating Awesome Meetings
lara
54
6.4k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
BBQ
matthewcrist
88
9.6k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Transcript
5FSSBGPSNͱ(JU)VC"DUJPOTͰ खܰʹ࣮͢Δ&$4ͷ$*$% +"846(ಢ ߴ݈
ࣗݾհ • ໊લɿߴ݈ • ॴଐɿओʹ৯Λച͍ͬͯΔECاۀ • ϩʔϧɿSite Reliability Engineer (SRE)
• झຯɿεʔύʔમ౬ɺΩϟϯϓɺϥʔϝϯ
ຊεϥΠυͰऔΓѻ͏ൣғ w ͢͜ͱ w &$4ʹσϓϩΠ͢ΔΞϓϦέʔγϣϯͷ$*$% w ͞ͳ͍͜ͱ w &$4Ϋϥελࣗମ"-#ͳͲΠϯϑϥͷ$*$% w
πʔϧΛ͏ͨΊͷৄࡉͳखॱίʔυͷ࣮༰
&$4ͷ$*$%ࣄྫΛௐ͍ͯ͘
&$4ͷ$*$%ͷ͞·͟·ͳબࢶ w "84$PEFγϦʔζ w $PEF$PNNJU ˞Λͬͯ৽نར༻ͷडΛऴྃʣ w $PEF#VJME w $PEF%FQMPZ
w $PEF1JQFMJOF w (JU)VC"DUJPOT w FDTQSFTTP w IUUQTHJUIVCDPNLBZBDFDTQSFTTP w "84$PQJMPU બࢶ͕ଟ͍ʂ σϑΝΫτͱݴ͑Δͷແͦ͞͏
νʔϜͷεΩϧηοτ ߏஙͷ༰қ͞Λߟྀ
ͨͲΓண͍ͨߏ
ͨͲΓண͍ͨߏ NBJOϒϥϯνͷQVTIΛτϦΨʔʹ %PDLFS fi MFͷϏϧυɺ&$3ͷQVTIɺ FTQSFTTPEFQMPZΛ࣮ߦ ίϯςφΠϝʔδͷλάΛ ίϛοτϋογϡʹ͢Δ͜ͱͰ τϨʔαϏϦςΟΛ֬อ
ͨͲΓண͍ͨߏ 5FSSBGPSNͷൣғ σʔλετΞʹ"84αʔϏεΛ࠾༻ ͢Δ߹
ͨͲΓண͍ͨߏ FDTQSFTTPͷൣғ
FDTQSFTTPͷ͍ํ w ͭͷϑΝΠϧΛ༻ҙ͢Δ w $-*AFDTQSFTTPAίϚϯυͰ&$4αʔϏεɾλεΫʹؔ͢Δૢ࡞ &$4ͷαʔϏεఆٛ &$4ͷλεΫఆٛ FDTQSFTTPͷઃఆ
FDTQSFTTPΛ͏͜ͱͷخ͠͞ w ϥΠϑαΠΫϧ͕ҟͳΔΞϓϦͱΠϯϑϥͷڥք͕໌֬ w සൟʹߋ৽͞ΕΔΞϓϦ w ΞϓϦ΄Ͳසൟʹߋ৽͞Εͳ͍Πϯϑϥ w 5FSSBGPSN4UBUFΛࢀরͯ͠γʔϜϨεʹ࿈ܞՄೳ ecspresso.yaml
- aws-actions/configure-aws-credentials - aws-actions/amazon-ecr-login - docker/setup-buildx-actio - docker/build-push-action - kayac/ecspresso
- shell: ecspresso deploy w ͭͷ"DUJPOT TIFMMΛར༻ (JU)VC"DUJPOTͷ࣮
w 3FTPVSDF w ΫϥυϦιʔεͷఆٛ w 5FSSBGPSN.PEVMF w ෳͷϦιʔεΛ·ͱΊͯఆٛ͢ΔςϯϓϨʔτͷΑ͏ͳͷ w 5FSSBGPSN3FHJTUSZ
w )BTIJ$PSQͷެࣜϢʔβʔίϛϡχςΟ͕࡞ͨ͠.PEVMF͕ެ ։͞Ε͍ͯΔϨδετϦ 5FSSBGPSNͷ࣮
w 3FTPVSDF w ΫϥυϦιʔεͷఆٛ w 5FSSBGPSN.PEVMF w ෳͷϦιʔεΛ·ͱΊͯఆٛ͢ΔςϯϓϨʔτͷΑ͏ͳͷ w 5FSSBGPSN3FHJTUSZ
w )BTIJ$PSQͷެࣜϢʔβʔίϛϡχςΟ͕࡞ͨ͠.PEVMF͕ެ ։͞Ε͍ͯΔϨδετϦ 3FTPVSDFΛԿݸॻ͘ͷେมʜ 5FSSBGPSNͷ࣮
w 3FTPVSDF w ΫϥυϦιʔεͷఆٛ w 5FSSBGPSN.PEVMF w ෳͷϦιʔεΛ·ͱΊͯఆٛ͢ΔςϯϓϨʔτͷΑ͏ͳͷ w 5FSSBGPSN3FHJTUSZ
w )BTIJ$PSQͷެࣜϢʔβʔίϛϡχςΟ͕࡞ͨ͠.PEVMF͕ެ ։͞Ε͍ͯΔϨδετϦ ࣗͰ࡞ͬͯϝϯςφϯε͢Δͷେมʜ 5FSSBGPSNͷ࣮
w 3FTPVSDF w ΫϥυϦιʔεͷఆٛ w 5FSSBGPSN.PEVMF w ෳͷϦιʔεΛ·ͱΊͯఆٛ͢ΔςϯϓϨʔτͷΑ͏ͳͷ w 5FSSBGPSN3FHJTUSZ
w )BTIJ$PSQͷެࣜϢʔβʔίϛϡχςΟ͕࡞ͨ͠.PEVMF͕ެ ։͞Ε͍ͯΔϨδετϦ ؆୯ʹ"84Ϧιʔεͷߏங͕Մೳʂ ͋Γ͕ͨ͘Θ͍ͤͯͨͩ͘ 5FSSBGPSNͷ࣮ ѹతײँͬɾɾɾʂ
w 5FSSBGPSN3FHJTUSZͷ.PEVMFΛར༻ - terraform-aws-modules/ecs/aws - terraform-aws-modules/ecr/aws - terraform-aws-modules/autoscaling/aws - terraform-aws-modules/security-group/aws
- terraform-aws-modules/alb/aws - terraform-aws-modules/acm/aws - terraform-aws-modules/route53/aws 5FSSBGPSNͷ࣮
ͨͲΓண͍ͨߏ ίϛϡχςΟʹΑͬͯϝϯςφϯε͞ΕΔ 5FSSBGPSN.PEVMFͱ(JU)VC"DUJPOTͰ $*$%·ͰؚΊͨ&$4ΞϓϦέʔγϣϯΛ࣮ʂ ίϛϡχςΟʹײँʂ