늘 눈팅만 하다가, 발등에 불이 떨어져서 질문을 올려봅니다 ㅎㅎ 아마존…

늘 눈팅만 하다가, 발등에 불이 떨어져서 질문을 올려봅니다 ㅎㅎ

아마존 설명을 보면서
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html
VPC 에서 private subnet(10.0.1.0/24)과 public subnet(10.0.0.0/24)을 구성했는데요.

지금 세팅 단계에서 private subnet에서 EIP 없이
NAT로 외부 인터넷에 연결해서 업데이트 등을 받으려고 하는데
public subnet의 instance를 NAT로 설정하려면 어떻게 해야 하는 걸까요?

AWS의 Management Console에서 설정하는게 아닌건가요??

9 thoughts on “늘 눈팅만 하다가, 발등에 불이 떨어져서 질문을 올려봅니다 ㅎㅎ 아마존…

  1. public subnet을 NAT으로 연결하려면, static routing 설정을 해주셔야 합니다. 0.0.0.0/0으로 해버리면 패킷이 igw로 가야할 패킷이 NAT로 가버리게 되고, 당연히 통신이 안될겁니다.

    저도 public subnet에서 발생한 로그를 public network에 있는 로그 서버로 보내야하는 것 때문에 비슷한 경험을 했고, 결국 로그 서버의 ip로 향하는 static routing rule을 추가하는 걸로 해결했습니다.

  2. 아 public subnet instance를 NAT로 하는 거였군요.

    public subnet에 NAT 인스턴스 하나 만드시고요. VPC 생성하면 만들어주는게 있는게, 그냥 하나 만들어도 상관없습니다. 저도 직접 만들어서 사용하고 있습니다.

    NAT 인스턴스는 리눅스 마스커레이딩 설정해주시면 되고. http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/System_management/NAT 이 문서 참고하시면 될겁니다.

    public subnet에 0.0.0.0/0으로 향하는 패킷을 새로 만든 NAT 인스턴스로 향하게 하면 됩니다. NAT 인스턴스가 있는 subnet은 0.0.0.0/0을 igw로 향하게 하면 되고요. 이제 private instance가 0.0.0.0/0으로 보내는 패킷은 NAT instance로 가고, NAT instance에서 SNAT된 패킷은 igw로 향하게 되서, internet 통신이 됩니다.

    NAT instance는 반드시 change source / dest check를 disable상태로 만들어줘야 합니다. enable상태에서는 routing룰을 넣을 수 없습니다.

  3. 답글 주셔서 감사합니다. !
    그래도 잘 되지 않아 설명을 조금 덧붙여 봅니다. ㅠㅠ

    public subnet 10.0.3.0/24 에 할당된 NAT용도로 쓸 instance (10.0.3.135)가 있습니다.
    EIP가 할당되어 있고
    change source / dest check를 disable 했고
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    으로 마스커레이딩 하고 iptables -L -t nat로 확인해보았고요.
    route table 에서 Destination이 0.0.0.0/0을
    인터넷 게이트웨이로 지정했습니다.

    그리고,
    private subnet 10.0.1.0/24 에 할당된 instance(10.0.1.211)가 있고요.
    route table 에서 Destination이 0.0.0.0/0을
    Target NAT 용으로 설정한 (10.0.3.135) instance로 향하게 해두었습니다.

    security group 에서 inbound/outbound는 모두 열어보았고요.
    두 instance 모두 내부 방화벽은 사용하지 않고 있습니다.

    여전히 10.0.1.211 에서는 외부에서 데이터를 받지 못합니다.
    public subnet 10.0.3.0/24 에 있는 instance 들은 문제가 없고요

    또 확인해봐야 하는 사항에는 어떤 것이 있을까요?

    혹시 nat 를 public subnet 에 넣지 말고 다른 subnet에 따로 구성해야 하는 것인가요?

  4. 감사합니다. ㅎㅎ tcpdump 로 보니까 NAT 통해서 보내긴 하는데, 받는게 안 되는 거였네요. NAT instance에서 iptables 설정 좀 더 해보면 될것 같아요.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.