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
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
390
echoサーバーを書いてI/Oと仲良くなる話
kariyayo
3
880
SpringはどうやってDIしているのか? #jjug_ccc
kariyayo
4
3.6k
近況報告といろいろ作るのが楽しい話 #yokohama_north
kariyayo
0
920
目指せ3つ星インデックス #yokohama_north
kariyayo
2
890
Spring Boot と Swagger #渋谷java
kariyayo
4
5.8k
Gradleを使えるようになるために
kariyayo
0
120
Other Decks in Programming
See All in Programming
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
3
1k
不幸な GC
chencmd
0
880
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
MySQLとPostgreSQLって何が違うの?
akagami
PRO
0
160
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
660
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
1
470
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
180
이 함수, 실패하면 어떻게 되나요? null부터 Rich Errors까지, Kotlin 에러 처리 15년
haeti2
0
130
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
140
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
280
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.5k
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.2k
The SEO Collaboration Effect
kristinabergwall1
1
550
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.6k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Writing Fast Ruby
sferik
630
63k
Documentation Writing (for coders)
carmenintech
77
5.5k
Deep Space Network (abreviated)
tonyrice
0
290
A Modern Web Designer's Workflow
chriscoyier
698
190k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
510
Testing 201, or: Great Expectations
jmmastey
46
8.3k
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 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ