Một trong những cách tốt nhất để bảo mật là giới hạn số lượng địa chỉ IP công cộng trong mạng của bạn. Trên Google Cloud, Cloud NAT (network address translation – biên dịch địa chỉ mạng) cho phép một số tài nguyên nhất định không có địa chỉ IP ngoài (external IP address) tạo kết nối outbound đến Internet.
Cloud NAT cung cấp kết nối gửi đi cho các tài nguyên sau:
- Các phiên bản máy ảo Compute Engine không có địa chỉ IP ngoài
- Cụm Google Kubernetes Engine (GKE) riêng tư
- Các đối tượng Cloud Run thông qua Serverless VPC Access
- Các đối tượng Clound Functions thông qua Serverless VPC Access
- Các đối tượng môi trường tiêu chuẩn của App Engine thông qua Serverless VPC Access
Cloud NAT khác với các proxy NAT thông thường như thế nào?
Cloud NAT là một dịch vụ được quản lý phân tán, được quản lý bởi một phần mềm xác định, không dựa trên máy ảo hoặc thiết bị proxy. Kiến trúc không proxy này mang lại khả năng mở rộng cao hơn (không có điểm nghẽn duy nhất) và độ trễ thấp hơn. Cloud NAT định cấu hình phần mềm Andromeda hỗ trợ mạng Đám mây riêng ảo (Virtual Private Cloud – VPC) của bạn để nó cung cấp bản dịch địa chỉ mạng nguồn (Source Network Address Translation – SNAT) cho các máy ảo không có địa chỉ IP ngoài. Nó cũng cung cấp bản dịch địa chỉ mạng đích (Destination Network Address Translation – DNAT) riêng cho các gói phản hồi gửi đến đã được thiết lập.
Lợi ích của việc sử dụng Cloud NAT
- Bảo mật: Giúp giảm thiểu nhu cầu cần có địa chỉ IP ngoài cho mỗi máy ảo riêng lẻ. Theo các quy tắc tường lửa, các máy ảo không có địa chỉ IP ngoài có thể truy cập các điểm đến trên Internet.
- Tính khả dụng: Vì Cloud NAT là một dịch vụ được quản lý phân tán bởi một phần mềm xác định, nó không phụ thuộc vào bất kỳ máy ảo nào trong dự án của bạn hoặc một thiết bị cổng vật lý duy nhất nào. Bạn định cấu hình cổng NAT trên một bộ định tuyến đám mây (Cloud Router) – nơi cung cấp mặt phẳng điều khiển cho NAT và giữ các thông số cấu hình bạn chỉ định.
- Khả năng mở rộng: Bạn có thể định cấu hình Cloud NAT để nó tự động mở rộng số lượng địa chỉ NAT IP sử dụng và hỗ trợ các máy ảo thuộc nhóm đối tượng được quản lý, bao gồm cả những máy có bật tính năng autoscaling.
- Hiệu suất: Cloud NAT không làm giảm băng thông mạng trên mỗi máy ảo vì nó được thực hiện bởi mạng được chỉ định bởi phần mềm Andromeda của Google.
Các quy tắc NAT
Trong Cloud NAT, tính năng NAT Rules cho phép bạn tạo ra các quy tắc truy cập xác định cách Cloud NAT được sử dụng để kết nối với Internet. Quy tắc NAT hỗ trợ NAT nguồn dựa trên địa chỉ đích. Khi bạn định cấu hình cổng NAT mà không định quy tắc NAT, các máy ảo sử dụng cổng NAT đó sẽ sử dụng cùng một bộ địa chỉ NAT IP để truy cập tất cả các địa chỉ Internet. Nếu bạn cần kiểm soát các gói đi qua Cloud NAT nhiều hơn, bạn có thể thêm các quy tắc NAT. Một quy tắc NAT xác định điều kiện đối chiếu và hành động tương ứng. Sau khi bạn chỉ định các quy tắc NAT, mỗi gói sẽ được so khớp với các quy tắc NAT. Nếu một gói phù hợp với điều kiện được đặt ra trong một gói, thì hành động tương ứng với kết quả đó sẽ diễn ra.
Ví dụ cấu hình Cloud NAT cơ bản
Trong ví dụ được minh họa trong hình ảnh trên, cổng NAT ở phía đông được định cấu hình để hỗ trợ các máy ảo không có IP ngoài trong mạng subnet-1 truy cập Internet. Các máy ảo này có thể gửi lưu lượng truy cập đến Internet bằng cách sử dụng địa chỉ IP nội bộ chính của cổng hoặc dải IP bí danh từ dải địa chỉ IP chính của mạng subnet-1, 10.240.0.0/16
. Máy ảo có giao diện mạng không có địa chỉ IP ngoài và máy ảo có địa chỉ IP nội bộ chính nằm trong mạng subnet-2 không thể truy cập Internet.
Tương tự, cổng NAT Europe được định cấu hình để áp dụng cho dải địa chỉ IP chính của mạng subnet-3 ở khu vực phía Tây, cho phép máy ảo có giao điện mạng không có địa chỉ IP ngoài gửi lưu lượng truy cập đến Internet bằng cách sử dụng địa chỉ IP nội bộ chính của nó, địa chỉ hoặc dải IP bí danh từ dải IP chính của mạng subnet-3, 192.168.1.0/24
.
Để bật NAT cho tất cả các vùng chứa và GKE node, bạn cần chọn tất cả các dải địa chỉ IP của mạng con làm ứng viên NAT. Bạn không thể bật NAT cho các vùng chứa cụ thể trong một mạng con.
Trên đây là những thông tin tổng quan về Cloud NAT. Để tìm hiểu sâu hơn về Cloud NAT, hãy tham khảo thêm tài liệu chính thức từ Google tại đây.