Thursday, November 21, 2024

[AWS] NAT Instances

-

NAT Instance outdated, but still at the exam)

NAT (Network Address Translation) Instance là một instance của EC2 được tạo ra với mục đích cho phép các EC2 instance trong private subnet kết nối với Internet thông qua public subnet. NAT Instance phải được tạo trong public subnet và phải có Elastic IP để có thể giữ địa chỉ IP cố định cho instance. Ngoài ra, cần phải tắt chức năng “Source/Destination Check” của instance để cho phép instance hoạt động như một gateway NAT. Cấu hình Route Tables để chỉ định rằng traffic từ private subnet sẽ được đi đến NAT Instance là bước cuối cùng để NAT Instance hoạt động thành công. NAT Instance là giải pháp NAT cũ hơn, hiện nay NAT Gateway là giải pháp NAT mới hơn và được khuyến khích sử dụng.

Sơ đồ mô tả NAT Instance

NAT Instance – Comments

NAT (Network Address Translation) Instance là một instance của EC2 được tạo ra với mục đích cho phép các EC2 instance trong private subnet kết nối với Internet thông qua public subnet. NAT Instance phải được tạo trong public subnet và phải có Elastic IP để có thể giữ địa chỉ IP cố định cho instance. Ngoài ra, cần phải tắt chức năng “Source/Destination Check” của instance để cho phép instance hoạt động như một gateway NAT. Cấu hình Route Tables để chỉ định rằng traffic từ private subnet sẽ được đi đến NAT Instance là bước cuối cùng để NAT Instance hoạt động thành công. NAT Instance là giải pháp NAT cũ hơn, hiện nay NAT Gateway là giải pháp NAT mới hơn và được khuyến khích sử dụng.

Bây giờ chúng ta sẽ thực hành tạo 1 Nat instance.

Vào Launch an instance để tạo Nat instance.

Việc tiếp theo chúng ta hãy tìm một AMI có chức năng Nat bằng cách bấm vào Browse more AMIs.

Bạn hãy lọc theo từ khoá “nat” bạn sẽ thấy có 48 AMI của AWS phát triển và hơn 500 kết quả do cộng đồng phát triển.

Bạn hãy bấm vào đó và chọn một AMI mà bạn cho là ổn định và bấm select.

và AMI mình chọn là “amzn-ami-vpc-nat-2018.03.0.20220209.2-x86_64-ebsami-018cceff5b66b8e85”

Instance type mình chọn là t2.micro, và nhớ lựa chọn Key pair của bạn.

Choose your VPC and public subnet.

Mình sẽ tạo security group mới cho instance này.

Phần security group mình sẽ thiết lập 3 rule như sau:

  • Rule đầu tiên cho phép tất cả các IP có thể truy cập vào instance được áp dụng Security Group này thông qua giao thức TCP trên port 22. Ví dụ, nếu instance được áp dụng Security Group này là một máy chủ SSH, rule này sẽ cho phép các kết nối SSH từ bất kỳ địa chỉ IP nào đến instance đó thông qua port 22
  • Thiết lập dưới có ý nghía là các kết nối TCP đến cổng 80 trên các instance trong security group này sẽ được cho phép, nhưng chỉ nếu nguồn của các kết nối đó là các địa chỉ IP thuộc dải 10.0.0.0/16. Cụ thể, dải IP này bao gồm tất cả các địa chỉ IP từ 10.0.0.0 đến 10.0.255.255. Rule này cho phép các instance trong security group này nhận các kết nối HTTP từ các instance khác trong cùng VPC, có địa chỉ IP thuộc dải 10.0.0.0/16.
  • Thiết lập dưới có ý nghía là các kết nối TCP đến cổng 443 trên các instance trong security group này sẽ được cho phép, nhưng chỉ nếu nguồn của các kết nối đó là các địa chỉ IP thuộc dải 10.0.0.0/16. Cụ thể, dải IP này bao gồm tất cả các địa chỉ IP từ 10.0.0.0 đến 10.0.255.255. Rule này cho phép các instance trong security group này nhận các kết nối HTTPs từ các instance khác trong cùng VPC, có địa chỉ IP thuộc dải 10.0.0.0/16.

Sau khi thiết lập xong bạn hãy bấm Launch instance để tạo instance này.

Hãy lựa chọn NAT Instance của bạn và đi tới Change source/destination check.

Nếu đây là một NAT instance trên AWS, bạn cần phải tắt tính năng “source/destination checking” của instance đó. Điều này là vì NAT instance cần phải gửi và nhận traffic đến và từ các instance khác mà không phải là chính nó. Tính năng “source/destination checking” này là để bảo vệ instance khỏi những gói tin không mong muốn, nhưng với NAT instance thì cần tắt tính năng này để có thể hoạt động đúng chức năng của nó.

Bây giờ bạn hãy ssh vào PrivateInstance và kiếm tra kết nối internet, kết quả dưới cho thấy kết nối internet thất bại. Chúng ta hãy làm tiếp nhé.

Bây giờ hãy vào Route table có tên PrivateRouteTable › Routers.

Hãy trỏ 1 route đi tới mọi dest và nexhop là NAT Instance.

Chọn NAT Instance bạn đã tạo ra ở bước trên.

Và đây là kết quả, bạn hãy bấm save.

Và đây là kết quả, bạn hãy chờ đợi 1 lát để các trạng thái chuyển sang trạng thái sẵn sàng nhé.

Bây giờ bạn hãy tiếp tục vào NAT Instance và lựa chọn security group.

Vào Edit inbound rules.

Thêm 1 rule ICMP như dưới để chúng ta sử dụng ping để kiểm tra.

Két quả khi thêm xong rule icmp.

Và đây là kết quả ping tới google.com tại PrivateInstance.

Bạn thử curl ra google xem kết quả sao nhé.

curl www.google.com

Và đây là kết quả khi curl ra google.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories