일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- dict
- 튜플
- lambda
- EC2
- TypeScript
- async
- NeXT
- RDS
- react
- Props
- flask
- git
- docker
- 파이썬
- SAA
- merge
- wetube
- 카톡
- AWS
- socket io
- MongoDB
- Class
- crud
- node
- S3
- pandas
- 채팅
- 중급파이썬
- SSA
- Vue
- Today
- Total
초보 개발자
AWS NAT instance 실습 본문
NAT Instance 실습
NAT instance란 NAT Gateway대용으로 사용할 수 있는 것이다.
NAT gateway란, private subnet에서 외부로 통신을 하려고 할 때 필요한 것이다.
private subnet은 기본적으로 외부와 통신을 할 수가 없다. 통신을 하려면 public subnet을 통해 밖으로 나가야한다.
NAT gateway는 퍼블릭 서브넷에 설치를 해두고, 프라이빗 서브넷 라우팅 테이블에서 외부로 향하는 아웃바운드 트래픽을 NAT gateway로 향하도록 해두면, 밖으로 나갈 수 있다.
반대로 인바운드 트래픽은 못받겠지?? ( 확실하지 않음 )
아무튼 NAT gateway는 가격이 좀 있다. 켜두기만해도 한달에 10만원 가까이는 나갈 것이다.
따라서 3분의 1정도의 가격으로 비슷한 기능을 할 수 있는 NAT instance를 사용하는 경우도 있다고 한다.
금액적인 부분 말고 다른 부분에 있어서는 NAT gateway가 월등히 좋으므로 AWS에서 적극 권장을 하고 있다.
먼저.
VPC를 하나 새로 만들었다.
대역대는 192.168.255.0/24로 주었다.
그리고 서브넷을 4개 만들어줄것이다.
가용영역은 2개이며, 각 가용역역에 프라이빗 하나 퍼블릭 하나가 들어있다.
1a 퍼블릭 서브넷에 발판서버와, NAT instance를 만들고 1c 프라이빗 서브넷에서 인스턴스를 하나 생성하고.
프라이빗 서브넷에서 PING명령어를 통해 외부로 접근이 가능한지를 파악해보려고한다.
NAT Instance의 설정에서 소스/대상 중지를 해줘야 한다고 한다. 그 이유는 인스턴스는 자신에게 온 트래픽의 아이피가 자신의 아이피가 아니면 폐기한다고하는데, 이걸 중지하면 자신의 아이피가 아닌경우에 흘려줄 수 있다고 한다.
또 프라이빗 서브넷의 라우팅 테이블에서 외부로 향하는 트래픽에 대해서 NAT Instance로 향하게 해주면 된다고 한다.
혹시 몰라서 NAT Insance의 보안 그룹에 포트를 전부 개방해주었다.
이렇게 되면 처음 퍼블릭 아이피를 통해서 발판서버로 들어가서 프라이빗 서브넷의 아이피로 접속한 뒤에 핑을 치면 트래픽이 NAT Instance로 향하고, 인터넷 게이트웨이를 통해 빠져나간다고 생각하였다.
그런데 실제로 내가 생각한대로 되지 않았다.
블로그에서 하라는 대로 다 똑같이 따라했는데 몇일 째 안됀다... 이유가 뭘까?
-------------------------------------------------------------------------------------------------------
핑은 안되는데,
curl은 된다. curl로 통신을 해보니 NAT Instance의 아이피가 잘 반환된다.
curl http://checkip.amazonaws.com/
배운 점
1. 혹시 몰라서 NAT Insance의 보안 그룹에 포트를 전부 개방해주었다. -> 꼭 개방 해주어야한다.
NAT Instance로 들어오는 아이피는 프라이빗 서브넷 대역대이므로 그 쪽을 열어주었다. 안 열어 주면 오류남
2. 당연할 수 있겠지만 나는 헷갈렸기에.. 다른 가용영역에 있는 프라이빗 서브넷 또한 잘 접속할 수 있다. 라우팅 테이블에 NAT Instance를 설정해준다면
3. 근데 소스/대상 < 이건 중지를 안해주었을 때도 잘 값이 반환이 되었다. 필요한걸까?
왜 근데 핑은 안될까/..? 여기에 비슷한 질문이 있는데 잘 모르겠다..
https://www.facebook.com/groups/codingeverybody/posts/7279412802099193/
'AWS SAA' 카테고리의 다른 글
AWS Instance Storage (0) | 2023.01.28 |
---|---|
AWS IP, ENI, hibernate (0) | 2023.01.27 |
AWS ENI 실습 (0) | 2023.01.27 |
AWS EC2 2 pem등록,iam role (0) | 2023.01.26 |
AWS EC2 1 결제,예산,생성,시큐리티그룹 (0) | 2023.01.25 |