๋ณธ ๊ฒ์๊ธ์ ํ์ต ๋ชฉ์ ์ผ๋ก ์์ฑ๋ ๊ธ๋ก ๋ถ์ ํํ ๋ด์ฉ์ด ํฌํจ๋์ด ์์ ์ ์์ต๋๋ค.
์ด์ ๋ ์ง์์๋ฅผ ์์ฑํ๋๋ผ .. TIL ์์ฑ์ ๋ชปํ๋๋ฐ.. ์ค๋์ ์ ๋๋ก TIL์ ๋ฏธ๋ฃฐ ์ ์๋ค!
์ค๋ TIL์ AWS์ VPC, Subnet, AZ, NAT ์ ๋ํ ๊ฐ๋ , VPN๊ณผ Direct Connect์ ์ฐจ์ด, AWS VPN๊ณผ ์ผ๋ฐ VPN ์๋น์ค๋ ๋ฌด์จ ์ฐจ์ด์ด๋ฉฐ ์ ๋์ผํ๊ฒ VPN์ด๋ผ๋ ์ด๋ฆ์ ์ฌ์ฉํ๋์ง, ํ๋ก์์ ๋ฆฌ๋ฒ์ค ํ๋ก์์ ๊ฐ๋ ๊ณผ ์ ์ฉ ์ฌ๋ก๋ฅผ ์์๋ณด๋ ค๊ณ ํ๋ค.
AWS์์ VPC๋ Virtual Public Cloud์ ์ฝ์์ด๋ค. ๋ญ๊ฐ ์ด๋ฆ๋ง ๋ค์ด๋ ๋ฌด์จ ๋๋์ธ์ง ์ดํด๊ฐ ๋๋ค.
AWS ํด๋ผ์ฐ๋ ๋ด์์ ๊ฐ์์ผ๋ก ๊ตฌ์ฑ๋ ํผ๋ธ๋ฆญํ ํด๋ผ์ฐ๋ ๊ณต๊ฐ์ด๋ผ๊ณ ๋ณด๋ฉด๋๋ค. EC2๋ S3์ ๊ฐ์ ์ธ์คํด์ค๋ค์ด ์ด VPC ์์ ๋ฐฐ์น๋๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
์๋ธ๋ท์ VPC ์์ ์๋ ๋ก์ปฌ ๋คํธ์ํฌ๋ค์ด๋ผ๊ณ ํ ์ ์๋ค. ์ฆ A๋ผ๋ VPC ์์ a, b, c๋ผ๋ ์๋ธ๋ท์ด ์กด์ฌํ ์ ์๋ค. ์ด
์ด๋ ๊ฒ ์๋ธ๋ท์ ๋๋ด์ ๋ ์ฅ์ ์ค ํ๋๋ Private Subnet๊ณผ Public Subnet์ ๋๋ ์ ์๋ค๋ ๊ฒ์ด๋ค.
Private Subnet์ ์ธํฐ๋ท์ด ์ฐ๊ฒฐ๋์ง ์์ ์๋ธ๋ท์ด๊ณ Public Subnet์ ์ธํฐ๋ท์ด ์ฐ๊ฒฐ๋ ์๋ธ๋ท์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
๋ฐ๋ผ์ ์ง์ ๋ ธ์ถ์ํค๊ณ ์ถ์ง ์์ ์๋ฒ ์ธ์คํด์ค๋ Private Subnet์ ๋ฃ๊ณ Reverse Proxy์ ๊ฐ์ ์ธ์คํด์ค๋ Public Subnet์ ๋์ด ์ธํฐ๋ท๊ณผ ์ฐ๊ฒฐํ๋ ๋ฑ์ ๋ฐฉ๋ฒ์ ์ด์ฉํ ์ ์๋ค.
์ด ๋ ๊ฐ ์๋ธ๋ท์ CIDR ํ๊ธฐ๋ฒ์ ์ด์ฉํด ip ์ฃผ์๋ฅผ ํ๊ธฐํ๋ค. Classless Inter Domain Routing์ด๋ผ๋ ๊ฒ์ธ๋ฐ ์ด๋ ค์ธ ๊ฒ ์๋ค.
์ผ๋จ ์ด๊ฒ ๋ญ์ง ์์๋ณด๋ฉด ํ ์๋ธ๋ท์ ์ํ ์ธ์คํด์ค์ ip์ฃผ์๋ฅผ ์ด๋ค ๋ฒ์์์ ํ ๋นํ ๊ฒ์ธ์ง ์ ํด์ฃผ๋ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด 127.01.0.0/24 ์ด๋ ๊ฒ ํ๋ฉด 127์ด 8๋นํธ, 01์ด 8๋นํธ, 0์ด 8๋นํธ, 0์ด 8๋นํธ์ธ๋ฐ ์์ 24๋นํธ๋ ๊ณ ์ ๊ฐ์ด๊ณ ๋ค์ 8๋นํธ๋ง ๋ฐ๊พธ์ด์ ip์ฃผ์๋ฅผ ํ ๋นํ๊ฒ ๋ค ๋ผ๋ ๋ป์ด๋ค
์ฆ ์๋ฅผ ๋ค์ด 127.01.0.0/24 ์๋ธ๋ท ๋ด๋ถ์ ์๋ ์ธ์คํด์ค๋ค์
127.01.0.0 ~ 127.01.0.255 ์ฌ์ด์ ip ์ฃผ์๋ฅผ ํ ๋น ๋ฐ๋๋ค.
๊ทธ๋์ Inter Domain Routing์ด๋ค.
๊ทธ๋ฌ๋ฉด Classless๋ ๋ญ๊น?
ip ์ฃผ์์๋ Class ๋ผ๋ ๊ฐ๋ ์ด ์๋๋ฐ ์๋ ๊ทธ๋ฆผ์ ๋ณด์.
<ip์ฃผ์ ํด๋์ค ๊ทธ๋ฆผ>
์ด๋ ๊ฒ ip ์ฃผ์์ ๋ฒ์๋ฅผ ์ ํ๊ณ ์ด ๋ถ๋ถ์ A Class์ด๊ณ A Class์ ํ ๋น๋๋ ip ์ฃผ์์ ๊ฐ์ฒด๋ค์ ์ด๋ค ๊ธฐ๋ฅ์ ์ํํด์ผํ๋ค. ์ ๊ฐ์ ๊ท์น์ด๋ค. (์ด๋ฐ ๊ฒ์ Classful ํ๋ค๊ณ ํ๋ค.)
๊ทธ๋ฐ๋ฐ CIDR์ Classless, ์ฆ ์ด๋ฐ ํด๋์ค์ ๊ฐ๋ ์ ๋์ง ์๋๋ค๋ ๋ป์ ๊ฐ์ง๋ค.
๊ทธ๋์ ์์ ๋กญ๊ฒ ip๋ฅผ ํ ๋นํ ์ ์๋ค.
๋จ, 127.01.0.0 ~ 127.01.0.3 / 127.01.0.255 ์ด๋ ๊ฒ 5๊ฐ์ ip๋ ์ฐ๋ฆฌ๊ฐ ์ด์ฉํ ์ ์๋ค. (์๋ธ๋ท์ ํ ๋นํ ๋๋ง๋ค, ์ด๋ ๊ฒ ip๊ฐ 5๊ฐ์ฉ ํ ๋น๋๋ฏ๋ก ์ด์ ์ฃผ์ํด์ผ ํ๋ค.)
127.01.0.0์ ์ด ์๋ธ๋ท์ ์๋ณ ์ฃผ์๋ก ์ฌ์ฉ๋๋ค. 127.01.0.1์ ๊ฒ์ดํธ์จ์ด์ ip ์ฃผ์์ด๋ค. 127.01.0.2์ DNS์ ip ์ฃผ์์ด๋ค. ์ธ์คํด์ค์ ๋๋ฉ์ธ์ด ํ ๋น๋์ด ์๋ค๋ฉด ์ต์ข ์ ์ผ๋ก VPC์ ๋์ฐฉํ ์์ฒญ์ด ๋๋ฉ์ธ์ผ๋ก ๋์ด์๋ค๋ฉด DNS ์ฟผ๋ฆฌ๋ฅผ 127.01.0.2์ ๋ ๋ ค์ ์ป์ ip๋ก ๊ฒ์ดํธ์จ์ด๊ฐ ์์ฒญ์ ์ ๋ฌํ๊ฒ ๋๋ค. 127.01.0.3์ ๋ฏธ๋์ AWS๊ฐ ์๋ก์ด ์๋น์ค ๋ฑ์ ๋ฐ์นญํ ๋๋ฅผ ๋๋นํ๊ธฐ ์ํด ์๋น์ฉ์ผ๋ก ์์ฝํ ip ์ฃผ์์ด๋ค. 127.01.0.255๋ ๋คํธ์ํฌ ๋ธ๋ก๋์บ์คํธ์ฉ ์ฃผ์์ด๋ค. ์ฌ์ค AWS VPC๋ ๋ธ๋ก๋์บ์คํธ๋ฅผ ์ง์ํ์ง๋ ์์ผ๋, ๋คํธ์ํฌ ํ์ค์ ์งํค๊ธฐ ์ํด ์์ฝํ๋ค.
AZ๋ Availabity Zone ์ ์ฝ์นญ์ธ๋ฐ VPC๋ฅผ 2๊ฐ AZ์ ๋ณต์ฌํด์ ์ ์ฅํ๊ฒ ๋๋ค. (๋ฌผ๋ก ์ํฉ์ ๋ฐ๋ผ 2๊ฐ์ AZ๊ฐ ์์ ํ ๊ฐ์ VPC ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง์ง ์์ ์๋ ์๋ค.)
์ฝ๊ฒ ์๊ฐํ๋ฉด AZ๋ฅผ 2๊ฐ ๋๋ฉด ํ ๊ฐ์ AZ๊ฐ ๊ณ ์ฅ๋๋ ๋ค๋ฅธ AZ๋ฅผ ํตํด ์๋ํ ์ ์๊ฒ ํ๊ธฐ ์ํจ์ด๋ค.
์ธํฐ๋ท ์ฐ๊ฒฐ์ ์ ๋ดํด์ฃผ๋ ์ธ์คํด์ค๋ผ๊ณ ์ดํดํ ์ ์๋ค.
VPN์ Virtual Private Network์ ์ฝ์์ธ๋ฐ
ํต์ฌ์ ์ฌ์ค ๋คํธ์ํฌ๋ฅผ ๊ฐ์์ ์ผ๋ก ํ์ฅํ๋ค๋ ์๋ฏธ์ด๋ค. ์ด ์๋ฏธ์ ๋ํด ์์๋ณด์.
AWS์์ VPN์ด๋, ํด๋ผ์ฐ๋์ ๊ตฌ์ฑ๋ ์ธ์คํด์ค ๋ฟ ์๋๋ผ, ์จํ๋ ๋ฏธ์ค ์๋ฒ๋ AWS์ ํด๋ผ์ฐ๋ ์ฌ์ค ๋คํธ์ํฌ์ ๊ฐ์์ ์ผ๋ก ํ์ฅ์ํค๋ ๊ฒ์ ๋งํ๋ค.
์ฌ๊ธฐ์ ์จํ๋ ๋ฏธ์ค๋ ๋ถ์ง์ ์ฆ ๊ธฐ์ ๋ถ์ง ๋ด์ ์๋ ์๋ฒ
๋ง ๊ทธ๋๋ก ๊ธฐ์ ์์ฒด์ ์๋ฒ๋ฅผ ๋งํ๋ค.
์ด ๊ธฐ์ ์๋ฒ๊ฐ ๋ง์น AWS ํด๋ผ์ฐ๋์ ๋คํธ์ํฌ์ ํฉ์ณ์ง ๊ฒ์ฒ๋ผ ์ฐ๊ฒฐํ ๋ ์ฌ์ฉํ๋ค.
๋จ, ์ด ๋ฐฉ์์ ์ธํฐ๋ท์ ํตํด ๊ตฌํ๋๊ธฐ ๋๋ฌธ์ ๋ณด์ ๋ฌธ์ ๋ ๋ ์ดํด์ ๋ฌธ์ ๊ฐ ์์ ์ ์๋ค.
๊ทธ๋์ ์ค์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ํต์ ๊ฐ์ ์ AWS ํด๋ผ์ฐ๋์ ์ง์ ์ฐ๊ฒฐํ๋ ๋ฐฉ์์ด Direct Connect ์ด๋ค.
๋ณดํต VPN ์๋น์ค๋ ๋ด ์ปดํจํฐ๋ก A๋ผ๋ ์๋ฒ์ ์ ์ํ ๋ ์ด๋ฅผ ๋ด ์ปดํจํฐ์์ ์ง์ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๋๊ฒ ์๋๋ผ, ์ฐ์ VPN ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ณณ์ ์์ฒญ์ ๋ณด๋ธ ๋ค VPN ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ณณ์์ A ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด์ด ๋ง์น ๋ค๋ฅธ ip์์ A ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ์ฒ๋ผ ๋ง๋๋ ๊ฒ์ด๋ค.
์ด๊ฒ์ ๋ด ์ปดํจํฐ Private Network๋ฅผ ๊ฐ์์ ์ผ๋ก ํ๋ํด์ VPN ์๋น์ค ์ปดํจํฐ๊ฐ ๋ด Private Network์ ์ํ ๊ฒ์ฒ๋ผ ๋ง๋ค๊ฒ ๋๊ณ ๊ทธ๋์ VPN ์ปดํจํฐ์ ip ์ฃผ์๊ฐ A ์๋ฒ์ ์ฐํ๊ฒ ๋๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ด ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ VPN ์๋น์ค์ด๋ค.
์ฌ๊ธฐ์ ์ถ๊ฐ์ ์ผ๋ก ๋ด ์์ฒญ์ ๋ํ ์ฌ๋ฌ๊ฐ์ง ๋ณด์ ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ์ ์ํ๋ค. ์์ฒญ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํ ํ๋ ๋ฑ์ ๊ธฐ์ ๋ค์ด ์ถ๊ฐ๋๋ค.
ํ๋ก์๋ ๋๋ฆฌ์ธ์ด๋ผ๋ ๋ป์ด๋ค. ์ฆ ๋ฌด์ธ๊ฐ๋ฅผ ๋์ ํ๋ ์กด์ฌ๋ผ๋ ๊ฒ์ด๋ค.
๋คํธ์ํฌ์ ์์ด์ ๋ฌด์ธ๊ฐ๋ฅผ ๋์ ํ๋ค๋ ๊ฒ์ ๋ฌด์์ด๊ณ ๊ทธ๊ฒ์ผ๋ก ์ป๋ ์ด์ ์ด ๋ฌด์์ผ๊น?
ํ๋ก์๋ ์๊น VPN์ ๋๋ฆฌ ์๋ฒ๋ ๊ฑฐ์ ๋น์ทํ๋ค.
์ฆ ๋ด๊ฐ ์ง์ ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ์ด ์๋๋ผ, ํ๋ก์ ์๋ฒ์ ์์ฒญ์ ํ ๋ค, ํ๋ก์ ์๋ฒ๊ฐ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ฒ ๋๋ค.
์ด๋ ๊ฒ ๋๋ฉด ํ๋ก์ ์๋ฒ์ ip๊ฐ ๋ก๊ทธ์ ์ฐํ๋ฉด์ ํด๋ผ์ด์ธํธ์ ip๋ฅผ ๋ณดํธํ๋ค.
VPN์ ์ฌ์ค ํ๋ก์ ๊ธฐ๋ฅ์ ํฌํจํ๊ณ ์๋ค๊ณ ๋ณผ ์ ์๋ค. ๋ฌผ๋ก VPN์ ์ถ๊ฐ์ ์ธ ๋ณด์ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง
์ด๊ฑด ๋ฐ๋๋ก ์๋ฒ์ ์ ๋ณด๋ฅผ ์จ๊ธฐ๊ธฐ ์ํด ์๋ฒ๊ฐ ๋๋ฆฌ์ธ์ ๋๋ ๊ฒ์ด๋ค.
์ฆ A ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๋ฉด ๋จผ์ A ์๋ฒ์ ๋ฆฌ๋ฒ์ค ํ๋ก์ ์๋ฒ๊ฐ ์์ฒญ์ ๋ฐ๋๋ค.
๊ทธ๋ฌ๋ฉด ๋ฆฌ๋ฒ์ค ํ๋ก์ ์๋ฒ๊ฐ ์ค์ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด ์ ๋ณด๋ฅผ ์ป์ ๋ค ์ด๋ฅผ ํด๋ผ์ด์ธํธ์ ๋ณด๋ด์ ์๋ฒ์ ip๋ฅผ ๋ณดํธํ๋ค.
์น ๊ฐ๋ฐ ๋๋ฉ์ธ์์๋ Apache๋ Nginx์ ๊ฐ์ ์น์๋ฒ๊ฐ ๋ฆฌ๋ฒ์ค ํ๋ก์์ ์ญํ ๋ ์ํํ๋ค.
๋ฌผ๋ก ์ด๋ฌํ ์น ์๋ฒ๋ ๋ฆฌ๋ฒ์ค ํ๋ก์ ๋ฟ ์๋๋ผ ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ์ถ๊ฐ๋ก ์ ๊ณตํ๋ค.
๊ทธ๋์ ์ค์ WAS์ ip๋ฅผ ๊ฐ์ถ ์ ์๊ฒ ๋๋ค.
AWS ์์๋ ์ด๋ฌํ ๋ฆฌ๋ฒ์ค ํ๋ก์๋ฅผ Public Subnet์ ๋๊ณ , Private Subnet์ WAS๋ฅผ ๋๋ ์ญํ ์ ์ํํ๋ ๊ตฌ์ฑ์ผ๋ก ๋ง์ด ์ํคํ ์ณ๋ฅผ ๊ตฌ์ฑํ๋ค.
๋ฌผ๋ก AWS์์ ์ ๊ณตํ๋ ๋ก๋ ๋ฐธ๋ฐ์๋ฅผ ์ด์ฉํด์ ๊ตฌํํ ์๋ ์๊ณ ๋ก๋๋ฐธ๋ฐ์๋ก ์ฌ๋ฌ Nginx๋ก ๋ณด๋ด์, ๊ทธ๊ฑธ ๋ ๋ก๋๋ฐธ๋ฐ์ฑ์ ํ ์๋ ์๋ค.