์ปจํ ์ด๋, ๋์ปค, ์ฟ ๋ฒ๋คํฐ์ค, EKS์ ๊ฐ๋
๐ฆ ์ปจํ ์ด๋๋?
์ปจํ ์ด๋๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ทธ๋ฅผ ์คํํ๊ธฐ ์ํ ๋ชจ๋ ๊ฒ๋ค(๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ค์ ํ์ผ ๋ฑ)์ ํ๋๋ก ๋ฌถ์ด ์ด๋ค ํ๊ฒฝ์์๋ ๋์ผํ๊ฒ ์คํํ ์ ์๋๋ก ํด ์ฃผ๋ '์คํ ๋จ์'์ด๋ค.
์๋ฅผ ๋ค์ด, ๋ด๊ฐ ์ข์ํ๋ ์ปคํผ๋ฅผ ํญ์ ๋๊ฐ์ ๋ง์ผ๋ก ๋ด๋ฆด ์ ์๊ฒ ์ปคํผ ๋จธ์ ๊ณผ ์๋, ํํฐ, ์ปต๊น์ง ์ ๋ถ ํ ๋ฐ์ค์ ๋ด์๋ค๋๋ ๊ฒ๊ณผ ๊ฐ๋ค. ์ด ๋ฐ์ค๋ฅผ ๊ฐ์ ธ๊ฐ๊ธฐ๋ง ํ๋ฉด, ์นดํ๋ ์ฌ๋ฌด์ค์ด๋ ํญ์ ๊ฐ์ ์ปคํผ๋ฅผ ๋ง๋ค ์ ์๋ค. ์ปคํผ๋ฅผ ๋ด๋ฆฌ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๋๊ตฌ์ ํ๊ฒฝ์ด ๋ฐ์ค ์์ ๋ด๊ฒจ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋๋ถ์ด ๋ค๋ฅธ ๋ฐ์ค์ ์์ด์ง ์๊ธฐ ๋๋ฌธ์, ์ ์ ํ ๋น์ ์ผ์ง ๋ชจ๋ฅด๊ฒ ์ผ๋, ๋ ๋ฆฝ์ ์ผ๋ก(!) ์ปคํผ๋ฅผ ๋ด๋ฆด ์๋ ์๋ค.
์ด์ฒ๋ผ ์ปจํ ์ด๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์์ ์คํ๋ ์ ์๋๋ก ๋๋๋ค. ์ปดํจํฐ์ ์๋ ์ด์์ฒด์ ์ปค๋์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์, ๊ฐ์๋จธ์ ๋ณด๋ค ํจ์ฌ ๊ฐ๋ณ๊ณ ๋น ๋ฅด๊ฒ ์คํ๋๋ฉฐ, ๋ค์ํ ํ๊ฒฝ์์ ์๋์ํฌ ์ ์๋ค.
๐ฆ ์ปจํ ์ด๋์ ์ฅ์ ์ ์ ๋ฆฌํ์๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- ๊ฐ๋ฒผ์ : ๊ฐ์๋จธ์ ์ ์ GB ๋จ์์ ๋ฆฌ์์ค๋ฅผ ์๊ตฌํ์ง๋ง, ์ปจํ ์ด๋๋ Guest OS๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ MB ๋จ์๋ก๋ ์คํ์ด ๊ฐ๋ฅํ๋ค.
- ์ด์์ฑ๊ณผ ์ ์ฐ์ฑ : ์ปจํ ์ด๋๋ Linux, Windows, ํด๋ผ์ฐ๋, ์จํ๋ ๋ฏธ์ค ๋ฑ ๋ค์ํ ํ๊ฒฝ์์ ๋์ผํ๊ฒ ์คํ ๊ฐ๋ฅํ๋ค.
- ์ ์ง๊ด๋ฆฌ ํจ์จ : ํ๋์ OS ์ปค๋์ ๊ณต์ ํ๋ฏ๋ก ๋ณด์ ํจ์น๋ ์์คํ ์ ๋ฐ์ดํธ๋ฅผ ํ ๋ฒ๋ง ์ํํด๋ ์ ์ฒด ์ปจํ ์ด๋์ ์ ์ฉ๋๋ค.
๐ณ ๋์ปค(Docker)๋?
Docker๋ ์ปจํ ์ด๋ ๊ธฐ์ ์ ๋์คํ์ํจ ํ๋ซํผ์ด๋ค. ์ปคํผ์ ๋น์ ๋ฅผ ๊ณ์ ๋ค์๋ฉด, ์ด๋์๋ ๋๊ฐ์ ์ปคํผ๋ฅผ ๋ด๋ฆด ์ ์๋๋ก ๋์์ฃผ๋ ํฌํฐ๋ธ ์ปคํผ ํคํธ๋ผ๊ณ ์๊ฐํ ์ ์๋ค.
Docker๋ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ํ์ํ ํ๊ฒฝ์ ์ด๋ฏธ์ง(Image)๋ก ํจํค์งํ์ฌ ์ปจํ
์ด๋(Container)๋ก ์คํํ ์ ์๋๋ก ์ง์ํ๋ค.
- ์ด๋ฏธ์ง(Image): ์คํ ํ์ผ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ค์ ํ์ผ ๋ฑ์ ํฌํจํ ์คํ ํจํค์ง๋ก, ์ปคํผ ํคํธ์ฒ๋ผ ์ปคํผ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ชจ๋ ์ค๋น๋ฌผ์ด ๋ด๊ธด ํจํค์ง์ด๋ค.
- ์ปจํ ์ด๋(Container): ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์คํ๋๋ ์ธ์คํด์ค๋ก, ํคํธ๋ฅผ ์ค์ ๋ก ๊บผ๋ด์ ์ปคํผ๋ฅผ ๋ด๋ฆฌ๋ ๊ฒ, ์ฆ ์ด๋ฏธ์ง๋ฅผ ์คํํ ์ํ์ด๋ค.
- ๋ ์ง์คํธ๋ฆฌ(Registry): ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ณ ๋ฐฐํฌํ๋ ์ ์ฅ์(ex. DockerHub, ์ฌ์ค ๋ ์ง์คํธ๋ฆฌ ๋ฑ)๋ก, ๋ค์ํ ์ปคํผ ํคํธ๋ฅผ ๋ณด๊ดํด ๋๋ ์ฐฝ๊ณ ์ด๋ค.
์ด์ ์ ๋์ปค์ ๋ํด ์ ์ด๋ ๊ธ์ ํจ๊ป ์ฒจ๋ถํ๋ค.
[์ด๋ฃธ] ๋์ปคDocker๊ฐ ๊ถ๊ธํด! - ๊ฐ์ ๋จธ์ (VM) vs. ์ปจํ ์ด๋(Container)
CI/CD์๋ ์ฌ์ฉํ๊ณ ์๋ผ์คํฑ์์น ์ค์น์๋ ์ฌ์ฉํ ๋์ปค. ์ด๋ฆ์ ์์์ด ๋ค์์ง๋ง ์ ํํ ๋์ปค๊ฐ ๋ฌด์์ธ์ง ์์ง ๋ชปํ ์ฑ ์ฌ์ฉํ์๋ค. ๋์ปค๋ ๋์ฒด ๋ฌด์์ด๋ฉฐ ์ด๋ป๊ฒ ์ฌ์ฉํ๋ฉด ์ข์๊น? ์ปดํจํฐ๋ฅผ ๋ชจ
kmcp.tistory.com
[์ด๋ฃธ] ๋์ปค์ ์๋ ๋ฐฉ์๊ณผ ์ฃผ์ ๊ฐ๋ ๋ค
์ง๋ ๊ธ ์์ฝ์ง๋ ๊ธ์์๋ ๊ฐ์ ๋จธ์ ๊ณผ ๋น๊ตํ์ฌ ์ปจํ ์ด๋๊ฐ ์ด๋ค ํน์ง์ ๊ฐ๋์ง ์ดํด๋ณด์๋ค. ์ปจํ ์ด๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ ํ์ํ ํ๊ฒฝ(์ฝ๋, ์์กด์ฑ, ํ๊ฒฝ ์ค์ ๋ฑ)์ ํจํค์งํ์ฌ ๋ด์
kmcp.tistory.com
โ๏ธ ์ฟ ๋ฒ๋คํฐ์ค๋?
์ฟ ๋ฒ๋คํฐ์ค(Kubernetes, ์ค์ฌ์ K8s)๋ ์ปจํ ์ด๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ, ํ์ฅ, ์ด์์ ์๋ํํด์ฃผ๋ ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ์ด๋ค.
์ด์ ์์ ๋์๋ ์ปคํผ ํคํธ๋ฅผ ๊ฐ์ง๊ณ ์นดํ๋ฅผ ์ฐจ๋ ธ๋ค๊ณ ์๊ฐํด๋ณด์. ์ปคํผ ํคํธ๋ 1๊ฐ์ผ ์๋ ์์ง๋ง ์ฌ๋ฌ ๊ฐ์ผ ์๋ ์๋ค. ์ฌ๋์ด ๋ง์์ง๋ฉด ์ปคํผ ํคํธ๋ ํจ๊ป ๋์ด์ผ ํ๋ค. ์ปคํผ ๋ด๋ฆฌ๋ ๋ฐฉ๋ฒ(์ด๋ฏธ์ง)์ด ๋ฐ๋๋ค๋ฉด ์๋๋ค์ด ๋ชจ๋ฅด๊ฒ ์ ์ง์ ์ผ๋ก ๋ฐ๊ฟ์ผ ํ๋ค. ํคํธ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ์ ํคํธ๋ก ๊ต์ฒดํด์ผ ํ๋ค.
์ด์ ๊ฐ์ ์ผ๋ค์ ํด ์ฃผ๋ ๊ฒ์ด ์ฟ ๋ฒ๋คํฐ์ค๋ค. ๋ค์ ๋งํด, ์ฟ ๋ฒ๋คํฐ์ค๋ ์ฌ๋ฌ ๊ฐ์ ์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌํ๊ณ ์กฐ์จํ ์ ์๋ ์์คํ ์ด๋ค.
์ฟ ๋ฒ๋คํฐ์ค์ ์ฃผ์ ๊ธฐ๋ฅ
- ์๋ ์ค์ผ์ผ๋ง: ํธ๋ํฝ ์ฆ๊ฐ์ ๋ฐ๋ผ ์๋์ผ๋ก ํ๋๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ๋ค.
- ๋กค๋ง ์ ๋ฐ์ดํธ: ์๋น์ค ์ค๋จ ์์ด ์๋ก์ด ๋ฒ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ต์ฒดํ๋ค.
- ์ ํํ๋ง(Self-healing): ๋ฌธ์ ๊ฐ ์๊ธด ํ๋๋ฅผ ์๋์ผ๋ก ์ฌ์์ํ๊ฑฐ๋ ๊ต์ฒดํ๋ค.
๐ Amazon EKS๋?
์ฟ ๋ฒ๋คํฐ์ค๋ ์์ญ~์๋ฐฑ ๊ฐ์ ๋ฌํ๋ ์ปจํ ์ด๋์ ์ด์์ ์๋ํํด ์ค๋ค. ๋ฌธ์ ๋ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ง์ ๊ตฌ์ถํ๋ ๋ฐ ์ด๋ ค์์ด ์๋ค๋ ๊ฒ. ๋ง์คํฐ ๋ ธ๋์ ์์ปค ๋ ธ๋๋ฅผ ๊ตฌ์ฑํ๊ณ , ๋คํธ์ํฌ๋ถํฐ ๋ณด์ ์ค์ , ์ธ์ฆ ์์คํ , ํ๋, ๋ค์์คํ์ด์ค, ์ปจํผ๊ทธ๋งต... ์ด ๋ชจ๋ ๊ฑธ ์์์ผ ์๋ ์ด์ ์นดํ๋ฅผ ๋ง๋ค ์ ์์ผ๋ ์ง์ ์ฅ๋ฒฝ์ด ๋๋ค.
๋ฐ๋ผ์ AWS์์๋ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ์๋น์ค๋ฅผ ๋ง๋ค์๋ค. ๋ฐ๋ก EKS(Amazon Elastic Kubernetes Service)๋ค.
EKS๋ฅผ ์ฌ์ฉํ๋ฉด ์ฟ ๋ฒ๋คํฐ์ค์ ์ปจํธ๋กค ํ๋ ์ธ(๋ง์คํฐ ๋ ธ๋)์ ์ง์ ์ค์นํ๊ฑฐ๋ ๊ด๋ฆฌํ ํ์ ์์ด, AWS์์ ์ ๊ณตํ๋ ๊ด๋ฆฌํ ์ปจํธ๋กค ํ๋ ์ธ์ ํตํด ๋ณด๋ค ์์ฝ๊ฒ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ๊ณ ์ด์ํ ์ ์๋ค. ๋คํธ์ํฌ, ๋ณด์, ๋ก๋๋ฐธ๋ฐ์, ์คํ ์ค์ผ์ผ๋ง, ์ธ์ฆ ๊ถํ ๊ด๋ฆฌ ๋ฑ ์ ๊ฒฝ ์ธ ๊ฒ๋ค์ด ์ค์ด๋ ๋ค.
๐ Amazon EKS์ ํน์ง
EKS๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ํตํด ์ด์ ํธ์์ฑ์ ์ ๊ณตํ๋ค.
1. VPC๋ฅผ ํตํ ์์ฌ์ด ํต์ ์ ๊ณต
2. ELB์ ์ฐ๊ณํ์ฌ ๋ก๋๋ฐธ๋ฐ์ฑ ๊ธฐ๋ฅ ์ ๊ณต
3. ํด๋ฌ์คํฐ ์ด์ ๊ณผ์ ์์ ์ฌ์ฉ์์ ์ธ์ฆ, ์ธ๊ฐ๋ฅผ IAM์ ํตํด ๊ด๋ฆฌ
4. EKS - Fluentd - ElasticSearch or S3 - kibana - CloudWatch ๊ฐ ์ฐ๊ณ๋ ๋ก๊น &๋ชจ๋ํฐ๋ง ์ ๊ณต
5. ๋ค์ํ ์์ค์ ๋ชจ๋ํฐ๋ง ์ ๊ณต
ํด๋น ํน์ง๋ค์ ์ดํดํ๊ธฐ ์ํด์๋ ์ฟ ๋ฒ๋คํฐ์ค ์์ฒด์ ๋ํ ์ดํด๊ฐ ๋ ํ์ํ๋ฏ๋ก, ๋ค์์ ๊ธฐํ๊ฐ ๋ ๋ ๋ ์ ๊ธฐ๋ก ํ๋ค.
์๋ฒ๊ฐ ์ด๋ป๊ฒ ๊ด๋ฆฌ๋๋์ง ์ดํดํ๋ค๋ฉด, ๋ฐ์ํ ๋ฌธ์ ์ ๋ํ ์ดํด๋๋ ๋์์ง ๊ฒ์ด๋ค.
์กฐ๊ธ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋๋ผ๋ ์ฒ์ฒํ EKS์ ๋ํด ์ดํดํด ๋ณด๋ ๊ธฐํ๊ฐ ๋์์ผ๋ฉด ์ข๊ฒ ๋ค.