Xây dựng hạ tầng mạng cho ứng dụng trên Azure
Khi các tổ chức chuyển đổi ứng dụng sang đám mây, việc bảo mật lưu lượng mạng trở thành ưu tiên hàng đầu. Trong bài viết này, chúng ta sẽ khám phá một tình huống thực tế nơi một tổ chức sử dụng Nhóm Bảo Mật Mạng (NSGs) và Nhóm Bảo Mật Ứng Dụng (ASGs) để kiểm soát chặt chẽ lưu lượng trong một mạng ảo Azure (app-vnet). Hướng dẫn thực hành này giải thích từng bước và lý do phía sau nó, giúp bạn xây dựng một môi trường đám mây an toàn và dễ quản lý.
Tổng quan tình huống
Tổ chức của bạn đang triển khai một ứng dụng web trên Azure. Kiến trúc bao gồm:
- Subnet frontend: Chứa các máy chủ web có thể truy cập từ internet.
- Subnet backend: Chứa các máy chủ cơ sở dữ liệu chỉ được truy cập bởi frontend.
- Máy ảo: VM1 trong subnet frontend, VM2 trong subnet backend.
Mục tiêu bảo mật:
- Nhóm các máy chủ web bằng ASG để quản lý đơn giản hơn.
- Sử dụng NSG để kiểm soát lưu lượng đến subnet backend.
- Cho phép truy cập SSH an toàn từ frontend đến backend.
Bước 1: Triển khai các máy ảo
Lưu ý: Bài tập này yêu cầu phải cài đặt mạng ảo và subnet trong Lab 01. Một mẫu được cung cấp nếu bạn cần triển khai các tài nguyên đó. (vui lòng tham khảo bài viết trước của tôi tại đây)
- Sử dụng biểu tượng (góc trên bên phải) để khởi động một phiên Cloud Shell. Hoặc, điều hướng trực tiếp tới shell.azure.com.
- Nếu được yêu cầu chọn giữa Bash hoặc PowerShell, chọn PowerShell.
- Lưu trữ không cần thiết cho nhiệm vụ này. Chọn đăng ký của bạn. Áp dụng các thay đổi của bạn.
- Sử dụng các lệnh sau để triển khai các máy ảo cần thiết cho bài tập này.
Lưu ý: Nếu việc triển khai bị lỗi do hạn chế về dung lượng, hãy chỉnh sửa mẫu và thay đổi giá trị “location”.
powershell
$RGName = "RG1"
New-AzResourceGroupDeployment -ResourceGroupName $RGName `
-TemplateUri "https://raw.githubusercontent.com/MicrosoftLearning/Configure-secure-access-to-workloads-with-Azure-virtual-networking-services/main/Instructions/Labs/azuredeploy.json"
5. Trong cổng thông tin, tìm kiếm và chọn máy ảo. Xác minh cả vm1 và vm2 đều đang chạy.
Tại sao điều này quan trọng:
Điều này thiết lập hạ tầng cần thiết để kiểm tra và xác thực các cấu hình bảo mật của bạn. Sử dụng một mẫu đảm bảo tính nhất quán và tiết kiệm thời gian.
Bước 2: Tạo Nhóm Bảo Mật Ứng Dụng (ASG)
Nhóm bảo mật ứng dụng (ASGs) cho phép bạn nhóm các VM theo chức năng (ví dụ: máy chủ web) và áp dụng các quy tắc bảo mật cho nhóm thay vì cho từng địa chỉ IP. Điều này giúp quản lý dễ dàng hơn và mở rộng tốt hơn.
- Trong cổng thông tin, tìm kiếm và chọn Nhóm bảo mật ứng dụng.
- Chọn + Tạo và cấu hình nhóm bảo mật ứng dụng.
plaintext
**Thuộc tính Giá trị**
Đăng ký Chọn đăng ký của bạn
Nhóm tài nguyên RG1
Tên app-frontend-asg
Khu vực MỸ TÂY 3
3. Chọn Xem + tạo và sau đó chọn Tạo.
Lưu ý: Bạn đang tạo nhóm bảo mật ứng dụng trong cùng một khu vực với mạng ảo hiện có.
Bước 3: Liên kết ASG với VM1
- Trong cổng thông tin Azure, tìm kiếm và chọn VM1.
- Trong bảng Networking, chọn Nhóm bảo mật ứng dụng và sau đó chọn Thêm nhóm bảo mật ứng dụng.
- Chọn app-frontend-asg và sau đó chọn Thêm.
Bước 4: Tạo và Liên kết Nhóm Bảo Mật Mạng
NSG là xương sống của bảo mật mạng Azure. Chúng lọc lưu lượng bằng các quy tắc và có thể được áp dụng cho các subnet hoặc các NIC riêng lẻ.
- Trong cổng thông tin, tìm kiếm và chọn Nhóm bảo mật mạng.
- Chọn + Tạo và cấu hình nhóm bảo mật mạng.
plaintext
Thuộc tính Giá trị
Đăng ký Chọn đăng ký của bạn
Nhóm tài nguyên RG1
Tên app-vnet-nsg
Khu vực MỸ TÂY 3
3. Chọn Xem + tạo và sau đó chọn Tạo.
Bước 5: Liên kết NSG với subnet backend của app-vnet.
NSGs có thể được liên kết với các subnet và/hoặc các giao diện mạng riêng lẻ gắn với các máy ảo Azure.
- Chọn Đi tới tài nguyên hoặc điều hướng đến tài nguyên app-vnet-nsg.
- Trong bảng Cài đặt chọn Subnets.
- Chọn + Liên kết
- Chọn app-vnet (RG1) và sau đó là Subnet Backend. Chọn OK.
Bước 6: Tạo quy tắc Nhóm Bảo Mật Mạng
Một NSG sử dụng các quy tắc bảo mật để lọc lưu lượng mạng vào và ra.
- Trong ô tìm kiếm ở đầu cổng thông tin, nhập Nhóm bảo mật mạng. Chọn Nhóm bảo mật mạng trong các kết quả tìm kiếm.
- Chọn app-vnet-nsg từ danh sách các nhóm bảo mật mạng.
- Trong bảng Cài đặt, chọn Quy tắc bảo mật vào.
- Chọn + Thêm và cấu hình một quy tắc bảo mật vào.
plaintext
Thuộc tính Giá trị
Nguồn Bất kỳ
Các dải cổng nguồn *
Điểm đến Nhóm Bảo Mật Ứng Dụng
Nhóm bảo mật ứng dụng đích app-frontend-asg
Dịch vụ SSH
Hành động Cho phép
Độ ưu tiên 100
Tên Cho phépSSH
Tại sao điều này quan trọng:
Điều này cho phép giao tiếp an toàn giữa các máy chủ web và các máy chủ cơ sở dữ liệu, đồng thời chặn tất cả lưu lượng khác theo mặc định.
Những điểm chính
Chúc mừng bạn đã hoàn thành bài tập. Dưới đây là những điểm chính:
- Nhóm bảo mật ứng dụng cho phép bạn tổ chức các máy ảo và xác định chính sách bảo mật mạng dựa trên các ứng dụng của tổ chức bạn.
- Nhóm bảo mật mạng Azure được sử dụng để lọc lưu lượng mạng giữa các tài nguyên Azure trong một mạng ảo Azure.
- Bạn có thể liên kết không, hoặc một, nhóm bảo mật mạng với mỗi subnet mạng ảo và giao diện mạng trong một máy ảo.
- Một nhóm bảo mật mạng chứa các quy tắc bảo mật cho phép hoặc từ chối lưu lượng mạng vào, hoặc lưu lượng mạng ra từ các tài nguyên Azure.
- Bạn tham gia các máy ảo vào một nhóm bảo mật ứng dụng. Sau đó, bạn sử dụng nhóm bảo mật ứng dụng như một nguồn hoặc đích trong các quy tắc nhóm bảo mật mạng.
Thực hành tốt nhất
- Quản lý quy tắc: Đảm bảo rằng các quy tắc bảo mật được tổ chức rõ ràng và dễ hiểu để tránh nhầm lẫn trong quản lý.
- Giám sát lưu lượng: Sử dụng các công cụ giám sát của Azure để theo dõi lưu lượng mạng và phát hiện các bất thường.
Những cạm bẫy thường gặp
- Quy tắc mâu thuẫn: Đảm bảo rằng không có quy tắc nào gây mâu thuẫn với nhau, điều này có thể gây ra các vấn đề bảo mật nghiêm trọng.
- Cấu hình sai: Kiểm tra kỹ lưỡng mọi cài đặt để đảm bảo rằng chúng được cấu hình chính xác.
Mẹo hiệu suất
- Tối ưu hóa quy tắc: Chỉ định các quy tắc với độ ưu tiên thấp hơn cho các nguồn lưu lượng lớn để giảm thiểu tải trên nhóm bảo mật.
- Sử dụng ASGs: Tận dụng ASGs để giảm số lượng quy tắc cần thiết, giúp đơn giản hóa quản lý.
Khắc phục sự cố
- Lỗi triển khai: Nếu gặp lỗi trong quá trình triển khai, hãy kiểm tra lại các thông số đã nhập và đảm bảo rằng tất cả các tài nguyên cần thiết đã sẵn sàng.
- Vấn đề truy cập: Nếu không thể truy cập vào ứng dụng, hãy kiểm tra các quy tắc NSG và đảm bảo rằng chúng cho phép lưu lượng cần thiết.
Câu hỏi thường gặp (FAQ)
- Làm thế nào để kiểm tra xem NSG có hoạt động không?
Bạn có thể sử dụng Azure Network Watcher để kiểm tra và phân tích lưu lượng mạng. - Có giới hạn nào về số lượng quy tắc trong NSG không?
Có, mỗi NSG có thể chứa tối đa 200 quy tắc bảo mật.
Kết luận
Việc xây dựng hạ tầng mạng an toàn và hiệu quả trên Azure không chỉ bảo vệ dữ liệu mà còn giúp tăng cường khả năng quản lý ứng dụng. Hãy áp dụng các bước và thực hành tốt nhất mà chúng tôi đã đề cập trong bài viết này để tối ưu hóa hạ tầng mạng của bạn. Đừng quên theo dõi các bài viết tiếp theo để cập nhật thêm nhiều kiến thức bổ ích!