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
1
300
TerraformとGitHub Actionsで手軽に実装するECSのCI/CD
Ken Takagi
May 24, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
NewSQLや分散データベースを支えるRaftの仕組み - 仕組みを理解して知る得意不得意
hacomono
PRO
3
180
DatabricksにOLTPデータベース『Lakebase』がやってきた!
inoutk
0
120
開発生産性を測る前にやるべきこと - 組織改善の実践 / Before Measuring Dev Productivity
kaonavi
12
5.5k
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
190
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
390
赤煉瓦倉庫勉強会「Databricksを選んだ理由と、絶賛真っ只中のデータ基盤移行体験記」
ivry_presentationmaterials
2
370
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
51
20k
データグループにおけるフロントエンド開発
lycorptech_jp
PRO
1
110
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
480
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
3
17k
What’s new in Android development tools
yanzm
0
330
PO初心者が考えた ”POらしさ”
nb_rady
0
210
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
184
22k
Visualization
eitanlees
146
16k
Building Applications with DynamoDB
mza
95
6.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Navigating Team Friction
lara
187
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
The Cult of Friendly URLs
andyhume
79
6.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Producing Creativity
orderedlist
PRO
346
40k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
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ΞϓϦέʔγϣϯΛ࣮ʂ ίϛϡχςΟʹײँʂ