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
Apexで複数環境のLambda関数をデプロイする話 #jawsug
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kariyayo
July 14, 2016
Programming
2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Apexで複数環境のLambda関数をデプロイする話 #jawsug
kariyayo
July 14, 2016
More Decks by kariyayo
See All by kariyayo
MobX の話
kariyayo
0
380
echoサーバーを書いてI/Oと仲良くなる話
kariyayo
3
880
SpringはどうやってDIしているのか? #jjug_ccc
kariyayo
4
3.6k
近況報告といろいろ作るのが楽しい話 #yokohama_north
kariyayo
0
910
目指せ3つ星インデックス #yokohama_north
kariyayo
2
880
Spring Boot と Swagger #渋谷java
kariyayo
4
5.8k
Gradleを使えるようになるために
kariyayo
0
110
Other Decks in Programming
See All in Programming
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
210
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.5k
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
210
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
300
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
110
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
180
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
Go 1.27 における memory allocation の高速化
andpad
0
100
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
330
FDEが実現するAI駆動経営の現在地
gonta
2
270
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
540
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.4k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Limits of Empathy - UXLibs8
cassininazir
1
600
Design in an AI World
tapps
1
280
The Mindset for Success: Future Career Progression
greggifford
PRO
0
440
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
A Soul's Torment
seathinner
6
3.4k
The SEO identity crisis: Don't let AI make you average
varn
0
530
Thoughts on Productivity
jonyablonski
76
5.3k
Scaling GitHub
holman
464
140k
Code Reviewing Like a Champion
maltzj
528
40k
It's Worth the Effort
3n
188
29k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Transcript
"QFYͰෳڥͷ -BNCEBؔΛσϓϩΠ͢Δ +"846(ΞʔΩςΫνϟઐࢧ෦ΫϥυωΠςΟϒՊձ$%1ٞձ CBUJ UXJUUFS!CBUJ@
• -BNCEBͷσϓϩΠͲ͏Ζ͏ʁ • ࣗಈԽ͍ͨ͠
http://apex.run/ ͜ͷࢿྉͰ v0.10.2 Λରͱ͠·͢
"QFY • [JQ Ξοϓϩʔυ όʔδϣϯൃߦ ΤΠϦΞεͷߋ ৽Λͬͯ͘ΕΔ • ෳͷ-BNCEBؔΛѻ͑Δ •
(P • (PͰॻ͍ͨ-BNCEBؔʹରԠͯ͠Δ • ͳͲͳͲଞʹ৭ʑ
"QFY • ϓϩδΣΫτͱ͍͏୯ҐͰෳͷ-BNCEBؔΛཧ my-pj ├── functions/ │ ├── func1/ │
│ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js └── project.json
"QFY • ϓϩδΣΫτͱ͍͏୯ҐͰෳͷ-BNCEBؔΛཧ my-pj ├── functions/ │ ├── func1/ │
│ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js └── project.json { "name": "my-lambda-pj", "description": "", "runtime": "nodejs4.3", "memory": 128, "timeout": 5, "role": "arn:aws:iam::<hogehoge>" } QSPKFDUKTPOʹ-BNCEBͷઃఆΛهड़͢Δ
"QFY • ϓϩδΣΫτͱ͍͏୯ҐͰෳͷ-BNCEBؔΛཧ my-pj ├── functions/ │ ├── func1/ │
│ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js └── project.json ͰσϓϩΠ $ apex deploy
"QFY • "QFYΛબΜͩཧ༝ • ؆୯ʹ͑ͨɻΠϯετʔϧ؆୯ͩͬͨ • ϓϩδΣΫτ୯ҐͰཧͰ͖Δ • "1*(BUFXBZΘͳ͍ •
3VOUJNFͱͯ͠/PEFKTΛ͑Δ
ຊ൪ڥͱ։ൃڥͰ ผͷόʔδϣϯΛ͍͍ͨ
.VMUJQMF&OWJSPONFOUT • "QFYෳڥΛαϙʔτͯ͠Δ my-pj ├── functions/ │ ├── func1/ │
│ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js ├── project_dev.json └── project_prod.json 環境毎の設定ファイルを用意 • project_dev.json • project_prod.json
.VMUJQMF&OWJSPONFOUT • "QFYෳڥΛαϙʔτͯ͠Δ my-pj ├── functions/ │ ├── func1/ │
│ ├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js ├── project_dev.json └── project_prod.json $ apex deploy --env prod ͰσϓϩΠ
͔͠͠
"QFYͰͭͷ ΤΠϦΞε͔͠࡞ΒΕͳ͍
"QFYͷΤΠϦΞε • $633&/5ͱ͍͏ΤΠϦΞε͕όʔδϣϯΛࢦ͢ version1 CURRENT
"QFYͷΤΠϦΞε • $633&/5ͱ͍͏ΤΠϦΞε͕όʔδϣϯΛࢦ͢ version2 version1 CURRENT σϓϩΠޙ
ڥ͝ͱͷΤΠϦΞε ࡞Γ͍ͨͷ͚ͩͲ
http://apex.run/#how-do-you-manage-multiple-environments “It’s highly recommended to create separate AWS accounts for
staging and production environments.” • "QFYͰɺڥ͝ͱʹ"84ΞΧϯτΛ͚Δ ͜ͱΛਪͯ͠Δ
Θ͔Δ͚Ͳ
ͦ͏͍͔ͳ͍͜ͱ͋Δ
-BNCEBؔΛڥ͝ͱʹ ࡞ͬͯ͠·͓͏
• ઃఆϑΝΠϧͷOBNF@UFNQMBUFϓϩύςΟ my-pj ├── functions/ │ ├── func1/ │ │
├── index.js │ │ ├── note_modules/ │ │ └── package.json │ └── func2/ │ └── index.js ├── project_dev.json └── project_prod.json { ・・・, "nameTemplate": "・・・" }
• ઃఆϑΝΠϧͷOBNF@UFNQMBUFϓϩύςΟ • σϑΥϧτ \\1SPKFDU/BNF^^@\\'VODUJPO/BNF^^ • ڥຖͷઃఆϑΝΠϧͰαϑΟοΫεΛ͚ͭΔ \\1SPKFDU/BNF^^@\\'VODUJPO/BNF^^@EFW \\1SPKFDU/BNF^^@\\'VODUJPO/BNF^^@QSPE
• NZQK@GVOD@EFWͱ͍͏໊લͷ-BNCEBؔ • NZQK@GVOD@QSPEͱ͍͏໊લͷ-BNCEBؔ $ apex deploy --env
prod $ apex deploy --env dev
version2 version1 CURRENT version2 version1 CURRENT my-pj_func1_dev my-pj_func1_prod • -BNCEBؔࣗମ͕ผʹͳΔͷͰɺΤΠϦΞε͕
͔ͭ͠ͳͯ͘ڥຖʹ͍͚͕Մೳ
·ͱΊ
• -BNCEBؔͷσϓϩΠΛࣗಈԽ͍ͨ͠ • "QFY͍͍͢ • OBNF@UFNQMBUFΛͬͯڥຖͷ-BNCEBؔ Λ༻ҙ͢Εɺͭͷ"84ΞΧϯτͰෳ ڥʹରԠͰ͖Δ • OBNF@UFNQMBUF͍Βͳ͘ͳ͍ʁͱ͍͏JTTVF͕
্͕ͬͯΔͷͰࠓޙผͷํ๏ʹͳΔ͔ • IUUQTHJUIVCDPNBQFYBQFYJTTVFT
• -BNCEBؔͷσϓϩΠΛࣗಈԽ͍ͨ͠ • "QFY͍͍͢ • OBNF@UFNQMBUFΛͬͯڥຖͷ-BNCEBؔ Λ༻ҙ͢Εɺͭͷ"84ΞΧϯτͰෳ ڥʹରԠͰ͖Δ • OBNF@UFNQMBUF͍Βͳ͘ͳ͍ʁͱ͍͏JTTVF͕
্͕ͬͯΔͷͰࠓޙผͷํ๏ʹͳΔ͔ • IUUQTHJUIVCDPNBQFYBQFYJTTVFT ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ