[cloud] ๊ฐ์๋จธ์ (Virtual Machine)
Categories: cloud
๐ ๊ฐ์ธ์ ์ธ ๊ณต๊ฐ์ผ๋ก ๊ณต๋ถ๋ฅผ ๊ธฐ๋กํ๊ณ ๋ณต์ตํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ธ๋ก๊ทธ์
๋๋ค.
์ ํํ์ง ์์ ์ ๋ณด๊ฐ ์์ ์ ์์ผ๋ ์ฐธ๊ณ ๋ฐ๋๋๋ค :๐ธ
[ํ๋ฆฐ ๋ด์ฉ์ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์๋ฉด ๋ณต๋ฐ์ผ์ค๊ฑฐ์์]
๊ฐ์๋จธ์ (Virtual Machine)
๊ฐ์๋จธ์ ์ด๋?
๊ฐ์๋จธ์ (Virtual Machine, VM)์ ๋ฌผ๋ฆฌ์ ์ปดํจํฐ์ ํ๋์จ์ด๋ฅผ ์ํํธ์จ์ด์ ์ผ๋ก ๊ตฌํํ ์์คํ ์ ์๋ฏธ
VM์ ๋ฌผ๋ฆฌ์ ์ปดํจํฐ์ ์ ์ฌํ ํ๊ฒฝ์ ์ ๊ณตํ๋ฉฐ, CPU, ๋ฉ๋ชจ๋ฆฌ, ์คํ ๋ฆฌ์ง, ๋คํธ์ํฌ ๋ฑ์ ๊ฐ์ํํ์ฌ ๋ ๋ฆฝ์ ์ธ ์คํ ํ๊ฒฝ์ ๋ง๋ ๋ค.
์ ํต์ ์ธ ๋ฐฐํฌ ๋ฐฉ์๊ณผ ๊ฐ์ํ์ ์ฐจ์ด
1. ์ ํต์ ๋ฐฐํฌ ๋ฐฉ์
- ํน์ง : ๋ฌผ๋ฆฌ์ ์ปดํจํฐ์ ํ๋์ ์ด์์ฒด์ (OS)์ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ ์ค์นํ์ฌ ์ฌ์ฉ
- ๋ฌธ์ ์
- ํ๋ก๊ทธ๋จ ๊ฐ์ ์์กด์ฑ ์ถฉ๋: ํ๋์ ํ๋ก๊ทธ๋จ ์ค์น๊ฐ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์ํฅ์ ๋ฏธ์น ์ ์์
- ์์ ๋ญ๋น: ํ๋์ OS๋ง ์คํ ๊ฐ๋ฅํ๋ฏ๋ก ์์์ ํจ์จ์ ์ฌ์ฉ์ด ์ด๋ ค์
- ํ์ฅ์ฑ ๋ถ์กฑ: ์ถ๊ฐ ์๋ฒ๋ฅผ ๋ฐฐ์นํ๋ ค๋ฉด ๋ฌผ๋ฆฌ์ ํ๋์จ์ด์ ์ค์น ์๊ฐ์ด ํ์
2. ๊ฐ์ํ ๋ฐฐํฌ ๋ฐฉ์
๊ฐ์ํ๋ฅผ ํ์ฉํ๋ฉด ํ ๋์ ๋ฌผ๋ฆฌ์ ์๋ฒ ์์ ์ฌ๋ฌ ๊ฐ์ VM์ ์คํํ ์ ์๋ค.
ํต์ฌ ๊ตฌ์ฑ ์์
- ํ์ดํผ๋ฐ์ด์ (Hypervisor)
- ๊ฐ์๋จธ์ ์ ์์ฑํ๊ณ ๊ด๋ฆฌํ๋ ์ค๊ฐ ๊ณ์ธต ์ํํธ์จ์ด
- ๋ฌผ๋ฆฌ์ ํ๋์จ์ด๋ฅผ ์ฌ๋ฌ VM์ด ๊ณต์ ํ ์ ์๋๋ก ์ง์ํ๋ฉฐ, OS์ ํ๋์จ์ด ๊ฐ์ ์ถ์ํ ๊ณ์ธต์ ์ ๊ณตํ๋ค.
- VM ๋ด๋ถ ๊ตฌ์ฑ
- ๊ฐ์ ํ๋์จ์ด (CPU, ๋ฉ๋ชจ๋ฆฌ, ๋คํธ์ํฌ ๋ฑ)
- ์ด์์ฒด์ (OS): VM๋ง๋ค ๋ณ๋๋ก ์ค์น
- ์ ํ๋ฆฌ์ผ์ด์ : OS ์์์ ์คํ
๊ฐ์ํ์ ์ฅ์
- ์์ ํจ์จ์ฑ
- ํ ๋์ ๋ฌผ๋ฆฌ์ ์๋ฒ์์ ๋ค์์ VM์ ์คํํ์ฌ CPU, ๋ฉ๋ชจ๋ฆฌ, ์คํ ๋ฆฌ์ง์ ๊ฐ์ ํ๋์จ์ด ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉ
- ๋
๋ฆฝ์ฑ
- ๊ฐ VM์ ๋ ๋ฆฝ์ ์ธ ์คํ ํ๊ฒฝ์ ๊ฐ์ง
- ํ VM์์ ๋ฐ์ํ ์ค๋ฅ๋ ์ถฉ๋์ด ๋ค๋ฅธ VM์ ์ํฅ์ ๋ฏธ์น์ง ์์
- VM ๊ฐ ํ๋ก๊ทธ๋จ์ ์๋ก ์ ๊ทผํ ์ ์๋ ์๋๋ฐ์ค(Sandbox) ์ํ
- ํ์ฅ์ฑ
- ์ถ๊ฐ๋ก VM์ ์์ฑํ๊ฑฐ๋ ์์์ ์ฆ์คํ๋ ๊ฒ์ด ์ฝ๊ณ ๋น ๋ฆ
- ํ๋์จ์ด ์ถ๊ฐ ์์ด ์ํํธ์จ์ด ์ค์ ๋ง์ผ๋ก ์์์ ์กฐ์ ๊ฐ๋ฅ
- ์ ์ง๋ณด์ ๋ฐ ๋ณต๊ตฌ ์ฉ์ด์ฑ
- VM์ ๋ฐฑ์ ๋ฐ ๋ณต๊ตฌ๊ฐ ๊ฐํธ
- ํน์ VM์ ๋ฌธ์ ๊ฐ ์๊ธธ ๊ฒฝ์ฐ, ๋ค๋ฅธ VM์ ๊ณ์ ์ ์ ๋์
๊ฐ์๋จธ์ ์ ๋จ์
- ์ค๋ฒํค๋(Overhead)
- ํ์ดํผ๋ฐ์ด์ ์ ๊ฐ VM์ OS๊ฐ ์คํ๋๋ฉด์ ์์ ์๋ชจ๊ฐ ์ฆ๊ฐ
- ์ด์์ฒด์ ์ค์น ๋ถ๋ด
- ๊ฐ VM์ ์ด์์ฒด์ ๋ฅผ ์ค์นํด์ผ ํ๋ฏ๋ก ์ด๊ธฐ ์ค์ ์๊ฐ์ด ์์๋จ
- ์ฑ๋ฅ ์ ํ
- ๋ฌผ๋ฆฌ์ ํ๋์จ์ด์ ์ฑ๋ฅ์ ๋ฐ๋ผ VM์ ์์ ์ฑ๋ฅ์ด ์ ํ๋จ
๊ฐ์๋จธ์ ๊ณผ ํด๋ผ์ฐ๋
ํด๋ผ์ฐ๋ ์ปดํจํ ์ ๊ธฐ๋ฐ ๊ธฐ์ ์ด ๋ฐ๋ก ๊ฐ์ํ์ด๋ค.
๊ฐ์ํ๋ฅผ ํตํด ํด๋ผ์ฐ๋๋ ๋ค์๊ณผ ๊ฐ์ ์๋น์ค๋ฅผ ์ ๊ณต
-
๋ค์ ์ฌ์ฉ์ ์ง์
ํ ๋์ ๋ฌผ๋ฆฌ์ ์๋ฒ์์ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์์
-
์ ์ฐํ ํ์ฅ์ฑ
์ฌ์ฉ์๊ฐ ํ์ํ ๋งํผ VM์ ์์ฑํ๊ฑฐ๋ ์ญ์ ํ์ฌ ์์์ ํจ์จ์ ์ผ๋ก ํ์ฉ
-
์๋น์ค ๊ฒฉ๋ฆฌ
์ฌ์ฉ์์ ๋ฐ์ดํฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๋ฏ๋ก ๋ณด์์ฑ์ ๋์
๊ฐ์๋จธ์ vs ์ปจํ ์ด๋
ํญ๋ชฉ | ๊ฐ์๋จธ์ (VM) | ์ปจํ ์ด๋(Container) |
---|---|---|
๋ ๋ฆฝ์ฑ | ๋ ๋ฆฝ๋ OS ํ๊ฒฝ ์ ๊ณต | ๋์ผํ OS ์ปค๋ ๊ณต์ |
์์ ์๋ | ๋ถํ ์๊ฐ์ด ๊ธธ๋ค | ๊ฒฝ๋ํ๋์ด ๋น ๋ฅด๊ฒ ์์ |
์์ ํจ์จ์ฑ | ์๋์ ์ผ๋ก ์์ ์๋ชจ๊ฐ ํฌ๋ค | ๋ ํจ์จ์ |
๊ฒฉ๋ฆฌ ์์ค | ๊ฐํ ๊ฒฉ๋ฆฌ์ฑ ์ ๊ณต | ์ฝํ ๊ฒฉ๋ฆฌ์ฑ ์ ๊ณต |
์ฌ์ฉ ์ | ์ ํต์ ์ธ ์๋ฒ ๋ฐฐํฌ | ๋ง์ดํฌ๋ก์๋น์ค, DevOps ํ๊ฒฝ |
Leave a comment