반응형
AWS에서 VPC를 구성할 때, 프라이빗 서브넷에 있는 인스턴스들이 인터넷에 접근할 수 있도록 하기 위해 NAT 기능이 필요하다. AWS에서는 기본적으로 NAT gateway를 제공하여 주지만, 공부를 하는 입장에서 사용료가 조금 비싸기 때문에 NAT instance를 이용하여 비용을 절감해 보자.
NAT Gateway와 NAT Instance 비교
항목 | NAT Gateway | NAT Instance |
관리 | AWS가 관리 | 사용자가 직접 관리 |
가용성 | 고 가용성 | 가용성을 위해 사용자가 추가 설정 필요 |
확장성 | 자동 확장 | 수동 확장 |
성능 | 고성능, 자동 확장 | 성능은 인스턴스 유형에 따라 결정 |
비용 | 트래픽의 양에 따라 비용 증가 | 상대적으로 저렴 |
유지보수 | 필요없음 | 사용자가 직접 인스턴스 유지보수 |
실습
기본적인 인스턴스를 만드는 방법은 앞서 많이 해보았기 때문에 생략하고, 아래의 설정대로 만들어주면 된다.
인스턴스 타입 - t4g.nano
key pair - 선택 무관
네트워크 설정 - 퍼블릭 아이피 설정 & 활성화
보안그룹 설정
인바운드 규칙 - ssh, HTTP, HTTPS, All ICMP - IPv4 전부 0.0.0.0/0으로 설정해 주었다.
생성된 넷 인스턴스로 접속해서 아래의 명령어를 통해서 테스트해보면 된다.
# iptables 설치 및 활성화
sudo yum install iptables-services -y
sudo systemctl enable iptables
sudo systemctl start iptables
# IP 포워딩 활성화
# 1. vi 편집기를 통한 구성파일 생성
sudo vi /etc/sysctl.d/custom-ip-forwarding.conf
#2. 구성파일에 입력할 활성화 명령어
net.ipv4.ip_forward=1
# 파일 저장 후, 구성 파일 적용 명령어
sudo sysctl -p /etc/sysctl.d/custom-ip-forwarding.conf
# 네트워크 인터페이스 이름을 확인 명령어
netstat -i
# NAT 구성 명령어
sudo /sbin/iptables -t nat -A POSTROUTING -o 인터페이스이름 -j MASQUERADE
sudo /sbin/iptables -F FORWARD
sudo service iptables save
NAT 활성화
인스턴스 창에서 NAT Instance에 Source/Destination Check옵션을 비활성화해야 한다.
소스/대상 확인에 중지 체크박스를 활성화시켜주면 된다.
실습이 끝난 상황이라 인스턴스는 현재 중지시켜 두었다.
라우팅 테이블 수정
서브넷의 라우팅 테이블을 수정해서 트래픽이 NAT Instance를 통해 인터넷으로 나가도록 설정해야 한다.
Private 라우팅 테이블을 수정해 준다.
앞서 이야기했듯, 실습이 끝나 현재는 블랙홀이라고 뜬다. 활성 상태가 되면 제대로 된 것이다.
반응형
'BackEnd > 인프라' 카테고리의 다른 글
[AWS] Application Load Balancer (0) | 2024.09.25 |
---|---|
[AWS] 확장성과 로드 밸런싱 (1) | 2024.09.24 |
[AWS] Bastion Host 생성 및 프라이빗 서브넷으로 서버 이전 (0) | 2024.09.23 |
[AWS] Bastion Host (0) | 2024.09.23 |
[AWS] EC2 애플리케이션 빌드 및 배포 (0) | 2024.09.23 |