๋ชจ๋“  App Engine ๋Ÿฐํƒ€์ž„์— ํ•„์š”ํ•œ ๊ฒฐ์ œ ๋ฐฉ๋ฒ•

2019๋…„ 11์›” 30์ผ๋ถ€ํ„ฐ ๊ณ„์ •์ด ์‹ ์šฉ์นด๋“œ์™€ ๊ฐ™์€ ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ƒˆ ๋ฒ„์ „์˜ App Engine ์•ฑ์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2021๋…„ 8์›” 9์ผ๋ถ€ํ„ฐ ๋ชจ๋“  App Engine ์•ฑ์„ ๊ณ„์† ์‹คํ–‰ํ•˜๋ ค๋ฉด ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ์š”๊ตฌ์‚ฌํ•ญ์€ ํ‘œ์ค€ ํ™˜๊ฒฝ์˜ ์ž๋ฐ” 8, Python 2.7, PHP 5, Go 1.11 ์•ฑ์„ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  App Engine ๋Ÿฐํƒ€์ž„์˜ ์•ฑ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

2021๋…„ 8์›” 9์ผ๋ถ€ํ„ฐ ์‹คํ–‰ ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์ด ์—†์œผ๋ฉด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

๊ณ„์ •์— ๋Œ€ํ•ด ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ด์•ผ ํ•˜์ง€๋งŒ App Engine ๋ฌด๋ฃŒ ๋“ฑ๊ธ‰์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ์ด์œ 

๋ชจ๋“  ๋Ÿฐํƒ€์ž„์— ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ๊ธฐ์™€ ์•…์šฉ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ App Engine์€ ๋‚˜๋จธ์ง€ Google Cloud์™€ ์—ฐ๊ณ„๋ฉ๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด App Engine์ด ํ™•์žฅ๋จ์— ๋”ฐ๋ผ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์ง€์›ํ•˜๋Š”๋ฐ ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ํˆฌ์žํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด์ œ ๋ชจ๋“  App Engine ๋Ÿฐํƒ€์ž„์€ Cloud Build๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค ์ค‘์— ์ปจํ…Œ์ด๋„ˆ์— ์•ฑ์„ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค. Cloud Build์—๋Š” ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์ด ์—†์œผ๋ฉด App Engine์— ๋ฐฐํฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. 2021๋…„ 8์›” 9์ผ๋ถ€ํ„ฐ ์‹คํ–‰ ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์ด ์—†์œผ๋ฉด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ์ œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ ์™ธ์—๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Cloud Build ๋ณ€๊ฒฝ์‚ฌํ•ญ์€ ์™„์ „ํžˆ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ˆ˜ํ–‰๋˜๋ฉฐ ๋ฐฐํฌ ๋ช…๋ น์–ด ๋˜๋Š” ๊ด€๋ฆฌ API์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Œ€๋กœ ์œ ์ง€

App Engine์˜ ๋ฌด๋ฃŒ ๋“ฑ๊ธ‰์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ‘œ์‹œ ๋‚ด์šฉ

ํ”„๋กœ์ ํŠธ์— ์˜ฌ๋ฐ”๋ฅธ ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์ด ์—†์œผ๋ฉด ๋‹ค์Œ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  • ์š”์ฒญ์ด ์•ฑ์— ์ „์†ก๋˜์—ˆ์„ ๋•Œ ๋ฐ˜ํ™˜๋˜๋Š” HTTP 500 ์˜ค๋ฅ˜

  • App Engine ๋กœ๊ทธ์— ํ‘œ์‹œ๋˜๋Š” ์•ฑ ๋กœ๊ทธ ํ•ญ๋ชฉ: '๊ฒฐ์ œ๊ฐ€ ์‚ฌ์šฉ ์ค‘์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.'

ํ•„์š”ํ•œ ์ž‘์—…

App Engine ์•ฑ์ด ํ‘œ์ค€ App Engine ํ™˜๊ฒฝ์—์„œ ์ž๋ฐ” 8, Python 2.7, PHP 5, Go 1.11 ๋Ÿฐํƒ€์ž„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ”„๋กœ์ ํŠธ์— ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์— ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. ๊ฒฐ์ œ ๊ณ„์ •์ด ์—†๋Š” ๊ฒฝ์šฐ ๊ฒฐ์ œ ๊ณ„์ •์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  2. ์‹ ์šฉ์นด๋“œ ๋˜๋Š” ๋‹ค๋ฅธ ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

  3. ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฒฐ์ œ ๊ณ„์ •์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ์ œ ์ˆ˜๋‹จ ์ถ”๊ฐ€, ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

์ด๋Ÿฐ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ์ด์œ 

์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋‹ค์Œ ๋ชฉํ‘œ๋ฅผ ์œ„ํ•ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • App Engine์—์„œ ์‚ฌ๊ธฐ ํ–‰์œ„ ์ค„์ด๊ธฐ

  • App Engine๊ณผ ๋‹ค๋ฅธ Google Cloud์„œ๋น„์Šค์˜ ํ†ตํ•ฉ ํ–ฅ์ƒ

App Engine์—์„œ ์‚ฌ๊ธฐ ํ–‰์œ„ ์ค„์ด๊ธฐ

์‚ฌ๊ธฐ ํ–‰์œ„๋Š” App Engine ๋ฐ Google์˜ ๋ชจ๋“  ํ•ฉ๋ฒ•์ ์ธ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ”ผํ•ด๋ฅผ ์ค๋‹ˆ๋‹ค. Google ์—”์ง€๋‹ˆ์–ด๋งํŒ€ ๋ฐ ์ง€์›ํŒ€์€ ํ—ˆ์œ„ ์‚ฌ์šฉ์„ ๋ฐฉ์ง€, ๋ชจ๋‹ˆํ„ฐ๋ง, ์ง„๋‹จํ•˜๋Š” ๋ฐ ์ƒ๋‹นํ•œ ์‹œ๊ฐ„์„ ํˆฌ์žํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ํ•ฉ๋ฒ•์ ์ธ ๊ณ ๊ฐ์—๊ฒŒ ์ œ๊ณต๋˜๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ๊ธฐ ํ–‰์œ„๋Š” Google์— ๋น„์šฉ์„ ๋ฐœ์ƒ์‹œํ‚ค๋ฏ€๋กœ App Engine ๊ฐ€๊ฒฉ ์ฑ…์ •์— ๋ฐ˜์˜๋˜์–ด ๊ฐ€๊ฒฉ์ด ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ฒฐ์ œ ๋ฐฉ๋ฒ•์„ ์š”๊ตฌํ•˜์—ฌ ์‚ฌ๊ธฐ ํ–‰์œ„๊ฐ€ ์ค„์–ด๋“  ์ƒˆ๋กœ์šด ๋Ÿฐํƒ€์ž„์— ๋Œ€ํ•œ ์ง์ ‘์ ์ธ ์ฆ๊ฑฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

App Engine๊ณผ ๋‹ค๋ฅธ Google Cloud ์„œ๋น„์Šค ํ†ตํ•ฉ

Google Cloud์— ์•ž์„œ 2008๋…„์— ์ถœ์‹œ๋œ App Engine์€ ํ†ตํ•ฉํ•  ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์™„์ „ํžˆ ๋…์ ์ ์ธ ์ปค์Šคํ…€ ์•„ํ‚คํ…์ฒ˜๋กœ ๋นŒ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ Google Cloud ๋Š” ์ •๊ตํ•œ ๋Œ€ํ˜• ํ”Œ๋žซํผ์ด๋ฉฐ ๊ณ ๊ฐ์€ App Engine๊ณผ Google Cloud์—์„œ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค๊ฐ€ ์›ํ™œํ•˜๊ฒŒ ํ†ตํ•ฉ๋˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ฆฌ์Šค VPC ์•ก์„ธ์Šค๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ Google Cloud ์„œ๋น„์Šค์™€ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด App Engine์„ Compute Engine VM ๋ฐ Google Kubernetes Engine ํด๋Ÿฌ์Šคํ„ฐ์™€ ๋™์ผํ•œ VPC ๋‚ด์— ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ†ตํ•ฉ์˜ ์ผํ™˜์œผ๋กœ App Engine ๋นŒ๋“œ๋ฅผ Cloud Build๋กœ ์ด์ „ ์ค‘์ด๋ฉฐ, ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ƒ์„ธ ๊ฒฝ๊ณ  ๋ฐ ์˜ค๋ฅ˜๋ฅผ ํฌํ•จํ•œ ์ž์„ธํ•œ ๋นŒ๋“œ ์ถœ๋ ฅ

  • Cloud Console์˜ Cloud Build ์„น์…˜์—์„œ ๋นŒ๋“œ ๊ธฐ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ

  • (์ง€์› ์˜ˆ์ •) App Engine ๋Ÿฐํƒ€์ž„์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ „ ์ •์˜๋œ ์ง‘ํ•ฉ ์™ธ์— ์ฝ”๋“œ์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ

๊ฑฐ์˜ ๋ชจ๋“  Google Cloud ์„œ๋น„์Šค์— ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ์ด๋Ÿฌํ•œ ์ถ”๊ฐ€ ํ†ตํ•ฉ์€ App Engine์—๋„ ๊ฒฐ์ œ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

Cloud Build ์‚ฌ์šฉ ๋น„์šฉ

Cloud Build์—๋Š” ๊ฒฐ์ œ ๊ณ„์ •๋‹น ๋นŒ๋“œ ์‹œ๊ฐ„์ด ๋งค์ผ 120๋ถ„์ด ์ฃผ์–ด์ง€๋Š” ๋ฌด๋ฃŒ ๋“ฑ๊ธ‰์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋นŒ๋“œ๋ฅผ ์™„๋ฃŒํ•˜๋Š” ๋ฐ 5๋ถ„์ด ๊ฑธ๋ฆฐ๋‹ค๋ฉด ํ•˜๋ฃจ 24๋ฒˆ ๋น„์šฉ ์—†์ด ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ ๋“ฑ๊ธ‰ ์ด์ƒ์˜ ๊ฐ€๊ฒฉ ์ฑ…์ •์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Cloud Build ๊ฐ€๊ฒฉ ์ฑ…์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋น„์šฉ ์ œํ•œ

๋‹ค์Œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ App Engine ๋น„์šฉ์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.