ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AWS] NAT gateway 대신 NAT Instance 생성하기 (with Bastionhost)
    Cloud/AWS 2023. 5. 22. 16:14

    NAT gateway 대신 NAT Instance 생성하기 (with Bastionhost)

    • 목표 : 비용절감을 위해, NAT Instance와 Bastion 호스트를 하나의 인스턴스로 구현

    NAT Instance

    • private 서브넷의 인스턴스들이 인터넷에 접속하기 위한 네트워크 주소 변환을 처리한다
    • private 서브넷 인스턴스의 아웃바운드 트래픽을 퍼블릭 IP 주소로 변환하어 인터넷으로 전달
    • VPC public 서브넷에 위치하는 인스턴스

     

    Bastion Host

    • ssh를 통해 외부에서 VPC 내 private 서브넷과 통신을 돕는 호스트
    • VPC public 서브넷에 위치하는 인스턴스 , NAT Instance를 겸할 수 있다

     

    1. VPC , 서브넷, 라우팅 테이블, 인터넷 게이트웨이 생성
    2. NATSG 보안그룹 생성
      • 인바운드
        • 모든 ICMP - IPv4, 프라이빗 서브넷 CIDR - 프라이빗 서브넷의 서버로부터의 인바운드 HTTP 트래픽 허용
        • 모든 ICMP - IPv4, 프라이빗 서브넷 CIDR - 프라이빗 서브넷의 서버로부터의 인바운드 HTTPS 트래픽 허용
        • SSH, 네트워크 퍼블릭 IP - (내) 네트워크로부터 NAT 인스턴스에 대한 인바운드 SSH 액세스 허용
      • 아웃바운드
        • SSH, 프라이빗 서브넷 CIDR
        • 모든 ICMP - IPv4, ****Anywhere - IPv4
    3. EC2 Instance 생성
      • AMI
        • 커뮤니티 AMI → “amzn-ami-vpc-nat” 검색 → 최신 버전 선택
      • 네트워크 설정
        • VPC 선택
        • 인터넷게이트웨이가 연결된 Subnet 선택
        • 퍼블릭 IP 주소 선택
    4. NAT Instance 소스/대상 확인변경 끄기
      • 인스턴스 선택 → 네트워킹 → 소스/대상 확인 변경 해제
      • private subnet와 인터넷이 통신할 수 있도록 주소변환(NAT)만 수행하면 된다
    5. 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
Designed by Tistory.