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
GitHub ActionsでLambdaコンテナをデプロイしてみた - NIFTY Tech...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ニフティ株式会社
PRO
November 02, 2023
Video
Resources
Programming
0
520
GitHub ActionsでLambdaコンテナをデプロイしてみた - NIFTY Tech Talk #15
ニフティ株式会社
PRO
November 02, 2023
Tweet
Share
Video
Resources
今さら聞けない!GitHub Actions超入門 - NIFTY Tech Talk #15
https://nifty.connpass.com/event/299800/
More Decks by ニフティ株式会社
See All by ニフティ株式会社
なぜISPでオリジナルカードゲームを作ったのか?制作者と対談 - NIFTY Tech Talk #25
niftycorp
PRO
0
63
「なぜかネットが遅い」を“見える化”する 〜マイ ニフティが繋ぐサポートと暮らし〜 - NIKKEI Tech Talk #39
niftycorp
PRO
0
390
InnerSource Summit 2025 Three points that promoted innersource activities
niftycorp
PRO
0
210
Maker Faire Tokyo 2025 出展うらばなし - NIFTY Tech Talk #25
niftycorp
PRO
0
87
Private Status Pageの設定と活用 〜インシデントレスポンスへの活用とStatus Page運用をどうするか?〜
niftycorp
PRO
0
140
ニフティのPagerDuty活用状況
niftycorp
PRO
0
120
会員管理基盤をオンプレからクラウド移行した時に起きた障害たち - asken tech talk vol.13
niftycorp
PRO
0
2.6k
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
1.1k
2025-07-08 InnerSource Commons Japan Meetup #14 【OST】チームの壁、ぶっ壊そ!壁の乗り越え方、一緒に考えよう!
niftycorp
PRO
0
120
Other Decks in Programming
See All in Programming
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
460
CSC307 Lecture 02
javiergs
PRO
1
780
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
470
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
Apache Iceberg V3 and migration to V3
tomtanaka
0
170
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
310
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
140
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
Oxlint JS plugins
kazupon
1
980
Featured
See All Featured
We Are The Robots
honzajavorek
0
160
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
100
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Fireside Chat
paigeccino
41
3.8k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
93
Navigating Team Friction
lara
192
16k
Site-Speed That Sticks
csswizardry
13
1.1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Balancing Empowerment & Direction
lara
5
890
Docker and Python
trallard
47
3.7k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
330
Transcript
Copyright © NIFTY Corporation All Rights Reserved. GitHub ActionsͰLambdaίϯςφΛ σϓϩΠͯ͠Έͨ
NIFTY Tech Talk #15 ࠓ͞Βฉ͚ͳ͍ʂGitHub Actionsೖ ଜদɹܒ χϑςΟגࣜձࣾ
Copyright © NIFTY Corporation All Rights Reserved. ࣗݾհ 2 χϑςΟגࣜձࣾ
ձһγεςϜάϧʔϓ ଜদ ܒ ୲ۀ • χϑςΟχϡʔε։ൃӡ༻ झຯ • αοΧʔ؍ઓ(ओʹJϦʔά) ◦ ԣFɾϚϦϊεͷαϙʔλʔ
Copyright © NIFTY Corporation All Rights Reserved. χϑςΟχϡʔε 3 PC
εϚϗ ΞϓϦ (iOS, Android)
Copyright © NIFTY Corporation All Rights Reserved. σϓϩΠ͢Δͷ 4 •
ࣗࣾCMSͰఆظग़ྗ͍ͯ͠ΔαΠτϚοϓ࡞ ◦ αΠτϚοϓݕࡧΤϯδϯ(GoogleͳͲ)ʹWebϖʔδΛ͑ΔϑΝΠϧ • ࣗࣾCMS٫͢ΔγεςϜ৽ͷҰͰαΠτϚοϓੜ͢ΔόονΛҠߦ • EventBridge + Lambda + S3ͷߏͰ࣮ • LambdaΧελϜϥϯλΠϜ(Go)Λར༻ͯ͠ɺίϯςφΠϝʔδͰσϓϩΠ ◦ ͜ͷ෦ΛࣗಈσϓϩΠͰ͖ΔΑ͏ʹͨ͠
Copyright © NIFTY Corporation All Rights Reserved. GitHub ActionsΛબΜͩཧ༝ 5
• ϞϊϨϙతͳϦϙδτϦͳͷͰɺCodeγϦʔζͰͷߏஙෳࡶʹͳΔ • কདྷతʹ։ൃঢ়گʹԠ͖ͨ͡Ίࡉ͔͍ϏϧυΛఏڙ͍ͨ͠ • GitHub Actionsͷํ͕ཧ͍͢͠ • GitHub ActionsͰͷσϓϩΠΛߏஙͨ͜͠ͱ͕ͳ͔ͬͨ
Copyright © NIFTY Corporation All Rights Reserved. σϓϩΠͷྲྀΕ 6 1.
masterdevelopʹpushͳͲͷΠϕϯτͰൃՐ ◦ pushworkflow_dispatchΠϕϯτΛར༻ 2. DockerΠϝʔδͷϏϧυ 3. ECR(Elastic Container Registry)ͷDockerΠϝʔδͷϓογϡ 4. Lambdaͷؔߋ৽ 2~4࠶ར༻ՄೳͳϫʔΫϑϩʔ(2ͱ3ɾ4ʹׂ)ʹ Γग़ͯ͠ɺಉ͡ॲཧΛෳͷϫʔΫϑϩʔͰ ఆٛ͠ͳ͍͍ͯ͘Α͏ʹͨ͠
Copyright © NIFTY Corporation All Rights Reserved. ࠶ར༻ՄೳͳϫʔΫϑϩʔ 7 •
job୯ҐͰϫʔΫϑϩʔΛ͍ճ͢͜ͱ͕Մೳ ◦ ͍ΘΏΔɺaction(actions/checkoutͳͲ)step୯Ґͷ͍ճ͠ ◦ Ұ࿈ͷॲཧΛڞ௨Խ͢Δ͜ͱ͕Ͱ͖Δ • usesͰݺͼग़͢͜ͱ͕Մೳ
Copyright © NIFTY Corporation All Rights Reserved. DockerΠϝʔδͷϏϧυ 8 •
ιʔείʔυͷऔಘ • DockerΠϝʔδͷΫϩείϯύΠϧڥઃఆ • DockerΠϝʔδͷϏϧυ
Copyright © NIFTY Corporation All Rights Reserved. ECRͷϓογϡ 9 •
OIDCͰͷAWSೝূ • AWSೝূΛར༻ͨ͠docker login • DockerΠϝʔδͷλά͚ • ECRͷDockerΠϝʔδͷϓογϡ
Copyright © NIFTY Corporation All Rights Reserved. Lambdaͷߋ৽ 10 •
OIDCͰͷAWSೝূ • Lambdaͷؔߋ৽
Copyright © NIFTY Corporation All Rights Reserved. ۤ࿑ͨ͠ 11 ࠶ར༻ՄೳͳϫʔΫϑϩʔಠಛͷ੍ݶ
• ݺͼग़͠ݩͷenvมΛ࠶ར༻ՄೳͳϫʔΫϑϩʔʹͤͳ͍ • jobͷதͰɺoutputʹग़ྗ͔ͯ͠Βɺ࠶ར༻ՄೳͳϫʔΫϑϩʔʹ͢Α͏ʹͨ͠
Copyright © NIFTY Corporation All Rights Reserved. ۤ࿑ͨ͠ 12 Docker
BuildxʹΑΔϚϧνΞʔΩςΫνϟϏϧυ͕͍ • GItHub Actionsͷ࣮ߦڥamd64(x86_64) • arm64ͷLambdaΛར༻ͨͨ͠Ίɺarm64ʹΫϩεϏϧυ • amd64Ͱ50sͷϏϧυ͕300s͔͔ͬͯऴΘΒͳ͍ • QEMUͰΫϩεϏϧυ͢Δ߹ʹΦʔόʔϔου͕ൃੜ͢Δ͜ͱ͕ط
Copyright © NIFTY Corporation All Rights Reserved. ۤ࿑ͨ͠ 13 ରॲࡦ
• ͦͷ··ؤுΔ • arm64ΛఘΊͯɺamd64ͰLambdaΛಈ͔͢ • ηϧϑϗετϥϯφʔΛར༻͢Δ • M1ϥϯφʔ(macos)Λར༻͢Δ • GitHub ActionsΛఘΊͯɺCodeγϦʔζΛར༻͢Δ
Copyright © NIFTY Corporation All Rights Reserved. ۤ࿑ͨ͠ 14 ରॲࡦ
• ͦͷ··ؤுΔ • arm64ΛఘΊͯɺamd64ͰLambdaΛಈ͔͢ • ηϧϑϗετϥϯφʔΛར༻͢Δ • M1ϥϯφʔ(macos)Λར༻͢Δ • GitHub ActionsΛఘΊͯɺCodeγϦʔζΛར༻͢Δ ྲྀੴʹݫ͍͠
Copyright © NIFTY Corporation All Rights Reserved. ۤ࿑ͨ͠ 15 ରॲࡦ
• ͦͷ··ؤுΔ • arm64ΛఘΊͯɺamd64ͰLambdaΛಈ͔͢ • ηϧϑϗετϥϯφʔΛར༻͢Δ • M1ϥϯφʔ(macos)Λར༻͢Δ • GitHub ActionsΛఘΊͯɺCodeγϦʔζΛར༻͢Δ ྲྀੴʹݫ͍͠ ؆୯ʹఘΊͨ͘ͳ͍
Copyright © NIFTY Corporation All Rights Reserved. ۤ࿑ͨ͠ 16 ରॲࡦ
• ͦͷ··ؤுΔ • arm64ΛఘΊͯɺamd64ͰLambdaΛಈ͔͢ • ηϧϑϗετϥϯφʔΛར༻͢Δ • M1ϥϯφʔ(macos)Λར༻͢Δ • GitHub ActionsΛఘΊͯɺCodeγϦʔζΛར༻͢Δ ྲྀੴʹݫ͍͠ ؆୯ʹఘΊͨ͘ͳ͍ ཧίετ͕ݫ͍͠
Copyright © NIFTY Corporation All Rights Reserved. ۤ࿑ͨ͠ 17 ରॲࡦ
• ͦͷ··ؤுΔ • arm64ΛఘΊͯɺamd64ͰLambdaΛಈ͔͢ • ηϧϑϗετϥϯφʔΛར༻͢Δ • M1ϥϯφʔ(macos)Λར༻͢Δ • GitHub ActionsΛఘΊͯɺCodeγϦʔζΛར༻͢Δ ྲྀੴʹݫ͍͠ ཧίετ͕ݫ͍͠ ௨ৗͷ20ഒίετ͕͔͔Δ ؆୯ʹఘΊͨ͘ͳ͍
Copyright © NIFTY Corporation All Rights Reserved. ۤ࿑ͨ͠ 18 ରॲࡦ
• ͦͷ··ؤுΔ • arm64ΛఘΊͯɺamd64ͰLambdaΛಈ͔͢ • ηϧϑϗετϥϯφʔΛར༻͢Δ • M1ϥϯφʔ(macos)Λར༻͢Δ • GitHub ActionsΛఘΊͯɺCodeγϦʔζΛར༻͢Δ ྲྀੴʹݫ͍͠ ཧίετ͕ݫ͍͠ ௨ৗͷ20ഒίετ͕͔͔Δ ఘΊͨ͘ͳ͍ ؆୯ʹఘΊͨ͘ͳ͍
Copyright © NIFTY Corporation All Rights Reserved. ۤ࿑ͨ͠ 19 dockerͷυΩϡϝϯτʹTips͕͋ͬͨ
• ίʔυΛϏϧυ͢Δ෦ͰΫϩεϏϧυ͢Δ • ΫϩείϯύΠϧͰ͖ΔݴޠͰ͋Εɺར༻Մ ೳͳճආࡦ • GoͷίϯύΠϧΛamd64ڥͰarm64ʹΫϩ είϯύΠϧ • ωΠςΟϒڥͷϏϧυͱ΄΅ಉ͡Ϗϧυ࣌ؒ ͰϏϧυ͕࣮ݱͰ͖ͨ https://docs.docker.com/build/guide/multi-platform/#build-using-cross-compilation
Copyright © NIFTY Corporation All Rights Reserved. ͨ͠ 20 ࠶ར༻ՄೳͳϫʔΫϑϩʔͷ࠾༻
• ൚༻ੑΛߴΊͨͷͰɺຊ൪ɾ։ൃͰಉ͡ϫʔΫϑϩʔϑΝΠϧͰ݁ • ಉ͡ߏͷόονΛ૿ͨ࣌͠ʹɺ࠶ར༻ՄೳͳϫʔΫϑϩʔΛݺͿ͚ͩͰɺࣗಈσ ϓϩΠΛߏஙͰ͖Δ
Copyright © NIFTY Corporation All Rights Reserved. ·ͱΊ 21 GitHub
ActionsͰLambdaίϯςφΛࣗಈσϓϩΠͰ͖ΔΑ͏ʹͨ͠ • GitHub ActionsͰؾܰʹࣗಈσϓϩΠΛߏஙͰ͖Δ • ࠶ར༻ՄೳͳϫʔΫϑϩʔศར • GitHub ActionsͰDockerͷϚϧνΞʔΩςΫνϟϏϧυʹҙ
Copyright © NIFTY Corporation All Rights Reserved.