๐ ๋ค์ด๊ฐ๋ฉฐ
์ฐ๋ฆฌ๋ ๊ธฐ์กด์ dev ์๋ฒ๋ง ์กด์ฌํ๊ณ , prod ์๋ฒ๋ ์กด์ฌํ์ง ์์๋ค.
prod ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ ๊ณผ์ ์์ ๋ณด์์ ๊ณ ๋ คํด ์ค๊ณํ๋ค๋ฉด, ์ด๋ค ์ค๊ณ๋ฅผ ํ ์ ์์์ง์ ๋ํ ๊ณ ๋ฏผ์ ์์ํ๋ค.
๊ทธ ๊ณผ์ ์ ๋ํด ๊ธฐ๋กํด๋ณด๊ณ ์ ํ๋ค.
1๏ธโฃ ์ธ๋ฐ์ด๋ ๊ท์น
์ฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๋จผ์ ๊ณ ๋ คํ ๊ฒ์ ์ธ๋ฐ์ด๋ ๊ท์น์ด์๋ค.
ํ์ฌ AWS ์ ec2 ๋ฅผ ์ด์ฉํด ์๋ฒ๋ฅผ ๊ตฌ์ถํ dev ์๋ฒ์์์ ์ธ๋ฐ์ด๋ ๊ท์น์ ๋ชจ๋์๊ฒ ์ด๋ ค ์์๋ค.
22๋ฒ ํฌํธ๋ ์ฐํ
์ฝ ๊ท์ฝ์ ๋ฐ๋ผ ํน์ IP (์ฐํ
์ฝ ์บ ํผ์ค ๋ด๋ถ) ๋ง ์ ์ํ ์ ์์์ผ๋, ๋๋จธ์ง ํฌํธ๋ค์ ๋ชจ๋ IP ๊ฐ ์ ๊ทผํ ์ ์์๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์ง์ ์ฌ์ฉํ๋ IP๊ฐ ๊ฒฐ๊ตญ dev ์๋ฒ์ IP ์๊ธฐ ๋๋ฌธ์, ์
์์ ์ธ ์ฌ์ฉ์๊ฐ ํด๋น IP๋ก ๋๋์ ์์ฒญ์ ๋ณด๋ด๋ฉด ์๋น์ค๊ฐ ์ฝ๊ฒ ๋ค์ด๋ ์ ์๋ ๊ตฌ์กฐ์๋ค. ์ด๋ฐ ์ํฉ์์๋ ์๋ฒ IP๋ฅผ ์จ๊ธฐ๊ฑฐ๋ ๋ณดํธํ๊ธฐ ์ด๋ ค์ ๋ค.
๋ํ 80 ํฌํธ๊ฐ ์ ์ธ๊ณ์ ๊ฐ๋ฐฉ๋์ด ์์ผ๋ฉด ์๋ํ๋ ์ค์บ๋ ๋ด์ด๋ ์ทจ์ฝ์ ๊ณต๊ฒฉ ์๋์ ๋์์ด ๋๊ธฐ ๋๋ฌธ์ ๋ฌด์ํ ์ ์๋ ์ํ ์์๊ฐ ๋๋ค. ๋ ๋์๊ฐ 80 ํฌํธ๋ก ์ธ๋ถ ์ ๊ทผ์ ํ์ฉํ๋ฉด HTTPS๊ฐ ์๋ ํ๋ฌธ HTTP ์์ฒญ๋ ๋ฐ์๋ค์ฌ์ง ์ ์์ด, ํต์ ๋ณด์ ์ธก๋ฉด์์๋ ๋ฐ๋์งํ์ง ์๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ ๊ทธ๋ฃน์ ๋ณ๊ฒฝํด์ฃผ์๋ค.
ํด๋น ๋ณด์ ๊ทธ๋ฃน์์๋ ssh ํต์ ์ bastion ์๋ฒ์์๋ง ๊ฐ๋ฅํ๋๋ก ๋ง์ ๋๋ค (์ด์ ๋ํด์๋ ์ถํ์ ์ค๋ช
ํ๋ค.)
๋ํ 443 ๊ณผ 80 ์ ๋ํด์๋ ๊ธฐ์กด๊ณผ ๊ฐ์ด ๋ชจ๋ IP ๋ก๋ถํฐ์ ์ ๊ทผ์ ํ์ฉํ๋ ๊ฒ์ด ์๋๋ผ ํน์ ec2 ์ ๋ํด์๋ง ์ ๊ทผ์ ํ์ฉํ๋ค.
dev ์๋ฒ์ 80 ํฌํธ์ 443 ํฌํธ๋ก ์ ๊ทผํ ์ ์๋ ec2 ๊ฐ ๋ฐ๋ก LB ์ญํ ์ ํ๋ ec2 ์ด๋ค. ์ด ec2 ์ ๋ณด์ ๊ทธ๋ฃน์ ๋ชจ๋ ip ๊ฐ 80 ๊ณผ 443 ์ผ๋ก ์ ๊ทผํ ์ ์๋๋ก ํด๋์๋ค.
์ฆ, ๊ธฐ์กด์ ์๋ฒ ๊ตฌ์กฐ์์๋ dev ์๋ฒ ๋ฑ ํ๋๋ง ์์๋ค. 443, 80 ํฌํธ๋ค์ ๋ชจ๋ IP ์ ๋ํด ์ด์ด๋์๋ค. ๊ทธ๋ฌ๋ ๊ฐ์ ๋ ์๋ฒ์ ๊ตฌ์กฐ์์๋ lb ๋ฅผ ์์ ๋๊ณ , lb ๋ง์ด ์๋ฒ ์ญํ ์ ํ๋ ec2 ๋ก ์ ์์ด ๊ฐ๋ฅํ๋ค. ์ฌ์ง์ด ssh ํต์ ์ ํ๋ 22๋ฒ ํฌํธ๋ ํน์ IP ๋ ์๋ bastion ์ผ๋ก๋ง ์ด์ด ๋์๋ค.
2๏ธโฃ bastion
์์ ์ธ๊ธํ bastion ์ด๋ ๋ฌด์์ผ๊น?
์ด๋ ๋ณด์์ ๊ฐํํ๊ธฐ ์ํด ์ธ๋ถ ๋คํธ์ํฌ์ ๋ด๋ถ ๋คํธ์ํฌ ์ฌ์ด์ ์์นํ๋ ํน๋ณํ ์๋ฒ๋ค.
์ฌ์ค ์ด๋ ๊ฒ ์ค๋ช
ํ๋ฉด ์ด๋ ต๊ณ ๋ณต์กํด๋ณด์ด์ง๋ง, ๊ฐ๋จํ ๋งํ์๋ฉด prod ์๋ฒ๊ฐ ๋์์ง ec2 ๋ฅผ ์ ๊ทผํ๊ธฐ ์ํด ๊ฐ๋ฐ์๊ฐ ๋ก์ปฌ์ ํฐ๋ฏธ๋์์ pem ํค๋ฅผ ํตํด ์ ์ํ๋ ๊ฒ์ด ์๋๋ผ bastion ์๋ฒ๊ฐ ์ ์ํ๋๋ก ํ๋ ๊ฒ์ด๋ค. ๋ง๋ง๋ก ec2 ํ๋ ๋ ๋์์ ์ด ec2 ๊ฐ ๋์ ์ ์ํ๋ ๊ฒ๋ฟ์ด๋ค..
๊ธฐ์กด์ ๋ฐฉ์์ธ ๊ฐ๋ฐ์๊ฐ ๋ก์ปฌ์ ํฐ๋ฏธ๋์์ pem ํค๋ฅผ ํตํด ์ ์ ํ๋ ๊ฒฝ์ฐ์๋, ํด๋น ์๋ฒ๊ฐ public ์ผ๋ก ์ด๋ ค ์๊ฑฐ๋ ํน์ ip ์ ๋ํด์ ์คํ๋์ด ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ณด์์ ์ทจ์ฝํ ์ ์๋ค.
๊ทธ๋ฌ๋ bastion ์๋ฒ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด, ํด๋น ์๋ฒ์ ssh ์ ์ ์์ฒด๋ฅผ ์๋ฒ๋ฅผ ๊ฒฝ์ ํ๋๋ก ๊ฐ์ ํ ์ ์๋ค.
๋ค์ ๊ฐ์ ๋ prod ์๋ฒ์ ๋ณด์ ๊ทธ๋ฃน์ ํ์ธํด๋ณด์. 22๋ฒ ํฌํธ๋ ์ค์ง bastion ์๋ฒ๋ง ์ ์์ด ๊ฐ๋ฅํ๋ค.
3๏ธโฃ SSM
๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ bastion ์๋ฒ๋ฅผ ์ฌ์ฉํ์ง ์์๋ค!
์์ ์ด์ผ๊ธฐํ ๊ฒ๊ณผ ๊ฐ์ด ssh ํต์ ์ bastion ์๋ฒ๋ก๋ง ๊ฐ๋ฅํ๋ค. bastion ์ ์ฌ์ฉํ์ง ์์๋ค๋ฉด, ์ด๋ป๊ฒ ssh ํต์ ์ ํ ์ ์์์๊น?
์ฐ๋ฆฌ๋ SSM ์ ์ฌ์ฉํ๊ธฐ๋ก ํ๊ธฐ์ ๊ฐ๋ฅํ๋ค.
SSM ์ด๋ ๋ฌด์์ผ๊น?
AWS์์ ์ ๊ณตํ๋ ๊ด๋ฆฌ ์๋น์ค๋ก, EC2·์จํ๋ ๋ฏธ์ค ์๋ฒ·์ปจํ
์ด๋ ๋ฑ ์ธํ๋ผ๋ฅผ ์ค์์์ ์๊ฒฉ์ผ๋ก ์ ์ด·์๋ํ ํ ์ ์๊ฒ ํด์ค๋ค. ์ฆ, pem ํค ์์ด AWS ๋ด๋ถ์์ CLI ๋ก ์ ์ํ ์ ์๋๋ก ํ๋ค. ์ฝ๊ฒ ๋งํ์๋ฉด, ๊ธฐ์กด์ pem ํค๋ฅผ ํตํด ๋ก์ปฌ ํฐ๋ฏธ๋๋ก ์ ์ํด์ผ ํ๋ ssh ํฐ๋ฏธ๋์ AWS ์ ์น ํ์ด์ง ๋ด๋ถ์์ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ ๊ฒ์ด๋ค.
์ฐ๋ฆฌ๊ฐ SSM ์ ๋์
ํ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
โ
1. ๋น์ฉ ์ธก๋ฉด
ํ์ฌ EC2 ๊ตฌ์ฑ
- dev(1) + Nginx(1) + DB(1) + prod(1) = ์ด 4๋ → ์ฝ $24/์(t2.micro ๊ธฐ์ค)
- Bastion ์๋ฒ ์ถ๊ฐ ์ +$6/์ ์ฆ๊ฐ → ๋ถํ์ํ ๋น์ฉ ๋ถ๋ด์ด ์ฆ๊ฐํ๋ค.
๋ฐ๋ฉด, SSM ์ ๊ณ ๊ธ ํ๋ผ๋ฏธํฐ ๋ฑ ํน์ํ ์ต์
์ ์ฌ์ฉํ์ง ์๋ ํ ๋ฌด๋ฃ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
โ
2. ๊ด๋ฆฌ ํจ์จ์ฑ ์ธก๋ฉด
Bastion ๋ฐฉ์
- ๊ด๋ฆฌํด์ผ ํ ์๋ฒ๊ฐ ํ๋ ๋ ๋์ด๋ ์ด์ ํฌ์ธํธ ์ฆ๊ฐ
- ๋ณด์์ ์ํด EC2 ์ ์ ๊ทผํ๋ ์ฌ์ฉ์๋ค์ ๋ํด ์ง์ ๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊น ์ ํตํด ์ถ์ ํด์ผ ํ๋ค.
SSM ๋ฐฉ์
- ๋ณ๋์ ์๋ฒ๊ฐ ๋ถํ์ํ๋ฉฐ, ๊ฐ ์ธ์คํด์ค์ ์์ด์ ํธ๋ง ๊ด๋ฆฌํ๋ฉด ๋๋ค.
โ 3. ๋ณด์ ๊ฐํ ์ธก๋ฉด
Bastion ๋ฐฉ์
- .pem ํค๋ฅผ ๋ก์ปฌ/์๋ฒ์ ๋ณด๊ดํด์ผ ํจ → ํค ํ์ทจ ์ ๋ณด์ ๋ฆฌ์คํฌ๊ฐ ์ฆ๊ฐํ๋ค.
- 22๋ฒ ํฌํธ๊ฐ ์ด๋ ค ์์ด์ผ ํ๊ธฐ์ ์ํ ์์๊ฐ ์กด์ฌํ๋ค.
SSM ๋ฐฉ์
- pem ํค ๋ถํ์, IAM Role ๊ธฐ๋ฐ ์ธ์ฆ → ์๊ฒฉ ์ฆ๋ช ํ์ทจ ์ํ์ด ์ต์ํ๋๋ค.
- 22๋ฒ ํฌํธ ๋ซ์ ์ ์์ → ์ธ๋ถ ๊ณต๊ฒฉ์ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ๊ฐ์ํ๋ค
์ด๋ฌํ ๋น์ฉ / ๊ด๋ฆฌ / ๋ณด์ ์ธก๋ฉด์์ ์ฐ๋ฆฌ๋ ๋ณด์์ ๊ณ ๋ คํ ์๋ฒ ์ํคํ ์ฒ ์ค๊ณ์์ SSM ์ด ๋ ์ ์ ํ ๋์์ด๋ผ๊ณ ํ๋จํ๋ค.
4๏ธโฃ Private Subnet ๊ณผ Public Subnet
๊ธฐ์กด์๋ ์๋ฒ๋ฅผ public subnet ์ ๋์ด ํด๋น ์๋ฒ์ ip ๋ก ์ผ๋ง๋ ์ง ์ ๊ทผํ ์ ์๋๋ก ํ๋ค.
๊ทธ๋ฌ๋ prod ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ฉฐ ๋ณด์์ ๊ณ ๋ คํ๋ ๊ณผ์ ์์๋ prod ์๋ฒ๋ฅผ VPC ๋ด๋ถ์ private subnet ์ผ๋ก ์ฎ๊ธฐ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค.
Private Subnet ๊ณผ Public Subnet ์ ๋ํด ์ค๋ช ํ๋ ๊ฒ์ ์ฃผ์ ์์ ์ด๊ธ๋๋ฏ๋ก ๋ฐ๋ก ์ธ๊ธํ์ง๋ ์๊ฒ ๋ค.
ํด๋น ๋ด์ฉ์ด ํท๊ฐ๋ฆฌ์๋ ๋ถ๋ค์ VPC / Private Subnet / Public Subnet ์ ๋ํด ์ถ๊ฐ์ ์ผ๋ก ํ์ตํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์์ ๐ค
๐ private subnet ์ผ๋ก ๋๋ ๊ฒ์ ํจ๊ณผ
Private Subnet์ ์๋ฒ๋ฅผ ๋๋ฉด ํผ๋ธ๋ฆญ IP๊ฐ ํ ๋น๋์ง ์์ผ๋ฉฐ, VPC ๋ผ์ฐํ
ํ
์ด๋ธ์ ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด๊ฐ ์์ผ๋ฏ๋ก ์ธ๋ถ์์ ์ง์ ์ ์ํ ์ ์๋ค. ์ฆ, ์ธ๋ฐ์ด๋ ์์ฒญ์ ์ฐจ๋จ๋๋ค.
๐ ์ ์ธ๋ฐ์ด๋ ๊ท์น์ผ๋ก ์ด๋ฏธ prod ์๋ฒ๋ก์ ์ ๊ทผ์ ์ฐจ๋จํ์์๋ ์ private subnet ์ ๊ณ ๋ คํด์ผ ํ ๊น?
์ด๋ ๋ด๊ฐ Private subnet / public subnet ์ ๋ํด ๊ณ ๋ คํ๋ฉด์ ๋ค์๋ ์๋ฌธ์ด๋ค.
๋ณด์ ๊ทธ๋ฃน์ ์ผ์ข
์ ๋
ผ๋ฆฌ์ ๋ฐฉํ๋ฒฝ์ ๊ฐ๊น๋ค. ์๋ฒ์ ํผ๋ธ๋ฆญ IP๊ฐ ์์ผ๋ฉด ์ธ๋ถ์์ '์ง ์์น(IP)' ์์ฒด๋ ์ ์ ์๊ณ , ๋๋ SG๋ผ๋ ๊ท์น(‘๊ฐ์กฑ๋ง ๋ค์ด์’)์ผ๋ก ๋ฌธ์ ๋ซ์๋๋ค. ํ์ง๋ง ๋ง์ฝ ๊ท์น์ ์๋ชป ์ ์ฉํ๋ฉด ๊ทธ ํ์ ํ ๋๋์ ๋ฐ๋ก ๋ค์ด์ฌ ์ ์๋ค.
๋ฐ๋๋ก ์๋ฒ๋ฅผ Private Subnet์ ๋๋ฉด ์์ ์ธ๋ถ์ ์ฐ๊ฒฐ๋ ๊ธธ(์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด)์ด ์๊ธฐ ๋๋ฌธ์, ๋๋์ ์ง์ ์ค๋ ๊ธธ ์์ฒด๋ฅผ ์ฐพ์ ์ ์๋ค. ์ฆ, ๋จ์ํ ๋ฌธ์ ์ ๊ทธ๋ ๊ฒ(SG)๋ณด๋ค, ์ง ์
๊ตฌ๋ฅผ ์ธ๋ถ ๋๋ก์ ๋จ์ ์์ผ ๋คํธ์ํฌ ๊ฒฝ๊ณ ์ฐจ์์์ ๋ง๋ ์
์ด๋ค.
๋ฐ๋ผ์ Private Subnet์ SG๋ง์ผ๋ก๋ ๋ง์ ์ ์๋ ์ค์๋ ์ค์ ์ค๋ฅ๊น์ง ๋๋นํ ์ด์ค ๋ฐฉ์ด๋ก ์ดํดํ ์ ์๋ค.
๐ ์๋ฒ๋ฅผ private subnet ์ ๋๋ค๋ฉด ์๋ฒ API ๋ก์ ์ ๊ทผ์ ์ด๋ป๊ฒ ํ๋๊ฑฐ์ง?
์ด๋ฅผ ์ํด ์ฐ๋ฆฌ๋ ๋ก๋ ๋ฐธ๋ฐ์ ์ญํ ์ ํ๋ Nginx ๋ฅผ public subnet ์ ๋์๋ค.
์ฆ, Public Subnet ์ ํด๋นํ๋ฉฐ LB ์ญํ ์ ํ๋ Nginx ์๋ฒ๊ฐ ์์ฒญ์ ๋ฐ์ VPC ๋ด๋ถ์ Private Subnet ์ธ dev ์๋ฒ์๊ฒ ์์ฒญ์ ์ ๋ฌํ๋ ๊ฒ์ด๋ค.
5๏ธโฃ Nginx
1. proxy pass
์์ ๊ฐ์ด nginx ์ proxy_pass ๊ด๋ จ ์ค์ ์ ํด์ฃผ์๋ค.
์ด๋ ๊ฒ ๋๋ฉด, Nginx ๋ ๋ด๊ฐ ์ ๋ฌ์ ์ํ๋ VPC ๋ด๋ถ์ ์๋ prod ์๋ฒ์๊ฒ๋ก ์์ฒญ์ ๋๊ฒจ์ค๋ค.
- proxy_set_header Host $host; → ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ Host ํค๋ ์ ์ง.
- proxy_set_header X-Real-IP $remote_addr; → ํด๋ผ์ด์ธํธ์ ์ค์ IP ์ ๋ฌ.
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; → ํ๋ก์ ์ฒด์ธ์ ๋ฐ๋ผ ํด๋ผ์ด์ธํธ IP ๋ฆฌ์คํธ ์ ๋ฌ.
- proxy_set_header X-Forwarded-Proto $scheme; → ์๋ ์์ฒญ ํ๋กํ ์ฝ(HTTP/HTTPS) ์ ๋ฌ.
- proxy_set_header X-Forwarded-Host $server_name; → ์์ฒญ์ด ๋ค์ด์จ Host ์ ๋ณด ์ ๋ฌ.
๊ธฐ์กด์ ์์ฒญ์ ์ต๋ํ ์ ์งํ๋ฉฐ proxy pass ๊ฐ ์ด๋ค์ง๋๋ก ํ๋ค.
2. ๊ณผ๋ํ ์์ฒญ ์ ํน์ IP ์ฐจ๋จ
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=20r/s;
์ด๋ 1์ด๋น 20๋ฒ์ ์์ฒญ๊น์ง๋ ํ์ฉํ๋ ์ค์ ์ด๋ค. $binary_remote_addr ๋ ์์ฒญ์ ๋ณด๋ด๋ ํด๋ผ์ด์ธํธ์ ip ์ ํด๋นํ๋ค.
limit_req zone=req_limit_per_ip burst=10 nodelay;
์๊ฐ์ ์ผ๋ก ์์ฒญ์ด ๋ ๋ชฐ๋ฆด ์๊ฐ ์๊ธฐ ๋๋ฌธ์, ๋ชฐ๋ฆฌ๋ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ 10๋ฒ๊น์ง ์ถ๊ฐ์ ์ผ๋ก ์์ฒญ์ ํ์ฉํ๋ค. ์ฆ, 1์ด์ ๋ํ์ฌ ์ต๋ 30๋ฒ๊น์ง ์์ฒญ์ ํ์ฉํ๋ ๊ฒ์ด๋ค.
์ ์ค์ ์ด ์ ์ ์ฉ๋๋์ง ํ์ธํ๊ธฐ ์ํด์ ์์ ๊ฐ์ด ์ค์ ๋ก ์์ฒญ์ ์ด๋ณด์๋ค. ์ด๋ 31๊ฐ์ ์์ฒญ์ ์ด๋ง๋ค ์๋ ๊ฒ์ด๋ค. ๊ฐ๊ฐํ 503 ์ด ์ํ ์ฝ๋๋ก ๋ฐํ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด์ ์ฐ๋ฆฌ ์๋ฒ๋
1. ์ธ๋ถ์์ ํจ๋ถ๋ก ์ ๊ทผํ ์ ์๊ณ
2. ์ธ๋ถ์์๋ ํผ๋ธ๋ฆญ IP ๊ฐ ์์ผ๋ ์ธํฐ๋ท์ผ๋ก ์ ์์ ํ ์๊ฐ ์์ผ๋ฉฐ
3. ์ผ์ ๊ฐ์ ์ด์ ์์ฒญ์ ๋ณด๋ด๋ฉด 503 ์ด ํด๋น IP ์ ๋ํด ๋จ๊ฒ ๋๊ณ
4. ์ฐ๊ฒฐ ์์ pem ํค๊น์ง ํ์๋ก ํ์ง ์๋ ์์ ํ ์๋ฒ๊ฐ ๋์๋ค!
์ด๋ฒ ๊ณผ์ ์์ ๋ณด์๊ณผ ํจ๊ป ์๋ฒ๋ฅผ ๊ณ ๋ คํด๋ณด๋ฉฐ ์ฒ์์ผ๋ก ๊ฐ๋ฐ์๋ ์ด๋ฐ ๊ฒ๋ค์ ๊ณ ๋ คํ๊ณ ๋ค๋ค์ผ ํ๋ ์ง์ ์ด๊ตฌ๋, ํน์ ๋ชจ๋ฅผ ์ํฉ์ ๋๋นํ๋ค๋ ๊ฑด ์ด๋ฐ ๊ฑฐ๊ตฌ๋ ํ๋ ๊นจ๋ฌ์์ ์ป์ ์ ์์๋ค.