[AWS] ๐ NAT Gateway → NAT Instance ๋์ฒดํด์ ๋น์ฉ ์ ์ฝํ๊ธฐ
NAT ์ธํ๋ผ
AWS์์ ๋คํธ์ํฌ๋ฅผ ์ค๊ณํ ๋ NAT์ ์ฌ์ฉ์ ํ์์ ์ด๋ค.
๋ณด์์ ์๋ฒ๋ค์ ์ธ๋ถ์์ ์ ๊ทผํ ์ ์๊ณ ํ์ธํ ์ ์๋๋ก ํด์ผํ๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ VPC ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ ๋ Public ์๋ธ๋ท๊ณผ Private ์๋ธ๋ท์ ๋ง๋ค์ด ๊ทธ์์ EC2 ์ธ์คํด์ค๋ฅผ ๋๊ณ , Bastion Host๋ฅผ ํตํด Public ์๋ธ๋ท์์ Priavate ์๋ธ๋ท์ผ๋ก ์ ์ํํ, NAT Gateway๋ฅผ ํตํด์ ์ธ๋ถ ์ธํฐ๋ท ์์ค๋ฅผ ์ฌ์ค๋ง์์ ๋ฐ๋ ์์ผ๋ก ์ด์ฉ๋๋ค.
๊ทธ๋์ ์ฒ์์๋ AWS์์ ๊ฐ๋ ฅํ๊ฒ ๋ฐ์ด์ฃผ๋ ์ต์ ์ NAT Gateway ์๋น์ค๋ฅผ ์ด์ฉํด์ ์์ฝ๊ฒ ์ฌ์ค๋ง ์ธ๋ถ ํต์ ์ ํ์ง๋ง, ๊ฐ๊ณผํ ๊ฒ์ด ์์ผ๋, ๋ฐ๋ก ๋น์ฉ ๋ฌธ์ ์ด๋ค.
NAT ๊ฒ์ดํธ์จ์ด๋ ์์ธ ์ง์ญ ๊ธฐ์ค์ผ๋ก ์๊ฐ๋น 0.059๋ฌ๋ฌ์ ๋น์ฉ์ด ๋ฐ์ํ๋๋ฐ, ์ด๊ฑธ 24์๊ฐ ๊ฐ๋ํ๊ณ ์์ผ๋ฉด ๊ทธ์ผ๋ง๋ก ์๊ธ ํตํญํ์ ๋ง๊ฒ ๋๋ค.
๋ฐ๋ฉด, NAT ์ธ์คํด์ค๋ EC2 ์ธ์คํด์ค๋ฅผ NAT์ฉ์ผ๋ก ์ค์ ํด ์ฌ์ฉํ๋, ์ด๋ฅธ๋ฐ ๋ถ์์ ํ๊ณ ํ๋ฌผ ๊ฐ ๊ตฌ์ ๊ธฐ์ ์ด์ง๋ง ์๊ธ์ ๊ฑฐ์ 1/3 ์์ค์ผ๋ก ๋ฎ์ถ์ ์๋ค๋ ์ ์์ ๋๊ธธ์ ์ฌ๋ก ์ก์๋ค.
๋ง์ผ ํ๋ฆฌํฐ์ด ์ธ์คํด์ค ์๊ธ์ ๋ฅผ ์ด๋ค๋ฉด ๋ฌด๋ฃ๋ก๋ ์ฌ์ฉํ ์๋ ์๋ค.
๋ฐ๋ผ์ ํ ์ด ํ๋ก์ ํธ๋ฅผ ํ๋ ์ ์ฅ์์๋ ํผ๋ธ๋ฆญ ์๋ธ๋ท ๊ธฐ๋ฅ๋ง ์์ผ๋ฉด ๋๋ฏ๋ก ๊ณ ๋ฏผ์์ด NAT ๊ฒ์ดํธ์จ์ด์์ NAT ์ธ์คํด์ค๋ก ์ ํ ์์ ์ ๋ค์ด๊ฐ๋๊ฑธ ๊ถํ๋ ๋ฐ์ด๋ค.
โป ๋ง์ผ NAT๊ณผ NAT Gateway์ ๋ํ ๊ฐ๋ ์ด ๋ถ์กฑํ๋ค๊ณ ์๊ฐ๋๋ค๋ฉด, ๋ค์ ํฌ์คํ ์ ์ฐธ๊ณ ํด๋ณด์!
[WEB] ๐ NAT ์ด๋ ๋ฌด์์ธ๊ฐ?
NAT - Network Address Translation ๊ฐ๋ ๋คํธ์ํฌ ์ฃผ์ ๋ณํ(network address translation, ์ค์ฌ์ NAT)์ ์ปดํจํฐ ๋คํธ์ํน์์ ์ฐ์ด๋ ์ฉ์ด๋ก์, IPํจํท์ TCP/UDP ํฌํธ ์ซ์์ ์์ค ๋ฐ ๋ชฉ์ ์ง์ IP ์ฃผ์ ๋ฑ์..
inpa.tistory.com
[AWS] ๐ VPC ๊ฐ๋ & ์ฌ์ฉ - ์ฌ์ค IP ํต์ ๋ง [NAT Gateway / Bastion Host]
VPC ์ฌ์ค๋ง ์ธ๋ถ ํต์ ์์ ์ฐ๋ฆฌ๋ public ์๋ธ๋ท๊ณผ private ์๋ธ๋ท์ ๋๋ ๊ตฌ์ถํ์๋ค. public ์๋ธ๋ท์ ์ธํฐ๋ท๊ณผ ์ฐ๊ฒฐํ์ฌ ์ธ๋ถ์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ ์์ญ์ ๋งํ๋ค. ๋ฐ๋ผ์ public ์๋ธ๋ท๊ณผ ์ธํฐ๋ท ๊ฒ์ด
inpa.tistory.com
NAT ์ธ์คํด์ค
NAT Instance๋ EC2 Instance๋ฅผ NAT์ฉ์ผ๋ก ๋ฐ๊ฟ ์ฌ์ฉํ๋ ๊ฒ์ ๋งํ๋ค.
๊ทธ๋์ NAT Gateway์ ์ธํ๋ผ ๊ตฌ์ฑ์ด ์ฝ๊ฐ ๋ฌ๋ผ์ง๋๋ฐ ๋ค์ ๊ทธ๋ฆผ์ ๋ณด๋ฉฐ ๋น๊ตํด๋ณด์.
NAT Instance vs NAT Gateway
NAT Gateway
NAT ๊ฒ์ดํธ์จ์ด ์ธํ๋ผ ๊ตฌ์ฑ์ ๋ณด๋ฉด, Public ์๋ธ๋ท ์์ NAT ๊ฒ์ดํธ์จ์ด๊ฐ ์์นํด ์์ผ๋ฉฐ EIP๋ฅผ ํตํด ์ธ๋ถ์ ํต์ ํ๊ฒ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ธ๋ถ์ ํธ๋ํฝ์ Private ์๋ธ๋ท์ route table์ ์ ํ nat-gatewat-id์ ๋ฐ๋ผ ์ฌ์ค๋ง์ผ๋ก ๋ค์ฌ๋ณด๋ด ํต์ ํ ์ ์๋ ๊ฒ์ด๋ค.
NAT Instance
NAT ์ธ์คํด์ค๋ ํฌ๊ฒ ๋ค๋ฅด์ง ์๋ค.
์ธํ๋ผ ๊ตฌ์ฑ์ ๋ณด๋ฉด, Public subnet์ NAT instance๊ฐ ์์นํ๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ EIP๋ฅผ ๋ถ์ฌ ๋ฐ์ ์ธ๋ถ์ ํธ๋ํฝ์ ๋ฐ๋๋ค.
๋จ, Private ์๋ธ๋ท์ route table์ nat-instance-id ๊ฐ ์ค์ ๋์ด ์๋ค๋ ์ ์ด ๋ค๋ฅด๋ค.
NAT Instance / Gateway ์ ๋ฆฌ
- NAT Instance : ๊ทธ๋ฅ EC2 ๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ํน๋ณํ AMI๋ฅผ ์ค์นํ EC2๋ผ๊ณ ๋ณด๋ฉด ๋๋ค. ๊ทธ๋์ ๊บผ์ง๋ฉด ์ฃฝ๋๋ค.
- NAT Gateway : aws์์ ์ ๊ณตํ๋ ํ๋์ ์๋น์ค์ด๋ค. ๊ณ ๊ฐ์ฉ์ฑ์ด ๋ณด์ฅ๋๊ณ ์์ด์ ์ฃฝ์ง๋ฅผ ์๋๋ค.
NAT Instance | NAT Gateway |
๋จ์ผ ์ธ์คํด์ค | AWS์์ ์ ๊ณตํ๋ ์๋น์ค |
= EC2 | = ์๋น์ค |
๊บผ์ง๋ฉด ์ฃฝ์ | ๊บผ์ ธ๋ ์ฃฝ์ง์์(๊ณ ๊ฐ์ฉ์ฑ ๋ณด์ฅ) |
๋ณด์๊ทธ๋ฃน ์ํฅ ๋ฐ์ | ๋ณด์๊ทธ๋ฃน ์ํฅ ๋ฐ์ง์์ |
์์ ์คํ์ผ | ์์ฆ ์คํ์ผ |
Source/Destination์ ํด์ ํด์ผ ํจ | |
Bastion์ ๊ฒธํ ์O | Bastion์ ๊ฒธํ ์X |
Public Subnet์ ์์ด์ผ ํจ | Public Subnet์ ์์ด์ผ ํจ |
NAT ์ธ์คํด์ค ๊ตฌ์ถํ๊ธฐ
ํด๋น ๊ฐ์์์ , ๋ฏธ๋ฆฌ Public / Private ์๋ธ๋ท์ ๊ตฌ์ถํ๊ณ ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด๋ฅผ ๋ผ์ฐํ ํ ์ด๋ธ์ ์ฐ๊ฒฐํด ์ธ๋ถ ํต์ ์ ๊ตฌ์ถ๋ ์ธํ๋ผ๋ฅผ ๊ธฐ์ค์ผ๋ก ์งํํ๋ค.
๋ฐ๋ผ์ ์์ง VPC ์ธํ๋ผ ๊ตฌ์ฑ ๊ฐ๋ ์ด ์ ์์กํ์ ๋ถ๋ค์ ๋ค์ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํด๋ณด๊ธธ ๊ถํ๋ค.
[AWS] ๐ VPC ๊ฐ๋ & ์ฌ์ฉ - ์ธํ๋ผ ๊ตฌ์ถ [Subnet / Routing / Internet Gateway]
VPC (Virtual Private Cloud) ๊ฐ๋ ์ ๋ฆฌ VPC๋ ์ฌ์ฉ์๊ฐ ์ ์ํ๋ aws ๊ณ์ ์ฌ์ฉ์ ์ ์ฉ ๊ฐ์์ ๋คํธ์ํฌ ์ด๋ค. ์ฌ์ฉ์๋ ์๊ธฐ๊ฐ ์ํ๋๋๋ก IP ์ฃผ์ ๋ฒ์ ์ ํ, ์๋ธ๋ท ์์ฑ, ๋ผ์ฐํ ํ ์ด๋ธ ๋ฐ ๋คํธ์ํฌ ๊ฒ
inpa.tistory.com
NAT ์ธ์คํด์ค ๋ง๋ค๊ธฐ
NAT ์ธ์คํด์ค๋ ์ผ์ข ์ EC2 ์ธ์คํด์ค์ด๋ค.
EC2 ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ์ฃผ์.
NAT ์ธ์คํด์ค์ ์์ค/๋์ ํ์ธ๋ณ๊ฒฝ ๋๊ธฐ
NAT ์ธ์คํด์ค์ ์์ค/๋์ ํ์ธ๋ณ๊ฒฝ์ Disabled๋ก ๋ณ๊ฒฝํ๋ค.
NAT ์ธ์คํด์ค๋ ์์ค ๋๋ ๋์์ด ๊ทธ ์์ฒด๊ฐ ์๋ ๋ ํธ๋ํฝ์ ์ก์์ ํ ์ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
NAT ์ธ์คํด์ค์ ํ๋ ฅ์ IP ์ฃผ์ ํ ๋น
ํ๋ ฅ์ IP ์ฃผ์๋ฅผ ์์ฑํด ๋ฐฉ๊ธ ๋ง๋ ์ธ์คํด์ค์ ์ฐ๊ฒฐํด์ฃผ๋ฉด, ํด๋น ์ธ์คํด์ค์ IP์ฃผ์๋ ์ ๋ ๋ฐ๋์ง ์๋ ๊ณ ์ IP์ฃผ์๊ฐ ๋๋ค.
์ด ์์
์ ํด์ฃผ์ง ์์ผ๋ฉด, EC2 ์ธ์คํด์ค๋ฅผ ์ฌ๋ถํ
ํ์ ๊ฒฝ์ฐ IP์ฃผ์๊ฐ ๋ณํ๊ฒ ๋๋ค.
[AWS] ๐ EIP(ํ๋ ฅ์ IP) ๊ฐ๋ & ์ฌ์ฉ ์ธํ ์ ๋ฆฌ
Elastic IP (ํ๋ ฅ์ IP) EIP(Elastic IP Address)๋ ์ธํฐ๋ท์ ํตํด ์ ์ํ ์ ์๋ ๊ณ ์ ์ ์ธ ๊ณต์ธ IP ์ฃผ์๋ฅผ ํ ๋นํ ์ ์๊ณ , ์ธ์คํด์ค์ ์ฐ๊ฒฐํ ์ ์๋ ์๋น์ค๋ค. ๋ชจ๋ ์ธ์คํด์ค ๋๋ ๋คํธ์ํฌ ์ธํฐํ์ด์ค
inpa.tistory.com
์ฃผ์
EIP๋ AWS์๊ฒ IP์ฃผ์๋ฅผ ๋น๋ ค์ค๋ ๊ฐ๋ ์ด๊ธฐ ๋๋ฌธ์ EIP์ ์ธ์คํด์ค๋ฅผ ์ฐ๊ฒฐํด์ฃผ์ง ์๊ณ ๋น์๋๋ฉด ์คํ๋ ค ์๊ธ์ด ๋ถ๊ณผ๋๋ ํํ์ด๋ค.
EIP์ ์คํ์ค์ธ ์ธ์คํด์ค๋ฅผ ์ฐ๊ฒฐํด๋์ด์ผ ๊ณผ๊ธ์ด ๋์ง ์๋๋ค.
๋ง์ฝ EC2 ์ธ์คํด์ค๋ฅผ ๋ฆด๋ฆฌ์ฆ(์ข ๋ฃ)ํ ๊ฒ์ด๋ผ๋ฉด, ๊ผญ EIP๋ ๋ฆด๋ฆฌ์ฆ(์ข ๋ฃ) ํด์ค์ผ ๊ณผ๊ธ์ด ์๋๋ค.
Private ์๋ธ๋ท ๋ผ์ฐํ ํ ์ด๋ธ ์ค์
์ด์ NAT instance๋ฅผ ์์ฑํ์ผ๋, 0.0.0.0/0 ํธ๋ํฝ์ NAT๋ฅผ ํตํด ๋ค์ด์ฌ ์ ์๋๋ก ๋ผ์ฐํ ํ ์ด๋ธ์ ์ถ๊ฐํ๋ฉด ๋๋ค.
Routing Table ์ด๋
IP์ฃผ์์ ํธ๋ํฝ ๋ผ์ฐํ ๊ฒฝ๋ก๋ฅผ ์ ์ํ์ฌ Subnet ์ํ์ผ๋ก ๋๊ฐ๋ ํธ๋ํฝ์ ๋ํ ๋ผ์ฐํ ๊ฒฝ๋ก ์ค์ ๊ธฐ๋ฅ์ ์ํ
NAT ์ธ์คํด์ค์ ํ๊ณ
๋ณธ๋ฌธ ์ด๋ฐ์๋ ์๊ธ ํ๋๋ง ๋ณด๊ณ NAT ์ธ์คํด์ค๋ฅผ ์ฐฌ์ํ์ง๋ง, ์ฌ์ค ๊ทธ๋ ๊ฒ ์ฉ ๋ฐ์ด๋ ๋ ์์ ์๋๋ค.
AWS๊ฐ NAT ๊ฒ์ดํธ์จ์ด๋ฅผ ์ถ์ฒํ๋ ๊ฒ๋, ์์ ์ธก๋ฉด์์๋ ์๊ฒ ์ง๋ง ์ฑ๋ฅ์ด๋ ์ ์ง๊ด๋ฆฌ์ ์์ด์ EC2 instance๋ณด๋ค ํจ์ฌ ๋ฐ์ด๋๊ธฐ ๋๋ฌธ์ด๋ค.
NAT ์ธ์คํด์ค๋ก ๊ตฌ์ฑํ๋๊ฒ์ ๋จ์ผ ์ธ์คํด์ค์ ๋จ์ผ AZ์ด๊ธฐ ๋๋ฌธ์ ๋ณ๋ชฉํ์์ ์ทจ์ฝํ๊ณ , ๋ฌธ์ ๋ฐ์์ Private Subnet ์์ ๋ชจ๋ ์๋น์ค๊ฐ ์ธํฐ๋ท ์์ธ์ค๋ฅผ ์๊ฒ ๋๋ค.
NAT ์ธ์คํด์ค๋ ์ผ์ข ์ EC2๋ผ์ Auto scaling group์ ์ถ๊ฐํ๊ฑฐ๋ multiple AZ๊ณผ multiple Route out to internet์ ๊ฐ์ง ์ ์์ง๋ง, ๊ฒฐ๊ตญ ์ ์ ๋ณต์กํด์ง ๋ฟ์ด๋ค.
์๋น์ค ํน์ฑ์ ๋ค๋์ ํธ๋ํฝ์ด ๋ฐ์ํ๊ฑฐ๋ ํน์ ๋ชจ๋ฅผ EC2 instance์ ์ฅ์ ๋ฅผ ์๊ฐํด๋ณด๋ฉด ์์ ์ฑ์ ์์ด์ ์ ๋ฆฌํ NAT gateway๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋น์ค ํ์ง์ ์์ด์ ๋ ์ข์์ ์๋ค.
ํ์ง๋ง ์์ ๊ด๋ฆฌํ, ๊ณ ๊ฐ์ฉ์ฑ์ NAT ํ๊ฒฝ์ด ํ์ํ์ง ์์ ๊ฒฝ์ฐ๋ผ๋ฉด NAT Instance๋ก๋ ๋ฌด๋ฆฌ์์ด ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
# ์ฐธ๊ณ ์๋ฃ
https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/vpc-nat-comparison.html
https://galid1.tistory.com/367
https://kim-dragon.tistory.com/18