2010๋
์ ํ์ฌ๋
์๋ฒ๊ฐ 16๋์ผ ๋, ๋๋ฌด ๋ง์ ์ด๊ธฐ์ข ์ธ๊ทธ๋จผํธ๋ก ์ธํด ๋๋ฌผ ์์ด ์์ ํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํด์ก์ต๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ ๋ค๋ฅธ ํด๊ฒฐ์ฑ ์ ์๊ฐํด๋์ต๋๋ค. ์ฐ๋ฆฌ๋ Netfilter ์คํ์ ๊ฐ์ ธ์ Consul์ ๋ฐ์ดํฐ ์์ค๋ก ์ถ๊ฐํ๊ณ ๋น ๋ฅธ ๋ถ์ฐ ๋ฐฉํ๋ฒฝ์ ์ป์์ต๋๋ค. ๊ทธ๋ค์ ๋ผ์ฐํฐ์ ACL์ ๊ต์ฒดํ๊ณ ์ด๋ฅผ ์ธ๋ถ ๋ฐ ๋ด๋ถ ๋ฐฉํ๋ฒฝ์ผ๋ก ์ฌ์ฉํ์ต๋๋ค. ๋๊ตฌ๋ฅผ ๋์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ์ ํ ๋คํธ์ํฌ์ ๋ํ ์ฌ์ฉ์ ์ก์ธ์ค ๊ด๋ฆฌ๋ถํฐ ๋คํธ์ํฌ ์ธ๊ทธ๋จผํธ๋ฅผ ์๋ก ๊ฒฉ๋ฆฌํ๋ ๊ฒ๊น์ง ๋ชจ๋ ๊ณณ์์ ์ฌ์ฉ๋๋ BEFW ์์คํ ์ ๊ฐ๋ฐํ์ต๋๋ค.
๊ทธ๋ ๋ชจ๋ ๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ ์ด ์์คํ
์ ์์ธํ ์ดํด๋ณด์์ผ ํ๋์ง ์๋ ค์ค ๊ฒ์
๋๋ค. ์ด๋ฐ ์๊ฐ๋ฅด์ฝํ (
์ญ์ฌ ์ ๋ณด
์ฐ๋ฆฌ๊ฐ ์ด๋ป๊ฒ ํ๋์ง ๋ง์๋๋ฆฌ๊ธฐ ์ ์, ์ฒ์์ ์ด๋ป๊ฒ ์ด ์ผ์ ํ๊ฒ ๋์๋์ง, ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ์ ํ์ํ๋์ง ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ด๋ฅผ ์ํด 9๋ ์ ์ธ 2010๋ ์ผ๋ก ๋์๊ฐ ์๋ ์ค๋ธ ํฑํฌ(World of Tanks)๊ฐ ๋ง ๋ฑ์ฅํ์ต๋๋ค. Wargaming์๋ ์ฝ 50๊ฐ์ ์๋ฒ๊ฐ ์์์ต๋๋ค.
ํ์ฌ ์๋ฒ ์ฑ์ฅ ์ฐจํธ.
์ฐ๋ฆฌ๋ ๋คํธ์ํฌ ๋ชจ๋ธ์ ๊ฐ์ง๊ณ ์์์ต๋๋ค. ๊ทธ ๋น์์๋ ์ต์ ์ด์์ต๋๋ค.
2010๋
๋คํธ์ํฌ ๋ชจ๋ธ.
ํ๋ฐํธ์๋์๋ ์ฐ๋ฆฌ๋ฅผ ๋ฌด๋๋จ๋ฆฌ๋ ค๋ ์ ๋น๋ค์ด ์์ง๋ง ๋ฐฉํ๋ฒฝ์ด ์์ต๋๋ค. ๋ฐฑ์๋์๋ ๋ฐฉํ๋ฒฝ์ด ์์ง๋ง ๊ฑฐ๊ธฐ์๋ 50๊ฐ์ ์๋ฒ๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ๋ชจ๋ ์๊ณ ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด ์ ์๋ํฉ๋๋ค.
4๋ ๋ง์ ์๋ฒ ํจ๋๋ 100๋ฐฐ, 5000๊ฐ๋ก ๋์ด๋ฌ์ต๋๋ค. ์ต์ด์ ๊ฒฉ๋ฆฌ๋ ๋คํธ์ํฌ๊ฐ ๋ํ๋ฌ์ต๋๋ค. ์ฆ, ์ค๋น ๋จ๊ณ: ํ๋ก๋์ ์ผ๋ก ์ด๋ํ ์ ์์๊ณ ๊ทธ๊ณณ์์ ์ํํ ์ ์๋ ์ผ์ด ์คํ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ต๋๋ค.
2014๋
๋คํธ์ํฌ ๋ชจ๋ธ.
๊ด์ฑ์ ๋ฐ๋ผ ์ฐ๋ฆฌ๋ ๋์ผํ ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ์ผ๋ฉฐ ๋ชจ๋ ์์ ์ ๊ฒฉ๋ฆฌ๋ VLAN์์ ์ํ๋์์ต๋๋ค. ACL์ ์ผ์ข ์ ์ฐ๊ฒฐ์ ํ์ฉํ๊ฑฐ๋ ๊ฑฐ๋ถํ๋ VLAN์ ๊ธฐ๋ก๋ฉ๋๋ค.
2016๋ ์๋ ์๋ฒ ์๊ฐ 8000๊ฐ์ ์ด๋ฅด๋ ๊ณ ์๊ฒ์ด๋ฐ์ด ๋ค๋ฅธ ์คํ๋์ค๋ฅผ ํก์ํ๊ณ ์ถ๊ฐ ์ ํด ๋คํธ์ํฌ๊ฐ ๋ฑ์ฅํ์ต๋๋ค. ์ฐ๋ฆฌ ๊ฒ ๊ฐ์ง๋ง ๊ผญ ๊ทธ๋ ์ง๋ ์์ต๋๋ค. VLAN์ ์ข ์ข ํํธ๋์๊ฒ ์๋ํ์ง ์์ผ๋ฉฐ VRF์ ํจ๊ป VPN์ ์ฌ์ฉํด์ผ ํ๋ฉฐ ๊ฒฉ๋ฆฌ๊ฐ ๋์ฑ ๋ณต์กํด์ง๋๋ค. ACL ์ ์ฐ ํผํฉ๋ฌผ์ด ์ฆ๊ฐํ์ต๋๋ค.
2016๋
๋คํธ์ํฌ ๋ชจ๋ธ.
2018๋ ์ด๊น์ง ๊ธฐ๊ณ ๋ณด์ ๋์๋ 16๊ฐ๋ก ๋์ด๋ฌ์ต๋๋ค. 000๊ฐ ์ธ๊ทธ๋จผํธ๊ฐ ์์๊ณ ์ฌ๋ฌด ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ํ์ํ ์ธ๊ทธ๋จผํธ๋ฅผ ํฌํจํ์ฌ ๋๋จธ์ง๋ ๊ณ์ฐํ์ง ์์์ต๋๋ค. ์ปจํ ์ด๋ ๋คํธ์ํฌ(Kubernetes), DevOps, VPN์ ํตํด ์ฐ๊ฒฐ๋ ํด๋ผ์ฐ๋ ๋คํธ์ํฌ(์: IVS)๊ฐ ๋ฑ์ฅํ์ต๋๋ค. ๊ท์น์ด ๋๋ฌด ๋ง์์ ๊ณ ํต์ค๋ฌ์ ์ด์.
2018๋
๋คํธ์ํฌ ๋ชจ๋ธ ๋ฐ ๊ฒฉ๋ฆฌ ๋ฐฉ๋ฒ.
๊ฒฉ๋ฆฌ๋ฅผ ์ํด ์ฐ๋ฆฌ๋ L2์ ACL์ด ์๋ VLAN, L3์ ACL์ด ์๋ VRF, VPN ๋ฑ์ ์ฌ์ฉํ์ต๋๋ค. ๋๋ฌด ๋ง์.
๋ฌธ์
๋ชจ๋๊ฐ ACL๊ณผ VLAN์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋ญ๊ฐ ๋ฌธ์ ์ผ? ์ด ์ง๋ฌธ์ ํด๋กค๋๋ ๊ณ ํต์ ์จ๊ธด ์ฑ ๋๋ตํ ๊ฒ์ด๋ค.
๋ง์ ๋ฌธ์ ๊ฐ ์์์ง๋ง XNUMX๊ฐ์ โโํฐ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
- ์๋ก์ด ๊ท์น์ ๋ํ ๊ธฐํํ์ ๊ฐ๊ฒฉ ์ธ์. ๊ฐ๊ฐ์ ์๋ก์ด ๊ท์น์ ์ด์ ๊ท์น๋ณด๋ค ์ถ๊ฐํ๋ ๋ฐ ๋ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ ธ์ต๋๋ค. ๋จผ์ ํด๋น ๊ท์น์ด ์ด๋ฏธ ์๋์ง ํ์ธํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ์ธ๊ทธ๋จผํธ ๋ด๋ถ์๋ ๋ฐฉํ๋ฒฝ์ด ์์ต๋๋ค.. ์ธ๊ทธ๋จผํธ๋ ์ด๋ป๊ฒ ๋ ์๋ก ๋ถ๋ฆฌ๋์ด ์์๊ณ ๋ด๋ถ์๋ ์ด๋ฏธ ๋ฆฌ์์ค๊ฐ ์ถฉ๋ถํ์ง ์์์ต๋๋ค.
- ๊ท์น์ ์ค๋ซ๋์ ์ ์ฉ๋์์ต๋๋ค. ์ด์์๋ ํ ์๊ฐ ์์ ํ๋์ ๋ก์ปฌ ๊ท์น์ ์ง์ ์์ฑํ ์ ์์ต๋๋ค. ๊ธ๋ก๋ฒ ์์ ์๋ ๋ฉฐ์น ์ด ๊ฑธ๋ ธ์ต๋๋ค.
- ๊ฐ์ฌ ๊ท์น์ ์ด๋ ค์. ๋ ์ ํํ๊ฒ ๋งํ๋ฉด ๋ถ๊ฐ๋ฅํ์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๊ท์น์ 2010๋ ์ ์์ฑ๋์์ผ๋ฉฐ ์์ฑ์ ๋๋ถ๋ถ์ ๋ ์ด์ ํ์ฌ์์ ๊ทผ๋ฌดํ์ง ์์ต๋๋ค.
- ๋ฎ์ ์์ค์ ์ธํ๋ผ ์ ์ด. ์ด๊ฒ์ด ์ฃผ์ ๋ฌธ์ ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ๋๋ผ์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ ๋ชฐ๋์ต๋๋ค.
2018๋ ์ ํ ๋คํธ์ํฌ ์์ง๋์ด๊ฐ "ACL์ด ๋ ํ์ํฉ๋๋ค."๋ผ๋ ๋ง์ ๋ค์์ ๋์ ๋ชจ์ต์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์๋ฃจ์
2018๋ ์ด์ ์ด์ ๋ํด ๋ญ๊ฐ ์กฐ์น๋ฅผ ์ทจํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
ํตํฉ ๊ฐ๊ฒฉ์ ์ง์์ ์ผ๋ก ์ฆ๊ฐํ๊ณ ์์ต๋๋ค. ์์์ ์ ์ฅ์น์ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ์ธํด ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ผํฐ๊ฐ ๊ฒฉ๋ฆฌ๋ VLAN ๋ฐ ACL ์ง์์ ์ค๋จํ๋ค๋ ๊ฒ์ ๋๋ค.
ํด๊ฒฐ์ฑ : ์ฐ๋ฆฌ๋ ์ธ์ ์์๋ฅผ ์ ๊ฑฐํ๊ณ ์ต๋ํ์ ์ก์ธ์ค ์ ๊ณต์ ์๋ํํ์ต๋๋ค.
์๋ก์ด ๊ท์น์ ์ ์ฉํ๋ ๋ฐ๋ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค. ํด๊ฒฐ์ฑ : ๊ท์น ์ ์ฉ ์๋๋ฅผ ๋์ด๊ณ , ๋ถ์ฐ ๋ฐ ๋ณ๋ ฌํํฉ๋๋ค. ์ด๋ฅผ ์ํด์๋ rsync ๋๋ SFTP ์์ด ์์ฒ ๊ฐ์ ์์คํ ์ ๊ท์น์ด ์์ฒด์ ์ผ๋ก ์ ๋ฌ๋๋๋ก ๋ถ์ฐ ์์คํ ์ด ํ์ํฉ๋๋ค.
์ธ๊ทธ๋จผํธ ๋ด๋ถ์๋ ๋ฐฉํ๋ฒฝ์ด ์์ต๋๋ค. ๋์ผํ ๋คํธ์ํฌ ๋ด์ ์๋ก ๋ค๋ฅธ ์๋น์ค๊ฐ ๋ํ๋ ๋ ์ธ๊ทธ๋จผํธ ๋ด์ ๋ฐฉํ๋ฒฝ์ด ์ฐ๋ฆฌ์๊ฒ ์ค๊ธฐ ์์ํ์ต๋๋ค. ํด๊ฒฐ์ฑ : ํธ์คํธ ์์ค์ ๋ฐฉํ๋ฒฝ(ํธ์คํธ ๊ธฐ๋ฐ ๋ฐฉํ๋ฒฝ)์ ์ฌ์ฉํ์ญ์์ค. ๊ฑฐ์ ๋ชจ๋ ๊ณณ์์ Linux๋ฅผ ์ฌ์ฉํ๊ณ iptables๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด๋ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค.
๊ฐ์ฌ ๊ท์น์ ์ด๋ ค์์ด ์์ต๋๋ค. ํด๊ฒฐ์ฑ : ๊ฒํ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ํด ๋ชจ๋ ๊ท์น์ ํ ๊ณณ์ ๋ณด๊ดํ์ฌ ๋ชจ๋ ๊ฒ์ ๊ฐ์ฌํ ์ ์์ต๋๋ค.
์ธํ๋ผ์ ๋ํ ํต์ ์์ค์ด ๋ฎ์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ: ๋ชจ๋ ์๋น์ค์ ๋ชฉ๋ก์ ์์ฑํ๊ณ ์๋น์ค ๊ฐ ์ก์ธ์ค๋ฅผ ์ํํฉ๋๋ค.
์ด๋ ๊ธฐ์ ์ ์ธ ํ๋ก์ธ์ค๋ผ๊ธฐ๋ณด๋ค๋ ๊ด๋ฆฌ์ ์ธ ํ๋ก์ธ์ค์ ๊ฐ๊น์ต๋๋ค. ๋๋ก๋ ์ผ์ฃผ์ผ์ 200~300๊ฐ์ ์๋ก์ด ๋ฆด๋ฆฌ์ค๊ฐ ์์ ๋๋ ์์ต๋๋ค. ํนํ ํ๋ก๋ชจ์ ์ด๋ ํด์ผ ๊ธฐ๊ฐ์๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ๋ํ ์ด๋ DevOps์ ํ ํ์๋ง ํด๋น๋ฉ๋๋ค. ๋ฆด๋ฆฌ์ค๊ฐ ๋๋ฌด ๋ง์์ ์ด๋ค ํฌํธ, IP ๋ฐ ํตํฉ์ด ํ์ํ์ง ํ์ธํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ํ์ "๊ทธ๋์ ๋ ๊ฑฐ๊ธฐ์ ๋ฌด์์ด ์๊ณ ์ ๊ทธ๋ฐ ์ด์ผ๊ธฐ๋ฅผ ๊บผ๋๋์?"๋ผ๊ณ ์ง๋ฌธํ ํน๋ณํ ํ๋ จ๋ ์๋น์ค ๊ด๋ฆฌ์๊ฐ ํ์ํ์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ ๋ชจ๋ ๊ฒ์ ์ถ์ํ ํ 2019๋ ์ ๋คํธ์ํฌ ์์ง๋์ด๋ ์ด๋ ๊ฒ ๋ณด์ด๊ธฐ ์์ํ์ต๋๋ค.
์์ฌ
์ฐ๋ฆฌ๋ ์๋น์ค ๊ด๋ฆฌ์์ ๋์์ผ๋ก ์ฐพ์ ๋ชจ๋ ๊ฒ์ Consul์ ๋ฃ๊ณ ๊ฑฐ๊ธฐ์์ iptables ๊ท์น์ ์์ฑํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด๋ป๊ฒ ์ด ์ผ์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ๋์?
- ์ฐ๋ฆฌ๋ ๋ชจ๋ ์๋น์ค, ๋คํธ์ํฌ ๋ฐ ์ฌ์ฉ์๋ฅผ ์์งํฉ๋๋ค.
- ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก iptables ๊ท์น์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
- ์ฐ๋ฆฌ๋ ์ ์ด๋ฅผ ์๋ํํฉ๋๋ค.
- ....
- ์ด์ต.
Consul์ ์๊ฒฉ API๊ฐ ์๋๋ฉฐ ๋ชจ๋ ๋ ธ๋์์ ์คํ๋๊ณ iptables์ ์ธ ์ ์์ต๋๋ค. ๋จ์ ๊ฒ์ ๋ถํ์ํ ๊ฒ์ ์ ๊ฑฐํ๋ ์๋ ์ ์ด ์ฅ์น๋ฅผ ๋ง๋๋ ๊ฒ๋ฟ์ ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋๋ถ๋ถ์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๊ฒ์ ๋๋ค! ๋๋จธ์ง๋ ์งํํ๋ฉด์ ํด๊ฒฐํ๊ฒ ์ต๋๋ค.
์ ์์ฌ์ ๋๊น?
๊ทธ ์์ฒด๋ก ์ ์ ์ฆ๋์์ต๋๋ค. 2014~15๋ ์๋ ์ด๋ฅผ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์ฅํ๋ Vault์ ๋ฐฑ์๋๋ก ์ฌ์ฉํ์ต๋๋ค.
๋ฐ์ดํฐ๊ฐ ์์ค๋์ง ์์. Consul์ ์ฌ์ฉํ๋ ๋์ ๋จ ํ ๋ฒ์ ์ฌ๊ณ ์๋ ๋ฐ์ดํฐ๊ฐ ์์ค๋์ง ์์์ต๋๋ค. ์ด๋ ๋ฐฉํ๋ฒฝ ๊ด๋ฆฌ ์์คํ ์ ์์ด์ ํฐ ์ฅ์ ์ ๋๋ค.
P2P ์ฐ๊ฒฐ๋ก ๋ณํ ํ์ฐ ๊ฐ์ํ. P2P๋ฅผ ์ฌ์ฉํ๋ฉด ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋น ๋ฅด๊ฒ ์ ์ฉ๋๋ฏ๋ก ๋ช ์๊ฐ์ฉ ๊ธฐ๋ค๋ฆด ํ์๊ฐ ์์ต๋๋ค.
ํธ๋ฆฌํ REST API. Apache ZooKeeper๋ ๊ณ ๋ คํ์ง๋ง REST API๊ฐ ์์ผ๋ฏ๋ก ๋ชฉ๋ฐ์ ์ค์นํด์ผ ํฉ๋๋ค.
KV(Key Vault) ๋ฐ ๋๋ ํฐ๋ฆฌ(์๋น์ค ๊ฒ์)๋ก ์๋ํฉ๋๋ค.. ์๋น์ค, โโ์นดํ๋ก๊ทธ, ๋ฐ์ดํฐ์ผํฐ๋ฅผ ํ ๋ฒ์ ์ ์ฅํ ์ ์์ต๋๋ค. ์ด๋ ์ฐ๋ฆฌ๋ฟ๋ง ์๋๋ผ ์ด์ ํ์๊ฒ๋ ํธ๋ฆฌํฉ๋๋ค. ๊ธ๋ก๋ฒ ์๋น์ค๋ฅผ ๊ตฌ์ถํ ๋ ์ฐ๋ฆฌ๋ ํฌ๊ฒ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
Wargaming ์คํ์ ์ผ๋ถ์ธ Go๋ก ์์ฑ๋์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด ์ธ์ด๋ฅผ ์ข์ํ๊ณ Go ๊ฐ๋ฐ์๋ ๋ง์ต๋๋ค.
๊ฐ๋ ฅํ ACL ์์คํ . Consul์์๋ ACL์ ์ฌ์ฉํ์ฌ ๋๊ฐ ๋ฌด์์ ์์ฑํ๋์ง ์ ์ดํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ฐฉํ๋ฒฝ ๊ท์น์ด ๋ค๋ฅธ ๊ท์น๊ณผ ์ค๋ณต๋์ง ์์ผ๋ฉฐ ์ด๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ ๊ฒ์์ ๋ณด์ฅํฉ๋๋ค.
๊ทธ๋ฌ๋ Consul์๋ ๋จ์ ๋ ์์ต๋๋ค.
- ๋น์ฆ๋์ค ๋ฒ์ ์ด ์์ผ๋ฉด ๋ฐ์ดํฐ ์ผํฐ ๋ด์์ ํ์ฅ๋์ง ์์ต๋๋ค. ํ๋๋ ์ด์ ์ ํตํด์๋ง ํ์ฅ ๊ฐ๋ฅํฉ๋๋ค.
- ๋คํธ์ํฌ ํ์ง๊ณผ ์๋ฒ ๋ถํ์ ๋ฐ๋ผ ํฌ๊ฒ ๋ฌ๋ผ์ง๋๋ค. Consul์ ์๋๊ฐ ๊ณ ๋ฅด์ง ์์ ๋ฑ ๋คํธ์ํฌ์ ์ง์ฐ์ด ์๋ ๊ฒฝ์ฐ ์ฌ์ฉ๋์ด ๋ง์ ์๋ฒ์์ ์๋ฒ๋ก ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค. ์ด๋ P2P ์ฐ๊ฒฐ ๋ฐ ์ ๋ฐ์ดํธ ๋ฐฐํฌ ๋ชจ๋ธ ๋๋ฌธ์ ๋๋ค.
- ๊ฐ์ฉ์ฑ ๋ชจ๋ํฐ๋ง์ ์ด๋ ค์. ์์ฌ ์ ๋ถ์์๋ ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ๋ค๊ณ ๋งํ ์ ์์ง๋ง ์ค๋ ์ ์ ์ฌ๋งํ์ต๋๋ค.
์ฐ๋ฆฌ๋ Consul์ ์ฌ์ฉํ๋ฉด์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋๋ถ๋ถ ํด๊ฒฐํ๊ณ ์ด๊ฒ์ด ๋ฐ๋ก ์ฐ๋ฆฌ๊ฐ Consul์ ์ ํํ ์ด์ ์ ๋๋ค. ํ์ฌ๋ ๋์ฒด ๋ฐฑ์๋์ ๋ํ ๊ณํ์ ๊ฐ์ง๊ณ ์์ง๋ง ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ์ผ๋ฉฐ ํ์ฌ Consul๊ณผ ํจ๊ป ์ํํ๊ณ ์์ต๋๋ค.
Consul์ ์๋ ๋ฐฉ์
์กฐ๊ฑด๋ถ ๋ฐ์ดํฐ ์ผํฐ์ XNUMX~XNUMX๊ฐ์ ์๋ฒ๋ฅผ ์ค์นํ ์์ ์ ๋๋ค. ํ๋ ๋์ ์๋ฒ๋ ์๋ํ์ง ์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ผ์นํ์ง ์์ผ๋ฉด ์ ์กฑ์๋ฅผ ๊ตฌ์ฑํ๊ณ ๋๊ฐ ์ณ๊ณ ๊ทธ๋ฅธ์ง ๊ฒฐ์ ํ ์ ์์ต๋๋ค. XNUMX๊ฐ ์ด์์ ์๋ฏธ๊ฐ ์์ผ๋ฉฐ ์์ฐ์ฑ์ด ๋จ์ด์ง๋๋ค.
ํด๋ผ์ด์ธํธ๋ ์์์ ๊ด๊ณ์์ด ์๋ฒ์ ์ฐ๊ฒฐํฉ๋๋ค. ๋์ผํ ์์ด์ ํธ, ํ๋๊ทธ๋ง ์ฌ์ฉ server = false
.
๊ทธ ํ ํด๋ผ์ด์ธํธ๋ P2P ์ฐ๊ฒฐ ๋ชฉ๋ก์ ์์ ํ๊ณ ์๋ก ์ฐ๊ฒฐ์ ๊ตฌ์ถํฉ๋๋ค.
๊ธ๋ก๋ฒ ์์ค์์๋ ์ฌ๋ฌ ๋ฐ์ดํฐ ์ผํฐ๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. ๋ํ P2P๋ฅผ ์ฐ๊ฒฐํ์ฌ ํต์ ํฉ๋๋ค.
๋ค๋ฅธ ๋ฐ์ดํฐ ์ผํฐ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ค๋ ๊ฒฝ์ฐ ์์ฒญ์ ์๋ฒ์์ ์๋ฒ๋ก ์ด๋ํฉ๋๋ค. ์ด ๊ณํ์ ๋๋
ธ ํ๋กํ ์ฝ. Consul๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก Serf ํ๋กํ ์ฝ์ HashiCorp์์ ๊ฐ๋ฐ๋์์ต๋๋ค.
Consul์ ๋ํ ๋ช ๊ฐ์ง ์ค์ํ ์ฌ์ค
Consul์๋ ์๋ ๋ฐฉ์์ ์ค๋ช ํ๋ ๋ฌธ์๊ฐ ์์ต๋๋ค. ๋๋ ์ ๊ฐ์น๊ฐ ์๋ ์์ ๋ ์ฌ์ค๋ค๋ง์ ์ ๊ณตํ ๊ฒ์ ๋๋ค.
Consul ์๋ฒ๋ ์ ๊ถ์ ์ค์์ ๋ง์คํฐ๋ฅผ ์ ํํฉ๋๋ค.. Consul์ ๊ฐ ๋ฐ์ดํฐ ์ผํฐ์ ์๋ฒ ๋ชฉ๋ก์์ ๋ง์คํฐ๋ฅผ ์ ํํ๊ณ ๋ชจ๋ ์์ฒญ์ ์๋ฒ ์์ ๊ด๊ณ์์ด ๋ง์คํฐ๋ก๋ง ์ ๋ฌ๋ฉ๋๋ค. ๋ง์คํฐ ๋๊ฒฐ์ ์ฌ์ ์ผ๋ก ์ด์ด์ง์ง ์์ต๋๋ค. ๋ง์คํฐ๋ฅผ ์ ํํ์ง ์์ผ๋ฉด ๋๊ตฌ๋ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์ํ์ ํ์ฅ์ ์ํ์ จ๋์? ์ฃ์กํฉ๋๋ค. ์๋์.
๋ค๋ฅธ ๋ฐ์ดํฐ ์ผํฐ์ ๋ํ ์์ฒญ์ ์ด๋ ์๋ฒ๋ก ์๋์ง์ ๊ด๊ณ์์ด ๋ง์คํฐ์์ ๋ง์คํฐ๋ก ์ ๋ฌ๋ฉ๋๋ค. ์ ํํ ๋ง์คํฐ๋ ์ ๋ฌ ์์ฒญ์ ๋ํ ๋ก๋๋ฅผ ์ ์ธํ๊ณ ๋ก๋์ 100%๋ฅผ ๋ฐ์ต๋๋ค. ๋ฐ์ดํฐ ์ผํฐ์ ๋ชจ๋ ์๋ฒ์๋ ์ต์ ๋ฐ์ดํฐ ๋ณต์ฌ๋ณธ์ด ์์ง๋ง ํ๋๋ง ์๋ตํฉ๋๋ค.
ํ์ฅํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ํด๋ผ์ด์ธํธ์์ ๋ถ์ค ๋ชจ๋๋ฅผ ํ์ฑํํ๋ ๊ฒ์ ๋๋ค.
๋ถ์ค ๋ชจ๋์์๋ ์ฟผ๋ผ ์์ด ์๋ตํ ์ ์์ต๋๋ค. ์ด๋ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ํฌ๊ธฐํ์ง๋ง ํ์๋ณด๋ค ์กฐ๊ธ ๋ ๋น ๋ฅด๊ฒ ์ฝ๊ณ ๋ชจ๋ ์๋ฒ๊ฐ ์๋ตํ๋ ๋ชจ๋์ ๋๋ค. ๋น์ฐํ ๋ง์คํฐ๋ฅผ ํตํด์๋ง ๋ น์๋ฉ๋๋ค.
Consul์ ๋ฐ์ดํฐ ์ผํฐ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ์ง ์์ต๋๋ค.. ์ฐํฉ์ด ๊ตฌ์ฑ๋๋ฉด ๊ฐ ์๋ฒ๋ ์์ ์ ๋ฐ์ดํฐ๋ง ๊ฐ๊ฒ ๋ฉ๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ๋ ํญ์ ๋ค๋ฅธ ์ฌ๋์๊ฒ ์์งํฉ๋๋ค.
ํธ๋์ญ์ ์ธ๋ถ์์๋ ์์ ์ ์์์ฑ์ด ๋ณด์ฅ๋์ง ์์ต๋๋ค.. ์ํฉ์ ๋ฐ๊ฟ ์ ์๋ ์ฌ๋์ ๋น์ ๋ฟ๋ง์ด ์๋๋ผ๋ ์ ์ ๊ธฐ์ตํ์ญ์์ค. ๋ค๋ฅด๊ฒ ์ํ๋ค๋ฉด ์ ๊ธ์ ์ฌ์ฉํ์ฌ ํธ๋์ญ์ ์ ์ํํ์ญ์์ค.
์ฐจ๋จ ์์ ์ ์ ๊ธ์ ๋ณด์ฅํ์ง ์์ต๋๋ค.. ์์ฒญ์ ์ง์ ์ด ์๋ ๋ง์คํฐ์์ ๋ง์คํฐ๋ก ์ด๋ํ๋ฏ๋ก ์๋ฅผ ๋ค์ด ๋ค๋ฅธ ๋ฐ์ดํฐ ์ผํฐ์์ ์ฐจ๋จํ ๋ ์ฐจ๋จ์ด ์๋ํ๋ค๋ ๋ณด์ฅ์ ์์ต๋๋ค.
ACL์ ๋ํ ์ก์ธ์ค๋ฅผ ๋ณด์ฅํ์ง ์์ต๋๋ค(๋๋ถ๋ถ์ ๊ฒฝ์ฐ).. ACL์ ํ๋์ ํ๋๋ ์ด์ ๋ฐ์ดํฐ ์ผํฐ, ์ฆ ACL ๋ฐ์ดํฐ ์ผํฐ(๊ธฐ๋ณธ DC)์ ์ ์ฅ๋์ด ์์ผ๋ฏ๋ก ์๋ํ์ง ์์ ์ ์์ต๋๋ค. DC๊ฐ ์๋ตํ์ง ์์ผ๋ฉด ACL์ด ์๋ํ์ง ์์ต๋๋ค.
ํ๋์ ๋๊ฒฐ๋ ๋ง์คํฐ๋ก ์ธํด ์ ์ฒด ์ฐํฉ์ด ๋๊ฒฐ๋ฉ๋๋ค.. ์๋ฅผ ๋ค์ด, ํ๋๋ ์ด์ ์๋ 10๊ฐ์ ๋ฐ์ดํฐ ์ผํฐ๊ฐ ์๋๋ฐ ๊ทธ ์ค ํ๋๋ ๋คํธ์ํฌ ์ํ๊ฐ ์ข์ง ์๊ณ ํ๋๋ ๋ง์คํฐ์ ์ฅ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ์ ๋ํํ๋ ๋ชจ๋ ์ฌ๋์ ์ ์์ ๊ฐํ ๊ฒ์ ๋๋ค. ์์ฒญ์ด ์์ง๋ง ์๋ต์ด ์์ผ๋ฉฐ ์ค๋ ๋๊ฐ ์ ์ง๋ฉ๋๋ค. ์ธ์ ์ด๋ฐ ์ผ์ด ์ผ์ด๋ ์ง ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ํ๋ ์๊ฐ๋ง ์ง๋๋ฉด ์ฐ๋ฐฉ ์ ์ฒด๊ฐ ๋ฌด๋์ง ๊ฒ์ ๋๋ค. ๋น์ ์ด ํ ์ ์๋ ์ผ์ ์๋ฌด๊ฒ๋ ์์ต๋๋ค.
์ํ, ์ ์กฑ์ ๋ฐ ์ ํ์ ๋ณ๋์ ์ค๋ ๋์์ ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ฌ์ ๊ฑฐ๋ ๋ฐ์ํ์ง ์์ผ๋ฉฐ ์ํ์๋ ์๋ฌด ๊ฒ๋ ํ์๋์ง ์์ต๋๋ค. ๋น์ ์ ์ด์์๋ ์์ฌ๊ฐ ์๋ค๊ณ ์๊ฐํ๊ณ ๋ฌผ์ด๋ด๋ ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์์ต๋๋ค. ๋๋ต์ด ์์ต๋๋ค. ๋์์ ์ํ๋ ๋ชจ๋ ๊ฒ์ด ์ ์์์ ๋ํ๋ ๋๋ค.
์ฐ๋ฆฌ๋ ์ด ๋ฌธ์ ์ ์ง๋ฉดํ๊ณ ์ด๋ฅผ ํผํ๊ธฐ ์ํด ๋ฐ์ดํฐ ์ผํฐ์ ํน์ ๋ถ๋ถ์ ์ฌ๊ตฌ์ถํด์ผ ํ์ต๋๋ค.
Consul Enterprise์ ๋น์ฆ๋์ค ๋ฒ์ ์๋ ์์ ๋จ์ ์ค ์ผ๋ถ๊ฐ ์์ต๋๋ค.. ์ ๊ถ์ ์ ํ, ๋ฐฐํฌ, ๊ท๋ชจ ์กฐ์ ๋ฑ ์ ์ฉํ ๊ธฐ๋ฅ์ด ๋ง์ด ์์ต๋๋ค. "๊ทธ๋ฌ๋"๋ ๋จ ํ๋๋ฟ์ ๋๋ค. ๋ถ์ฐ ์์คํ ์ ๋ผ์ด์ผ์ค ์์คํ ์ ๋งค์ฐ ๋น์๋๋ค.
์๋ช
ํดํน : rm -rf /var/lib/consul
- ๋๋ฆฌ์ธ์ ๋ชจ๋ ์ง๋ณ์ ๋ํ ์น๋ฃ๋ฒ. ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ผ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๊ณ ๋ณต์ฌ๋ณธ์์ ๋ฐ์ดํฐ๋ฅผ ๋ค์ด๋ก๋ํ์ธ์. ์๋ง๋ ์์ฌ๊ฐ ์ผํ ๊ฒ์
๋๋ค.
์ด์
์ด์ Consul์ ์ถ๊ฐํ ๋ด์ฉ์ ๋ํด ์ด์ผ๊ธฐํด ๋ณด๊ฒ ์ต๋๋ค.
๊ท์น ํ ํ๋ฆฟ
๊ท์น์ iptables ๊ตฌ๋ฌธ์ผ๋ก ์์ฑ๋ฉ๋๋ค.
- -N ์ด์
- -P ์ ๋ ฅ ๋๋กญ
- -A ์ ๋ ฅ -m ์ํ - ๊ด๋ จ๋จ, ์ค์ ๋จ ์ํ -j ์๋ฝ
- -A ์ ๋ ฅ -i lo -j ์๋ฝ
- -A ์ ๋ ฅ -j BEFW
๋ค์์ ์ ์ธํ ๋ชจ๋ ๊ฒ์ด BEFW ์ฒด์ธ์ผ๋ก ๋ค์ด๊ฐ๋๋ค. ESTABLISHED
, RELATED
๊ทธ๋ฆฌ๊ณ ๋ก์ปฌํธ์คํธ. ํ
ํ๋ฆฟ์ ๋ฌด์์ด๋ ๋ ์ ์์ต๋๋ค. ์ด๋ ๋จ์ง ์์ผ ๋ฟ์
๋๋ค.
BEFW๋ ์ด๋ป๊ฒ ์ ์ฉํฉ๋๊น?
์๋น์ค
์ฐ๋ฆฌ์๊ฒ๋ ์๋น์ค๊ฐ ์์ผ๋ฉฐ ํญ์ ํฌํธ, ์ฆ ์คํ๋๋ ๋ ธ๋๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ ๋ ธ๋์์ ๋ก์ปฌ๋ก ์์ด์ ํธ์๊ฒ ๋ฌผ์ด๋ณด๊ณ ์ด๋ค ์ข ๋ฅ์ ์๋น์ค๊ฐ ์๋์ง ์์๋ณผ ์ ์์ต๋๋ค. ํ๊ทธ๋ฅผ ๋ฃ์ ์๋ ์์ต๋๋ค.
Consul์ ์คํ๋๊ณ ๋ฑ๋ก๋ ๋ชจ๋ ์๋น์ค๋ iptables ๊ท์น์ผ๋ก ์ ํ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ SSH๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค - ์ด๋ฆฐ ํฌํธ 22. Bash ์คํฌ๋ฆฝํธ๋ ๊ฐ๋จํฉ๋๋ค: ์ปฌ๊ณผ iptables, ๋ค๋ฅธ ๊ฒ์ ํ์ํ์ง ์์ต๋๋ค.
ํด๋ผ์ด์ธํธ
๋ชจ๋ ์ฌ๋์ด ์๋ ์ ํ์ ์ผ๋ก ์ก์ธ์ค๋ฅผ ์ฌ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น? ์๋น์ค ์ด๋ฆ์ผ๋ก KV ์คํ ๋ฆฌ์ง์ IP ๋ชฉ๋ก์ ์ถ๊ฐํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ๋ 22๋ฒ์งธ ๋คํธ์ํฌ์ ๋ชจ๋ ์ฌ๋์ด SSH_TCP_XNUMX ์๋น์ค์ ์ก์ธ์คํ ์ ์๊ธฐ๋ฅผ ์ํฉ๋๋ค. ํ๋์ ์์ TTL ํ๋๋ฅผ ์ถ๊ฐํ์๊ฒ ์ต๋๊น? ์ด์ ์ฐ๋ฆฌ๋ ์๋ฅผ ๋ค์ด ํ๋ฃจ ๋์์ ์์ ํ๊ฐ๋ฅผ ๋ฐ์์ต๋๋ค.
์ก์ธ์ค
์ฐ๋ฆฌ๋ ์๋น์ค์ ํด๋ผ์ด์ธํธ๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. ์ฐ๋ฆฌ์๊ฒ๋ ์๋น์ค๊ฐ ์์ผ๋ฉฐ KV ์คํ ๋ฆฌ์ง๋ ๊ฐ๊ฐ์ ๋ํด ์ค๋น๋์ด ์์ต๋๋ค. ์ด์ ์ฐ๋ฆฌ๋ ๋ชจ๋ ์ฌ๋์๊ฒ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ์ด ์๋๋ผ ์ ํ์ ์ผ๋ก ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
๊ทธ๋ฃน
๋งค๋ฒ ์ก์ธ์ค๋ฅผ ์ํด ์์ฒ ๊ฐ์ IP๋ฅผ ์์ฑํ๋ค๋ฉด ์ฐ๋ฆฌ๋ ํผ๊ณคํด์ง ๊ฒ์ ๋๋ค. KV์ ๋ณ๋ ํ์ ์งํฉ์ธ ๊ทธ๋ฃนํ๋ฅผ ์๊ฐํด ๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฅผ ๋ณ์นญ(๋๋ ๊ทธ๋ฃน)์ด๋ผ๊ณ ๋ถ๋ฅด๊ณ ๋์ผํ ์๋ฆฌ์ ๋ฐ๋ผ ๊ฑฐ๊ธฐ์ ๊ทธ๋ฃน์ ์ ์ฅํด ๋ณด๊ฒ ์ต๋๋ค.
์ฐ๊ฒฐํด ๋ณด๊ฒ ์ต๋๋ค. ์ด์ ํน๋ณํ P2P์ฉ์ด ์๋ ์ ์ฒด ๊ทธ๋ฃน ๋๋ ์ฌ๋ฌ ๊ทธ๋ฃน์ ๋ํด SSH๋ฅผ ์ด ์ ์์ต๋๋ค. ๊ฐ์ ๋ฐฉ์์ผ๋ก TTL์ด ์์ต๋๋ค. ๊ทธ๋ฃน์ ์ถ๊ฐํ๊ณ ์ผ์์ ์ผ๋ก ๊ทธ๋ฃน์์ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
ะะฝัะตะณัะฐัะธั
์ฐ๋ฆฌ์ ๋ฌธ์ ๋ ์ธ์ ์์์ ์๋ํ์ ๋๋ค. ์ง๊ธ๊น์ง๋ ์ด ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ์ต๋๋ค.
์ฐ๋ฆฌ๋ Puppet๊ณผ ํ๋ ฅํ์ฌ ์์คํ
(์ ํ๋ฆฌ์ผ์ด์
์ฝ๋)๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ๊ฒ์ Puppet์ ์ ์กํฉ๋๋ค. Puppetdb(์ผ๋ฐ PostgreSQL)๋ ๊ทธ๊ณณ์์ ์คํ ์ค์ธ ์๋น์ค ๋ชฉ๋ก์ ์ ์ฅํ๋ฉฐ ๋ฆฌ์์ค ์ ํ๋ณ๋ก ์ฐพ์ ์ ์์ต๋๋ค. ๋๊ฐ ์ด๋์ ์ง์ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํ ํ ์์ฒญ ๋ฐ ๋ณํฉ ์์ฒญ ์์คํ
๋ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ ์ ์ก์ ๋๋ ๊ฐ๋จํ ์๋ฃจ์ ์ธ befw-sync๋ฅผ ์์ฑํ์ต๋๋ค. ์ฒซ์งธ, ๋๊ธฐํ ์ฟ ํค๋ puppetdb๋ฅผ ํตํด ์ก์ธ์ค๋ฉ๋๋ค. HTTP API๊ฐ ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ค ์๋น์ค๋ฅผ ๊ฐ์ง๊ณ ์๋์ง, ๋ฌด์์ ํด์ผ ํ๋์ง ์์ฒญํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ทธ๋ค์ ์์ฌ์๊ฒ ์์ฒญํฉ๋๋ค.
ํตํฉ์ด ์๋์? ๊ทธ๋ ์ต๋๋ค. ๊ทธ๋ค์ ๊ท์น์ ์์ฑํ๊ณ Pull Request๊ฐ ํ์ฉ๋๋๋ก ํ์ฉํ์ต๋๋ค. ํน์ ํฌํธ๊ฐ ํ์ํฉ๋๊น, ์๋๋ฉด ์ผ๋ถ ๊ทธ๋ฃน์ ํธ์คํธ๋ฅผ ์ถ๊ฐํฉ๋๊น? ๋์ด์ค๊ธฐ ์์ฒญ, ๊ฒํ - ๋ ์ด์ "200๊ฐ์ ๋ค๋ฅธ ACL์ ์ฐพ์ ์ด์ ๋ํด ์กฐ์น๋ฅผ ์ทจํด๋ณด์ธ์."
์ต์ ํ
๋น ๊ท์น ์ฒด์ธ์ ์ฌ์ฉํ์ฌ localhost๋ฅผ ํํ๋ ๋ฐ 0,075ms๊ฐ ๊ฑธ๋ฆฝ๋๋ค.
์ด ์ฒด์ธ์ 10๊ฐ์ iptables ์ฃผ์๋ฅผ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ํ์ 000๋ฐฐ ์ฆ๊ฐํฉ๋๋ค. iptables๋ ์์ ํ ์ ํ์ด๋ฏ๋ก ๊ฐ ์ฃผ์๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฝ๊ฐ์ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
์์ฒ ๊ฐ์ ACL์ ๋ง์ด๊ทธ๋ ์ด์
ํ๋ ๋ฐฉํ๋ฒฝ์ ๊ฒฝ์ฐ ๋ง์ ๊ท์น์ด ์์ผ๋ฉฐ ์ด๋ก ์ธํด ๋๊ธฐ ์๊ฐ์ด ๋ฐ์ํฉ๋๋ค. ์ด๋ ๊ฒ์ ํ๋กํ ์ฝ์ ์ข์ง ์์ต๋๋ค.
ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ๋ฃ์ผ๋ฉด IPset์ ์ฃผ์ 10๊ฐ ํ๋ ๊ฐ์ํฉ๋๋ค.
์์ ์ ๊ท์น์ด ์๋ฌด๋ฆฌ ๋ง์๋ ipset์ "O"(์๊ณ ๋ฆฌ์ฆ ๋ณต์ก๋)๋ ํญ์ 1๊ณผ ๊ฐ๋ค๋ ๊ฒ์
๋๋ค. ์ฌ์ค, ์ ํ์ด ์์ต๋๋ค - ๊ท์น์ 65535๊ฐ๋ฅผ ๋์ ์ ์์ต๋๋ค. ํ์ฌ ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๊ฒฐํฉํ๊ณ ํ์ฅํ๊ณ ๋ ๊ฐ์ IPset์ ํ๋๋ก ๋ง๋ค ์ ์์ต๋๋ค.
์ ์ฅ
๋ฐ๋ณต ํ๋ก์ธ์ค์ ๋ ผ๋ฆฌ์ ์ฐ์์ ์๋น์ค์ ๋ํ ํด๋ผ์ด์ธํธ ์ ๋ณด๋ฅผ ipset์ ์ ์ฅํ๋ ๊ฒ์ ๋๋ค.
์ด์ ์ฐ๋ฆฌ๋ ๋์ผํ SSH๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ํ ๋ฒ์ 100๊ฐ์ IP๋ฅผ ์ฐ์ง ์๊ณ ํต์ ํด์ผ ํ๋ IPset์ ์ด๋ฆ์ ์ค์ ํ๊ณ ๋ค์ ๊ท์น์ ์ค์ ํฉ๋๋ค. DROP
. '๋๊ฐ ์ฌ๊ธฐ ์๋, DROP'๋ผ๋ ํ๋์ ๊ท์น์ผ๋ก ๋ณํํ ์๋ ์์ง๋ง ๋ ๋ช
ํํฉ๋๋ค.
์ด์ ๊ท์น๊ณผ ์ธํธ๊ฐ ์๊ฒผ์ต๋๋ค. ์ฃผ์ ์์ ์ ๊ท์น์ ์์ฑํ๊ธฐ ์ ์ ์ธํธ๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด iptables๊ฐ ๊ท์น์ ์์ฑํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ผ๋ฐ ๊ณํ
๋ค์ด์ด๊ทธ๋จ ํํ๋ก ๋งํ๋ฉด ๋ด๊ฐ ๋งํ ๋ชจ๋ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฐ๋ฆฌ๋ Puppet์ ์ฝ์ํ๋ฉฐ, ๋ชจ๋ ๊ฒ์ด ํธ์คํธ๋ก ์ ์ก๋๊ณ , ์๋น์ค๋ ์ฌ๊ธฐ, IPset์ ๊ฑฐ๊ธฐ์ ๋ฑ๋ก๋์ง ์์ ์ฌ๋์ ํ์ฉ๋์ง ์์ต๋๋ค.
๊ฑฐ๋ถ ํ์ฉ
์ ์ํ๊ฒ ์ธ์์ ๊ตฌํ๊ฑฐ๋ ๋๊ตฐ๊ฐ๋ฅผ ์ ์ํ๊ฒ ๋นํ์ฑํํ๊ธฐ ์ํด ๋ชจ๋ ์ฒด์ธ์ ์์ ๋ถ๋ถ์ ๋ ๊ฐ์ ipset์ ๋ง๋ค์์ต๋๋ค. rules_allow
ะธ rules_deny
. ์ด๋ป๊ฒ ์๋ํฉ๋๊น?
์๋ฅผ ๋ค์ด, ๋๊ตฐ๊ฐ๊ฐ ๋ด์ ์ฌ์ฉํ์ฌ ์น์ ๋ถํ๋ฅผ ์์ฑํ๊ณ ์์ต๋๋ค. ์ด์ ์๋ ํธ๋ํฝ ์์ค๋ฅผ ์ฐพ์ ๊ทธ๋ฅผ ์ฐจ๋จํ ์ ์๋๋ก ๋ก๊ทธ์์ ๊ทธ์ IP๋ฅผ ์ฐพ์ ๋คํธ์ํฌ ์์ง๋์ด์๊ฒ ์ ๋ฌํด์ผ ํ์ต๋๋ค. ์ง๊ธ์ ๋ฌ๋ผ ๋ณด์ ๋๋ค.
Consul์๊ฒ ๋ณด๋ด๊ณ 2,5์ด ๊ธฐ๋ค๋ฆฌ๋ฉด ์๋ฃ๋ฉ๋๋ค. Consul์ P2P๋ฅผ ํตํด ๋น ๋ฅด๊ฒ ๋ฐฐํฌํ๊ธฐ ๋๋ฌธ์ ์ธ๊ณ ์ด๋ ๊ณณ์์๋ ์๋ํฉ๋๋ค.
๋ฐฉํ๋ฒฝ ์ค์๋ก ์ธํด ์ด๋ป๊ฒ ๋ WOT๋ฅผ ์์ ํ ์ค์งํ์ต๋๋ค. rules_allow
- ์ด๋ ๊ทธ๋ฌํ ๊ฒฝ์ฐ์ ๋๋นํ ๋น์ฌ์ ๋ณดํ์
๋๋ค. ๋ฐฉํ๋ฒฝ ์ด๋๊ฐ์์ ์ค์๋ฅผ ํด์ ์ด๋๊ฐ์์ ๋ฌด์ธ๊ฐ๊ฐ ์ฐจ๋จ๋ ๊ฒฝ์ฐ ์ธ์ ๋ ์ง ์กฐ๊ฑด๋ถ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค. 0.0/0
๋นจ๋ฆฌ ๋ชจ๋ ๊ฒ์ ์ง์ด ๋ค๊ธฐ ์ํด. ๋์ค์ ์ฐ๋ฆฌ๋ ๋ชจ๋ ๊ฒ์ ์์ผ๋ก ๊ณ ์น ๊ฒ์
๋๋ค.
๊ธฐํ ์ธํธ
๊ณต๊ฐ์ ๋ค๋ฅธ ์ธํธ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. $IPSETS$
.
๋ฌด์์ ์ํด? ์๋ฅผ ๋ค์ด ํด๋ฌ์คํฐ ์ผ๋ถ์ ์ข
๋ฃ๋ฅผ ์๋ฎฌ๋ ์ดํธํ๊ธฐ ์ํด ๋๊ตฐ๊ฐ ipset์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๋๊ตฌ๋ ์ธํธ๋ฅผ ๊ฐ์ ธ์์ ์ด๋ฆ์ ์ง์ ํ๋ฉด ์์ฌ๊ฐ ํฝ์
ํด ๋๋ฆฝ๋๋ค. ๋์์ ์ธํธ๋ iptables ๊ท์น์ ์ฐธ์ฌํ๊ฑฐ๋ ํ์ผ๋ก ํ๋ํ ์ ์์ต๋๋ค. NOOP
: ์ผ๊ด์ฑ์ ๋ฐ๋ชฌ์ ์ํด ์ ์ง๋ฉ๋๋ค.
ํ์
์ด์ ์๋ ์ฌ์ฉ์๊ฐ ๋คํธ์ํฌ์ ์ฐ๊ฒฐํ๊ณ ๋๋ฉ์ธ์ ํตํด ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ๋ ๋ฐฉ์์ด์์ต๋๋ค. ์ฐจ์ธ๋ ๋ฐฉํ๋ฒฝ์ด ๋ฑ์ฅํ๊ธฐ ์ ์ Cisco๋ ์ฌ์ฉ์๊ฐ ์ด๋์ ์๋์ง, IP๊ฐ ์ด๋์ ์๋์ง ํ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ชฐ๋์ต๋๋ค. ๋ฐ๋ผ์ ๋จธ์ ์ ํธ์คํธ ์ด๋ฆ์ ํตํด์๋ง ์ก์ธ์ค๊ฐ ํ์ฉ๋์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ฌด์์ ํ๋์? ์ฃผ์๋ฅผ ๋ฐ๋ ์๊ฐ ๋งํ์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ dot1x, Wi-Fi ๋๋ VPN์ด๋ฉฐ ๋ชจ๋ ๊ฒ์ด RADIUS๋ฅผ ํต๊ณผํฉ๋๋ค. ๊ฐ ์ฌ์ฉ์์ ๋ํด ์ฌ์ฉ์ ์ด๋ฆ์ผ๋ก ๊ทธ๋ฃน์ ์์ฑํ๊ณ dhcp.lease์ ๋์ผํ TTL์ ์ฌ์ฉํ์ฌ ๊ทธ๋ฃน์ IP๋ฅผ ๋ฐฐ์นํฉ๋๋ค. ๋ง๋ฃ๋์๋ง์ ๊ท์น์ ์ฌ๋ผ์ง๋๋ค.
์ด์ ๋ค๋ฅธ ๊ทธ๋ฃน๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ฉ์ ์ด๋ฆ์ผ๋ก ์๋น์ค์ ๋ํ ์ก์ธ์ค๋ฅผ ์ด ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ํธ์คํธ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋ ๋ ๋ฐ์ํ๋ ์ด๋ ค์์ ์์ ๊ณ ๋ ์ด์ Cisco๊ฐ ํ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ ์์ง๋์ด์ ๋ถ๋ด์ ๋์ด์ฃผ์์ต๋๋ค. ์ด์ ์์ง๋์ด๊ฐ ์ง์ ์๋ฒ์ ์ก์ธ์ค๋ฅผ ๋ฑ๋กํฉ๋๋ค.
์ ์ฐ
๋์์ ์ฐ๋ฆฌ๋ ๋จ์ด์ฌ๋ฅผ ํด์ฒดํ๊ธฐ ์์ํ์ต๋๋ค. ์๋น์ค ๊ด๋ฆฌ์๋ ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ์กฐ์ฌํ๊ณ ๋ชจ๋ ๋คํธ์ํฌ๋ฅผ ๋ถ์ํ์ต๋๋ค. ์ด๋ฅผ ๋์ผํ ๊ทธ๋ฃน์ผ๋ก ๋๋๊ณ ํ์ํ ์๋ฒ์ ์๋ฅผ ๋ค์ด ๊ฑฐ๋ถ๋ฅผ ์ํด ๊ทธ๋ฃน์ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค. ์ด์ ๋์ผํ ์คํ ์ด์ง ๊ฒฉ๋ฆฌ๊ฐ ํ๋ก๋์ ์ rule_deny์์ ๋๋์ง๋ง ํ๋ก๋์ ์์ฒด์์๋ ๊ทธ๋ ์ง ์์ต๋๋ค.
์ด ์ฒด๊ณ๋ ๋น ๋ฅด๊ณ ๊ฐ๋จํ๊ฒ ์๋ํฉ๋๋ค. ์๋ฒ์์ ๋ชจ๋ ACL์ ์ ๊ฑฐํ๊ณ , ํ๋์จ์ด๋ฅผ ์ธ๋ก๋ํ๊ณ , ๊ฒฉ๋ฆฌ๋ VLAN์ ์๋ฅผ ์ค์
๋๋ค.
๋ฌด๊ฒฐ์ฑ ๊ด๋ฆฌ
์ด์ ์๋ ๋๊ตฐ๊ฐ ๋ฐฉํ๋ฒฝ ๊ท์น์ ์๋์ผ๋ก ๋ณ๊ฒฝํ์ ๋ ์ด๋ฅผ ๋ณด๊ณ ํ๋ ํน์ ํธ๋ฆฌ๊ฑฐ๊ฐ ์์์ต๋๋ค. ๋ฐฉํ๋ฒฝ ๊ท์น์ ํ์ธํ๊ธฐ ์ํด ๊ฑฐ๋ํ ๋ฆฐํฐ๋ฅผ ์์ฑํ๊ณ ์์๋๋ฐ ์ด๋ ค์ ์ต๋๋ค. ๋ฌด๊ฒฐ์ฑ์ ์ด์ BEFW์ ์ํด ์ ์ด๋ฉ๋๋ค. ๊ทธ๋ ์์ ์ด ์ ํ ๊ท์น์ด ๋ณ๊ฒฝ๋์ง ์๋๋ก ์ด์ฌํ ๋ ธ๋ ฅํฉ๋๋ค. ๋๊ตฐ๊ฐ ๋ฐฉํ๋ฒฝ ๊ท์น์ ๋ณ๊ฒฝํ๋ฉด ๋ชจ๋ ๊ฒ์ด ๋ค์ ๋ณ๊ฒฝ๋ฉ๋๋ค. โ์ง์์ ์ผํ ์ ์๋๋ก ์ ์ํ๊ฒ ํ๋ก์๋ฅผ ์ค์ ํ์ต๋๋ค.โโ๊ทธ๋ฐ ์ต์ ์ ๋ ์ด์ ์์ต๋๋ค.
BEFW๋ BEFW ์ฒด์ธ์ ์๋น์ค ๊ท์น์ธ befw.conf์ ์๋น์ค ๋ฐ ๋ชฉ๋ก์์ IPset์ ์ ์ดํฉ๋๋ค. ํ์ง๋ง ๋ค๋ฅธ ์ฒด์ธ๊ณผ ๊ท์น, ๋ค๋ฅธ IPset์ ๋ชจ๋ํฐ๋งํ์ง ์์ต๋๋ค.
์ถฉ๋ ๋ฐฉ์ง
BEFW๋ ํญ์ ๋ง์ง๋ง์ผ๋ก ์๋ ค์ง ์ํธํ ์ํ๋ฅผ state.bin ๋ฐ์ด๋๋ฆฌ ๊ตฌ์กฐ์ ์ง์ ์ ์ฅํฉ๋๋ค. ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ํญ์ ์ด state.bin์ผ๋ก ๋กค๋ฐฑ๋ฉ๋๋ค.
์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ์ง ์์๊ฑฐ๋ ๋๊ตฐ๊ฐ ์ค์๋ฅผ ํ์ฌ ์ ์ฉํ ์ ์๋ ๊ท์น์ ์ฌ์ฉํ ๋ถ์์ ํ ์์ฌ ์ด์์ ๋ํ ๋ณดํ์
๋๋ค. ๋ฐฉํ๋ฒฝ ์์ด ๋ฐฉ์น๋์ง ์๋๋ก BEFW๋ ์ด๋ค ๋จ๊ณ์์๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ต์ ์ํ๋ก ๋กค๋ฐฑํฉ๋๋ค.
์ค์ํ ์ํฉ์์๋ ๋ฐฉํ๋ฒฝ์ด ์๋ํ๊ฒ ๋๋ค๋ ๋ณด์ฅ์ด ์์ต๋๋ค. ๊ด๋ฆฌ์๊ฐ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฒ์ด๋ผ๋ ํฌ๋ง์ผ๋ก ๋ชจ๋ ํ์ ๋คํธ์ํฌ๋ฅผ ์ฝ๋๋ค. ์ธ์ ๊ฐ๋ ์ด๊ฒ์ ๊ตฌ์ฑ์ ๋ฃ์ ๊ฒ์ด์ง๋ง ์ง๊ธ์ 10/8, 172/12 ๋ฐ 192.168/16์ ์ธ ๊ฐ์ง ํ์ ๋คํธ์ํฌ๋ง ์์ต๋๋ค. ์์ฌ ๋ด์์ ์ด๋ ์ฐ๋ฆฌ๊ฐ ๋์ฑ ๋ฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ ์ค์ํ ๊ธฐ๋ฅ์ ๋๋ค.
๋ฐ๋ชจ: ๋ณด๊ณ ์๊ฐ ์งํ๋๋ ๋์ Ivan์ BEFW์ ๋ฐ๋ชจ ๋ชจ๋๋ฅผ ์์ฐํฉ๋๋ค. ์์ฐ์ ๋ณด๋ ๊ฒ์ด ๋ ์ฝ์ต๋๋ค.
์ฃผ์
๋ฐ์ํ ๋ฒ๊ทธ์ ๋ํด ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค.
ipset ์ถ๊ฐ ์ธํธ 0.0.0.0/0. ipset์ 0.0.0.0/0์ ์ถ๊ฐํ๋ฉด ์ด๋ป๊ฒ ๋๋์? ๋ชจ๋ IP๊ฐ ์ถ๊ฐ๋๋์? ์ธํฐ๋ท ์ ์์ด ๊ฐ๋ฅํฉ๋๊น?
์๋์, 2016์๊ฐ์ ๊ฐ๋ ์ค์ง ์๊ฐ์ ์ด๋ํ๋ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค. ๊ฒ๋ค๊ฐ ์ด ๋ฒ๊ทธ๋ 1297092๋ ์ดํ๋ก ์๋ํ์ง ์์์ต๋๋ค. ์ด ๋ฒ๊ทธ๋ RedHat Bugzilla์ ๋ฒํธ #XNUMX์ ์์ผ๋ฉฐ ๊ฐ๋ฐ์ ๋ณด๊ณ ์์์ ์ฐ์ฐํ ๋ฐ๊ฒฌํ์ต๋๋ค.
์ด์ BEFW์์๋ ๋ค์๊ณผ ๊ฐ์ ์๊ฒฉํ ๊ท์น์ด ์ ์ฉ๋์์ต๋๋ค. 0.0.0.0/0
๋ ๊ฐ์ ์ฃผ์๋ก ๋ณํ๋ฉ๋๋ค. 0.0.0.0/1
ะธ 128.0.0.0/1
.
ipset ๋ณต์ ์ธํธ < ํ์ผ. ipset์ ์ง์ํ๋ฉด ๋ฌด์์ ํฉ๋๊น? restore
? iptables์ ๋์ผํ๊ฒ ์๋ํ๋ค๊ณ ์๊ฐํ์๋์? ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ ์ ์๋์?
๊ทธ๋ฐ ๊ฒ์ ์์ต๋๋ค. ๋ณํฉ์ ์ํํ๊ณ ์ด์ ์ฃผ์๋ ์๋ฌด๋ฐ๋ ๊ฐ์ง ์์ผ๋ฉฐ ์ก์ธ์ค๋ฅผ ์ฐจ๋จํ์ง ์์ต๋๋ค.
๊ฒฉ๋ฆฌ๋ฅผ ํ
์คํธํ๋ ๋์ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ด์ ๋ค์ ๋ณต์กํ ์์คํ
์ด ์์ต๋๋ค. restore
๊ฐ์ต create temp
, ๊ทธ ๋ค์์ restore flush temp
ะธ restore temp
. ์ค์์ด ๋๋๋ฉด ์์์ฑ์ ์ํด ๋จผ์ ์ํํ๋ฉด ๋ฉ๋๋ค. flush
์ด ์๊ฐ ์ผ๋ถ ํจํท์ด ๋์ฐฉํ๋ฉด ํ๊ธฐ๋๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋์ ๊ฑฐ๊ธฐ์๋ ์ฝ๊ฐ์ ํ๋ง๋ฒ์ด ์์ต๋๋ค.
consul kv get -datacenter=other. ๋ด๊ฐ ๋งํ๋ฏ์ด ์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ค๊ณ ์๊ฐํ์ง๋ง ๋ฐ์ดํฐ๋ฅผ ์ป๊ฑฐ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ก์ปฌ์์ Consul์ ํตํด ์ด ์์ ์ ์ํํ ์ ์์ง๋ง ์ด ๊ฒฝ์ฐ ๋ ๋ค ์ ์ง๋ฉ๋๋ค.
๋ก์ปฌ Consul ํด๋ผ์ด์ธํธ๋ HTTP API์ ๋ํ ๋ํผ์
๋๋ค. ํ์ง๋ง ๊ทธ๋ฅ ๋ฉ์ถ๊ณ Ctrl+C๋ Ctrl+Z ๋ฑ โโ์ด๋ค ๊ฒ์๋ ์๋ตํ์ง ์์ต๋๋ค. kill -9
๋ค์ ์ฝ์์์. ๋๊ท๋ชจ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ ๋ ์ด๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ํ์ง๋ง ์์ง ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ด Consul์์ ์ด ์ค๋ฅ๋ฅผ ์์ ํ ์ค๋น๋ฅผ ํ๊ณ ์์ต๋๋ค.
์์ฌ ์ง๋์๊ฐ ์๋ตํ์ง ์์ต๋๋ค. ๋ฐ์ดํฐ ์ผํฐ์ ๋ง์คํฐ๊ฐ ์๋ตํ์ง ์์ต๋๋ค. "์๋ง๋ ์ด์ ์ฌ์ ํ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ํ ๊น์?"๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์๋์, ์๋ํ์ง ์์ผ๋ฉฐ ๋ชจ๋ํฐ๋ง์๋ ์๋ฌด ๊ฒ๋ ํ์๋์ง ์์ต๋๋ค. Consul์ ํ์ ์ง์๊ฐ ์๊ณ ๋ฆฌ๋๊ฐ ๋ฐ๊ฒฌ๋์์ผ๋ฉฐ ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ๋ค๊ณ ๋งํ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๊ฒ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํฉ๋๊น? service consul restart
๋งค ์๊ฐ๋ง๋ค cron์ ํ์๋ฉ๋๋ค. ์๋ฒ๊ฐ 50๊ฐ๋ผ๋ฉด ๋ณ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. 16๊ฐ๊ฐ ์์ผ๋ฉด ๊ทธ๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํดํ๊ฒ ๋ ๊ฒ์
๋๋ค.
๊ฒฐ๋ก
๊ทธ ๊ฒฐ๊ณผ ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ ์ป์์ต๋๋ค.
- ๋ชจ๋ Linux ์์คํ ์ 100% ์ง์ํฉ๋๋ค.
- ์๋
- ์คํ ๋ฉ์ด์ .
- ์ฐ๋ฆฌ๋ ํ๋์จ์ด ๋ฐ ๋คํธ์ํฌ ์์ง๋์ด๋ฅผ ๋ ธ์ ์ํ์์ ํด๋ฐฉ์์ผฐ์ต๋๋ค.
- ๊ฑฐ์ ๋ฌดํํ ํตํฉ ๊ฐ๋ฅ์ฑ์ด ๋ํ๋ฌ์ต๋๋ค. Kubernetes, Ansible, Python์์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
์ฃ์ ํ์: ์ด์ ์ฐ๋ฆฌ๊ฐ ํจ๊ป ์ด์์ผ ํ๋ ์์ฌ, ๊ทธ๋ฆฌ๊ณ ๋งค์ฐ ๋์ ์ค๋ฅ ๋น์ฉ. ์๋ฅผ ๋ค์ด, ์คํ 6์(๋ฌ์์ ์ต๊ณ ์ ์๊ฐ๋)์ ์ ๋ ๋คํธ์ํฌ ๋ชฉ๋ก์์ ๋ฌด์ธ๊ฐ๋ฅผ ํธ์งํ๊ณ ์์์ต๋๋ค. ๋น์ ์ฐ๋ฆฌ๋ BEFW์์ ๋จ์ด์ฌ๋ฅผ ๋ง๋ค๊ณ ์์์ต๋๋ค. ์ด๋๊ฐ์์ ์ค์๋ฅผ ํด์ ๋ง์คํฌ๋ฅผ ์๋ชป ํ์ํ ๊ฒ ๊ฐ์๋ฐ ๋ชจ๋ ๊ฒ์ด XNUMX์ด ๋ง์ ๋๋ฌ์ต๋๋ค. ๋ชจ๋ํฐ๋ง์ด ์ผ์ง๊ณ ๋ด๋น ์ง์ ๋ด๋น์๊ฐ ๋ฌ๋ ค์ต๋๋ค. "์ฐ๋ฆฌ๋ ๋ชจ๋ ๊ฒ์ ๊ฐ์ถ๊ณ ์์ต๋๋ค!" ๋ถ์์ฅ์ ์ ์ด๋ฐ ์ผ์ด ์ผ์ด๋ฌ๋์ง ์ฌ์ ๋ถ์ ์ค๋ช ํ์ ์ผ๊ตด์ด ์ด๋์์ก์ต๋๋ค.
์ค๋ฅ๋ก ์ธํด ๋ฐ์ํ๋ ๋น์ฉ์ด ๋๋ฌด ๋๊ธฐ ๋๋ฌธ์ ์์ฒด์ ์ผ๋ก ๋ณต์กํ ์๋ฐฉ ์ ์ฐจ๋ฅผ ๋ง๋ จํ์ต๋๋ค. ๋๊ท๋ชจ ํ๋ก๋์ ์ฌ์ดํธ์์ ์ด๋ฅผ ๊ตฌํํ๋ ๊ฒฝ์ฐ Consul์ ํตํด ๋ชจ๋ ์ฌ๋์๊ฒ ๋ง์คํฐ ํ ํฐ์ ์ ๊ณตํ ํ์๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ๋์๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
๋น์ฉ. ํผ์์ 400์๊ฐ ๋์ ์ฝ๋๋ฅผ ์์ฑํ์ต๋๋ค. 4๋ช ์ผ๋ก ๊ตฌ์ฑ๋ ์ ํฌ ํ์ ๋ชจ๋ ์ฌ๋์ ์ง์ํ๊ธฐ ์ํด ํ ๋ฌ์ 10์๊ฐ์ ๋ณด๋ ๋๋ค. ์ฐจ์ธ๋ ๋ฐฉํ๋ฒฝ์ ๊ฐ๊ฒฉ๊ณผ ๋น๊ตํ๋ฉด ๋ฌด๋ฃ์ ๋๋ค.
๊ณํ. ์ฅ๊ธฐ ๊ณํ์ Consul์ ๋์ฒดํ๊ฑฐ๋ ๋ณด์ํ ๋์ฒด ๊ตํต ์๋จ์ ์ฐพ๋ ๊ฒ์ ๋๋ค. ์๋ง๋ Kafka๋ ๊ทธ์ ์ ์ฌํ ๊ฒ์ด ๋ ๊ฒ์ ๋๋ค. ํ์ง๋ง ์์ผ๋ก ๋ช ๋ ์์ ์ฐ๋ฆฌ๋ Consul์ ์ฌ์ฉํ๊ฒ ๋ ๊ฒ์ ๋๋ค.
์ฆ๊ฐ์ ์ธ ๊ณํ: Fail2ban, ๋ชจ๋ํฐ๋ง, nftables, ๋ค๋ฅธ ๋ฐฐํฌํ, ์งํ, ๊ณ ๊ธ ๋ชจ๋ํฐ๋ง, ์ต์ ํ์์ ํตํฉ. Kubernetes ์ง์๋ ๊ณํ ์ด๋๊ฐ์ ํฌํจ๋์ด ์์ต๋๋ค. ์ด์ ์ฌ๋ฌ ํด๋ฌ์คํฐ๊ฐ ์๊ณ ์ํ๋ ๋ฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ ๋ง์ ๊ณํ:
- ๊ตํต์ ์ด์ ์งํ๋ฅผ ๊ฒ์ํฉ๋๋ค.
- ๋คํธ์ํฌ ๋งต ๊ด๋ฆฌ;
- ์ฟ ๋ฒ๋คํฐ์ค ์ง์;
- ๋ชจ๋ ์์คํ ์ ๋ํ ํจํค์ง ์กฐ๋ฆฝ;
- ์น-UI.
์ฐ๋ฆฌ๋ ์ง์์ ์ผ๋ก ๊ตฌ์ฑ์ ํ์ฅํ๊ณ ์ธก์ ํญ๋ชฉ๊ณผ ์ต์ ํ๋ฅผ ๋๋ฆฌ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค.
ํ๋ก์ ํธ์ ์ฐธ์ฌํ์ธ์. ๊ฒฐ๊ณผ์ ์ผ๋ก๋ ๋ฉ์ง ํ๋ก์ ํธ์์ง๋ง, ์์ฝ๊ฒ๋ ์ฌ์ ํ XNUMX์ธ ํ๋ก์ ํธ์
๋๋ค. ์ค๋ค
๊ทธ ์ฌ์ด์ ์ฐ๋ฆฌ๋ ์ค๋น ์ค์ด์ผ
์ธ์ธํธ ํ์ด๋ก๋++ 6์ 7์ผ๊ณผ XNUMX์ผ ์ํธํํ ๋ฅด๋ถ๋ฅดํฌ์์ ๊ฐ์ต๋๋ฉฐ ๊ณ ๋ถํ ์์คํ ๊ฐ๋ฐ์๋ฅผ ์ด๋ํฉ๋๋ค.๋ณด๊ณ ์๋ฅผ ์ ์ฒญํ๋ค . ์๋ จ๋ ์ฐ์ฌ๋ค์ ์ด๋ฏธ ๋ฌด์์ ํด์ผ ํ ์ง ์๊ณ ์์ง๋ง, ๋งํ๊ธฐ๋ฅผ ์ฒ์ ์ ํ๋ ์ฌ๋๋ค์๊ฒ๋ ์ต์ํ ๋ค์์ ๊ถ์ฅํฉ๋๋ค.์๋ํ๋ค . ์ปจํผ๋ฐ์ค์ ์ฐ์ฌ๋ก ์ฐธ์ฌํ๋ฉด ์ฌ๋ฌ ๊ฐ์ง ์ด์ ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ง์ง๋ง์ ์ด๋ค ๋ด์ฉ์ด ์๋์ง ์ฝ์ ์ ์์ต๋๋ค.์ด ๊ธฐ์ฌ .
์ถ์ฒ : habr.com