์•ˆ๋…•ํ•˜์„ธ์š”?

์ฝ”๋”ฉํ•˜๋Š” ๋ชจ์ฃผ๋ถ€ ์ž…๋‹ˆ๋‹ค :)

์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ ๋งŒ๋“   ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๊ฐ€์ง€๊ณ 

Apache2๋ฅผ ์ด์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด ๋ณผ๊ฑฐ์—์š”!

formicae.tistory.com/23?category=815536

 

GCP(Google cloud platform)๋กœ ๋‚˜์˜ ์„œ๋ฒ„(Server) ๋งŒ๋“ค๊ธฐ - 6

์•ˆ๋…•ํ•˜์„ธ์š”? ์ฝ”๋”ฉํ•˜๋Š” ๋ชจ์ฃผ๋ถ€ ์ž…๋‹ˆ๋‹ค! ์ง€๋‚œ ๋ฒˆ ํฌ์ŠคํŒ…์— ์ด์–ด ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์„ค์ •์„ ๋งˆ๋ฌด๋ฆฌ ์ง€์–ด ๋ณด๋„๋ก ํ• ๊ฒŒ์š”! formicae.tistory.com/entry/GCPGoogle-cloud-platform%EB%A1%9C-%EB%82%98%EC%9D%98-%EC%84%9C%EB%B..

formicae.tistory.com

๋จผ์ €, ์•„๋ž˜ ๊ทธ๋ฆผ์—์„œ ๋ณด์ด๋Š” ์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญ ํ•ด์ฃผ์„ธ์š”

"Cloud shell ํ™œ์„ฑํ™”" ๋ˆ„๋ฅด๊ธฐ

Cloud shell์„ ์‚ฌ์šฉํ•ด์„œ ์ง์ ‘ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅ ํ•ด ๋ณผ๊ฑฐ์—์š”

Cloud shell์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ตฌ๊ธ€ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์‹œ๋ฉด ์ข‹์•„์š”!

cloud.google.com/shell/docs/using-cloud-shell?hl=ko

 

Cloud Shell ์‚ฌ์šฉ  |  Google Cloud

์ด ํŽ˜์ด์ง€์—์„œ๋Š” ์ƒˆ๋กœ์šด Google Cloud Shell ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜๊ณ  ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์„ธ์…˜ ์‹œ์ž‘ํ•˜๊ธฐ Google Cloud Console ์ƒ๋‹จ์˜ Cloud Shell ํ™œ์„ฑํ™” ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. Console ํ•˜๋‹จ์˜ ์ƒˆ ํ”„๋ ˆ์ž„

cloud.google.com

๋™์ž‘์„ ์‹œ์ผฐ์œผ๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด ํ„ฐ๋ฏธ๋„์ด ๋‚˜์˜ฌ๊ฒ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ์šฐ๋ฆฌ๋Š” Apache2๋ผ๋Š” ๊ฒƒ์„ ์„ค์น˜ํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด ๋ณผ ๊ฒ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ๋Š”  Apache2๋ฅผ ์„ค์น˜ํ•ด์•ผ๊ฒ ์ฃ ?

์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ค์‹œ๋‹ค.

sudo apt-get install -y -qq apache2-utils

์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ ๋ชจ์Šต

์ด์ œ ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

๊ทธ๋Ÿผ ์„œ๋ฒ„๋กœ ๊ฐ€์ƒ์˜ request๋ฅผ ๋ณด๋‚ด๋ณผ๊นŒ์š”? ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ค์‹œ๋‹ค!

ab -n 500 http://๋กœ๋“œ๋ฐธ๋Ÿฐ์„œํ”„๋ŸฐํŠธ์—”๋“œIP์ฃผ์†Œ:Port๋ฒˆํ˜ธ/

์ €์˜ ๊ฒฝ์šฐ์—๋Š” ์œ„์™€ ๊ฐ™์ด ์ž…๋ ฅํ•˜๋ฉด

ab -n 500 http://35.241.37.36:80/ ์ด ๋ฉ๋‹ˆ๋‹ค!

์—ฌ๋Ÿฌ๋ถ„๋“ค๋„ ๋ณธ์ธ์ด ๋งŒ๋“œ์‹  ํ”„๋ŸฐํŠธ์—”๋“œ์˜ IP์ฃผ์†Œ์™€ PORT ๋ฒˆํ˜ธ๋ฅผ ์ž˜ ์ž…๋ ฅํ•ด์ฃผ์‹œ๊ณ ,

๋ฐ˜๋“œ์‹œ Port ๋ฒˆํ˜ธ ๋’ค์— / ๋ฅผ ์จ์ฃผ์„ธ์š”!! ์•ˆ๊ทธ๋Ÿฌ๋ฉด ๋ช…๋ น์–ด๊ฐ€ ์ œ๋Œ€๋กœ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž˜ ์‹คํ–‰์ด ๋˜์—ˆ์œผ๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์€ ์ถœ๋ ฅ์ด ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

500๊ฐœ์˜ request๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์ž˜ ๋ณด๋ƒˆ๋‹ค๋Š” ๋œป์ด์ฃ !

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์ด ์ด request๋“ค์„ ์ฒ˜๋ฆฌํ•  ๋•Œ์˜ ์ƒํƒœ๋ฅผ ๋ณด๋ ค๋ฉด

VM์ธ์Šคํ„ด์Šค - ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน - ๋ชจ๋‹ˆํ„ฐ๋ง ์œผ๋กœ ๋“ค์–ด๊ฐ€ ์ค์‹œ๋‹ค.

์œ„์™€ ๊ฐ™์ด, ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ๋™์•ˆ์— ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์š”์ฒญ์ด ๋“ค์–ด์™”๊ณ ,

์„œ๋ฒ„์—์„œ ์ด๋ฅผ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ–ˆ๋‹ค๋Š” ๊ฒƒ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

์ด ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š”,

๋ณธ์ธ์ด ๋งŒ๋“  ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์™€ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์ด ์ ์ ˆํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์กŒ๋Š”์ง€,

๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉํ•˜๋ ค๋Š” ๋ชฉ์ ์— ๋งž๊ฒŒ ์ธ์Šคํ„ด์Šค์˜ ํ™•์žฅ ๋˜๋Š” CPU load๊ฐ€ ๊ณ ๋ ค ๋˜์—ˆ๋Š”์ง€๋ฅผ

ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ž…๋‹ˆ๋‹ค.

 

์ด๊ฒƒ์œผ๋กœ ์ด๋ฒˆ ์‹œ๋ฆฌ์ฆˆ์ธ GCP๋ฅผ ์ด์šฉํ•œ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ๋งŒ๋“ค๊ธฐ๋Š” ๋งˆ์น˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์˜ค๋Š˜๋„ ์žฌ๋ฏธ์žˆ๋Š” ์ฝ”๋”ฉ ํ•˜์„ธ์š” :)

 

์•ˆ๋…•ํ•˜์„ธ์š”?

์ฝ”๋”ฉํ•˜๋Š” ๋ชจ์ฃผ๋ถ€ ์ž…๋‹ˆ๋‹ค!

 

์ง€๋‚œ ๋ฒˆ ํฌ์ŠคํŒ…์— ์ด์–ด

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์„ค์ •์„ ๋งˆ๋ฌด๋ฆฌ ์ง€์–ด ๋ณด๋„๋ก ํ• ๊ฒŒ์š”!

formicae.tistory.com/entry/GCPGoogle-cloud-platform%EB%A1%9C-%EB%82%98%EC%9D%98-%EC%84%9C%EB%B2%84Server-%EB%A7%8C%EB%93%A4%EA%B8%B0-5?category=815536

 

GCP(Google cloud platform)๋กœ ๋‚˜์˜ ์„œ๋ฒ„(Server) ๋งŒ๋“ค๊ธฐ - 5

์•ˆ๋…•ํ•˜์„ธ์š”? ์ฝ”๋”ฉํ•˜๋Š” ๋ชจ์ฃผ๋ถ€ ์ž…๋‹ˆ๋‹ค! ์ ์  ์‹œ๋ฆฌ์ฆˆ๊ฐ€ ๋งˆ์ง€๋ง‰์„ ํ–ฅํ•ด ๊ฐ€๊ณ  ์žˆ๋„ค์š”! 1. GCP ์—์„œ ๋‚ด๋ถ€ / ์™ธ๋ถ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์„ ํƒํ•˜๊ธฐ ์ง€๋‚œ๋ฒˆ ํฌ์ŠคํŒ…์„ ๋‹ค ๋”ฐ๋ผ ํ•˜์…จ๋‹ค๋ฉด, formicae.tistory.com/entry/GCPGoogle-cloud

formicae.tistory.com


1. GCP์—์„œ ํ˜ธ์ŠคํŒ… ๋ฐ ๊ฒฝ๋กœ ๊ทœ์น™ ์ •ํ•˜๊ธฐ

๋จผ์ €, ์ƒ์„ฑํ•œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋ˆŒ๋Ÿฌ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์™ธ๋ถ€ IP๊ฐ€ ๋‚˜์™€ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค

์ด IP๋ฅผ ํ†ตํ•ด ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์ ‘๊ทผ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์ง€์š”.

๋งŒ์•ฝ ์ด IP๊ฐ€ ๊ณ ์ •์ด ์•„๋‹ˆ๋ผ๋ฉด, "VPC ๋„คํŠธ์›Œํฌ" - "์™ธ๋ถ€ IP์ฃผ์†Œ" ๋กœ ๊ฐ€์„œ

ํ•ด๋‹น IP๋ฅผ ๊ณ ์ • ์˜ˆ์•ฝ์„ ํ•ด ์ฃผ๋„๋ก ํ•ฉ์‹œ๋‹ค.

 

์ด ์™ธ๋ถ€ IP๋Š” ์ด์ œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋Œ€ํ‘œํ•˜๋Š” IP๋กœ์จ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ํ˜ธ์ŠคํŠธ ๋ฐ ๊ฒฝ๋กœ ๊ทœ์น™์„ ์‚ฌ์šฉํ•ด ๋ด…์‹œ๋‹ค.

์—ฌ๊ธฐ์—์„œ ํ˜ธ์ŠคํŠธ๋Š”, ํŠธ๋ž˜ํ”ฝ์„ ๋ฐ›๊ฒŒ ๋  ๋Œ€์ƒ์ด ๋˜๋Š” ์„œ๋ฒ„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์›๋ž˜๋Š” ๋ช…์‹œ์ ์œผ๋กœ IP๋ฅผ ์จ ์ฃผ์–ด์•ผ ํ•˜์ง€๋งŒ,

*  ๋ฅผ ์จ ์ฃผ๊ฒŒ ๋˜๋ฉด ์•Œ์•„์„œ ํ˜ธ์ŠคํŠธ๋ฅผ ๋งค์นญ ํ•ด์ค๋‹ˆ๋‹ค.

 

๊ธฐ๋ณธ์ ์ธ ํ˜ธ์ŠคํŠธ ๋ฐ ๊ฒฝ๋กœ ๊ทœ์น™์˜ ๋ชจ์Šต

ํ˜„์žฌ ์šฐ๋ฆฌ๋Š” ๋ฐฑ์—”๋“œ๋ฅผ ํ•˜๋‚˜๋ฐ–์— ์ƒ์„ฑํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—,

๊ตณ์ด ํ˜ธ์ŠคํŠธ์™€ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ, ์ถ”ํ›„์— ํ•„์š”ํ•  ๋•Œ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด

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

ํ˜ธ์ŠคํŠธ๋Š” ์ „๋ถ€ * ๋กœ ์ฒ˜๋ฆฌํ–ˆ๊ณ , ๊ฒฝ๋กœ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ํ•˜์—ฌ

์–ด๋–ค ๋ฐฑ์—”๋“œ๋กœ ์—ฐ๊ฒฐ๋˜๊ฒŒ ํ•  ์ง€๋ฅผ ์„ค์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•œ ํ˜ธ์ŠคํŠธ ๋ฐ ๊ฒฝ๋กœ ๊ทœ์น™์˜ ์˜ˆ์‹œ


2. GCP์—์„œ ํ”„๋ŸฐํŠธ ์—”๋“œ ๊ตฌ์„ฑํ•˜๊ธฐ

์ด์ œ ํ”„๋ŸฐํŠธ ์—”๋“œ๋ฅผ ๊ตฌ์„ฑ ํ•ด ๋ณผ ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค!

ํ˜„์žฌ ์šฐ๋ฆฌ๊ฐ€ ๊ตฌ์„ฑํ•œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋Š” http / https ์ด๋ฏ€๋กœ

์ด ๋‘๊ฐœ ์ค‘์—์„œ ์„ ํƒํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

https๋Š” http๋ณด๋‹ค ๋ณด์•ˆ์„ฑ์ด ๋” ๋†’์€ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ https ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ธ์ฆ์„œ๋ฅผ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

https ์ธ์ฆ์„ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์€ ์ถ”ํ›„์— ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ณ ,

ํ…Œ์ŠคํŠธ ํ•˜๋Š”๋ฐ์—๋Š” http๋งŒ ์‚ฌ์šฉํ•ด๋„ ๋ฌด๋ฆฌ๊ฐ€ ์—†์œผ๋ฏ€๋กœ http๋ฅผ ์„ ํƒ ํ•ด ์ค์‹œ๋‹ค.

ํ”„๋ŸฐํŠธ ์—”๋“œ ๊ตฌ์„ฑ ํ™”๋ฉด
ํ”„๋ก ํŠธ ์—”๋“œ๋ฅผ ์œ„ํ•ด ๊ณ ์ • IP๋ฅผ ํ•˜๋‚˜ ๋” ์˜ˆ์•ฝ ํ•ด ์ค์‹œ๋‹ค

์ด ๋•Œ ํฌํŠธ๋ฅผ ์™œ 3000๋ฒˆ์ด ์•„๋‹Œ, 80๋ฒˆ์ธ์ง€์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•˜์‹ค ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ ์šฐ๋ฆฌ๊ฐ€ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ์ „์ฒด์ ์ธ ๊ตฌ์„ฑ์€ ์•„๋ž˜์™€ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

(ํ˜„์žฌ๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์™€๋Š” Backend 1๋งŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ์ด๊ธด ํ•ฉ๋‹ˆ๋‹ค)

 

ํ”„๋ก ํŠธ ์—”๋“œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ตœ์ดˆ๋กœ ์š”์ฒญ์„ ํ•˜๋Š” ํ†ต๋กœ์ด๊ธฐ ๋•Œ๋ฌธ์—,

์„œ๋ฒ„(๋ฐฑ์—”๋“œ)์˜ ํฌํŠธ ๋ฒˆํ˜ธ์™€ ๋‹ฌ๋ผ๋„ ๊ด€๊ณ„๊ฐ€ ์—†๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ „์ฒด์ ์ธ ๊ตฌ์„ฑ๋„ (Backend 1 ๋งŒ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ์œผ๋‚˜, ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•จ์„ ํ‘œ์‹œ)

๋ฌธ์ œ ์—†์ด ์ƒ์„ฑ์ด ๋˜์—ˆ์œผ๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด ๋…น์ƒ‰ ์ฒดํฌ๊ฐ€ ๋‚˜ํƒ€๋‚  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ํด๋ฆญํ•˜์—ฌ ์„ธ๋ถ€์ •๋ณด๋ฅผ ๋ณด๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜์™€์žˆ์Šต๋‹ˆ๋‹ค.

GCP ๋‚ด๋ถ€์ ์œผ๋กœ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์˜ ์„ค์ •์— ์•ฝ 3~5๋ถ„์ •๋„๊ฐ€ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค.

๊ทธ ์ดํ›„๋กœ ํ”„๋ŸฐํŠธ ์—”๋“œ๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์‘๋‹ต์ด ์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด์ œ URL์— ํ”„๋ŸฐํŠธ์—”๋“œ์˜ host๋ฅผ ์ž…๋ ฅ ํ•ด์ฃผ๋ฉด

์•„๋ž˜์™€ ๊ฐ™์ด ์ •์ƒ์ ์ธ ์‘๋‹ต์ด ์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค!

ํ”„๋ŸฐํŠธ์—”๋“œ - ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ - ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋œ ๋ชจ์Šต

๋งˆ์ง€๋ง‰์œผ๋กœ, ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ์ด ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์ด์šฉํ•ด์„œ

์ธ์œ„์ ์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด๊ณ  VM์— ์–ผ๋งŒํผ์˜ ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฌ๋Š”์ง€,

๋‚ด๊ฐ€ ์„ ํƒํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ์˜ ์„ค์ •์ด ์ ํ•ฉํ•œ์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

 

๊ทธ๋Ÿผ, ์˜ค๋Š˜๋„ ์ฆ๊ฑฐ์šด ์ฝ”๋”ฉํ•˜์„ธ์š” :)

์•ˆ๋…•ํ•˜์„ธ์š”?

์ฝ”๋”ฉํ•˜๋Š” ๋ชจ์ฃผ๋ถ€ ์ž…๋‹ˆ๋‹ค!

์ ์  ์‹œ๋ฆฌ์ฆˆ๊ฐ€ ๋งˆ์ง€๋ง‰์„ ํ–ฅํ•ด ๊ฐ€๊ณ  ์žˆ๋„ค์š”!

 

1. GCP ์—์„œ ๋‚ด๋ถ€ / ์™ธ๋ถ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์„ ํƒํ•˜๊ธฐ

์ง€๋‚œ๋ฒˆ ํฌ์ŠคํŒ…์„ ๋‹ค ๋”ฐ๋ผ ํ•˜์…จ๋‹ค๋ฉด,

formicae.tistory.com/entry/GCPGoogle-cloud-platform%EB%A1%9C-%EB%82%98%EC%9D%98-%EC%84%9C%EB%B2%84Server-%EB%A7%8C%EB%93%A4%EA%B8%B0-4?category=815536

 

GCP(Google cloud platform)๋กœ ๋‚˜์˜ ์„œ๋ฒ„(Server) ๋งŒ๋“ค๊ธฐ - 4

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•ด๋ณด์ž (feat. VPC ๋„คํŠธ์›Œํฌ) ์•ˆ๋…•ํ•˜์„ธ์š”? ํ•œ๋ผ ์ฝ”๋”ฉ์ž…๋‹ˆ๋‹ค. ์ตœ๊ทผ์— ์ง‘๋“ค์ด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„ ์ฝ”๋“œ ํฌ์ŠคํŒ…์ด ์กฐ๊ธˆ ๋Šฆ์–ด์กŒ๋„ค์š” ๊ทธ๋Ÿผ ์ด๋ฒˆ์—๋„ ์ด์–ด์„œ ๊ฐ€๋ณผ๊นŒ์š”? 1. GCP๋‚ด์˜ ์ธ์Šคํ„ด์Šค

formicae.tistory.com

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ (๋ถ€ํ•˜ ๋ถ„์‚ฐ) ์„ค์ •์„ ์œ„ํ•ด ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋กœ ๋“ค์–ด๊ฐ‘์‹œ๋‹ค

๋ถ€ํ•˜ ๋ถ„์‚ฐ(Load balancing) ์ด๋ž€,

๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•ด์„œ ์ปดํ“จํ„ฐ๊ฐ€ ๊ฐ๋‹นํ•˜๊ธฐ ํž˜๋“ค ์ •๋„์˜

์š”์ฒญ์ด ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ (์‚ฌ์šฉ์ž๊ฐ€ CPU load % ์„ค์ • ๊ฐ€๋Šฅ)

๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋กœ ์š”์ฒญ์„ ๋‚˜๋ˆ„์–ด ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

 

์šฐ๋ฆฌ๋Š” http / https๋ฅผ ์ด์šฉํ•ด ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— 

HTTP(S) ๋ถ€ํ•˜ ๋ถ„์‚ฐ์„ ์„ ํƒํ•ฉ์‹œ๋‹ค!

์•„๋ž˜์™€ ๊ฐ™์ด ์„ ํƒ์ง€๊ฐ€ ๋‚˜์˜ค๋ฉด,

"์ธํ„ฐ๋„ท ํŠธ๋ž˜ํ”ฝ์„ VM์œผ๋กœ ๋ถ„์‚ฐ" ์„ ์„ ํƒํ•ฉ์‹œ๋‹ค

์ด ๋‘๊ฐœ์˜ ์ฐจ์ด๋Š” ์™ธ๋ถ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ์ด๋ƒ,

๋‚ด๋ถ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ์ด๋ƒ์˜ ์ฐจ์ด์ž…๋‹ˆ๋‹ค.

์™ธ๋ถ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ์„ ์„ ํƒํ•ด ์ค์‹œ๋‹ค

๋‚ด๋ถ€ / ์™ธ๋ถ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ์˜ ์ฐจ์ด์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์™ธ๋ถ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ๋‚ด๋ถ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ
> ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐ
> ๋ถ€ํ•˜๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ Region์— ๋ถ„์‚ฐ ๊ฐ€๋Šฅ
> URL map์„ ํ†ตํ•ด ์„œ๋กœ ๋‹ค๋ฅธ backend service์—
๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ ํ•  ์ˆ˜ ์žˆ์Œ

> Region์œผ๋กœ ๋“ค์–ด์˜จ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ
> Region ๋‚ด๋ถ€์—์„œ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ
       (๋‚ด๋ถ€์˜ VM ์‚ฌ์ด์—์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ)
> ๋ณ„๋„์˜ Subnet์ด ํ•„์š”

 

๋งŒ์•ฝ ๋น„ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์—์„œ

ํŠน์ • ๋ฆฌ์ „๋งŒ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜

์—ฌ๋Ÿฌ๊ฐœ์˜ VM๋“ค์˜ ์—ญํ• ์ด ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ ๋˜๊ณ 

ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ์— ๋Œ€ํ•œ ๊ทœ์น™์ด ์žˆ๋‹ค๋ฉด

"VM ์‚ฌ์ด์—์„œ๋งŒ ๋ถ„์‚ฐ"์„ ์‚ฌ์šฉํ•ด๋„ ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

(๋‚ด๋ถ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ)

 

ํ•˜์ง€๋งŒ, ์ธํ„ฐ๋„ท์—์„œ ์š”์ฒญ๋˜๋Š” ํŠธ๋ž˜ํ”ฝ๋“ค์ด

๋ฆฌ์ „์„ ๊ณจ๋ผ์„œ ๋ถ„๋ฐฐ๊ฐ€ ๋˜์–ด์•ผ ํ•˜๊ฑฐ๋‚˜,

ํŠธ๋ž˜ํ”ฝ ๊ทœ๋ชจ์— ๋”ฐ๋ผ ์ธ์Šคํ„ด์Šค์˜ ํฌ๊ธฐ๊ฐ€ ์ž๋™์œผ๋กœ ๋ณ€๋™๋˜์–ด

๊ฒฐ์ •๋œ VM๋“ค ์‚ฌ์ด์—์„œ ๋ถ€ํ•˜๊ฐ€ ๋ถ„์‚ฐ๋˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋ฉด

"์ธํ„ฐ๋„ท ํŠธ๋ž˜ํ”ฝ์„ VM์œผ๋กœ ๋ถ„์‚ฐ"์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

(์™ธ๋ถ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ

 

์•„๋ž˜์˜ ๊ตฌ๊ธ€ ๊ณต์‹ ๋ฌธ์„œ์— ์ฒจ๋ถ€๋˜์–ด ์žˆ๋Š” ๊ทธ๋ฆผ์„ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : https://cloud.google.com/load-balancing/docs/load-balancing-overview?hl=ko


2. GCP์—์„œ ์™ธ๋ถ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์ƒ์„ฑํ•˜๊ธฐ

์™ธ๋ถ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ์„ ํƒํ•˜์…จ๋‹ค๋ฉด,

๋ถ€ํ•˜ ๋ถ„์‚ฐ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 


1. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ƒ์„ฑ ๋ฐ ์—ฐ๊ฒฐ

2. ํ˜ธ์ŠคํŠธ ๋ฐ ๊ฒฝ๋กœ ๊ทœ์น™ ์ƒ์„ฑ

3. ํ”„๋ŸฐํŠธ์—”๋“œ ์—ฐ๊ฒฐ


2.1 ๋ฐฑ์—”๋“œ(Backend) ๊ตฌ์„ฑ

๋ฐฑ์—”๋“œ๋ž€, ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ์„œ๋ฒ„์™€ ๊ด€๋ จ๋˜์–ด์žˆ๋Š” ๊ธฐ์ˆ ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ์™ธ๋ถ€์˜ ํŠธ๋ž˜ํ”ฝ์„ Virtual machine์— ๋‚˜๋ˆ„์–ด ์ฃผ๋Š”๋ฐ,

VM์—์„œ ๋ฐ›์€ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•˜๊ฒ ์ฃ ?

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€๋„ ํ†ต์‹ ์„ ํ•ด์„œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ ,

์ธํ„ฐ๋„ท์—์„œ ์š”์ฒญ๋œ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…๋“ค์„ ํ†ตํ‹€์–ด ๋ฐฑ์—”๋“œ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

์ข€ ๋” ๋„“์€ ์˜๋ฏธ์˜ ๋ฐฑ์—”๋“œ๋Š” ํ”„๋ก ํŠธ์—”๋“œ๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค!

 

๋ฐ˜๋Œ€๋กœ ํ”„๋ก ํŠธ ์—”๋“œ๋ž€,

์ธ๊ฐ„์ด ์ธํ„ฐ๋„ท์„ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งˆ์ฃผํ•˜๋Š” ํ™”๋ฉด ๋˜๋Š” UI์—์„œ

์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ๊ตฌํ˜„ํ•˜๋Š” ๊ธฐ์ˆ ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

์ฃผ๋กœ HTML์ด๋‚˜ CSS, Javascript์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

 

๋ฐฑ์—”๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์ƒˆ๋กœ ์ƒ์„ฑ ํ•ฉ์‹œ๋‹ค

๋ฐฑ์—”๋“œ๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•  ๋•Œ, ์ฃผ์˜ํ•ด์•ผ ํ•˜๋Š” ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ „ ํฌ์ŠคํŒ…์„ ๋ณด๋ฉด ๋ฐฉํ™”๋ฒฝ์—์„œ ํฌํŠธ 3000๋ฒˆ์„ ์ง€์ •ํ•œ ์ ์ด ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.

formicae.tistory.com/entry/GCPGoogle-cloud-platform%EB%A1%9C-%EB%82%98%EC%9D%98-%EC%84%9C%EB%B2%84Server-%EB%A7%8C%EB%93%A4%EA%B8%B0-2?category=815536

 

GCP(Google cloud platform)๋กœ ๋‚˜์˜ ์„œ๋ฒ„(Server) ๋งŒ๋“ค๊ธฐ - 2

SSH(Secure Shell) ์„ ํ†ตํ•ด VM(Virtual Machine)์— ๋‚˜๋งŒ์˜ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ๋ณด์ž 1. ์™ธ๋ถ€ IP ์ฃผ์†Œ ๊ณ ์ • ์˜ˆ์•ฝํ•˜๊ธฐ VM ์ธ์Šคํ„ด์Šค ์„ธ๋ถ€์ •๋ณด์— ์žˆ๋Š” ์ง๋ ฌ ํฌํŠธ1(์ฝ˜์†”) ์— ๋“ค์–ด๊ฐ€๋ฉด ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๊ฐ€ ์–ด๋–ค ์‹์œผ๋กœ ๋นŒ๋“œ๋˜

formicae.tistory.com

์ด๋Š” ์ œ๊ฐ€ GitHub์— ์˜ฌ๋ ค๋†“์€ ์„œ๋ฒ„ ์ฝ”๋“œ(www.js)์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด

ํฌํŠธ๋ฅผ 3000๋ฒˆ์œผ๋กœ ์ง€์ • ํ•ด ๋†“์•˜๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ์š”,

var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);

๋งŒ์•ฝ ์ด ๋ฒˆํ˜ธ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์ง€์ • ํ•ด ์ฃผ์—ˆ๋‹ค๋ฉด,

์ง€์ •ํ•œ ๋ฒˆํ˜ธ๋ฅผ "์ƒˆ ๋ฐฑ์—”๋“œ" ์—์„œ "ํฌํŠธ ๋ฒˆํ˜ธ"์— ์ž…๋ ฅํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ ํ•ด๋‹น ํฌํŠธ๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด,

๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์™€ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ํ†ต์‹ ์ด ๋˜์ง€ ์•Š์œผ๋‹ˆ ์ฃผ์˜ํ•˜์„ธ์š”!

"์ƒˆ ๋ฐฑ์—”๋“œ" ์—์„œ ๋ชจ๋‘ ์ž…๋ ฅ ํ›„ "์™„๋ฃŒ" ๋ฅผ ๋ˆŒ๋Ÿฌ ์ค์‹œ๋‹ค

์ด์ „ ํฌ์ŠคํŒ…์—์„œ ์ƒํƒœ ํ™•์ธ(health check)์„ ๋งŒ๋“ค์–ด ๋†“์•˜๋‹ค๋ฉด,

์•„๋ž˜์™€ ๊ฐ™์ด ๋ฆฌ์ŠคํŠธ์— ์„ ํƒ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ ํ™•์ธ์ด ๋‚˜ํƒ€ ๋‚  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋งŒ์•ฝ ์ƒํƒœํ™•์ธ์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค๋ฉด,

์ด๋ฏธ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋˜ํ•œ ์ •์ƒ ์ƒํƒœ๊ฐ€ ์•„๋‹ ํ™•๋ฅ ์ด ๋†’์œผ๋ฏ€๋กœ

์ด์ „ ํฌ์ŠคํŒ…์„ ์ฐธ์กฐํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

formicae.tistory.com/entry/GCPGoogle-cloud-platform%EB%A1%9C-%EB%82%98%EC%9D%98-%EC%84%9C%EB%B2%84Server-%EB%A7%8C%EB%93%A4%EA%B8%B0-4?category=815536

 

GCP(Google cloud platform)๋กœ ๋‚˜์˜ ์„œ๋ฒ„(Server) ๋งŒ๋“ค๊ธฐ - 4

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•ด๋ณด์ž (feat. VPC ๋„คํŠธ์›Œํฌ) ์•ˆ๋…•ํ•˜์„ธ์š”? ํ•œ๋ผ ์ฝ”๋”ฉ์ž…๋‹ˆ๋‹ค. ์ตœ๊ทผ์— ์ง‘๋“ค์ด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„ ์ฝ”๋“œ ํฌ์ŠคํŒ…์ด ์กฐ๊ธˆ ๋Šฆ์–ด์กŒ๋„ค์š” ๊ทธ๋Ÿผ ์ด๋ฒˆ์—๋„ ์ด์–ด์„œ ๊ฐ€๋ณผ๊นŒ์š”? 1. GCP๋‚ด์˜ ์ธ์Šคํ„ด์Šค

formicae.tistory.com

์•„๋ž˜์™€ ๊ฐ™์ด ๋ฐฑ์—”๋“œ๊ฐ€ ๋‹ค ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉด, ํ˜ธ์ŠคํŠธ ๋ฐ ๊ฒฝ๋กœ ๊ทœ์น™์„ ๋งŒ๋“ค์–ด ๋ณผ ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค.

ํฌ์ŠคํŒ…์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ง€๋Š” ๊ด€๊ณ„๋กœ,

์ด ๋‚ด์šฉ์€ ๋‹ค์Œ ํฌ์ŠคํŠธ์—์„œ ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!


์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•ด๋ณด์ž (feat. VPC ๋„คํŠธ์›Œํฌ)


 

์•ˆ๋…•ํ•˜์„ธ์š”?

ํ•œ๋ผ ์ฝ”๋”ฉ์ž…๋‹ˆ๋‹ค.

์ตœ๊ทผ์— ์ง‘๋“ค์ด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„ ์ฝ”๋“œ ํฌ์ŠคํŒ…์ด ์กฐ๊ธˆ ๋Šฆ์–ด์กŒ๋„ค์š”

๊ทธ๋Ÿผ ์ด๋ฒˆ์—๋„ ์ด์–ด์„œ ๊ฐ€๋ณผ๊นŒ์š”?


1. GCP๋‚ด์˜ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ์ข…๋ฅ˜

์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋งŒ๋“ค์–ด ๋ณผ ํ…๋ฐ์š”,

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์€ ๋ง ๊ทธ๋Œ€๋กœ ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ทธ๋ฃน์„ ์ด๋ฃจ๊ณ  ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

GCP์—์„œ๋Š” ๊ทธ๋ฃน ์ธ์Šคํ„ด์Šค์˜ ์ข…๋ฅ˜๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

1. ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน

2. ๋น„ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน

 

๊ด€๋ฆฌํ˜•๊ณผ ๋น„ ๊ด€๋ฆฌํ˜•์˜ ์ฐจ์ด์ ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š”

Virtual machine์˜ CPU load๋ฅผ ๊ฐ์‹œํ•˜์—ฌ

์ผ์ • ์ˆ˜์ค€ ์ด์ƒ์— ๋„๋‹ฌํ•˜์˜€์„ ๋•Œ,

์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ

์™ธ๋ถ€์˜ request๋กœ ์ธํ•œ load๋ฅผ ๋ถ„๋ฐฐํ•ด ์ฃผ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

์ฆ‰, ๋น„ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด

๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ์„œ๋ฒ„ ํญ์ฃผ๋กœ ์ธํ•ด ๋‹ค์šด์ด ๋  ํ™•๋ฅ ์ด ๋†’๊ณ 

๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค๋Š” ์„œ๋ฒ„์˜ ๊ทœ๋ชจ๋ฅผ ๋Š˜๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ •์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋น„ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน
์ธ์Šคํ„ด์Šค ๊ฐœ์ˆ˜์˜ ์ž๋™ ํ™•์žฅ, ๊ฐ์ถ• ๊ฐ€๋Šฅ ๊ทธ๋ฃน ์ƒ์„ฑ์‹œ ์–ด๋–ค ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ง€ ์ง€์ • ํ•ด์•ผํ•จ.

์ด๋Ÿฐ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค์—๋„ ์•„๋ž˜์™€ ๊ฐ™์ด 2์ข…๋ฅ˜๋กœ ๋‚˜๋ˆ„์–ด์ง‘๋‹ˆ๋‹ค.

(MIG : managed instance group)

Stateful MIG Stateless MIG
์‚ญ์ œ or ์žฌ์ƒ์„ฑ์‹œ VM์˜ ๊ณ ์œ  ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง ํ™•์žฅ๋œ ๋ชจ๋“  VM์ด ๋™์ผํ•˜๊ฒŒ ์ทจ๊ธ‰ ๋จ

์–ด๋– ํ•œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์‚ฌ์šฉํ•˜๋Š”์ง€๋Š”,

๋ณธ์ธ์ด ๋งŒ๋“ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋Šฅ๊ณผ ๊ทœ๋ชจ๋ฅผ ๋”ฐ์ ธ์„œ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์ด๋ฒˆ์—๋Š” ๊ทœ๋ชจ๊ฐ€ ๊ทธ๋ฆฌ ํฌ์ง€ ์•Š๊ณ , ์™ธ๋ถ€์˜ ์š”์ฒญ์ด ์—†์ง€๋งŒ

(๋น„ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ)

์–ธ์  ๊ฐ€๋Š” ํ•„์š”ํ• ..! ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋งŒ๋“ค์–ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


2. ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ์ƒ์„ฑํ•˜๊ธฐ

์ด์ „ ํฌ์ŠคํŒ…์—์„œ ๋งŒ๋“  ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ์„ ํƒํ•ด ์ฃผ์‹œ๊ณ ,

์ž๋™ ๋ณต๊ตฌ - ์ƒํƒœํ™•์ธ์—์„œ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”.

formicae.tistory.com/entry/GCPGoogle-cloud-platform%EB%A1%9C-%EB%82%98%EC%9D%98-%EC%84%9C%EB%B2%84Server-%EB%A7%8C%EB%93%A4%EA%B8%B0-3?category=815536

 

GCP(Google cloud platform)๋กœ ๋‚˜์˜ ์„œ๋ฒ„(Server) ๋งŒ๋“ค๊ธฐ - 3

์•ˆ๋…•ํ•˜์„ธ์š”? ์ฝ”๋”ฉํ•˜๋Š” ๋ชจ์ฃผ๋ถ€ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜๋„ ์ง€๋‚œ ํฌ์ŠคํŒ…์— ์ด์–ด ๋‹ฌ๋ ค๋ด…์‹œ๋‹ค ใ…Žใ…Ž 1. GCP์—์„œ ์Šค๋ƒ…์ƒท ์ƒ์„ฑํ•˜๊ธฐ ์ด๋•Œ๊นŒ์ง€ GCP๋กœ ๊ฐ€์ƒ๋จธ์‹ ์„ ๋นŒ๋ฆฌ๊ณ , ์„œ๋ฒ„๋ฅผ ์˜ฌ๋ ค ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ ๊นŒ์ง€ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

formicae.tistory.com

GitHub ์ฃผ์†Œ :

github.com/formicae/gcp_example

 

formicae/gcp_example

Contribute to formicae/gcp_example development by creating an account on GitHub.

github.com

ํ˜„์žฌ ์„œ๋ฒ„์˜ PORT๊ฐ€ 3000๋ฒˆ์ด๊ณ  HTTP ํ†ต์‹ ์„ ํ•  ๊ฒƒ์ด๋ฏ€๋กœ,

์ €์˜ GitHub ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๋ถ„๋“ค์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ž…๋ ฅ ํ•ด ์ฃผ์„ธ์š”.

 

์ƒํƒœ ์ฒดํฌ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ์ƒ์„ฑ

 

์ค‘์š”ํ•œ ๊ฒƒ์€, ์š”์ฒญ ๊ฒฝ๋กœ์— ๋ฐ˜๋“œ์‹œ ๋‹ค์Œ์˜ ๋ฌธ๊ตฌ๋ฅผ ์ž…๋ ฅ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

/health_check

์ด์œ ๋Š”, ์•„๋ž˜์™€ ๊ฐ™์ด ์ œ๊ฐ€ GitHub์— ๋งŒ๋“ค์–ด ๋†“์€ ์ฝ”๋“œ์˜

GET method ์ค‘ ์ƒํƒœ ์ฒดํฌ์šฉ์œผ๋กœ ๋งŒ๋“  uri๊ฐ€ /health_check ์ด๊ธฐ ๋•Œ๋ฌธ์ด์—์š”

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด,

์ƒํƒœ๊ฐ€ ์ •์ƒ์ธ์ง€ ํ™•์ธํ•ด ์ฃผ์„ธ์š”.

๋งŒ์•ฝ ์ •์ƒ์ด ์•„๋‹ˆ๋ผ๋ฉด, ๊ทธ๋ฃน์— ํฌํ•จ๋œ ์ธ์Šคํ„ด์Šค์— ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ํ™•๋ฅ ์ด ๋†’๋‹ต๋‹ˆ๋‹ค!

 

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ์ƒ์„ฑ์€ ๊ฐ„๋‹จํ•˜์ง€๋งŒ, 

๋ชฉ์ ์— ๋งž๊ฒŒ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ต๋‹ˆ๋‹ค.

 

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•˜๊ณ  ๋‚œ ๋’ค์—๋„

์ธ์Šคํ„ด์Šค๋ฅผ ์ˆ˜์ •ํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

 

๋‹ค๋งŒ, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์˜ ์—ฐ๊ฒฐ์ด ๋˜์–ด์žˆ๋‹ค๋ฉด

ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์˜ ๋ถ€ํŒ…์ด ๋๋‚˜๋Š” ์‹œ๊ฐ„๊ณผ

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์—์„œ health check ํ•˜๋Š” ์‹œ๊ฐ„ ๋™์•ˆ

์„œ๋ฒ„๋กœ์˜ ์—ฐ๊ฒฐ์ด ์ง€์—ฐ๋˜๋ฏ€๋กœ

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ์ƒํƒœ๊ฐ€ ๋…น์ƒ‰ ์ฒดํฌ๊ฐ€ ์•„๋‹ˆ์‹  ๋ถ„๋“ค์€

์—ฌ์œ ๋กญ๊ฒŒ 3~5๋ถ„ ์ •๋„ ๊ธฐ๋‹ค๋ ค๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ ๊ทธ๋ž˜๋„ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ •์ƒ ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด,

์ƒํƒœ ์ฒดํฌ(health check)์— ์‹คํŒจ ํ–ˆ์„ ํ™•๋ฅ ์ด ๋งค์šฐ ๋†’์Šต๋‹ˆ๋‹ค

์ด์ „ ํฌ์ŠคํŒ…์—์„œ ๋งŒ๋“  ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ํ™•์ธ ํ•ด ๋ณด์„ธ์š”!!

 

๊ทธ๋Ÿผ, ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์— ์—ฐ๊ฒฐ ํ•ด๋ด…์‹œ๋‹ค!

์•ˆ๋…•ํ•˜์„ธ์š”?

์ฝ”๋”ฉํ•˜๋Š” ๋ชจ์ฃผ๋ถ€ ์ž…๋‹ˆ๋‹ค!

์˜ค๋Š˜๋„ ์ง€๋‚œ ํฌ์ŠคํŒ…์— ์ด์–ด ๋‹ฌ๋ ค๋ด…์‹œ๋‹ค ใ…Žใ…Ž

 

1. GCP์—์„œ ์Šค๋ƒ…์ƒท ์ƒ์„ฑํ•˜๊ธฐ

์ด๋•Œ๊นŒ์ง€ GCP๋กœ ๊ฐ€์ƒ๋จธ์‹ ์„ ๋นŒ๋ฆฌ๊ณ ,

์„œ๋ฒ„๋ฅผ ์˜ฌ๋ ค ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ ๊นŒ์ง€ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

(์•„๋ž˜ ํฌ์ŠคํŒ… ์ฐธ์กฐ)

https://formicae.tistory.com/entry/GCPGoogle-cloud-platform%EB%A1%9C-%EB%82%98%EC%9D%98-%EC%84%9C%EB%B2%84Server-%EB%A7%8C%EB%93%A4%EA%B8%B0-2?category=811869

 

GCP(Google cloud platform)๋กœ ๋‚˜์˜ ์„œ๋ฒ„(Server) ๋งŒ๋“ค๊ธฐ - 2

SSH(Secure Shell) ์„ ํ†ตํ•ด VM(Virtual Machine)์— ๋‚˜๋งŒ์˜ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ๋ณด์ž VM ์ธ์Šคํ„ด์Šค ์„ธ๋ถ€์ •๋ณด์— ์žˆ๋Š” ์ง๋ ฌ ํฌํŠธ1(์ฝ˜์†”) ์— ๋“ค์–ด๊ฐ€๋ฉด ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๊ฐ€ ์–ด๋–ค ์‹์œผ๋กœ ๋นŒ๋“œ๋˜์—ˆ๋Š”์ง€ ์ƒ์„ธํ•œ ๋‚ด์šฉ์ด ๋‚˜ํƒ€๋‚œ๋‹ค

formicae.tistory.com

 

ํ•˜์ง€๋งŒ ํ…Œ์ŠคํŠธ๋ฅผ ํ–ˆ๋˜ ์„œ๋ฒ„์˜ ๊ทœ๋ชจ  ๊ฐ€ ์ปค์ง€๊ฒŒ ๋˜๋ฉด,

์ด ๋ฐฉ๋ฒ•์„ ๊ณ ์ˆ˜ ํ•  ๋•Œ, ์„œ๋ฒ„๋กœ ์š”์ฒญ ์ด ๋งŽ์•„์งˆ ๊ฒฝ์šฐ

์„œ๋ฒ„๊ฐ€ ๋ฒ„ํ‹ฐ์ง€ ๋ชปํ•˜๊ณ  ์‘๋‹ต ๋ถˆ๊ฐ€ ์ƒํƒœ๊ฐ€ ๋˜์–ด ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.

์‰ฌ์šด ๋ง๋กœ, ๋‹ค์šด๋˜์–ด ๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์ด์ง€์š”.

 

์ด๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„œ๋ฒ„๋กœ์˜ ์š”์ฒญ์— ๋”ฐ๋ผ

VM(๊ฐ€์ƒ๋จธ์‹ )์„ ์—ฌ๋Ÿฌ๊ฐœ ๋Š˜๋ ค์ฃผ๊ณ  ↑,

์š”์ฒญ์ด ์—†์„ ๋•Œ์—๋Š” ์ค„์—ฌ์ฃผ๋Š” ↓

๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

 

์ด๋ฅผ ์œ„ํ•ด์„œ ๊ฐ€์žฅ ๋จผ์ € ํ•ด์•ผํ•  ์ผ์€,

์ด์ „ ์ธ์Šคํ„ด์Šค๋ฅผ ํ† ๋Œ€๋กœ ์Šค๋ƒ…์ƒท์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 


> ์Šค๋ƒ…์ƒท ์ด๋ž€? <

ํŠน์ • ์‹œ๊ฐ„์— ์ €์žฅ ์žฅ์น˜์˜ ์ƒํƒœ๋ฅผ ์ˆœ๊ฐ„์ ์œผ๋กœ ์บก์ณํ•˜์—ฌ

๋ณด์กดํ•˜๊ณ , ๋ฐฑ์—… ์šฉ๋„๋กœ ์‚ฌ์šฉ ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•ด, ํœด๋Œ€ํฐ์— ์žˆ๋Š” ์ •๋ณด๋“ค์„ ๊ธฐ์–ตํ•˜๊ธฐ ์œ„ํ•ด์„œ

์บก์ณํ•˜์—ฌ ๊ฐค๋Ÿฌ๋ฆฌ์— ๋„ฃ์–ด๋†“๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ,

์ˆœ๊ฐ„์˜ VM ์ƒํƒœ๋ฅผ ๋‚จ๊ฒจ ๋†“๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์บก์ณํ•˜๋Š” ์†์„ฑ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋งค์ผ ๋˜๋Š” ํŠน์ • ์ฃผ๊ธฐ๋งˆ๋‹ค

์Šค๋ƒ…์ƒท ์ƒ์„ฑ์„ ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜์ฃ .

์ถœ์ฒ˜ : https://www.cloudpack.co.kr/portal/ktcloudportal.epc.productintro.snapshot.html


๋จผ์ €, Compute Engine์—์„œ ์Šค๋ƒ…์ƒท์œผ๋กœ ๋“ค์–ด๊ฐ€๋ด…์‹œ๋‹ค.

์ฒซ ํ™”๋ฉด์€ ์•„๋ฌด๊ฒƒ๋„ ์—†์„ํ…Œ๋‹ˆ, ์ƒ์„ฑํ•˜๊ธฐ๋ฅผ ํด๋ฆญํ•ด ๋ด…์‹œ๋‹ค.

์†Œ์Šค ๋””์Šคํฌ์—๋Š” ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋†“์€ VM์„ ์„ ํƒํž™๋‹ˆ๋‹ค.

๋ฆฌ์ „์„ ๊ฒฐ์ •ํ•  ๋•Œ์—๋Š” ์‹ ์ค‘ํ•˜๊ฒŒ ์„ ํƒ์„ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์Šค๋ƒ…์ƒท ์ €์žฅ์„ ์œ„ํ•ด ๋นŒ๋ฆฌ๋Š” ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด์ง€์š”.

๋ฆฌ์ „์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ธฐ์ค€์€ ์•„๋ž˜์˜ ํฌ์ŠคํŒ…์„ ์ฐธ์กฐํ•ฉ์‹œ๋‹ค!

formicae.tistory.com/entry/%EC%84%9C%EB%B2%84%EC%9D%98-%EC%9A%94%EC%B2%AD%EA%B3%BC-%EC%9D%91%EB%8B%B5%EC%9D%98-%EA%B4%80%EC%A0%90%EC%97%90%EC%84%9C-%EB%B3%B4%EB%8A%94-%EB%A6%AC%EC%A0%84Region-%EB%A9%80%ED%8B%B0-%EB%A6%AC%EC%A0%84

 

์„œ๋ฒ„์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ๊ด€์ ์—์„œ ๋ณด๋Š” ๋ฆฌ์ „(Region), ๋ฉ€ํ‹ฐ ๋ฆฌ์ „

์„œ๋ฒ„์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต์ด ์–ด๋–ค ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋Š”์ง€ ์ดํ•ดํ•˜๊ณ , ๊ฐ€์ƒ๋จธ์‹ ์„ ๋นŒ๋ฆฌ๊ฑฐ๋‚˜, ์Šค๋ƒ…์ƒท, ๋””์Šคํฌ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ฒฐ์ •ํ•˜๋Š” ๋ฆฌ์ „๊ณผ ๋ฉ€ํ‹ฐ๋ฆฌ์ „์„ ์•Œ์•„๋ณด์ž. ์‰ฌ์šด ์˜ˆ๋กœ, ์šฐ๋ฆฌ๊ฐ€ ๊ตฌ๊ธ€์ฐฝ์— ๊ฒ€์ƒ‰์„ ํ•  ๋•Œ

formicae.tistory.com

์Šค๋ƒ…์ƒท์„ ์ƒ์„ฑํ–ˆ๋‹ค๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด ๋…น์ƒ‰ ์ฒดํฌํ‘œ์‹œ๊ฐ€ ๋œฐ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ด์ œ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค.


2. GCP์—์„œ ์ด๋ฏธ์ง€ ์ƒ์„ฑํ•˜๊ธฐ


> ์ด๋ฏธ์ง€๋ž€ ๋ฌด์—‡์ธ๊ฐ€? <

์ด๋ฏธ์ง€๋Š” ๋””์Šคํฌ๋‚˜ ์Šค๋ƒ…์ƒท์„ ํ…œํ”Œ๋ฆฟํ™” ํ•œ ๊ฒƒ์œผ๋กœ

VM์— ๋ฐ”๋กœ ์˜ฌ๋ ค ์„œ๋ฒ„ ์‚ฌ์šฉ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก 

์ž„์‹œ ๋””์Šคํฌ์™€ ๊ฐ™์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๊ฐ€์กฑ๊ณผ ํ•จ๊ป˜์žˆ๋Š” ์‹œ๊ฐ„์„ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์–ด์„œ

์‚ฌ์ง„์„ ์ฐ์–ด๋†“์€ ๊ฒƒ์ด ์Šค๋ƒ…์ƒท์ด๊ณ ,

๊ทธ ์Šค๋ƒ…์ƒท์„ ๊ฐ€์กฑ๋“ค์ด ๋ณด๊ณ 

๋™์ผํ•œ ๊ธฐ์–ต์„ ๋– ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ์ด๋ฏธ์ง€์ธ ๊ฒƒ์ด์ฃ .


์•„๋ž˜์™€ ๊ฐ™์ด ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค๋ฉด ๋˜๋Š”๋ฐ, 

๊ณ„์—ด์„ ์ถ”๊ฐ€ํ•˜๊ฒŒ ๋˜๋ฉด ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ์„ค์ •๋•Œ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ, ํ‚ค&๊ฐ’ Pair ์„ค์ •์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ž…๋ ฅํ•˜๋˜

ํ•„์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ€๋„ ์ƒ๊ด€์—†์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€๋Š” ์กด์žฌํ•˜๋Š” ๊ฒƒ ๋งŒ์œผ๋กœ๋„ ๋น„์šฉ์ด ๋‚˜๊ฐ€๋‹ˆ, ์ตœ์†Œํ•œ์œผ๋กœ๋งŒ ๋งŒ๋“ค์–ด ๋†“์ž.

์•„๋ž˜์™€ ๊ฐ™์ด ์—ฌ๊ธฐ๊นŒ์ง€ ๋‹ค ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด,

์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค์–ด ๋ณผ ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค.


3. GCP์—์„œ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ ๋งŒ๋“ค๊ธฐ

์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์€

์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค!

๋‹ค๋ฅธ ์ ์ด ์žˆ๋‹ค๋ฉด, ๋ถ€ํŒ… ๋””์Šคํฌ ๋Œ€์‹ 

์œ„์—์„œ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋‘” ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๋จธ์‹  ๊ตฌ์„ฑ์€ ํ•„์š”ํ•œ ์„ฑ๋Šฅ์„ ๊ณ ๋ คํ•˜์—ฌ ์„ ํƒ ํ•ด ์ค์‹œ๋‹ค.

์„ฑ๋Šฅ์ด ๋†’์„์ˆ˜๋ก ๋” ๋น„์Œ‰๋‹ˆ๋‹ค..ใ…Žใ…Ž

 

๋ถ€ํŒ… ๋””์Šคํฌ์—์„œ "๋ณ€๊ฒฝ"์„ ํด๋ฆญํ•˜๊ณ ,

"๋งž์ถค ์ด๋ฏธ์ง€"๋ฅผ ๋ˆŒ๋Ÿฌ ๋งŒ๋“ค์–ด ๋†“์€ ์ด๋ฏธ์ง€๋ฅผ ์„ ํƒํ•ฉ์‹œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค ๋•Œ์™€ ๋™์ผํ•˜๊ฒŒ

์•ก์„ธ์Šค ๋ฒ”์œ„์™€ ๋ฐฉํ™”๋ฒฝ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

 

 

๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์ค‘์š”ํ•œ.. ์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฝ์ž… ํ•ด ์ค„๊ฑฐ์—์š”

 

์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ๋ž€, ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์ด

VM์˜ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋˜์—ˆ์„ ๋•Œ ์ฒ˜์Œ์œผ๋กœ ์‹คํ–‰ํ•  ์ฝ”๋“œ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ „ ํฌ์ŠคํŒ…์—์„œ SSH๋กœ ๋“ค์–ด๊ฐ€ CentOS์šฉ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ ๊ฒƒ์ด ๊ธฐ์–ต ๋‚˜์‹œ๋‚˜์š”?

formicae.tistory.com/entry/GCPGoogle-cloud-platform%EB%A1%9C-%EB%82%98%EC%9D%98-%EC%84%9C%EB%B2%84Server-%EB%A7%8C%EB%93%A4%EA%B8%B0-2?category=815536

 

GCP(Google cloud platform)๋กœ ๋‚˜์˜ ์„œ๋ฒ„(Server) ๋งŒ๋“ค๊ธฐ - 2

SSH(Secure Shell) ์„ ํ†ตํ•ด VM(Virtual Machine)์— ๋‚˜๋งŒ์˜ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ๋ณด์ž 1. ์™ธ๋ถ€ IP ์ฃผ์†Œ ๊ณ ์ • ์˜ˆ์•ฝํ•˜๊ธฐ VM ์ธ์Šคํ„ด์Šค ์„ธ๋ถ€์ •๋ณด์— ์žˆ๋Š” ์ง๋ ฌ ํฌํŠธ1(์ฝ˜์†”) ์— ๋“ค์–ด๊ฐ€๋ฉด ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๊ฐ€ ์–ด๋–ค ์‹์œผ๋กœ ๋นŒ๋“œ๋˜

formicae.tistory.com

ํŒŒ๋ž€์ƒ‰์œผ๋กœ "๊ด€๋ฆฌ, ๋ณด์•ˆ, ๋””์Šคํฌ, ๋„คํŠธ์›Œํ‚น, ๋‹จ๋… ์ž„๋Œ€" ๋ผ๊ณ  ์“ฐ์—ฌ์žˆ๋Š”

์ ‘์–ด๋‘๊ธฐ ํ‘œ์‹œ๋ฅผ ํด๋ฆญํ•˜๊ฒŒ ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ด ์ค์‹œ๋‹ค.

screen ์„ ์ƒ์„ฑํ•˜์—ฌ my_server๋ผ๋Š” ์ด๋ฆ„์„ ๋ถ€์—ฌํ•˜๊ณ ,

gcp_example์ด๋ผ๋Š” ํด๋”๋กœ ์ด๋™ํ•ด, ์„œ๋ฒ„๋ฅผ ๊ธฐ๋™์‹œํ‚ค๋Š” ์ฝ”๋“œ ์ž…๋‹ˆ๋‹ค.

#!/bin/bash
cd gcp_example
screen -dmS my_server bash -c 'npm start'

 

์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ผญ ์ž…๋ ฅํ•˜์„ธ์š”!!

์—ฌ๊ธฐ๊นŒ์ง€ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚  ๊ฑฐ์—์š”

๊ทธ๋Ÿผ ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ๊ทธ๋ฃน ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

์˜ค๋Š˜๋„ ์žฌ๋ฏธ์žˆ๋Š” ์ฝ”๋”ฉ ํ•˜์„ธ์š” :)


SSH(Secure Shell) ์„ ํ†ตํ•ด VM(Virtual Machine)์— ๋‚˜๋งŒ์˜ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ๋ณด์ž


1. ์™ธ๋ถ€ IP ์ฃผ์†Œ ๊ณ ์ • ์˜ˆ์•ฝํ•˜๊ธฐ

Virtual Machine ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋œ ๋ชจ์Šต๊ณผ ์„ธ๋ถ€์ •๋ณด

VM ์ธ์Šคํ„ด์Šค ์„ธ๋ถ€์ •๋ณด์— ์žˆ๋Š” ์ง๋ ฌ ํฌํŠธ1(์ฝ˜์†”) ์— ๋“ค์–ด๊ฐ€๋ฉด

ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๊ฐ€ ์–ด๋–ค ์‹์œผ๋กœ ๋นŒ๋“œ๋˜์—ˆ๋Š”์ง€ ์ƒ์„ธํ•œ ๋‚ด์šฉ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ œ๋Œ€๋กœ ์ƒ์„ฑ๋˜์—ˆ์ง€๋งŒ, ์›ํ•˜๋Š”๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด

์ฝ˜์†”์— ๋“ค์–ด๊ฐ€์„œ ํžŒํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”!

 

VPC ๋„คํŠธ์›Œํฌ ์•ˆ์˜ "์™ธ๋ถ€ IP ์ฃผ์†Œ" ์— ๋‚˜์™€์žˆ๋Š” ์„ธ๋ถ€ ์‚ฌํ•ญ

์™ธ๋ถ€ ์ฃผ์†Œ ์„ค์ •์„ ์œ„ํ•ด ๋„คํŠธ์›Œํ‚น - VPC ๋„คํŠธ์›Œํฌ - ์™ธ๋ถ€ IP์ฃผ์†Œ๋กœ ๋“ค์–ด๊ฐ€ ๋ด…์‹œ๋‹ค.

์œ„์—์„œ instance-1์˜ ๋‚ด๋ถ€ IP์™€ ๋”๋ถˆ์–ด ์™ธ๋ถ€ ์ฃผ์†Œ๊ฐ€ ๋‚˜ํƒ€๋‚˜ ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

ํ•˜์ง€๋งŒ ์ตœ์ดˆ VM์„ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋ฉด, ํ•ด๋‹น ์™ธ๋ถ€ ์ฃผ์†Œ๋Š” ์ž„์‹œ๋กœ ์„ค์ • ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰, ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ๋™์•ˆ ์ด ์ž„์‹œ ์ฃผ์†Œ๊ฐ€ ์‚ฌ๋ผ์งˆ ์ˆ˜๋„ ์žˆ๋Š” ๊ฒ๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ ๋™์ผํ•œ IP๋ฅผ ์œ ์ง€์‹œํ‚ค๊ณ  ์‹ถ๋‹ค๋ฉด ๊ณ ์ •์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ด์—์š”.

ํ•˜์ง€๋งŒ https ์ธ์ฆ์„ ํ•˜์ง€ ์•Š์€ http๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, ์™ธ๋ถ€ ํ•ดํ‚น์— ์ทจ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•ฉ์‹œ๋‹ค.

์ด๋ฒˆ ์‹œ๋ฆฌ์ฆˆ์—์„œ๋Š” ์ด๊ฒƒ์„ ๊ณ ์ •์œผ๋กœ ๋ณ€๊ฒฝํ•ด์„œ ์‚ฌ์šฉํ•ด ๋ณผ ๊ฑฐ์—์š”.


2. SSH ์—์„œ CentOs ํŒจํ‚ค์ง€ ์„ค์น˜

๋‹ค์‹œ, VM ์ธ์Šคํ„ด์Šค๋กœ ๋Œ์•„๊ฐ€์„œ ์—ฐ๊ฒฐ - SSH๋ฅผ ํด๋ฆญ ํ•ด๋ด…์‹œ๋‹ค.

Secure shell์— ์ง„์ž… ํ•œ ๋ชจ์Šต.

์ƒ์„ฑ ์งํ›„์—๋Š” ์•„๋ฌด๋Ÿฐ ํŒŒ์ผ๋„ ์กด์žฌํ•˜์ง€ ์•Š์•„์š”.

๋จผ์ €, ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์— ์ฐจ๋ก€์ฐจ๋ก€๋กœ ์ž…๋ ฅํ•ด๋ด…์‹œ๋‹ค.

sudo -s
yum install -y
yum install npm
yum install git
yum install screen

์ด๋กœ ์ธํ•ด ํ„ฐ๋ฏธ๋„์—์„œ ๊ถŒํ•œ (์ตœ์ƒ์œ„ ๊ถŒํ•œ)์„ ํš๋“ํ•˜๊ณ ,

yum์ด๋ผ๋Š” centos์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.

๋˜ํ•œ, yum์„ ํ†ตํ•ด npm๊ณผ screen ๊ณผ git ์ด๋ผ๋Š” ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

 


> npm ์ด๋ž€? <

(Node Package Manager)

Javascript ์ฝ”๋“œ๋“ค์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด Node JS๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ,

์ด Node JS์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ‚ค์ง€๋“ค์„ ๊ด€์žฅํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

npm install xx ๋ฅผ ํ†ตํ•ด Node JS์—์„œ ์‚ฌ์šฉํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„

์™ธ๋ถ€์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์–ด์š”!


> screen ์ด๋ž€ ? <

๋‹จ์ˆœํžˆ ๋งํ•˜์ž๋ฉด, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฐฝ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํŒจํ‚ค์ง€.

ํ„ฐ๋ฏธ๋„์—์„œ ์ถ”๊ฐ€์ ์ธ ์ฐฝ์„ ๋งŒ๋“ค์–ด, ํ„ฐ๋ฏธ๋„์„ ์ข…๋ฃŒํ•˜๋”๋ผ๋„

์ฝ”๋“œ๊ฐ€ ๊ณ„์†ํ•ด์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


> Git ์ด๋ž€? <

GitHub์— ์˜ฌ๋ ค๋†“์€ ๋ณธ์ธ์˜ ์ฝ”๋“œ๋‚˜ ์˜คํ”ˆ์†Œ์Šค๋“ค์„

๋ถˆ๋Ÿฌ์˜ค๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ‚ค์ง€.



3. GitHub์˜ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์™€ ์„ค์น˜ํ•˜๊ธฐ

GitHub ๋“ฑ์— ๋ณธ์ธ์˜ ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์€ clone์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ต์‹œ๋‹ค.

๋งŒ์•ฝ GitHub์˜ ์‚ฌ์šฉ์ด ์ฒ˜์Œ์ด๋ผ๋ฉด, ์ผ๋‹จ ํšŒ์›๊ฐ€์ž…๋ถ€ํ„ฐ ํ•ด์•ผํ•ด์š”.

์ฝ”๋“œ๊ฐ€ ์—†๋Š” ์‚ฌ๋žŒ๋“ค์€, ํ„ฐ๋ฏธ๋„์— ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด๋ด…์‹œ๋‹ค.

git clone https://github.com/formicae/gcp_example.git
ls
cd gcp_example

์ •์ƒ์ ์œผ๋กœ ์™„๋ฃŒ๋˜๋ฉด ์œ„์™€ ๊ฐ™์€ ๊ทธ๋ฆผ์ด ํ‘œ์‹œ๋  ๊ฒƒ์ด๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด, ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์— ์ž…๋ ฅํ•ด๋ด…์‹œ๋‹ค

screen
screen -ls

screen์„ ํ†ตํ•ด์„œ ๋˜ ํ•˜๋‚˜์˜ ์ฐฝ์„ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ๋’ค, ์ด ํ™œ์„ฑํ™”๋œ screen์„ ํ™•์ธํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด

์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฑฐ์—์š”.

๋งˆ์ง€๋ง‰์œผ๋กœ, ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ์ฝ”๋“œ๋ฅผ ์„œ๋ฒ„์—์„œ ๊ตฌ๋™์‹œ์ผœ ๋ด…์‹œ๋‹ค!

npm start

์œ„ ๊ทธ๋ฆผ์˜ ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜์˜ค๋ฉด, ์ œ๋Œ€๋กœ ์‹คํ–‰์ด ๋˜๊ณ  ์žˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

์ด์ œ SSH ํ„ฐ๋ฏธ๋„์„ ๋•์‹œ๋‹ค.

๋งŒ์•ฝ, Screen์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด SSH ํ„ฐ๋ฏธ๋„์„ ๋„๋Š” ์ˆœ๊ฐ„

์„œ๋ฒ„์— ์˜ฌ๋ฆฐ ์ฝ”๋“œ๋Š” ๊ทธ๋Œ€๋กœ ๋Š๊ฒจ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.

์ด ๋•Œ๋ฌธ์— Screen์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๋™์ž‘์‹œํ‚ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.


4. ๋ฐฉํ™”๋ฒฝ ์„ค์ •ํ•˜๊ธฐ

๋งˆ์ง€๋ง‰์œผ๋กœ ์„œ๋ฒ„์˜ ๋™์ž‘์„ ํ™•์ธํ•˜๊ธฐ ์ „์—, ๋ฐฉํ™”๋ฒฝ์„ ์†๋ด ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋ฐฉํ™”๋ฒฝ์—์„œ, http์— ํ•ด๋‹นํ•˜๋Š” ๋ฐฉํ™”๋ฒฝ์„ ์ˆ˜์ •ํ•ฉ์‹œ๋‹ค.

PORT 3000์„ ์ถ”๊ฐ€ํ•˜๋Š” ์ด์œ ๋Š”, Node JS ์ฝ”๋“œ์—์„œ

์ ‘์† ํ•  ์ˆ˜ ์žˆ๋Š” PORT๋ฅผ 3000์œผ๋กœ ์ œํ•œํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

PORT๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ ์€ ๋‹ค์–‘ํ•œ๋ฐ, ์ถ”ํ›„์— ๋‹ค๋ค„ ๋ณผ๊ฒŒ์š”.

์ด์ œ ๋งˆ์ง€๋ง‰์œผ๋กœ, ์•„๊นŒ์ „์— ๊ณ ์ •์‹œํ‚จ ์™ธ๋ถ€ IP์—์„œ

PORT ๋ฒˆํ˜ธ 3000๋ฒˆ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์›น์—์„œ ์š”์ฒญ์„ ๋ณด๋‚ด๋ด…์‹œ๋‹ค.

์„œ๋ฒ„์—์„œ Screen์„ ํ†ตํ•ด Node JS ์ฝ”๋“œ๊ฐ€ ๋™์ž‘ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ,

GET method ๋ฅผ ํ†ตํ•ด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜ํƒ€๋‚  ๊ฑฐ์—์š”.

์—ฌ๊ธฐ๊นŒ์ง€ ๊ธฐ๋ณธ์ ์ธ VM ์„œ๋ฒ„ ์ƒ์„ฑ์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

 

์ฐธ๊ณ ) ๊ธ€์“ด์ด์˜ ์„œ๋ฒ„๋น„์šฉ์„ ์œ„ํ•ด ์œ„์˜ ์™ธ๋ถ€IP๋Š” ๋ง‰์•„๋†“์€ ์ƒํƒœ์ด๋ฏ€๋กœ

ํ•ด๋‹น IP์—์„œ ์‘๋‹ต์ด ์™œ ์—†๋Š”์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์€ ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ต๋‹ˆ๋‹ค! ใ…Žใ…Ž


์•ˆ๋…•ํ•˜์„ธ์š”?

์ฝ”๋”ฉํ•˜๋Š” ๋ชจ์ฃผ๋ถ€ ์ž…๋‹ˆ๋‹ค!

 


1. ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์˜ ์„ ํƒ

์ด ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์‹œ์ž‘ํ•˜๊ฒŒ ๋œ ๋ชฉ์ ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

1. ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉ, ํ”Œ๋žซํผ์˜ ์žฅ์  ์ตํžˆ๊ธฐ

2. ์ž๊ธฐ ์ปดํ“จํ„ฐ๊ฐ€ ์•„๋‹Œ, ์„œ๋ฒ„๋ฅผ ๋นŒ๋ ค ์„œ๋น„์Šค ๋งŒ๋“ค๊ธฐ

3. ์„œ๋ฒ„์— ์ž์‹ ์ด ๋งŒ๋“  ์ฝ”๋“œ ์˜ฌ๋ฆฌ๊ธฐ & ์ˆ˜์ •ํ•˜๊ธฐ

4. Load balancer๋ฅผ ์ด์šฉํ•˜์—ฌ ์š”์ฒญ ๋ถ„์‚ฐ์‹œํ‚ค๊ธฐ

 

๊ฐ„๋‹จํ•œ ์›น ํฌ๋กค๋ง๊ณผ ๊ฐ™์ด ์ง€์†์ ์ด์ง€ ์•Š๊ณ , ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŽ์ด ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ๋“ค์€

๊ฐ€๊ธ‰์  ๋ณธ์ธ ์ปดํ“จํ„ฐ๋กœ ์‹คํ–‰์‹œํ‚ค๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ํ•ญ์‹œ ํŠน์ • ์ž‘์—…์„ ๊ธฐ๋‹ค๋ฆฌ๊ฑฐ๋‚˜ ๋ชฉ์ ๋ฌผ์„ Watchingํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”?

์ด๋•Œ ์•„๋ž˜์˜ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

 

> Google - GCP (Google Cloud Platform)

> Amazon - AWS (Amazon Web Service)

> Microsoft - AZURE

 

ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ ์‚ฌ์šฉ์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•„์š”.

์žฅ์  ๋‹จ์ 
์ƒ์„ฑ, ๊ด€๋ฆฌ๊ฐ€ ์‰ฝ๋‹ค ์„œ๋ฒ„ ๋น„์šฉ์ด ๋ฐœ์ƒํ•œ๋‹ค
์›ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ, ์„ฑ๋Šฅ ๋“ฑ์„ ์„ ํƒํ•˜์—ฌ ๋Œ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค ์„ฑ๋Šฅ์ด ์ข‹์•„์งˆ์ˆ˜๋ก ์œ ์ง€๋น„์šฉ์ด ๋น„์‹ธ์ง„๋‹ค
๋ฌธ์„œํ™”๊ฐ€ ์ž˜ ๋˜์–ด์žˆ์–ด ๋”ฐ๋ผํ•˜๊ธฐ ์šฉ์ดํ•˜๋‹ค ์ผ๋ฐ˜ ๋ฆฌ๋ˆ…์Šค๋กœ ๋งŒ๋“ค ๋•Œ ๋ณด๋‹ค ์ž์œ ๋„๊ฐ€ ๋‚ฎ๋‹ค
์„œ๋ฒ„์˜ ์•ˆ์ •์„ฑ์— ๋Œ€ํ•œ ์ฑ…์ž„์„ ์ง€์ง€ ์•Š์•„๋„ ๋œ๋‹ค ๊ฐ€๋” ๊ตฌ๊ธ€/์•„๋งˆ์กด/๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์„œ๋ฒ„์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฐ„ํ˜น ์กด์žฌํ•œ๋‹ค
๊ฐ™์€ ํšŒ์‚ฌ์—์„œ ์ œ๊ณตํ•˜๋Š” Database, ๋ชจ๋“ˆ๋“ค์˜ ์—ฐ๊ฒฐ์ด ์šฉ์ดํ•˜๋‹ค -

์ด์ค‘์—์„œ๋„ ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ๋ฅผ ์„ ํƒํ•œ ์ด์œ ๋Š”,

์‚ฌ์šฉํ•  Database์ธ Firebase / PostgreSQL ๊ณผ์˜ ์—ฐ๋™์„ฑ์ด ๋›ฐ์–ด๋‚ฌ๊ณ 

ํ”Œ๋žซํผ์„ ์‚ฌ์šฉ ํ•  ๋‹น์‹œ ์™ธ์ฃผ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋˜, ์„œ๋ฒ„ ์•ˆ์ •์„ฑ์— ๋Œ€ํ•œ ์ฑ…์ž„์„ ๊ตฌ๊ธ€์— ๋– ๋„˜๊ธธ ์ˆ˜ ์žˆ์–ด์„œ

๊ท€์ฑ…์‚ฌ์œ ๋กœ๋ถ€ํ„ฐ ์ž์œ ๋กญ๋‹ค๋Š” ๊ฒƒ๋„ ๋งค๋ ฅ์ ์ธ ํฌ์ธํŠธ๊ฐ€ ์žˆ์—ˆ์ฃ .

 

๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์—์„œ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

โ–ถ Virtual Machine์„ ์ƒ์„ฑํ•˜์—ฌ ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ

โ–ถApp Engine์„ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ

 

์ด ๋‘˜์ค‘ ์–ด๋–ค ๊ฒƒ์„ ์„ ํƒํ•˜์—ฌ ๋งŒ๋“ค๊นŒ์š”?

๋ผ๊ณ  ๊ณ ๋ฏผํ•œ๋‹ค๋ฉด ์•„๋ž˜์˜ ํŠน์ง•์„ ์ฐธ๊ณ ํ•ฉ์‹œ๋‹ค.

  Virtual Machine App Engine
์ž๋™ Deploy๊ธฐ๋Šฅ X
๋ณธ์ธ์ด ํ„ฐ๋ฏธ๋„ ์ฐฝ์—์„œ Git clone๋“ฑ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•œ ๋‹ค์Œ install๊นŒ์ง€ ๋‹ค ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค
O
GitHub๋“ฑ์„ ์—ฐ๊ฒฐ์‹œํ‚จ ํ›„, ์ž๋™ Deploy๋ฅผ ์‹œํ‚ค๋ฉด ์•Œ์•„์„œ ์—…๋ฐ์ดํŠธ ํ•ด ์ค€๋‹ค
๊ฐœ๋ฐฉ์„ฑ ๋งค์šฐ ๋†’์Œ.
๋‹ค๋ฅธ Database๋‚˜ ๊ฐ™์€ VPC์— ์†ํ•˜๋Š” ๋‹ค๋ฅธ VM๊ณผ๋„๋‚ด๋ถ€ IP๋ฅผ ํ†ตํ•ด ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค
๋‚ฎ์Œ
๋‚ด๋ถ€์ ์œผ๋กœ ๋‹ซํ˜€์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋‚ด๋ถ€์ ์ธ ์—ฐ๊ฒฐ์ด ๋ถˆ๊ฐ€๋Šฅ
์ˆ˜์ •, ๋ฐฐํฌ ์†๋„ ๋น ๋ฆ„
์‚ฌ์šฉ์ž๊ฐ€ ์Šค์Šค๋กœ ํ„ฐ๋ฏธ๋„์—์„œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ๋งค์šฐ ๋น ๋ฅด๋‹ค
๋Š๋ฆผ
App engine ์ž์ฒด๊ฐ€ Deployํ•˜๋Š” ๋ฐฉ์‹์ด ์ •ํ•ด์ ธ ์žˆ๋Š”๋ฐ, ์†๋„๊ฐ€ ๊ฝค๋‚˜ ๋Š๋ฆฌ๋‹ค

 

Virtual Machine (์™ผ์ชฝ)๊ณผ App engine (์˜ค๋ฅธ์ชฝ)์˜ ์˜ˆ

์ €๋Š” ์ˆ˜์ •๊ณผ ๋ฐฐํฌ๋ฅผ ๋งŽ์ด ํ•ด์•ผ ํ–ˆ๊ณ ,

PostgreSQL์„ ๋‚ด๋ถ€ํ†ต์‹ ๋งŒ ํ—ˆ์šฉํ•˜์—ฌ

์™ธ๋ถ€์—์„œ ์•„์˜ˆ ์ ‘๊ทผ์„ ๋ชปํ•˜๋„๋ก ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๋ถ€ํ†ต์‹ ๋งŒ ํ•˜๋Š” ์ด์œ ๋Š”,

๋ณด์•ˆ์ƒ์œผ๋กœ ๊ฐ€์žฅ ๊ฐ•๊ฑดํ•˜๊ณ  ๊ตฌ์กฐ๊ฐ€ ๊น”๋”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด์—์š”.


2. Compute engine์—์„œ Virtual Machine ์ƒ์„ฑํ•˜๊ธฐ

 

๋จผ์ €, ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ ์ฝ˜์†”์„ ์—ด๊ฒŒ ๋˜๋ฉด,

์•„๋ž˜์™€ ๊ฐ™์ด ํ”„๋กœ์ ํŠธ ์ •๋ณด๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ์™ผ์ชฝ์˜ ํ–„๋ฒ„๊ฑฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ Compute engine์œผ๋กœ ๊ฐ‘์‹œ๋‹ค.

๋ถ€ํŒ… ๋””์Šคํฌ ์„ค์ •๊ณผ API, ๋ฐฉํ™”๋ฒฝ ์„ค์ •

๋งŒ์•ฝ API ์•ก์„ธ์Šค๋ฅผ ๊ธฐ๋ณธ ์•ก์„ธ์Šค๋งŒ ํ—ˆ์šฉํ•ด ๋‘”๋‹ค๋ฉด,

๋‚˜์ค‘์— PostgreSQL์ด๋‚˜ Firebase๋ฅผ ์‚ฌ์šฉํ•จ์— ์žˆ์–ด์„œ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ์—๋Ÿฌ๋“ค์„ ๋งŒ๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ๊ธ€์˜ Database๋ฅผ ์—ฐ๋™ํ•˜๋”๋ผ๋„ ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ํ†ต์‹ ์œผ๋กœ ์•ก์„ธ์Šค ํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ

API ์ž์ฒด๊ฐ€ ๋ง‰ํ˜€์žˆ๋‹ค๋ฉด ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค!!

 

์ด์™€ ๋น„์Šทํ•œ ๋งฅ๋ฝ์œผ๋กœ, Virtual machine์„ ์ตœ์ข…์ ์œผ๋กœ ์™ธ๋ถ€ IP์™€ ์—ฐ๊ฒฐํ•˜๊ฒŒ ๋  ๊ฒƒ์ธ๋ฐ,

http, https ํŠธ๋ž˜ํ”ฝ์„ ์—ด์–ด๋†“์ง€ ์•Š๋Š”๋‹ค๋ฉด

ํ„ฐ๋ฏธ๋„ ์ด์™ธ์—์„œ๋Š” ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ

๋ฐ˜๋“œ์‹œ ๋ฐฉํ™”๋ฒฝ ๋ฉ”๋‰ด์—์„œ ํŠธ๋ž˜ํ”ฝ ํ—ˆ์šฉ์„ ์ฒดํฌํ•ด ๋‘ก์‹œ๋‹ค.

 

๋„คํŠธ์›Œํ‚น ์„ค์ • ๋ฉ”๋‰ด

๋งŒ์•ฝ ๋ณธ์ธ์ด VPC๋ฅผ ์ž„์˜๋กœ ์ƒ์„ฑํ•˜์˜€๊ณ , ๊ทธ๊ฒƒ์„ ๋‚ด๋ถ€์ ์œผ๋กœ ์—ฐ๊ฒฐํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด,

๋„คํŠธ์›Œํ‚น ๋ฉ”๋‰ด์—์„œ ํ•ด๋‹น VPC๋ฅผ ์„ ํƒํ•˜์—ฌ ์—ฐ๊ฒฐ์„ ํ•ด ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋ฒˆ ์‹œ๋ฆฌ์ฆˆ์—์„œ๋Š” ๋”ฐ๋กœ VPC๋ฅผ ๋งŒ๋“ค ๊ณ„ํš์ด ์—†์œผ๋ฏ€๋กœ ๊ทธ๋ƒฅ default๋กœ ๋†”๋‘๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

์—ฌ๊ธฐ๊นŒ์ง€ ์™„๋ฃŒํ–ˆ๋‹ค๋ฉด, Virtual machine์˜ ๊ธฐ๋ณธ์ ์ธ ์ƒ์„ฑ์ด ๋๋‚ฌ์Šต๋‹ˆ๋‹ค!

๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ๋ต๊ฒŒ์š” :)

+ Recent posts