์ธ์คํด์ค ๊ทธ๋ฃน์ ์์ฑํด๋ณด์ (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. ์ธ์คํด์ค ๊ทธ๋ฃน ์์ฑํ๊ธฐ
์ด์ ํฌ์คํ ์์ ๋ง๋ ์ธ์คํด์ค ํ ํ๋ฆฟ์ ์ ํํด ์ฃผ์๊ณ ,
์๋ ๋ณต๊ตฌ - ์ํํ์ธ์์ ์๋ก ์์ฑํ๊ธฐ๋ฅผ ๋๋ฌ์ฃผ์ธ์.
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)์ ์คํจ ํ์ ํ๋ฅ ์ด ๋งค์ฐ ๋์ต๋๋ค
์ด์ ํฌ์คํ ์์ ๋ง๋ ์ธ์คํด์ค ํ ํ๋ฆฟ์ ๋ค์ ํ๋ฒ ํ์ธ ํด ๋ณด์ธ์!!
๊ทธ๋ผ, ๋ค์ ํฌ์คํ ์์ ์ธ์คํด์ค ๊ทธ๋ฃน์
๋ก๋ ๋ฐธ๋ฐ์์ ์ฐ๊ฒฐ ํด๋ด ์๋ค!
'Coding > Google Cloud Platform' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Google cloud platform)] ๋๋ง์ ์๋ฒ(Server) ๋ง๋ค๊ธฐ - 6 (2) | 2020.11.02 |
---|---|
[Google cloud platform)] ๋๋ง์ ์๋ฒ(Server) ๋ง๋ค๊ธฐ - 5 (2) | 2020.10.31 |
[Google cloud platform] ๋๋ง์ ์๋ฒ(Server) ๋ง๋ค๊ธฐ - 3 (0) | 2020.10.18 |
[Google cloud platform] ๋๋ง์ ์๋ฒ(Server) ๋ง๋ค๊ธฐ - 2 (0) | 2020.10.14 |
[Google cloud platform] ๋๋ง์ ์๋ฒ(Server) ๋ง๋ค๊ธฐ - 1 (2) | 2020.10.12 |