Tìm Hiểu và Thực Hành với Azure Virtual Network (VNet) Chuyên mục Devops 2025-07-05 2 Lượt xem 2 Lượt thích 0 Bình luận
Chào các bạn,
Ở bài viết trước, chúng ta đã cùng nhau khám phá bức tranh tổng quan về Microsoft Azure và các mô hình dịch vụ IaaS, PaaS, SaaS. Giờ đây, chúng ta sẽ đi sâu vào một trong những dịch vụ IaaS cốt lõi và quan trọng bậc nhất: Azure Virtual Network (VNet).
Nếu bạn hình dung Azure là một "trung tâm dữ liệu khổng lồ", thì VNet chính là hệ thống mạng riêng ảo mà bạn xây dựng bên trong trung tâm dữ liệu đó. Nó là xương sống kết nối tất cả các tài nguyên của bạn trên đám mây, đảm bảo chúng có thể giao tiếp với nhau một cách an toàn và có tổ chức.
Azure Virtual Network (VNet) là gì?
Azure Virtual Network (VNet) là dịch vụ cho phép bạn tạo ra một mạng riêng ảo tùy chỉnh, biệt lập và an toàn trong Azure. VNet hoạt động tương tự như một mạng truyền thống mà bạn vận hành trong trung tâm dữ liệu của riêng mình, nhưng với tất cả các lợi ích của hạ tầng đám mây: khả năng mở rộng, linh hoạt và độ sẵn sàng cao.
Mục đích cốt lõi của VNet:
-
Cô lập và bảo mật: VNet cho phép bạn tạo ra các không gian mạng logic riêng biệt, đảm bảo các tài nguyên của bạn (như máy ảo, cơ sở dữ liệu) được cô lập với các tài nguyên của người dùng Azure khác và có thể giao tiếp an toàn với nhau.
-
Kết nối tài nguyên Azure: Mọi tài nguyên IaaS (như VM) đều phải nằm trong một VNet. VNet cung cấp đường dẫn cho các tài nguyên này giao tiếp nội bộ và ra bên ngoài.
-
Tích hợp Hybrid Cloud: VNet là cầu nối quan trọng để bạn kết nối hạ tầng tại chỗ (on-premises) của mình với tài nguyên trên Azure, tạo thành một môi trường lai (hybrid cloud) liền mạch.
Các Tính Năng Chính của Azure Virtual Network
Để tạo nên một mạng ảo linh hoạt và mạnh mẽ, VNet cung cấp một loạt các tính năng quan trọng:
-
Không Gian Địa Chỉ IP Tùy Chỉnh (Custom IP Space): Bạn có thể định nghĩa không gian địa chỉ IP riêng tư của mình bằng cách sử dụng các khối CIDR (Classless Inter-Domain Routing). Điều này cho phép bạn xây dựng mạng mà không trùng lặp với mạng tại chỗ, dễ dàng cho việc kết nối lai.
-
Ví dụ:
10.0.0.0/16
hoặc192.168.0.0/24
.
-
-
Subnets (Mạng Con): Bên trong một VNet lớn, bạn có thể chia nhỏ nó thành các mạng con (subnets). Mỗi subnet được gán một phần của không gian địa chỉ IP của VNet.
-
Mục đích: Phân chia các tài nguyên dựa trên vai trò, chức năng hoặc mức độ bảo mật. Ví dụ: một subnet cho web server (public), một subnet cho database (private).
-
Lợi ích: Dễ dàng áp dụng các chính sách bảo mật (Network Security Groups) khác nhau cho từng nhóm tài nguyên.
-
-
Network Security Groups (NSGs): Đây là các tường lửa ảo hoạt động ở cấp độ mạng con hoặc giao diện mạng (NIC) của VM. NSG cho phép bạn kiểm soát lưu lượng truy cập vào (inbound) và ra (outbound) dựa trên nguồn, đích, cổng và giao thức.
-
Ví dụ: Cho phép SSH (cổng 22) từ Internet vào subnet public, nhưng chỉ cho phép lưu lượng từ subnet public vào subnet database.
-
-
Route Tables (Bảng Định Tuyến): Cho phép bạn kiểm soát cách lưu lượng mạng được định tuyến trong VNet hoặc ra ngoài. Mặc định, Azure tự động định tuyến. Nhưng với Route Tables, bạn có thể buộc lưu lượng đi qua một thiết bị tường lửa ảo (Network Virtual Appliance - NVA) hoặc các cổng kết nối khác.
-
DNS (Domain Name System): Azure cung cấp DNS mặc định cho VNet, cho phép các tài nguyên trong VNet phân giải tên miền cho nhau. Bạn cũng có thể cấu hình DNS tùy chỉnh.
-
Kết Nối VNet-to-VNet Peering: Cho phép hai VNet khác nhau giao tiếp với nhau như thể chúng là một mạng duy nhất, sử dụng hạ tầng xương sống của Microsoft. Lý tưởng cho các ứng dụng phân tán hoặc môi trường multi-region.
-
Dịch Vụ Mạng Đặc Biệt:
-
Load Balancer: Phân phối lưu lượng truy cập giữa nhiều VM để tăng hiệu suất và độ sẵn sàng.
-
Application Gateway: Cân bằng tải lớp 7 (HTTP/HTTPS), có thể tích hợp Web Application Firewall (WAF).
-
NAT Gateway: Cung cấp kết nối Internet outbound tĩnh và an toàn cho các subnet private.
-
VPN Gateway & ExpressRoute: Kết nối an toàn VNet của bạn với mạng tại chỗ (on-premises datacenter).
-
Thực Hành: Xây Dựng Virtual Network và Subnets Cơ Bản
Để giúp bạn hình dung rõ hơn, chúng ta sẽ thực hành các bước cơ bản để tạo một VNet với các subnet public và private – cấu trúc nền tảng cho hầu hết các ứng dụng đám mây.
Kịch bản: Xây dựng một VNet cho ứng dụng web, trong đó có:
-
Một VNet tổng thể.
-
Một Subnet Public cho Web Server (sẽ có Public IP).
-
Một Subnet Private cho Database Server (không có Public IP, truy cập Internet qua NAT Gateway).
Các bước thực hiện:
Bước 1: Tạo Azure Virtual Network (VNet)
-
Đăng nhập vào Azure Portal: Truy cập portal.azure.com.
-
Trên thanh tìm kiếm ở đầu Portal, gõ "Virtual networks" và chọn kết quả.
-
Nhấn vào nút + Create (hoặc "Tạo").
-
Tab Basics (Cơ bản):
-
Subscription: Chọn gói đăng ký Azure của bạn.
-
Resource Group: Chọn một Resource Group đã có hoặc nhấn "Create new" để tạo mới (ví dụ:
my-application-rg
). -
Name: Đặt tên cho VNet của bạn (ví dụ:
my-web-app-vnet
). -
Region: Chọn một khu vực Azure gần bạn nhất (ví dụ:
Southeast Asia
hoặcJapan East
). Lưu ý: Tất cả các tài nguyên trong VNet này phải nằm trong cùng khu vực này.
-
-
Tab IP Addresses (Địa chỉ IP):
-
IPv4 address space: Đây là không gian địa chỉ IP tổng thể cho VNet của bạn. Mặc định thường là
10.0.0.0/16
. Bạn có thể để mặc định hoặc tùy chỉnh (ví dụ:172.16.0.0/16
). Đảm bảo nó không trùng với mạng tại chỗ của bạn nếu có ý định kết nối sau này.
-
-
Tab Security (Bảo mật):
-
Để mặc định các cài đặt tường lửa và DDoS Protection.
-
-
Review + create (Xem xét + tạo): Kiểm tra lại các thông tin và nhấn Create.
Bước 2: Tạo Subnets (Mạng Con) trong VNet
Sau khi VNet được tạo, chúng ta sẽ thêm các subnets:
-
Vào VNet bạn vừa tạo (
my-web-app-vnet
). -
Trong menu bên trái, dưới phần Settings, chọn Subnets.
-
Nhấn vào nút + Subnet.
a. Tạo Public Subnet:
-
Name: Đặt tên (ví dụ:
PublicSubnet
). -
Address range (CIDR block): Đây là một phần của không gian địa chỉ IP của VNet.
-
Nếu VNet của bạn là
10.0.0.0/16
, bạn có thể đặt10.0.1.0/24
. (Điều này cấp cho subnet 256 địa chỉ IP, đủ cho nhiều VM).
-
-
Để mặc định các tùy chọn khác như NAT Gateway, Network Security Group (chúng ta sẽ gán sau), Route Table.
-
Nhấn Save.
b. Tạo Private Subnet:
-
Nhấn lại nút + Subnet.
-
Name: Đặt tên (ví dụ:
PrivateSubnet
). -
Address range (CIDR block): Phải là một phần khác của không gian IP của VNet và không trùng với
PublicSubnet
.-
Nếu VNet là
10.0.0.0/16
, bạn có thể đặt10.0.2.0/24
.
-
-
Để mặc định các tùy chọn khác.
-
Nhấn Save.
-
Bây giờ bạn đã có một VNet với hai subnet riêng biệt. Đây là nền tảng cơ bản và cực kỳ quan trọng cho mọi kiến trúc ứng dụng trên Azure!
Bước 3: (Tùy chọn nhưng Rất Quan trọng) Liên kết NSG và NAT Gateway
Như chúng ta đã tìm hiểu ở bài trước, để các subnet hoạt động an toàn và có kết nối Internet:
-
Tạo Network Security Group (NSG):
-
Tạo ít nhất hai NSG:
PublicSubnet-NSG
vàPrivateSubnet-NSG
. -
PublicSubnet-NSG
: Cấu hình quy tắc để cho phép các cổng cần thiết từ Internet (ví dụ: 22 cho SSH, 80/443 cho web server). -
PrivateSubnet-NSG
: Hạn chế tối đa truy cập từ Internet. Chỉ cho phép truy cập từPublicSubnet
hoặc các nguồn nội bộ cần thiết. Đảm bảo cho phép outbound HTTP/HTTPS/ICMP tới Internet nếu cần.
-
-
Gán NSG cho Subnets:
-
Vào VNet của bạn (
my-web-app-vnet
), chọn Subnets. -
Nhấn vào
PublicSubnet
, trong mục Network security group, chọnPublicSubnet-NSG
và Save. -
Nhấn vào
PrivateSubnet
, trong mục Network security group, chọnPrivateSubnet-NSG
và Save.
-
-
Thiết lập Azure NAT Gateway (cho Private Subnet):
-
Tạo một Public IP Address (SKU: Standard, Assignment: Static).
-
Tạo một NAT Gateway và gắn Public IP Address vừa tạo vào nó.
-
Trong cấu hình NAT Gateway, ở phần Subnets, chọn
my-web-app-vnet
và tích chọnPrivateSubnet
để liên kết. Nhấn Save.
-
Lời Kết
Azure Virtual Network không chỉ là một dịch vụ, mà là một kiến trúc nền tảng cho mọi giải pháp trên Azure. Việc hiểu rõ cách xây dựng và quản lý VNet, Subnets, và các thành phần bảo mật đi kèm như NSG là bước đầu tiên và quan trọng nhất để bạn có thể tự tin xây dựng và vận hành các ứng dụng trên đám mây một cách an toàn và hiệu quả.
Trong các bài viết tiếp theo, chúng ta sẽ tiếp tục khám phá cách triển khai máy ảo (VM) vào các subnet này và thiết lập các ứng dụng thực tế.
Hãy thử thực hành các bước trên để tự mình xây dựng VNet đầu tiên trên Azure nhé! Chúc bạn thành công!
Bình luận (0)