- AWS NAT Gateway
μ΄μ ν¬μ€νΈμμ 'Bastion Host'λ‘ 'Private Subnet'μ 리μμ€μ μ μνλ κ²μ μ±κ³΅νμ§λ§ μ΄λ κ²°κ΅ μΈλΆμμ λ΄λΆλ‘μ κ³Όμ μΌλΏ λ΄λΆμμ μΈλΆλ‘μ κ³Όμ μ΄ λλ½λμ΄μλ€.
λ΄λΆμμ μΈλΆ μΈν°λ·κ³Όμ ν΅μ μ΄ νμν μ΄μ λ μ΄μ μ μμ±ν λ΄μ©κ³Ό κ°μ΄ 'Private Subnet'μμ νμν μννΈμ¨μ΄μ μ λ°μ΄νΈλ μ€μΉλ₯Ό νκΈ° μν΄μμλ€.
μ€μ λ‘ μ΄μ ν¬μ€νΈ νκ²½μ 'Private Subnet'μ μμ±λ ec2μ μ μν μνμμ 'mysql'μ μ€μΉλ₯Ό ν΄λ³΄λ©΄ μ€μΉκ° λμ§ μλ κ²μ νμΈν μ μλ€.
sudo yum install mysql
νμ§λ§ μ΄λ¬ν λ¬Έμ μ μ 'NAT Gateway'λ‘ μμ½κ² ν΄κ²°μ΄ κ°λ₯νλ€. μ¬κΈ°μ κ°μ₯ μ€μν μ μ 'NAT Gateway'λ λ°λμ 'Public Subnet' μμμ μμΉν΄μΌνλ€λ μ μ΄λ€.
μ΄ ν 'Private Subnet'μ λΌμ°ν ν μ΄λΈμ μμ μ ν΄μ£Όμ΄μΌ μνλ κ²°κ³Όλ₯Ό μ»μ μ μλ€.
'NAT Instance'λ λ§ κ·Έλλ μΈμ€ν΄μ€λ₯Ό NATλ‘ μ¬μ©νλ€λ μλ―Έλ€. μ΄μ ν¬μ€νΈμμ ꡬμ±ν 'Bastion Host'μ 'NAT Gateway'μ μν μ μΆκ°νλ€λ κ°λ μΌλ‘ μ΄ν΄νλ©΄ μ½λ€.
κ°μΈμ μΌλ‘λ 'NAT Instance' λ³΄λ€ 'NAT Gateway'λ₯Ό λ μΆμ²νλ€. κ°μ₯ ν° μ΄μ λ κ΄λ¦¬ ν¬μΈνΈμ μμ¬μ΄ μ€μ μ΄λ€.
'NAT Instance'λ μ¬μ©μκ° μ§μ κ΄λ¦¬λ₯Ό ν΄μ£Όμ΄μΌ νλ©° μ€μΉ κ³Όμ μ΄ λ³΅μ‘νκΈ°μ μΆμ²νμ§λ μλλ€. λν μΈμ€ν΄μ€μ μ¬μμ λ°λΌ λ¨μΌ λ³λͺ© μ§μ μΌλ‘ μ₯μ κ° λ°μν μ μκΈ° λλ¬Έμ μ κ·Ήμ μΌλ‘ 'NAT Gateway' μ¬μ©μ κΆμ₯νκ³ μΆλ€.
μ€μ κ³Όμ μ λ€μκ³Ό κ°λ€.
μΈμ€ν΄μ€ > λ€νΈμνΉ > μμ€/λμ νμΈ λΉνμ±ν
κ°κ°μ EC2 μΈμ€ν΄μ€λ κΈ°λ³Έμ μΌλ‘ μμ€/λμ νμΈμ μννλ€. μ΄λ μΈμ€ν΄μ€κ° 보λ΄κ±°λ λ°λ νΈλν½μ μμ€ λλ λμμ΄μ΄μΌ νλ€λ μλ―Έλ€.
'NAT Instance'λ μμ€ λλ λμμ΄ κ·Έ μμ μ΄ μλ λ νΈλν½μ 보λ΄κ³ λ°μ μ μμ΄μΌ νκΈ° λλ¬Έμ ν΄λΉ νλͺ©μ λΉνμ±νν΄μ£Όμ΄μΌ νλ€. (λΉνμ±νκ° μλ κ²½μ° μ°κ²°λ λ€νΈμν¬ μΈν°νμ΄μ€λ λΉνμ±νκ° λμ΄ μλμ§ νμΈ νμ)
λΌμ°ν
μ€μ
'NAT Gateway' μ€μ κ³Ό λμΌνλ€.
ν¬μλ©, 맀μ€μ»€λ μ΄λ© μ€μ
'NAT Instance'μμ ν¨ν· ν¬μλ©κ³Ό 맀μ€μ»€λ μ΄λ©μ μ€μ ν΄μ£Όμ΄μΌ 'Private Subnet'μμ μΈν°λ·μΌλ‘μ ν΅μ μ΄ κ°λ₯νλ€.
# ν¬μλ©
sudo sysctl net.ipv4.ip_forward=1
# 맀μ€μ»€λ μ΄λ©
sudo iptables -t nata -A POSTROUTING -o eth0 -s [Private Subnet IP λμ] -j MASQUERADE
# κ·μΉ νμΈ
sudo iptables -t nat -v -L POSTROUTING -n --line-number
μ¬μ©ν΄λ³΄μ§λ μμμΌλ AWSμμλ NAT Instanceλ‘ μλνλλ‘ κ΅¬μ±λ Amazon Linux AMI('amzn-ami-vpc-nat*')λ₯Ό μ 곡νλκ±Έλ‘ μκ³ μλ€. μ΄ AMIλ₯Ό μ¬μ©νλ©΄ μλμΌλ‘ NAT ꡬμ±μ ν΄μ€λ€κ³ νλ€.