๊ตฌ๊ธ ์ฑ ์์ง (Google App Engine,ย GAE)์ย ๊ตฌ๊ธ์์ ์ ๊ณตํ๋ ์๋น์ค ์ค ํ๋์ด๋ฉฐ, ์น ์์ฉ ํ๋ก๊ทธ๋จ์ PHP ยท Python ยท Java ยท Go ยท Javascript ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ๊ณ ๊ตฌ๊ธ์ ์ธํ๋ผ์์ ์คํํ๊ณ ๋ฒ์ ๊ด๋ฆฌํ ์ ์๋ค.
์ถ์์ผ์ด 2008๋
์ด๋ผ ์ด๊ธฐ ํด๋ผ์ฐ๋ ํ๊ฒฝ ๋ ๋
์ ์ผ๋ก ๋ง์ด ์ฌ์ฉ๋์๊ณ ์์ง๊น์ง ์ฌ์ฉํ๊ณ ์๋ ๊ธฐ์
๋ ์๋ค.
GAE ๋ด ์๋น์ค๋ณ ๋ฌด๋ฃ ํ ๋น๋์ด ์์ด์ ์ด๊ธฐ ์คํํธ์
๋จ๊ณ์์ ์ ๋ ดํ๊ฒ ์ด์ฉ ๊ฐ๋ฅํ๋ค.
ย
ํ์ฌ๊น์ง๋ Python์ผ๋ก Django ๋ฐฐํฌ์ Javascript nodejs ํ๊ฒฝ์ผ๋ก ํ๋ก ํธ ๋ฐฐํฌ๋ฅผ ํด๋ดค๋ค.
ย
๋ฐฐํฌ
๋ฐฐํฌ๋ ๊ฐ๋จํ๊ฒ app.yaml ์ผ๋ก YAML ํ์ผ์ ๊ตฌ์ฑํ ๋ค gcloud app deploy ๋ช
๋ น์ด๋ฅผ ํตํด ๊ฐ๋ฅํ๋ค.
์ฌ๊ธฐ์์ ์ธ๋ถ CLI์ ๋ํด ๋์จ๋ค.
ย
ignore file
๋ฐฐํฌ ํ ๋ ๋ก์ปฌ์ ์๋ ๋ชจ๋ ํ์ผ์ด ๋ค ํด๋ผ์ฐ๋๋ก ์
๋ก๋ ๋๊ธฐ ๋๋ฌธ์ ํ์์๋ ํ์ผ๋ค์ ignore ํ์ผ์ ๋ฃ์ด ๋ฌด์๋๊ฒ ํ ์ ์๋ค.
.gcloudignore ํ์ผ๋ช
์ ๋ฃ๊ธฐ
ย
๊ธฐํ CLI options ์ค ์๋ฉด ์ข์ ๊ฒ์ no-promote์ด๋ค.
๊ธฐ๋ณธ๊ฐ์ promote(๋ฐฐํฌํ์๋ง์ ๋ฐ๋ก ์ ๋ฒ์ ์ผ๋ก ๋ชจ๋ ํธ๋ํฝ ์ฎ๊น)์ธ๋ฐ no-promote๋ก ํ๋ฉด ํธ๋ํฝ์ ๊ธฐ์กด๊ณผ ์ ์งํ ์ํ๋ก ์๋ก์ด ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๋ค. ์๋ก์ด ๋ฒ์ ์ผ๋ก ํ
์คํธ ํ ๋ค์ ์ ์์ผ ๋ ํธ๋ํฝ ์ฎ๊ธฐ๊ณ ์ถ๋ค๋ฉด ์ด ์ต์
์ ์ฌ์ฉํ๋ฉด ๋๋ค.
gcloud app deploy --no-promote
ย
GAE console
Dashboard
๊ฒฐ์ ์ํ, ํ์ฌ ๋ถํ, ์ ํ๋ฆฌ์ผ์ด์
์ค๋ฅ, ์๋ฒ ์ค๋ฅ, ํด๋ผ์ด์ธํธ ์ค๋ฅ ํ์ธ ๊ฐ๋ฅํจ.
ย
๋ง์ด ๋ฐ์ํ๋ ์ค๋ฅ์์ผ๋ก ์ ๋ ฌ๋๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์ ํ์ธํ๊ณ ์์ ํ๋ฉด ๋๋ค.
ย
Service
๋จ์ํ ๋ฐฐํฌ๋ ์๋น์ค ๋ชฉ๋ก์ ๋ณผ ์ ์๋ ํ์ด์ง. ํ์ฌ๊น์ง์ ๋ฐฐํฌ๋ ๋ฒ์ ์ ํ์ธ ๊ฐ๋ฅํ๊ณ ๋์คํจ์น๊ฐ ์ค์ ๋์ด ์๋ค๋ฉด ์ฌ๊ธฐ์ ๋ณผ ์ ์๋ค.
ย
Dispatch๋ dispatch.yaml ํ์ผ์ ๋ง๋ค๊ณ ๊ฐ๋ฅํจ.
๋ง์ฝ datepop.co.kr์ default ์๋น์ค๋ก ๊ฐ๋๋ฐ datepop.co.kr/ceo/๋ ๋ค๋ฅธ ์๋น์ค(์. ceo)๋ก ๋ณด๋ด๊ณ ์ถ๋ค๋ฉด dispatch ์ค์ ์ ํตํด์ ๊ฐ๋ฅํ๋ค.
์๋น์ค๋ฅผ A, B, C, D๋ง๋ค๊ณ ์๋์ ๊ฐ์ด ๊ฐ๋ฅํจ.
- datepop.co.kr/A/ โ ์๋น์ค A
- datepop.co.kr/B/ โ ์๋น์ค B
- datepop.co.kr/C/ โ ์๋น์ค C
- datepop.co.kr/D/ โ ์๋น์ค D
๊ด๋ จ ๋ฌธ์ โผ
Version
๊ฐ ์๋น์ค ๋ณ ์ถ์๋ ๋ฒ์ ์ ๋ณผ ์ ์์. ๋ฒ์ ๋ช
์ ๋ฐฐํฌ ํ ๋ ๋ฐ๋ก ๋ช
์ํ์ง ์์ผ๋ฉด ์๋์ฒ๋ผ ์๋์ผ๋ก ๋ ์ง์๊ฐ์ผ๋ก ๋งค๊ฒจ์ง.
ย
ํ์ฌ ํธ๋ํฝ ํ ๋น๋ ๋ฒ์ ํ์ธ ๊ฐ๋ฅํ๊ณ ์ธ์คํด์ค ์๋ ํ์ธ ๊ฐ๋ฅ. ์คํ ์ค์ด์ง๋ง ์ค์ ๋ก ๋ค์ด์ค๋ ์ ์ ๊ฐ ์๋ค๋ฉด ์ธ์คํด์ค๊ฐ 0์ผ๋ก ํ์ ๋ ์ ์์.
ย
ํด๋น ๋ฒ์ ์ ํฌ๊ธฐ๋ ๋ณผ ์ ์์. ignoreํ์ผ์ ํตํ์ง ์๊ณ ๋ชจ๋ ํ์ผ์ ๋ฐฐํฌํ๊ฑฐ๋ ์ด๋ฏธ์ง ํ์ผ๋ค์ด ๋๋ฌด ํฐ ๊ฒฝ์ฐ๋ ์ด ํฌ๊ธฐ๊ฐ 1GB๊ฐ ๋์ ์๋ ์์.
ย
๋ฒ์ ์ฒดํฌํ๊ณ ํธ๋ํฝ ๋ง์ด๊ทธ๋ ์ด์
ํด๋ฆญํด์ ์ด์ ๋ฒ์ ์ผ๋ก ํธ๋ํฝ ์ด์ ๋ ๊ฐ๋ฅํจ. ์๋ก ๋ฐฐํฌํ ๋ฒ์ ์ด ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ์ ํด๋ฆญ์ผ๋ก ๊ฐ๋จํ ์ด์ ๋ฒ์ ์ผ๋ก ์ฎ๊ธธ ์ ์์.
ย
ย
Instance
Dashboard์ ๋์ผํ๊ฒ ์ธ์คํด์ค ํต๊ณ ์ฐจํธ๋ฅผ ๋ณผ ์ ์๊ณ ์๋์ ํ์ฌ ์๋น์ค์ ๋ ์๋ ์ธ์คํด์ค๋ฅผ ๋ณผ ์ ์๊ณ ์ฒดํฌํด์ ์ญ์ ๋ ๊ฐ๋ฅํ๋ค.
ย
Taskqueue
๋ค์ด๊ฐ๋ฉด Cloud Tasks ํ๋ฉด์ผ๋ก ์ด๋ํจ.
์ด๋ํ์ง๋ง GAE์์ queue.yaml๋ก ํ์คํฌํ๋ฅผ ์ ์ํ๊ณ ๋ฐ์ ๊ฐ๋ฅํ ๊ฒ์ ๋์ผํจ.
ย
queue ํ๋๋ฅผ ํด๋ฆญํด์ ๋ค์ด๊ฐ๋ฉด ์ธก์ ํญ๋ชฉ, ๋ก๊ทธ, ํ์คํฌ, ๊ตฌ์ฑ์ ๋ณผ ์ ์์.
ย
ํ์ฌ์์ ํ์ธํ๊ฒ์ธ๋ฐ 21๋
๋์ ์์ฑ๋๊ฒ ๋ฌดํ ์ฌ์๋ ๋์ด์ ์ง๊ธ๊น์ง 14000๋ฒ ๋๊ฒ ์คํ ์ค์ธ๊ฒ์ ๋ดค๋ค. 21๋
3์์ ๋ด๊ฐ ์
์ฌํ๊ธฐ ์ด์ ์ด๋ผ ๋คํ์ด๋ค.. ๋ฒ์ธ์ ๋๊ตด๊น?
์ด์ ๋๋ฉด ๋ง์ ์ผ์ ํ์ผ๋ ์ด Task๋ ์์ฝ๊ฒ๋ ์ญ์ ํด์คฌ๋ค..
ย
Cronjob
ย
ย
Firewall
ย
ย
Quota
ย
ย
Memcache
ย
ย
ย
Settings
ย
ย