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
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
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
290
霧の中の代数的エフェクト
funnyycat
1
480
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
610
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4k
Built Our Own Background Agent at LayerX
layerx
PRO
9
5k
源内ハンズオン概要編
hideg
0
120
「人を評価する AI」の設計と実装
ryoyanara
0
180
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
150
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
300
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
590
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.4k
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
260
Featured
See All Featured
Practical Orchestrator
shlominoach
191
12k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
4 Signs Your Business is Dying
shpigford
187
22k
Embracing the Ebb and Flow
colly
88
5.1k
It's Worth the Effort
3n
188
29k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
WENDY [Excerpt]
tessaabrams
11
39k
Making the Leap to Tech Lead
cromwellryan
135
10k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ