๋คํธ์ํฌ ๊ตฌ์ฑํ๊ธฐ
VPC, Subnet, Route Table, Internet Gateway, EndPoint ๊ทธ๋ฆฌ๊ณ IaC
AWS VPC (Virtual Private Cloud)๋?
AWS Cloud ๋ด๋ถ์์ ๊ตฌ์ฑ๋๋ ์ฌ์ฉ์์ AWS ๊ณ์ ์ ์ฉ ๊ฐ์ ๋คํธ์ํฌ๋ก ์ด๊ณณ์์ AWS ๋ฆฌ์์ค๋ฅผ ์์ํ ์ ์๋ค.
AWS์์๋ ๋ํดํธ๋ก Amazon EC2-VPC๋ฅผ ์ ๊ณตํ์ง๋ง Amazon VPC๋ AWS์ ํ์ฅ ๊ฐ๋ฅํ ์ธํ๋ผ๋ฅผ ์ฌ์ฉํ๋ค๋ ์ด์ ๊ณผ ํจ๊ป ๊ณ ๊ฐ์ ์์ฒด ๋ฐ์ดํฐ ์ผํฐ์์ ์ด์ํ๋ ๊ธฐ์กด ๋คํธ์ํฌ์ ๋งค์ฐ ์ ์ฌํ๋ค.
๋ํ AWS VPC๋ AWS ํด๋ผ์ฐ๋์์ ๋ค๋ฅธ ๊ฐ์ ๋คํธ์ํฌ์ ๋
ผ๋ฆฌ์ ์ผ๋ก ๋ถ๋ฆฌ๋์ด ์๋ค. IP ์ฃผ์ ๋ฒ์์ VPC ๋ฒ์๋ฅผ ์ค์ ํ๊ณ ์๋ธ๋ท์ ์ถ๊ฐํ๊ณ ๋ณด์ ๊ทธ๋ฃน์ ์ฐ๊ฒฐํ ๋ค์ ๋ผ์ฐํ
ํ
์ด๋ธ์ ๊ตฌ์ฑํ๋ค.
VPC๋ Amazon ์ฝ์์์ ์์ฑ๋๋ค. ๋ํ ํ๋์ VPC๋ ํ๋์ Region๋ด์์๋ง ์์ฑ์ด ๊ฐ๋ฅํ์ง๋ง ๋๊ฐ ์ด์์ ๋ฆฌ์ ์ ๊ฑธ์น๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค. ํ์ง๋ง ํ๋์ VPC๋ ์ฌ๋ฌ ๊ฐ์ AZ์ ๊ฑธ์ณ์ ์์ฑ๋ ์ ์๊ณ ๊ฐ์ง ์ ์๋ IP ์ฃผ์์ range๋ 2^16์ผ๋ก ์ ํ๋๋ค.
VPC๋ ๋ ๋ฆฝ๋ ํ๋์ ๋คํธ์ํฌ๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํ ๊ฐ์ฅ ํฐ ๋จ์์ด๋ค. ๊ฐ region์ ์ข ์๋๋ฉฐ [RFC1918](https://tools.ietf.org/html/rfc1918)์ด๋ผ๋ ์ฌ์ค IP ๋์ญ์ ๋ง์ถ์ด ์ค๊ณํด์ผ ํ๋ค. VPC์์ ์ฌ์ฉํ๋ ์ฌ์ค IP ๋์ญ์ ์๋์ ๊ฐ๋ค.
1๏ธโฃ 10.0.0.0 ~ 10.255.255.255(10/8 prefix)
2๏ธโฃ 172.16.0.0 ~ 172.31.255.255(182.16/12 prefix)
3๏ธโฃ 192.168.0.0 ~ 192.168.255.255(192.168/16 prefix)
๊ฐ ๋์ญํญ๋ง๋ค ๊ณ ์ ๋์ด์๋ prefix๊ฐ ๋ค๋ฅด๋ค. IPv4 ์ฃผ์์ธ xxx.xxx.xxx.xxx์์ .์ผ๋ก ๊ตฌ๋ถ๋ xxx์ 0~255 ์ฌ์ด์ ์ซ์์ด๋ฉฐ ์ด๋ 8bits๋ก ํํํ ์ ์๋ค. ์ฆ 1๋ฒ์ 00001010~, 2๋ฒ์ 0101100.0001~, 3๋ฒ์ 11000000.10101000~๊ฐ ์์ ๊ณ ์ ๋์ด ์๊ณ ๋๋จธ์ง ์ฃผ์ ๋ฒ์์ ํด๋นํ๋ IP ์ฃผ์๋ฅผ ํ ๋นํ ์ ์๋ค. ์๋์ ๊ฐ์ด 10.0.0.0/16์ผ๋ก ์ค์ ๋ IP ๋์ญํญ์ ์ด 65,536๊ฐ์ ํ๋ผ์ด๋น IPv4 ์ฃผ์๋ฅผ ๊ฐ์ง๋ค.
VPC์์ ํ๋ฒ ์ค์ ๋ IP ๋์ญ์ ์์ ํ ์ ์์ผ๋ฉฐ ๊ฐ๊ฐ์ VPC๋ ๋ ๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ์ ์๋ก ํต์ ํ ์ ์๋ค. ๋ง์ผ ํต์ ์ ์ํ๋ค๋ฉด VPC ํผ์ด๋ง ์๋น์ค๋ฅผ ํตํด VPC ๊ฐ์ ํธ๋ํฝ์ ๋ผ์ฐํ ํ ์ ์๋๋ก ์ค์ ํ ์ ์๋ค.
public / private Subnet์ด๋?
์๋ธ๋ท์ VPC์ IP ์ฃผ์๋ฅผ ๋๋์ด ๋ฆฌ์์ค๊ฐ ๋ฐฐ์น๋๋ ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์ ๋ฒ์๋ฅผ ๋ปํ๋ค. VPC๋ฅผ ์๊ฒ ๋๋ ๊ฒ์ด ์๋ธ๋ท์ด๊ธฐ ๋๋ฌธ์ VPC๋ณด๋ค ๋์ญํญ์ด ๋ฎ์ผ๋ฉฐ ํ๋์ AZ(Availability Zone)์ ํ๋์ ์๋ธ๋ท์ด ์ฐ๊ฒฐ๋๊ธฐ ๋๋ฌธ์ region์ AZ ์๋ฅผ ๋ฏธ๋ฆฌ ํ์ธํ๊ณ ์ค์ ํด์ผํ๋ค.
์๋ธ๋ท์ ๋ค์ Public Subnet๊ณผ Private Subnet์ผ๋ก ๋๋ ์ ์๋ค. ์ธํฐ๋ท๊ณผ ์ฐ๊ฒฐ๋์ด์๋ ์๋ธ๋ท์ public subnet์ด๋ผ๊ณ ํ๊ณ ์ธํฐ๋ท๊ณผ ์ฐ๊ฒฐ๋์ด์์ง ์์ ์๋ธ๋ท์ private subnet์ด๋ผ๊ณ ํ๋ค. ์ด์ฒ๋ผ ์ธํฐ๋ท ์ฐ๊ฒฐ ์ฌ๋ถ๋ก subnet์ ๊ตฌ๋ถํ๋ ์ด์ ๋ ๋ณด์์ ๊ฐํํ๊ธฐ ์ํจ์ด๋ค. public subnet์ ์กด์ฌํ๋ ์ธ์คํด์ค๋ ์ธํฐ๋ท์ ์ฐ๊ฒฐ๋์ด ์์๋ฐ์ด๋, ์ธ๋ฐ์ด๋ ํธ๋ํฝ์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค. ๋ฐ๋ฉด private subnet์ ์ธ๋ถ์ ๋ ธ์ถ์ด ๋์ด ์์ง ์๊ธฐ ๋๋ฌธ์ ์ ๊ทผํ ์ ์๋ค. ์ฆ ์ธํฐ๋ท๊ณผ ์ฐ๊ฒฐ๋์ด ์ธ๋ถ์ ๋ ธ์ถ๋์ด ์๋ ๋ฉด์ ์ ์ต์ํํจ์ผ๋ก์จ ๋คํธ์ํฌ ๋ง์ ํจ๋ถ๋ก ์ ๊ทผํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํจ์ด๋ค.
VPC ๋ด์๋ ๋ณดํต public subnet๊ณผ private subnet์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- public subnet
- internet gateway, ELB, public IP/Elastic IP๋ฅผ ๊ฐ์ง ์ธ์คํด์ค๋ฅผ ๋ด๋ถ์ ๊ฐ์ง๊ณ ์๋ค.
- ํนํ Public subnet ๋ด์ ์๋ nat instance๋ฅผ ํตํด์ private subnet ๋ด์ ์๋ instances์ด ์ธํฐ๋ท์ด ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- private subnet
- ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ๋ถ์ ์ฐจ๋จ๋์ด ์๋ค.
- private subnet ๋ด์ ์ธ์คํด์ค๋ค์ private ip๋ง์ ๊ฐ์ง๊ณ ์๊ณ internet inbound/outbound๊ฐ ๋ถ๊ฐ๋ฅ ํ๊ณ ์ค์ง ๋ค๋ฅธ ์๋ธ๋ท๊ณผ์ ์ฐ๊ฒฐ๋ง์ด ๊ฐ๋ฅํ๋ค.
Router
๋ผ์ฐํฐ๋ VPC ์์์ ๋ฐ์ํ ๋คํธ์ํฌ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ด๋๋ก ํธ๋ํฝ์ ์ ์กํด์ผ ํ๋์ง ์๋ ค์ฃผ๋ ํ์งํ ์ญํ ์ ์ํํ๋ค. ๊ฐ๊ฐ์ ์๋ธ๋ท์ ๋คํธ์ํฌ ํธ๋ํฝ ์ ๋ฌ ๊ท์น์ ํด๋นํ๋ ๋ผ์ฐํ ํ ์ด๋ธ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์์ฒญ์ด ๋ฐ์ํ๋ฉด ๊ฐ์ฅ ๋จผ์ ๋ผ์ฐํฐ๋ก ํธ๋ํฝ์ ์ ์กํ๋ค. ์ผ๋ฐ์ ์ผ๋ก VPC ๋ด๋ถ ๋คํธ์ํฌ์ ํด๋นํ๋ ์ฃผ์๋ local๋ก ํฅํ๋๋ก ํ๋ค
Routing Table
๋คํธ์ํฌ์์ ํน์ ๋ชฉ์ ์ง๊น์ง์ ๊ฑฐ๋ฆฌ์ ๊ฐ๋ ๋ฐฉ๋ฒ๋ฑ์ ๋ช ์ํ๊ณ ์๋ ํ ์ด๋ธ๋ก ๋ผ์ฐํฐ๋ ์ด๋ค ๋ชฉ์ ์ง๋ฅผ ์ฐพ์๊ฐ ๋ ์ด ๋ผ์ฐํ ํ ์ด๋ธ์ ๋ณด๊ณ ์ฐพ์๊ฐ๊ฒ ๋๋ค. ์ฝ๊ฒ ๋งํ๋ฉด ๋ผ์ฐํฐ๊ฐ ์ฌ๋ฌ ๊ฐ์ง ์ ๋ณด๋ฅผ ์ข ํฉํด์ ์ป์ด๋ธ ๋คํธ์ํฌ์ ๋ํ ์ง๋๋ฅผ ๋ผ์ฐํ ํ ์ด๋ธ์ด๋ผ๊ณ ํ๋ค.
ip address์ routing ๊ฒฝ๋ก๋ฅผ ์ ์ํ์ฌ subnet์์ ๋ฐ์ผ๋ก ๋๊ฐ๋ outbound traffic์ ๋ํ routing ๊ฒฝ๋ก๋ฅผ ์ค์ ํ๋ ๊ฒ
VPC ๋ด์๋ subnet์ด ์๊ณ ๊ฐ subnet์ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋คํธ์ํฌ ๋์ญ์ ๊ฐ์ง๊ณ ์๊ณ ํ subnet์์ ๋ค๋ฅธ ํ์ชฝ subnet์ผ๋ก ๊ฐ๊ธฐ ์ํด์๋ ๋ผ์ฐํ ์ด ํ์ํ๋ค.
VPC ๋ด๋ถ์ ๋ํด์๋ ์๋์ผ๋ก ๋ผ์ฐํ ์ด ์์ฑ๋๊ธฐ ๋๋ฌธ์ ๋ณ๋ค๋ฅธ ์ค์ ์์ด ํ subnet์์ ๋ค๋ฅธ subnet์ผ๋ก ํต์ ์ด ๊ฐ๋ฅํ๋ค. ์ด๋ ๋ณด์ด์ง ์๋ ์์์ ๋ผ์ฐํฐ์ธ vpc router๋ฅผ ํตํด ๊ฐ๋ฅํ๊ฒ ๋๋ ๊ฒ์ด๋ค. subnet์ผ๋ก ๋ฆฌ์์ค๋ฅผ ๋ณด๋ผ ๋ ์ด vpc router๋ฅผ ๊ฑฐ์ณ์ผ ํ๋ค.
AWS์์์ ๋ผ์ฐํ ํ ์ด๋ธ์ subnet์ด ๋ผ์ฐํฐ๋ฅผ ํตํด ๋ณด๋ด๋ ๋คํธ์ํฌ ํธ๋ํฝ์ด ์ ๋ฌ๋๋ ์์น๋ฅผ ์ ์ดํ๋ ์ญํ ์ ํ๋ค. ๊ท๊ฒ ๋งํด ๋ผ์ฐํ ์ ๋ํ ํ๋์ ๊ท์น์ ์ ์ํ๋ ๊ฒ์ด๋ค.
Internet Gateway
VPC์ ์ธํฐ๋ท์ด ํต์ ํ ์ ์๋๋ก ๋์์ฃผ๋ VPC ์ปดํฌ๋ํธ
๋จ์ํ ์ธํฐ๋ท๊ณผ์ ํต๋ก ์ญํ ์ ํ ๋ฟ ์๋๋ผ NAT์ ์ญํ ๋ ์ํํ๋ค.
์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด๋ VPC ๋ฆฌ์์ค์ ์ธํฐ๋ท ๊ฐ ํต์ ์ ํ์ฑํํ๊ธฐ ์ํด VPC์ ์ฐ๊ฒฐํ๋ ๊ฒ์ดํธ์จ์ด์ด๋ค. ์์ ์ค๋ช ํ๋ฏ public subnet๋ง ์ธ๋ถ์ ํต์ ํด์ผ ํ๋ฏ๋ก public subnet์ ๋ผ์ฐํ ํ ์ด๋ธ์๋ง ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด๋ก ํฅํ๋ ๊ท์น์ ํฌํจํ๋ค. ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ผ์ฐํ ๊ท์น์ ์ค์ ํ๋ฉด ๋คํธ์ํฌ ์์ฒญ ๋ฐ์ ์ ๋ชฉ์ ์ง์ IP ์ฃผ์๊ฐ 10.0.0.0/16(VPC ๋ด๋ถ)์ ํด๋นํ๋์ง ํ์ธํ๋ค. ํด๋นํ์ง ์๋ ๋ชจ๋ ํธ๋ํฝ์ ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด๋ฅผ ํตํด ์ธ๋ถ๋ก ์ ์ก๋์ด ๋ชฉ์ ์ง๋ฅผ ์ฐพ๋๋ค.
NAT Gateway
public subnet๋ง ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด๋ฅผ ํตํด ์ธ๋ถ์ ํธ๋ํฝ์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค๋ฉด private subnet์ ํธ๋ํฝ์ ๋ฌด์กฐ๊ฑด VPC ์์์๋ง ์ฒ๋ฆฌ๋๋ค๋ ๋ป์ผ๊น?
๊ทธ๋ ์ง ์๋ค. private subent ์ญ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ธํฐ๋ท๊ณผ ํต์ ํ ์ ์๋ค. ํ์ง๋ง private subnet์์ ์ง์ ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ฏ๋ก ํธ๋ํฝ์ public subnet์ ์ํ ์ธ์คํด์ค์ ์ ์กํด์ ์ธํฐ๋ท๊ณผ ํต์ ์ ํด์ผ ํ๋ค.
NAT ๊ฒ์ดํธ์จ์ด๊ฐ ์ด ์ญํ ์ ์ํํ๋ค. private subent์์ ๋ฐ์ํ๋ ๋คํธ์ํฌ ์์ฒญ์ด VPC ๋ด๋ถ์ ์ฃผ์๋ฅผ ๋ชฉ์ ์ง๋ก ํ๋ ๊ฒ์ด ์๋๋ผ๋ฉด public subnet์ ์กด์ฌํ๋ NAT๋ก ํธ๋ํฝ์ ์ ์กํ๋ค. ํธ๋ํฝ์ ๋ฐ์ NAT๋ public subnet์ ๋ผ์ฐํ ๊ท์น์ ๋ฐ๋ผ ์ฒ๋ฆฌํจ์ผ๋ก์จ private subnet์ด ์ธํฐ๋ท๊ณผ ํต์ ํ ์ ์๋๋ก ํ๋ค.
VPC EndPoint (private Link, VPC ์๋ ํฌ์ธํธ)
VPC ์๋ํฌ์ธํธ๋ ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด๋ NAT ๊ฒ์ดํธ์จ์ด์ ๊ฐ์ ๋ค๋ฅธ ๊ฒ์ดํธ์จ์ด ์์ด AWS ์๋น์ค์ ์ฐ๊ฒฐํ์ฌ ํต์ ํ ์ ์๋ private connection์ ์ ๊ณตํ๋ ์๋น์ค์ด๋ค. Private link๋ฅผ ํตํด AWS ์๋น์ค์ ์ฐ๊ฒฐํจ์ผ๋ก์จ ๋ฐ์ดํฐ๋ฅผ ์ธํฐ๋ท์ ๋ ธ์ถํ์ง ์๊ณ ๋ฐ๋ก ์ ๊ทผํ ์ ์๋ค.
๋ํ ์ฐ๊ฒฐํ๋ ์๋น์ค์ IP ์ฃผ์๋ฅผ ๋ฐ๊พธ๋ ๋ฑ ๋คํธ์ํฌ ์ ๋ณด์ ๋ณ๊ฒฝ ๋ฑ์ ์์ ์์ ๋ถํ์ํ๊ฒ ๋ฐ์ํ๋ ๋น์ฉ์ ์ค์ผ ์ ์๋ค.
์ฝ๋ํ ์ธํ๋ผ IaC
์๋ ํ๋ก์ธ์ค๊ฐ ์๋ ์ฝ๋๋ฅผ ํตํด ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ๊ณ ํ๋ก๋น์ ๋ํ๋ ๊ฒ์ ๋งํจ
IaC๋ฅผ ์ฌ์ฉํ๋ฉด ์ธํ๋ผ ์ฌ์์ ๋ด์ ๊ตฌ์ฑ ํ์ผ์ด ์์ฑ๋๋ฏ๋ก ๊ตฌ์ฑ์ ํธ์งํ๊ณ ๋ฐฐํฌํ๊ธฐ ๋ ์ฌ์์ง๋ค. ๋ํ IaC๋ ๋งค๋ฒ ๋์ผํ ํ๊ฒฝ์ ํ๋ก๋น์ ๋ํ๋๋ก ๋ณด์ฅํ๋ค.
IaC๋ ๊ตฌ์ฑ ์ฌ์์ ์ฝ๋ํํ๊ณ ๋ฌธ์ํ ํจ์ผ๋ก์จ ๊ตฌ์ฑ ๊ด๋ฆฌ๋ฅผ ์ง์ํ๋ฉฐ, ๋ฐ๋ผ์ ๊ตฌ์ฑ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฌธ์ํํ์ง ์๊ณ ์์๋ก ๋ณ๊ฒฝํ๋ ์ผ์ ๋ง์ ์ ์๋ค.
๋ฒ์ ์ ์ด๋ IaC์ ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ด๊ณ ๋ค๋ฅธ ์ํํธ์จ์ด ์์ค ์ฝ๋ ํ์ผ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ตฌ์ฑ ํ์ผ๋ ์์ค ์ ์ด๊ฐ ํ์ํ๋ค.
์ฝ๋๋ก ์ธํ๋ผ๋ฅผ ๋ฐฐํฌํ๋ค๋ ๊ฒ์ ์ธํ๋ผ๋ฅผ ๋ชจ๋์ ๊ตฌ์ฑ ์์๋ก ๋ถํ ํ๊ณ ์๋ํ๋ฅผ ํตํด ๋ค์ํ ๋ฐฉ์์ผ๋ก ๊ฒฐํฉํ ์ ์๋ค๋ ๋ป์ด๊ธฐ๋ ํ๋ค.
IaC๋ก ์ธํ๋ผ ํ๋ก๋น์ ๋์ ์๋ํํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ฑฐ๋ ๋ฐฐํฌํ ๋ ๋ง๋ค ๊ฐ๋ฐ์๊ฐ ์ง์ ์๋ฒ, ์ด์ ์ฒด์ , ์คํ ๋ฆฌ์ง, ๊ธฐํ ์ธํ๋ผ ๊ตฌ์ฑ ์์๋ฅผ ์๋์ผ๋ก ํ๋ก๋น์ ๋ํ๊ณ ๊ด๋ฆฌํ ํ์๊ฐ ์์ด์ง๋ค.
์ธํ๋ผ๋ฅผ ์ฝ๋ํํ์ฌ ํ ํ๋ฆฟ์ ๋ง๋ค๊ณ ํ๋ก๋น์ ๋ํ ๋ ์ด ํ ํ๋ฆฟ์ ์ฌ์ฉํ๋ฉด ๋๋ค. ์ด๋ฌํ ์์ ์ ์๋์ผ๋ก ์งํํ ์ ๋ ์๊ณ ์๋ํ ํด์ ์ฌ์ฉํ ์ ๋ ์๋ค.
reference.
'๐ฅ > Cloud' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Cloud] ํด๋ผ์ฐ๋ ์ปดํจํ ์ ์ ํ (2) | 2022.01.13 |
---|