Introduction to NAT Gateway
What is NAT Gateway ?
NAT gateway cho phép các instance trong Private Subnet kết nối với internet or kết nối với những dịch vụ aws khác nhưng ngăn chặn những từ ngoài interner connection vào những instance đó
How NAT works ?
- NAT device has an Elastic IP address and is connected to the Internet through an internet gateway.
- When we connect an instance in a private subnet through the NAT device, which routes traffic from the instance to the internet gateway and routes any response to the instance
- NAT maps multiple private IPv4 addresses to a single public IPv4 address.
Cổng NAT không hỗ trợ IPv6 mà bạn cần sử dụng Egress only gateway.
NOTE : Traffic IPv6 tách biệt với traffic IPv4, và route table phải có 1 đường riêng cho traffic IPV6
More info :
https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-comparison.html
Bắt đầu tạo NAT Gateway .
Go to VPC Dashboard → NAT Gateways → Create NAT gateways

- Bạn phải chắc chắn là bạn đã subnet public cho VPC của mình
- Chọn IP Elastic IP (NAT hoạt động được thì cần có IP )
- Sau khi NAT được tạo thì chúng ta thêm cho nó 1 route table để định tuyến

The advantage of NAT Gateway
- NAT Gateway luôn sẵn sàng nhưng tùy khả dụng của mỗi region
- Có thể Scale up đến 45Gbps
- Được quản lý bởi AWS
Limitation of NAT Gateway
- Bạn có thể liên kết chính xác một địa chỉ IP Elastic với cổng NAT nhưng bạn ko thể tách IP Elastic ra khỏi NAT GW sau khi nó được tao. để sử dụng một địa chỉ IP Elastic khác cho cổng NAT của bạn, bạn phải tạo một cổng NAT mới với địa chỉ bắt buộc, rồi sau cập nhật bảng route table của bạn, sau đó xóa cổng NAT hiện có nếu nó không còn cần thiết.
- Bạn không thể nào liên kết security group với cổng NAT. Bạn có thể sử dụng security group cho các phiên bản của mình trong các private subnet
- Bạn có thể sử dụng ACL network để kiểm soát traffic đến và đi từ subnet chứa trong cổng NAT, ACL network áp dụng cho lưu lượng của cổng NAT
Code NAT Gateway .
Adding Elastic IP for NAT gateway
resource “aws_eip” “test_eip” {
vpc = true
}
Adding NAT Gateway
resource “aws_nat_gateway” “test_nat_gw” {
allocation_id = “${aws_eip.test_eip.id}”
subnet_id = “${aws_subnet.public_subnet.0.id}”
}
Private Route Table
resource “aws_default_route_table” “private_route” {
default_route_table_id = “${aws_vpc.main.default_route_table_id}”
route {
nat_gateway_id = “${aws_nat_gateway.test_nat_gw.id}”
cidr_block = “0.0.0.0/0”
}
tags {
Name = “my-private-route-table”
}
}
================================================================
Tiếp theo là chương trình kiếm cơm qua ngày
mọi người ủng hộ mình nha
Máy vi tính giá rẻ, loại nào cũng có .