◇ 공부 기록용으로 작성하였으니 틀린 점, 피드백 주시면 감사하겠습니다 ◇
NAT란: https://jibinary.tistory.com/197
NAT 공통점
- Private Subnet에 설치된 인스턴스(애플리케이션)가 인터넷에 연결하기 위해서는 NAT가 필요하다.
- NAT로써 Public Subnet에 NAT Gateway 또는 NAT Instance를 설치해야된다.
- EC2 인스턴스는 프라이빗 IP 주소이지만 인터넷으로 나갈 때 NAT Gateway를 통해서 퍼블릭 IP 주소가 된다.
- (이때 퍼블릭 IP 주소로써 Elastic IP Address를 추가 가능하다)
NAT Gateway vs. NAT Instance 비교 요약
NAT Gateway | NAT Instance | |
관리 방법 |
AWS가 관리 | 사용자가 관리 |
비용 | 💸 비쌈 | 👍 저렴 |
설명 | AWS 측에서 제공하는 서비스이기 때문에 관리 부담이 적지만 비싸다 | 사용자가 직접 관리하기에 관리 부담이 크지만, 그만큼 커스텀 가능 (사용자의 노력이 필요) |
Bastion 서버 | ❌ 불가능 | ✅ Bastion 서버로 사용 가능 |
Security group (보안 그룹) |
❌ 불가능 | ✅ 사용 가능 |
가용성 (availability) | 👍 고가용성 (Multi AZ와 같이 배치 가능. 하지만 직접 Multi AZ와 같이 설정해야한다) |
가용성 측면에서 부족하다. |
확장성 (scalability) | 👍 자동으로 확장/축소 가능 (자동으로 초당 45 Gbps까지 대역폭을 확장) |
수동으로 스케일링 해야한다. |
비용 구조 | 사용량 기반 비용 구조 | 인스턴스 유형과 사용 시간에 따라 비용이 결정 |
NAT Gateway: 관리의 용이성, 확장성, 고가용성 측면에서 유리하다 (하지만 비쌀수 있다)
NAT Instance: 특정 상황에서는 훨씬 더 비용 효율적이다.
NAT Gateway
NAT Gateway는 AWS에서 제공하는 Fully managed(완전 관리형) 서비스
- 확장성: NAT Gateway는 트래픽에 따라 자동으로 확장된다.
- 가용성: NAT Gateway는 고가용성을 위해 여러 Availability Zone(가용 영역)에 걸쳐 배포될 수 있다.
- 요금: 사용한 만큼 비용을 지불하는 구조이다.
- 성능: NAT Gateway는 고성능 네트워크 대역폭을 제공한다.
- NAT Gateway는 보안 그룹(Security Group)을 사용하지 않는다. Network ACL과 라우팅 테이블을 통해 트래픽을 제어한다.
NAT Gateway 설치 방법
NAT Gateway는 Public Subnet에 설치한다.
Internet Gateway(인터넷 게이트웨이)는 VPC 전체에 적용시키지만, NAT Gateway는 Subnet에 적용시킨다.
VPC 대시보드 → NAT Gateways → Create NAT Gateway
- Subnet: 퍼블릭 서브넷 선택
- Elastic IP (EIP): 새 Elastic IP를 할당하거나, 기존 Elastic IP를 선택 (인터넷에 접근하려면 반드시 EIP가 필요)
NAT Gateway의 Multi AZ
하나의 NAT Gateway만 사용할 경우, Single point of failure(단일 지점 장애)가 생길 수 있다.
그렇기 때문에 NAT Gateway는 여러 가용 영역(AZ)에 설치하는 것이 권장된다
NAT Instance
NAT Instance는 사용자가 직접 EC2 인스턴스를 설정하고 관리해야 한다. (소프트웨어 업데이트, 패치 등)
- 확장성: NAT Instance는 수동으로 확장해야 한다. 트래픽 증가 시 사용자가 직접 인스턴스 크기를 조정하거나 추가 인스턴스를 배포해야 한다.
- 고가용성: 고가용성을 위해 사용자가 직접 여러 인스턴스를 배포하고 로드 밸런서를 설정해야 한다.
- 요금: EC2 인스턴스 요금과 데이터 전송 요금을 지불해야 한다. 인스턴스 유형에 따라 비용이 달라진다.
- 성능: 성능은 선택한 인스턴스 유형에 따라 다르다. 일반적으로 NAT Gateway보다 비용이 낮다.
NAT Instance 설치 방법
EC2 Instance를 만들어서 NAT를 위한 설정을 해야된다.
EC2 대시보드 → Launch Instance
- AWS에서 제공하는 NAT 인스턴스 전용 AMI를 선택 (예: amzn-ami-vpc-nat)
- 인스턴스 유형 선택 (예: t2.micro)
- 네트워크: 퍼블릭 서브넷 선택
- Auto-assign Public IP: Enabled 설정
🤔 문제
한 SysOps 관리자가 NAT 인스턴스를 NAT 게이트웨이로 마이그레이션했습니다. 마이그레이션 후, 프라이빗 서브넷에 호스팅된 애플리케이션이 인터넷에 액세스할 수 없습니다.
다음 중 이 문제의 가능한 원인은 무엇입니까? (두 가지를 선택하십시오.)
- 애플리케이션이 NAT 게이트웨이가 지원하지 않는 프로토콜을 사용하고 있습니다.
- NAT 게이트웨이가 보안 그룹에 포함되지 않았습니다.
- NAT 게이트웨이가 지원되지 않는 가용 영역(Availability Zone)에 있습니다.
- NAT 게이트웨이가 사용 가능(Available) 상태가 아닙니다.
- 포트 포워딩 설정이 인터넷에서 내부 서비스로의 액세스를 허용하지 않습니다.
정답
정답. 1번, 4번
2번 (오답 ❌)
NAT Gateway는 보안 그룹(Security Group)을 사용하지 않는다.
대신 라우팅 테이블(Route Table)과 네트워크 ACL(Access Control List)에 의해 제어된다.
5번 (오답 ❌)
NAT 게이트웨이는 포트 포워딩 설정을 사용하지 않는다
참고자료
AWS 공식 문서) https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/vpc-nat-comparison.html
'네트워크 > NAT' 카테고리의 다른 글
NAT (Network Address Translation) 쉽게 개념 정리 (0) | 2024.02.27 |
---|