-
[AWS] NAT gateway 대신 NAT Instance 생성하기 (with Bastionhost)Cloud/AWS 2023. 5. 22. 16:14
NAT gateway 대신 NAT Instance 생성하기 (with Bastionhost)
- 목표 : 비용절감을 위해, NAT Instance와 Bastion 호스트를 하나의 인스턴스로 구현
- private 서브넷의 인스턴스들이 인터넷에 접속하기 위한 네트워크 주소 변환을 처리한다
- private 서브넷 인스턴스의 아웃바운드 트래픽을 퍼블릭 IP 주소로 변환하어 인터넷으로 전달
- VPC public 서브넷에 위치하는 인스턴스
Bastion Host
- ssh를 통해 외부에서 VPC 내 private 서브넷과 통신을 돕는 호스트
- VPC public 서브넷에 위치하는 인스턴스 , NAT Instance를 겸할 수 있다
- VPC , 서브넷, 라우팅 테이블, 인터넷 게이트웨이 생성
- NATSG 보안그룹 생성
- 인바운드
- 모든 ICMP - IPv4, 프라이빗 서브넷 CIDR - 프라이빗 서브넷의 서버로부터의 인바운드 HTTP 트래픽 허용
- 모든 ICMP - IPv4, 프라이빗 서브넷 CIDR - 프라이빗 서브넷의 서버로부터의 인바운드 HTTPS 트래픽 허용
- SSH, 네트워크 퍼블릭 IP - (내) 네트워크로부터 NAT 인스턴스에 대한 인바운드 SSH 액세스 허용
- 아웃바운드
- SSH, 프라이빗 서브넷 CIDR
- 모든 ICMP - IPv4, ****Anywhere - IPv4
- 인바운드
- EC2 Instance 생성
- AMI
- 커뮤니티 AMI → “amzn-ami-vpc-nat” 검색 → 최신 버전 선택
- 네트워크 설정
- VPC 선택
- 인터넷게이트웨이가 연결된 Subnet 선택
- 퍼블릭 IP 주소 선택
- AMI
- NAT Instance 소스/대상 확인변경 끄기
- 인스턴스 선택 → 네트워킹 → 소스/대상 확인 변경 해제
- private subnet와 인터넷이 통신할 수 있도록 주소변환(NAT)만 수행하면 된다
- NAT Instance를 private 라우팅 테이블에 연결
- 0.0.0.0/0 NAT instance 지정
테스트
- 프라이빗 서브넷 인스턴스 생성
- NAT 인스턴스로 .pem 복사
scp -i [로컬 pem 파일 경로] [로컬 파일 경로] [사용자명]@[IP 또는 도메인]:[복사할 위치] # scp -i my-pem-file.pem my-pem-file.pem ec2-user@{bastion-host-ip}:/home/ec2-user/
- NAT 인스턴스 접속후 pem을 통해 프라이빗 서브넷 인스턴스 접속
- 인터넷 테스트
ping ietf.org
PING ietf.org (4.31.198.44) 56(84) bytes of data. 64 bytes from mail.ietf.org (4.31.198.44): icmp_seq=1 ttl=48 time=74.9 ms 64 bytes from mail.ietf.org (4.31.198.44): icmp_seq=2 ttl=48 time=75.1 ms ...
'Cloud > AWS' 카테고리의 다른 글
[ERROR] failed to create:[AWSEBInstanceLaunchWaitCondition] (0) 2023.05.24 [AWS] CLI (0) 2023.05.22 [AWS] CI/CD (0) 2023.05.18 [AWS] S3 (0) 2023.05.18 [AWS] IAM (0) 2023.05.18