AWS NAT gateway - low-hill/Knowledge GitHub Wiki

NAT๋ž€?

NAT(Network Address Translation)๋Š” ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ ๋ณ€ํ™˜ ๊ธฐ์ˆ ๋กœ, ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์˜ ์‚ฌ์„ค IP ์ฃผ์†Œ๋ฅผ ๊ณต์ธ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ธํ„ฐ๋„ท ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์ค‘์š”ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค.

  • ์‚ฌ์„ค IP ์ฃผ์†Œ๋ฅผ ๊ณต์ธ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ๊ธฐ์ˆ 
  • 1:1 ๋งคํ•‘ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘

NAT์˜ ์ฃผ์š” ํŠน์ง•๊ณผ ์žฅ์ 

  • IP ์ฃผ์†Œ ์ ˆ์•ฝ: ์ œํ•œ๋œ ๊ณต์ธ IP ์ฃผ์†Œ๋ฅผ ์—ฌ๋Ÿฌ ๋‚ด๋ถ€ ํ˜ธ์ŠคํŠธ๊ฐ€ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณด์•ˆ ๊ฐ•ํ™”: ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋ฅผ ์™ธ๋ถ€์—์„œ ์ง์ ‘ ๋ณผ ์ˆ˜ ์—†๊ฒŒ ํ•˜์—ฌ ๋ณด์•ˆ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
  • ์œ ์—ฐํ•œ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ: ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ ๋ณ€๊ฒฝ ์‹œ ์™ธ๋ถ€ ์—ฐ๊ฒฐ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ฃผ์†Œ ์ถฉ๋Œ ํ•ด๊ฒฐ: ์„œ๋กœ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ์—์„œ ๊ฐ™์€ ์‚ฌ์„ค IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

NAT๋Š” ์ฃผ๋กœ ๋ผ์šฐํ„ฐ๋‚˜ ๋ฐฉํ™”๋ฒฝ์—์„œ ๊ตฌํ˜„๋˜๋ฉฐ, ํŒจํ‚ท์ด ๋‚ด๋ถ€์—์„œ ์™ธ๋ถ€๋กœ ๋‚˜๊ฐˆ ๋•Œ ์‚ฌ์„ค IP๋ฅผ ๊ณต์ธ IP๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์™ธ๋ถ€์—์„œ ๋‚ด๋ถ€๋กœ ๋“ค์–ด์˜ฌ ๋•Œ ๋‹ค์‹œ ๊ณต์ธ IP๋ฅผ ์‚ฌ์„ค IP๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ NAT ๋ณ€ํ™˜ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •ํ™•ํ•œ ์ฃผ์†Œ ๋งคํ•‘์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

NAT์˜ ์ž‘๋™ ์›๋ฆฌ

NAT๋Š” ์ž‘๋™ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: a) ์š”์ฒญ ๋‹จ๊ณ„:

  • ๋‚ด๋ถ€ ํ˜ธ์ŠคํŠธ(PrivateIP)๊ฐ€ ์ธํ„ฐ๋„ท์œผ๋กœ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  • ์ด ์š”์ฒญ์€ NAT ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ผ์šฐํ„ฐ๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค.
  • NAT ๋ผ์šฐํ„ฐ๋Š” PrivateIP๋ฅผ PublicIP๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ€ํ™˜๋œ ์ฃผ์†Œ๋กœ ์ธํ„ฐ๋„ท์— ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. b) ์‘๋‹ต ๋‹จ๊ณ„:
  • ์ธํ„ฐ๋„ท์œผ๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์ด NAT ๋ผ์šฐํ„ฐ์— ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค.
  • NAT ๋ผ์šฐํ„ฐ๋Š” NAT ๋ณ€ํ™˜ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.
  • ํ…Œ์ด๋ธ” ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ PublicIP๋ฅผ ์›๋ž˜์˜ PrivateIP๋กœ ๋‹ค์‹œ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ€ํ™˜๋œ ์ฃผ์†Œ๋กœ ๋‚ด๋ถ€ ํ˜ธ์ŠคํŠธ์— ์‘๋‹ต์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

NAT ๋ณ€ํ™˜ ํ…Œ์ด๋ธ”

NAT ๋ณ€ํ™˜ ํ…Œ์ด๋ธ”์€ ์ด ๊ณผ์ •์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” NAT ๋ณ€ํ™˜ ํ…Œ์ด๋ธ”์˜ ์˜ˆ์‹œ ์ž…๋‹ˆ๋‹ค:

Private IP Public IP
192.168.1.10 203.0.113.1
192.168.1.20 203.0.113.2
192.168.1.30 203.0.113.3

์ด ํ…Œ์ด๋ธ”์€ ๋‹ค์Œ ์ •๋ณด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค:

  • Private IP: ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์˜ ํ˜ธ์ŠคํŠธ IP
  • Public IP: NAT ๋ผ์šฐํ„ฐ์˜ ์™ธ๋ถ€ IP

NAT ๋ผ์šฐํ„ฐ๋Š” ์ด ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•ด incoming/outgoing ํŒจํ‚ท์˜ ์ฃผ์†Œ๋ฅผ ์ •ํ™•ํžˆ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๋ก ์ ์œผ๋กœ, NAT๋Š” ์ œํ•œ๋œ PublicIP๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด์„œ๋„ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์˜ ๋ณด์•ˆ์„ ์œ ์ง€ํ•˜๋Š” ์ค‘์š”ํ•œ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋Œ€๊ทœ๋ชจ ๋„คํŠธ์›Œํฌ์—์„œ๋„ ์•ˆ์ „ํ•˜๊ณ  ํšจ์œจ์ ์ธ ์ธํ„ฐ๋„ท ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.


NAPT๋ž€?

NAPT(Network Address Port Translation)๋Š” ํ˜„๋Œ€ ๋„คํŠธ์›Œํฌ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์ค‘์š”ํ•œ ๊ธฐ์ˆ ๋กœ, ์—ฌ๋Ÿฌ host๊ฐ€ ๊ณ ์œ ํ•œ PrivateIP๋ฅผ ํ• ๋‹น๋ฐ›๊ณ  ํ•˜๋‚˜์˜ ๊ณต์šฉ IP ์ฃผ์†Œ๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ ์ธํ„ฐ๋„ท๊ณผ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NAT์˜ ํ™•์žฅ ๋ฒ„์ „์œผ๋กœ, IP ์ฃผ์†Œ์™€ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ํ•จ๊ป˜ ๋ณ€ํ™˜
  • ์—ฌ๋Ÿฌ ์‚ฌ์„ค IP ์ฃผ์†Œ๊ฐ€ ํ•˜๋‚˜์˜ ๊ณต์ธ IP ์ฃผ์†Œ๋ฅผ ๊ณต์œ  ๊ฐ€๋Šฅ

NAPT์˜ ์ž‘๋™ ์›๋ฆฌ

NAPT์˜ ์ž‘๋™ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: a) ์š”์ฒญ ๋‹จ๊ณ„:

  • ๋‚ด๋ถ€ ํ˜ธ์ŠคํŠธ(PrivateIP)๊ฐ€ ํŠน์ • ํฌํŠธ๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋„ท์œผ๋กœ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  • ์ด ์š”์ฒญ์€ NAPT ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ผ์šฐํ„ฐ๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค.
  • NAPT ๋ผ์šฐํ„ฐ๋Š” PrivateIP์™€ ํฌํŠธ๋ฅผ PublicIP์™€ ์ƒˆ๋กœ์šด ํฌํŠธ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ€ํ™˜๋œ ์ฃผ์†Œ์™€ ํฌํŠธ๋กœ ์ธํ„ฐ๋„ท์— ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. b) ์‘๋‹ต ๋‹จ๊ณ„:
  • ์ธํ„ฐ๋„ท์œผ๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์ด NAPT ๋ผ์šฐํ„ฐ์— ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค.
  • NAPT ๋ผ์šฐํ„ฐ๋Š” NAPT ๋ณ€ํ™˜ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.
  • ํ…Œ์ด๋ธ” ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ PublicIP์™€ ํฌํŠธ๋ฅผ ์›๋ž˜์˜ PrivateIP์™€ ํฌํŠธ๋กœ ๋‹ค์‹œ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ€ํ™˜๋œ ์ฃผ์†Œ์™€ ํฌํŠธ๋กœ ๋‚ด๋ถ€ ํ˜ธ์ŠคํŠธ์— ์‘๋‹ต์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

NAPT ๋ณ€ํ™˜ ํ…Œ์ด๋ธ”

์‚ฌ์„ค IP ์‚ฌ์„ค ํฌํŠธ ๊ณต์šฉ IP ๊ณต์šฉ ํฌํŠธ
192.168.1.10 3000 203.0.113.1 20000
192.168.1.20 4000 203.0.113.1 20001
192.168.1.30 5000 203.0.113.1 20002

์œ„ ํ…Œ์ด๋ธ”์€ ๋‹ค์Œ ์ •๋ณด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค:

  • Private IP: ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์˜ ํ˜ธ์ŠคํŠธ IP
  • Private Port: ๋‚ด๋ถ€ ํ˜ธ์ŠคํŠธ์˜ ํฌํŠธ ๋ฒˆํ˜ธ
  • Public IP: NAT ๋ผ์šฐํ„ฐ์˜ ์™ธ๋ถ€ IP
  • Public Port: NAT ๋ผ์šฐํ„ฐ๊ฐ€ ํ• ๋‹นํ•œ ์™ธ๋ถ€ ํฌํŠธ

AWS์˜ NAT gateway๋ž€?

AWS NAT ๊ฒŒ์ดํŠธ์›จ์ด๋Š” Amazon Web Services์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ด€๋ฆฌํ˜• ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ ๋ณ€ํ™˜(NAT) ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
์ฃผ์š” ๊ธฐ๋Šฅ:

  • ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท ๋‚ด ์ธ์Šคํ„ด์Šค์˜ ์™ธ๋ถ€ ์—ฐ๊ฒฐ ์ง€์›
  • ์™ธ๋ถ€์—์„œ ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์œผ๋กœ์˜ ์ง์ ‘ ์ ‘๊ทผ ์ฐจ๋‹จ
    ์ž‘๋™ ๋ฐฉ์‹:
  • ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท -> NAT ๊ฒŒ์ดํŠธ์›จ์ด -> ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด -> ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ
  • ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ -> NAT ๊ฒŒ์ดํŠธ์›จ์ด (์ ‘๊ทผ ์ฐจ๋‹จ) ์žฅ์ :
  • ๋ณด์•ˆ ๊ฐ•ํ™”: ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ์˜ ์ง์ ‘์ ์ธ ์ ‘๊ทผ ๋ฐฉ์ง€
  • ๊ด€๋ฆฌ ์šฉ์ด์„ฑ: AWS์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ์„œ๋น„์Šค๋กœ ์œ ์ง€๋ณด์ˆ˜ ๊ฐ„ํŽธ
  • ํ™•์žฅ์„ฑ: ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ํ™•์žฅ

AWS NAT Gateway ์„ค์ •

ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์˜ ์ธ์Šคํ„ด์Šค๋“ค์ด NAT Gateway๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋„ท์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก AWS NAT Gateway ์„ค์ • ๊ณผ์ •์„ ๊ธฐ์ˆ ํ•ฉ๋‹ˆ๋‹ค: image

  1. ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท ์„ ํƒ:
  • ์„ ํƒํ•œ VPC ๋‚ด์˜ ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ์„œ๋ธŒ๋„ท์€ ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  1. ํŽ˜๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท ๋‚ด NAT Gateway ์ƒ์„ฑ:
  • AWS ์ฝ˜์†”์˜ VPC ์„น์…˜์—์„œ 'NAT Gateways'๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  • '์ƒˆ NAT Gateway ์ƒ์„ฑ' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  • ์„ ํƒํ•œ ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ํƒ„๋ ฅ์  IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ์ฃผ์†Œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  1. ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ์„ค์ •:
  • ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์˜ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ์—ฝ๋‹ˆ๋‹ค.
  • ์ƒˆ ๋ผ์šฐํŒ… ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค:
    • ๋ชฉ์ ์ง€: 0.0.0.0/0 (๋ชจ๋“  ์ธํ„ฐ๋„ท ํŠธ๋ž˜ํ”ฝ)
    • ๋Œ€์ƒ: ๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ NAT Gateway์˜ ID
  1. ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ €์žฅ:
  • ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

Reference