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
230
TerraformとGitHub Actionsで手軽に実装するECSのCI/CD
Ken Takagi
May 24, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
スプリントゴールで価値を駆動しよう
takufujii
3
1.6k
iOS/Androidで無限循環Carousel表現を考えてみる
fumiyasac0921
0
110
初めてのGoogle Cloud by AWS出身者
harukasakihara
1
720
Oracle Database オプティマイザ・ヒントの活用
oracle4engineer
PRO
1
130
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
24k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
17k
オープンソースのハードウェアのコンテストに参加している話
iotengineer22
0
300
データ戦略部門 紹介資料
sansan33
PRO
1
3.1k
型がない世界に生まれ落ちて 〜TypeScript運用進化の歴史〜
narihara
1
200
グループ ポリシー再確認 ③
murachiakira
0
140
面接を通過するためにやってて良かったこと3選
sansantech
PRO
0
100
toittaにOpenTelemetryを導入した話 / Mackerel APM リリースパーティ
cohalz
1
250
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
RailsConf 2023
tenderlove
30
1.1k
The Language of Interfaces
destraynor
158
25k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
740
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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ΞϓϦέʔγϣϯΛ࣮ʂ ίϛϡχςΟʹײँʂ