Một lỗi khá phổ biến khi setup hạ tầng trên aws đó là sau khi bạn đã tạo private subnet và nat gateway, nhưng khi bạn tạo instance trên private subnet thì không thể connect ra ngoài internet. Bạn đã tìm thử mọi cách và search mỏi mắt trên google nhưng vẫn không tìm ra được vấn đề. Vậy vấn đề nằm ở đâu?
Chưa cấu hình nat gateway vào route table của subnet
Hãy đảm bảo chắc chắn là bạn đã cấu hình nat gateway vào route table của subnet.
Nat gateway chưa hoạt động
Hãy đảm bảo là nat gateway đã hoạt động với status là Available:
Chắc chắn rằng bạn đã tạo nat gateway trên public subnet
Sau khi bạn đã check rất cẩn thận không sai ở bước nào, nhưng vẫn không thể connect internet thì có thể bạn đã làm sai ở bước này. Hãy nhớ 1 điều là nat gateway phải được tạo trên public subnet, nếu không bạn sẽ không thể connect ra ngoài được. Đây là một lỗi khá phổ biến và khá khó để tìm ra nếu bạn không hiểu kiến trúc và cách hoạt động của nat gateway.
Theo kiến trúc được đề xuất thì sẽ như sau:
- Tạo một hoặc nhiều public subnet trên nhiều zone khác nhau.
- Tạo nat gateway trên public subnet trên nhiều zone khác nhau để đảm bảo tính sẵn sàng (High Available)
- Tạo private subnet cho các service của bạn, cấu hình route table sử dụng các nat gateway đã tạo.
Đây là 1 lỗi khá phổ biến khi tạo hạ tầng trên aws, nhiều khi bạn tạo xong không hiểu sao mình lại không truy cập được ra ngoài, mặc dù đã làm theo đúng các bước. Hãy chú ý bước này.
Kết luận
Mình đã từng gặp lỗi không connect được internet và hoay cả tuần không hiểu vì sao không connect được ra ngoài internet. Và sau cùng mình đọc kĩ lại document của aws thì phát hiện ra mình tạo nat gateway trên private subnet @@. Nếu bạn có góp ý gì xin để lại bình luận.