๋๋ถ๋ถ์ ์ฌ๋๋ค์ ์๋ง๋ ํด๋ฌ์คํฐ ์ธ๋ถ์์ ์คํ๋๋ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๊ณ ์์ ๊ฒ์
๋๋ค. ์๋ง๋ Taleo API๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ฑฐ๋ Google Cloud Vision API๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ๋ถ์ํ ์ ์์ต๋๋ค.
๋ชจ๋ ํ๊ฒฝ์์ ๋์ผํ ์๋ฒ ์ธก ์์ฒญ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ฒ๋ฅผ Kubernetes๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ ๊ณํ์ด ์๋ค๋ฉด ์ฝ๋์ ๋ฐ๋ก ์๋น์ค ์๋ํฌ์ธํธ๋ฅผ ๋๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฒคํธ ๊ฐ๋ฐ์ ๋ํ ๋ค๋ฅธ ๋ง์ ์๋๋ฆฌ์ค๊ฐ ์์ต๋๋ค. ์ด Kubernetes ๋ชจ๋ฒ ์ฌ๋ก ์๋ฆฌ์ฆ์์๋ Kubernetes์ ๋ด์ฅ๋ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ ๋ด๋ถ์ ์ธ๋ถ ๋ชจ๋์์ ์๋น์ค๋ฅผ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค.
์ผ๋ฐ์ ์ธ ์ธ๋ถ ์๋น์ค์ ์๋ก๋ Kubernetes ํด๋ฌ์คํฐ ์ธ๋ถ์์ ์คํ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ต๋๋ค. ๋ชจ๋ ์ก์ธ์ค์ ๋จ์ผ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ๋ Google Cloud Data Store ๋๋ Google Cloud Spanner์ ๊ฐ์ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌ๋ฆฌ ๋๋ถ๋ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ์ํฉ์ ๋ฐ๋ผ ๋ณ๋์ ์๋ํฌ์ธํธ๊ฐ ์์ต๋๋ค.
MySQL ๋ฐ MongoDB์ ๊ฐ์ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์ ๋ํ ๋ชจ๋ฒ ์ฌ๋ก๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์ํ ํ๊ฒฝ์ ๋ค์ํ ๊ตฌ์ฑ ์์์ ์ฐ๊ฒฐํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ํ๋ก๋์
๋ฐ์ดํฐ์ฉ์ผ๋ก ํฐ ๋จธ์ ์ ์ฌ์ฉํ๊ณ ํ
์คํธ ํ๊ฒฝ์ฉ์ผ๋ก ๋ ์์ ๋จธ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ฐ๊ฐ์๋ ๊ณ ์ ํ IP ์ฃผ์๋ ๋๋ฉ์ธ ์ด๋ฆ์ด ์์ง๋ง ํ ํ๊ฒฝ์์ ๋ค๋ฅธ ํ๊ฒฝ์ผ๋ก ์ด๋ํ ๋ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ์ง ์์ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ์ฃผ์๋ฅผ ํ๋ ์ฝ๋ฉํ๋ ๋์ ๊ธฐ๋ณธ Kubernetes ์๋น์ค์ ๋์ผํ ๋ฐฉ์์ผ๋ก Kubernetes์ ๋ด์ฅ DNS ๊ธฐ๋ฐ ์ธ๋ถ ์๋น์ค ๊ฒ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Google Compute Engine์์ MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์คํํ๊ณ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ํด๋ฌ์คํฐ๋ก ์ ์กํ ๋๊น์ง ์ด ํ์ด๋ธ๋ฆฌ๋ ์ธ๊ณ์ ๊ฐํ ์๊ฒ ๋ฉ๋๋ค.
์ด ์ข๊ฒ๋ ์ ์ Kubernetes ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ถ์ ์ข ๋ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ์์์๋ Google Cloud Launcher๋ฅผ ์ฌ์ฉํ์ฌ MongoDB ์๋ฒ๋ฅผ ๋ง๋ค์์ต๋๋ค. ๋์ผํ ๋คํธ์ํฌ(๋๋ Kubernetes ํด๋ฌ์คํฐ VPC)์ ์์ฑ๋๋ฏ๋ก ๊ณ ์ฑ๋ฅ ๋ด๋ถ IP ์ฃผ์๋ฅผ ์ฌ์ฉํ์ฌ ์ก์ธ์คํฉ๋๋ค.
์ด๋ GCP์ ๊ธฐ๋ณธ ์ค์ ์ด๋ฏ๋ก ์๋ฌด๊ฒ๋ ๊ตฌ์ฑํ ํ์๊ฐ ์์ต๋๋ค. ์ด์ IP ์ฃผ์๊ฐ ์์ผ๋ฏ๋ก ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ์๋น์ค๋ฅผ ๋ง๋๋ ๊ฒ์
๋๋ค. ์ด ์๋น์ค์๋ ํฌ๋ ์ ํ๊ธฐ๊ฐ ์๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ์ฆ, ํธ๋ํฝ์ ์ด๋๋ก ๋ณด๋ผ์ง ์ ์ ์๋ ์๋น์ค๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ด ์๋น์ค์์ ํธ๋ํฝ์ ์์ ํ ์๋ํฌ์ธํธ ๊ฐ์ฒด๋ฅผ ์๋์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค.
๋ค์ ์ฝ๋ ์์ ์์๋ ์๋ํฌ์ธํธ๊ฐ ์๋น์ค์ ๋์ผํ mongo ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ IP ์ฃผ์๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค.
Kubernetes๋ ๋ชจ๋ IP ์ฃผ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ง์น ์ผ๋ฐ Kubernetes Pod์ธ ๊ฒ์ฒ๋ผ ์๋ํฌ์ธํธ๋ฅผ ์ฐพ์ผ๋ฏ๋ก ์ด์ ์ ์ด๋ฆ mongodb://mongo์ ๋ํ ๊ฐ๋จํ ์ฐ๊ฒฐ ๋ฌธ์์ด์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ฝ๋์ IP ์ฃผ์๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์ ํ ์์ต๋๋ค.
๋์ค์ IP ์ฃผ์๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์๋ํฌ์ธํธ๋ฅผ ์ IP ์ฃผ์๋ก ๊ฐ๋จํ ์ ๋ฐ์ดํธํ ์ ์์ผ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ถ๊ฐ๋ก ์์ ํ ํ์๊ฐ ์์ต๋๋ค.
ํ์ฌ ํธ์คํธ์์ ํธ์คํ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํธ์คํธ ์์ ์๊ฐ ์ฐ๊ฒฐํ ์ ์๋ URL(Uniform Resource Identifier) โโURI๋ฅผ ์ ๊ณตํ์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๋ฐ๋ผ์ IP ์ฃผ์๊ฐ ๋ถ์ฌ๋ ๊ฒฝ์ฐ ์ด์ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ์์์๋ mLab ํธ์คํธ์์ ํธ์คํ ๋๋ ๋ ๊ฐ์ MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์์ ๋ณด์ฌ์ค๋๋ค.
ํ๋๋ ๊ฐ๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๊ณ ๋ค๋ฅธ ํ๋๋ ํ๋ก๋์
๋ฐ์ดํฐ๋ฒ ์ด์ค์
๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ ๋ฌธ์์ด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. mLab์ ๋์ URI์ ๋์ ํฌํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ณด์๋ค์ํผ, ๊ทธ๋ค์ ๋ค๋ฆ
๋๋ค.
์ด๋ฅผ ์ถ์ํํ๊ธฐ ์ํด Kubernetes๋ฅผ ์ฌ์ฉํ๊ณ ๊ฐ๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํด ๋ณด๊ฒ ์ต๋๋ค. ์ธ๋ถ ์๋น์ค๋ก ํธ๋ํฝ์ ์ ๋ฌํ๋ ์ ์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ธ๋ถ Kubernetes ์๋น์ค ์ด๋ฆ์ ๋ง๋ค ์ ์์ต๋๋ค.
์ด ์๋น์ค๋ ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ์ ์ต์ํํ๋ฉด์ ์ปค๋ ์์ค์์ ๊ฐ๋จํ CNAME ์ ๋ฌ์ ์ํํฉ๋๋ค. ๋๋ถ์ ๋ ๊ฐ๋จํ ์ฐ๊ฒฐ ๋ฌธ์์ด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ง๋ง ์ธ๋ถ ์ด๋ฆ์ CNAME ์ ๋ฌ์ ์ฌ์ฉํ๋ฏ๋ก ํฌํธ ์ ๋ฌ์ ์ํํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด ์๋ฃจ์
์ ์ ์ ํฌํธ์๋ง ์ ์ฉ ๊ฐ๋ฅํ๋ฉฐ ๋์ ํฌํธ์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ mLab ๋ฌด๋ฃ ๊ณ์ธต์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ์์๊ฒ ๋์ ํฌํธ ๋ฒํธ๋ฅผ ์ ๊ณตํ๋ฉฐ ์ด๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ด๋ dev ๋ฐ prod์ ๋ํด ์๋ก ๋ค๋ฅธ ์ฐ๊ฒฐ ๋ช
๋ น์ค์ด ํ์ํจ์ ์๋ฏธํฉ๋๋ค. ๋์ ์ ์ ํฌํธ ๋ฒํธ๋ฅผ ํ๋์ฝ๋ฉํด์ผ ํ๋ค๋ ๊ฒ์
๋๋ค. ๊ทธ๋ ๋ค๋ฉด ํฌํธ ํฌ์๋ฉ์ด ์๋ํ๋๋ก ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น์?
์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ URI์์ IP ์ฃผ์๋ฅผ ์ป๋ ๊ฒ์ ๋๋ค. nslookup์ด๋ ํธ์คํธ ์ด๋ฆ์ ์คํํ๊ฑฐ๋ URI์ ๋ํด ping์ ์คํํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ IP ์ฃผ์๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์๋น์ค๊ฐ ์ฌ๋ฌ IP ์ฃผ์๋ฅผ ๋ฐํํ๋ ๊ฒฝ์ฐ ์ด๋ฌํ ์ฃผ์๋ ๋ชจ๋ ๊ฐ์ฒด์ ๋์ ์์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
ํ ๊ฐ์ง ๋ช
์ฌํด์ผ ํ ์ ์ IP URI๊ฐ ์๊ณ ์์ด ๋ณ๊ฒฝ๋ ์ ์์ผ๋ฏ๋ก ํ๋ก๋์
์์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋งค์ฐ ์ํํ๋ค๋ ๊ฒ์
๋๋ค. ์ด IP ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ฉด ํฌํธ๋ฅผ ์ง์ ํ์ง ์๊ณ ๋ ์๊ฒฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ Kubernetes ์๋น์ค๋ ๋งค์ฐ ํฌ๋ช
ํ๊ฒ ํฌํธ ์ ๋ฌ์ ์ํํฉ๋๋ค.
์ธ๋ถ ๋ฆฌ์์ค๋ฅผ ๋ด๋ถ ๋ฆฌ์์ค์ ๋งคํํ๊ฑฐ๋ ๋งคํํ๋ฉด ๋ฆฌํฉํฐ๋ง ๋
ธ๋ ฅ์ ์ต์ํํ๋ฉด์ ํฅํ ํด๋ฌ์คํฐ ๋ด์์ ์ด๋ฌํ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ ์ฐ์ฑ์ ์ป์ ์ ์์ต๋๋ค. ๋ํ ํ์ฌ์์ ์ฌ์ฉํ๋ ์ธ๋ถ ์๋น์ค๋ฅผ ๋ ์ฝ๊ฒ ๊ด๋ฆฌํ๊ณ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์กฐ๋ง๊ฐ ๊ณ์...
์ผ๋ถ ๊ด๊ณ ๐
์ฐ๋ฆฌ์ ํจ๊ป์์ด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ์ฐ๋ฆฌ ๊ธฐ์ฌ๊ฐ ๋ง์์ ๋์ญ๋๊น? ๋ ์ฌ๋ฏธ์๋ ์ฝํ
์ธ ๋ฅผ ๋ณด๊ณ ์ถ๋ค๋ฉด? ์ฃผ๋ฌธํ๊ฑฐ๋ ์น๊ตฌ์๊ฒ ์ถ์ฒํ์ฌ ์ฐ๋ฆฌ๋ฅผ ์ง์ํ์ญ์์ค.
Dell R730xd๋ ์์คํ
๋ฅด๋ด์ Equinix Tier IV ๋ฐ์ดํฐ ์ผํฐ์์ 2๋ฐฐ ๋ ์ ๋ ดํฉ๋๊น? ์ฌ๊ธฐ์ ๋ง
์ถ์ฒ : habr.com