Tiếp tục phần 1 của bài viết về Azure Traffic Manager, trong phần 2 này, mình sẽ cùng các bạn đi sâu vào cấu hình cho một Traffic Manager profile bao gồm những lưu ý khi thực hiện cấu hình, cũng như những thông tin cơ bản về cách tính phí của dịch vụ Azure Traffic Manager này.
Để thiết lập các quy tắc điều hướng với Azure Traffic Manager, bạn cần tạo một Traffic Manager profile chứa cấu hình phương thức điều hướng truy cập cũng như thiết lập các endpoint cần kiểm soát truy cập đến.
Tạo mới Traffic Manager profile
Traffic Manager profile có thể được tạo thông qua Azure CLI, Azure PowerShell hay Azure Portal. Trong bài viết này mình sẽ hướng dẫn các bạn tạo mới một Traffic Manager profile sử dụng Azure Portal.
Để tạo mới Traffic Manager profile trên Azure Portal, bạn nhấp chuột vào nút + bên thanh menu bên trái giao diện, sau đó chọn mục Networking rồi chọn Traffic Manager profile ở danh sách các dịch vụ được trả về.
Giao diện tạo mới Traffic Manager profile được hiện lên, tại đây bạn khai báo các thông tin cần thiết để cấu hình cho profile bao gồm:
- Name: Chính là DNS name cho Traffic Manager profile của bạn.
- Routing method: Phương thức điều hướng truy cập mà bạn muốn sử dụng.
Sau đó nhấp chuột vào nút Create để tiến hành tạo mới Traffic Manager profile với cấu hình bạn vừa khai báo.
Sau khi Traffic Manager profile của bạn được tạo mới thành công, tại bảng điều khiển của profile, ở menu bên trái, bạn chọn Endpoints để thiết lập endpoint cần quản lý truy cập đến.
Tại giao diện thiết lập endpoint, bạn chọn + Add trên thanh menu nằm ngang ở phía trên giao diện. Sau đó, tại giao diện tạo mới endpoint được hiện lên, bạn khai báo các thông tin cần thiết để cấu hình cho endpoint của bạn bao gồm:
- Type: Kiểu endpoint
- Name: Tên của endpoint
- Phụ thuộc vào kiểu endpoint mà sẽ có thêm một số trường thiết lập bắt buôc khác mà bạn cần phải khai báo:
Kiểu endpoint | Trường thiết lập thêm | Chú thích |
Azure endpoint | Target resource type | Loại dịch vụ Azure |
Target resource | Lựa chọn dịch vụ hiện có trên Azure mà bạn muốn đặt làm endpoint | |
External endpoint | Fullly-qualified domain name (FQDN) | Tên miền của ứng dụng mà bạn muốn đặt làm endpoint |
Nested endpoint | Target resource | Lựa chọn Traffic Manager profile mà bạn muốn lồng vào |
Minimum child endpoints | Số lượng tối thiểu endpoint khỏe mạnh cần phải có trong Traffic Manager profile mà bạn chọn để có thể nhận được điều hướng truy cập tới profile đó.
Ví dụ bạn có một Traffic Manager profile A có 2 endpoint trong đó có 1 endpoint là Traffic Manager profile B. Traffic Manager profile B có 2 endpoint với cấu hình Minimum child endpoints là 2. Trong quá trình hoạt động, có 1 endpoint trong Traffic Manager profile B bị phát hiện là không khỏe mạnh (do mất kết nối tới database chẳng hạn). Khi có truy cập gửi đến Traffic Manager profile A, trong trường hợp hoàn hảo (tức tất cả các endpoint đều khỏe mạnh), truy cập đó sẽ được chuyển tới Traffic Manager profile B để profile này xử lý, tuy nhiên do Traffic Manager profile B hiện chỉ có 1 endpoint khỏe mạnh, nhỏ hơn con số cấu hình trong Minimum child endpoints do vậy truy cập sẽ bị chuyển sang cho endpoint còn lại của Traffic Manager profile A. |
- Phụ thuộc vào phương thức điều hướng truy cập của Traffic Manager profile mà sẽ có thêm một số trường thiết lập bắt buôc khác mà bạn cần phải khai báo:
Routing method | Trường thiết lập thêm | Chú thích |
Performance | Location | Vị trí đặt máy chủ của endpoint.
Bạn sẽ chỉ cần phải khai báo trường thiết lập này khi kiểu endpoint là External endpoint hoặc Nested endpoint. |
Weighted | Weight | Trọng số của endpoint. |
Priority | Priority | Trọng số quan trọng của endpoint. |
Geographic | Geo-mapping | Vị trí địa lý của endpoint. |
Sau đó nhấp chuột vào nút OK để thực hiện tạo mới endpoint.
Cấu hình Azure Traffic Manager
Để cấu hình cho tính năng Health Monitoring cũng như những thiết lập khác cho Traffic Manager profile như phương thức điều hướng truy cập chẳng hạn, bạn chọn Configuration ở menu bên trái của bảng điều khiển của profile. Có một số trường cấu hình bạn cần lưu ý:
- Routing method: Phương thức điều hướng truy cập của Traffic Manager profile.
- DNS time to live (TTL): Mặc định DNS service sẽ cache kết quả DNS record nhận được, thời gian cache sẽ phụ thuộc vào giá trị TTL của mỗi DNS record, nếu bạn thiết lập giá trị này càng bé thì thời gian cache hết hạn càng nhanh và ngược lại. Việc thiết lập giá trị TTL này cũng rất quan trọng, nếu bạn thiết lập giá trị này quá lớn, khi xảy ra sự cố cố với endpoint có DNS record được cache lâu, client sẽ luôn thực hiện kết nối tới endpoint gặp sự cố này trong thời gian cache. Tuy nhiên nếu bạn thiết lập giá trị này quá bé, DNS service sẽ liên tục gửi truy vấn DNS tới Azure Traffic Manager, làm giảm tốc độ kết nối tới endpoint.
- Endpoint monitor settings: Các thiết lập cho Health Monitoring.
- Protocol: Giao thức kết nối để kiểm trang tình trạng sức khỏe của endpoint.
- Port: Cổng kết nối để kiểm tra tình trạng sức khỏe của endpoint.
- Path: Đường dẫn tới trang web hoặc tập tin để kiểm trang tình trạng sức khỏe của endpoint.
- Fast endpoint failover settings: Các thiết lập khác cho Health Monitoring trong đó có cấu hình để xử lý khi có sự cố xảy ra.
- Probing interval: Tần suất thực hiện kiểm tra tình trạng sức khỏe của endpoint. Dựa vào probing interval, Azure Traffic Manager phân loại quá trình kiểm tra tình trạng ra thành 2 loại:
- Normal probing: Tức với tần suất kiểm tra 30 giây 1 lần, đây là giá trị mặc định.
- Fast probing: Tức với tần suất kiểm tra là 10 giây 1 lần.
Tùy vào giá trị được thiết lập trong probing interval mà Azure sẽ đưa ra mức tính phí khác nhau (chi tiết xem bên dưới).
- Tolerated number of failures: Nếu Health Monitoring phát hiện endpoint không khỏe mạnh, nó sẽ thực hiện kiểm tra sức khỏe cho endpoint đó một lần nữa, sau X lần kiểm tra (với giá trị X là giá trị của Tolerated number of failures) mà endpoint vẫn được đánh giá là không khỏe mạnh, endpoint đó sẽ bị bị đẩy ra khỏi danh sách các endpoint hợp lệ để nhận truy cập đến và đồng nghĩa với việc endpoint đó sẽ không còn được nhận truy cập đến nữa.
Bạn có thể thiết lập giá trị này bằng 0 nếu muốn endpoint sau khi bị phát hiện là không khỏe mạnh sẽ ngay lập tức bị đẩy ra khỏi danh sách các endpoint hợp lệ để nhận truy cập đến. - Probe timeout: Thời gian tối đa để thực hiện kiểm tra sức khỏe cho 1 endpoint. Sau thời gian này mà Health Monitoring vẫn chưa nhận được kết quả phản hồi, endpoint đó sẽ bị coi là endpoint không khỏe mạnh.
- Probing interval: Tần suất thực hiện kiểm tra tình trạng sức khỏe của endpoint. Dựa vào probing interval, Azure Traffic Manager phân loại quá trình kiểm tra tình trạng ra thành 2 loại:
Chi phí sử dụng Azure Traffic Manager
Azure Traffic Manager tính phí dựa trên 2 yếu tố chính sau:
- Số lượng truy vấn DNS nhận được
- Số lượng endpoint
Số lượng truy vấn DNS nhận được
Azure Traffic Manager tính phí với số lượng truy vấn DNS nhận được khá rẻ, khoảng $0.54 cho 1 triệu truy vấn trong 1 tỷ truy vấn đầu tiên trong tháng. Với các Traffic Manager profile nhận được hơn 1 tỷ truy vấn trong tháng, con số này được giảm xuống còn $0.375 cho 1 triệu truy vấn.
Số lượng truy vấn | Chi phí |
1 tỷ truy vấn DNS đầu tiền trong tháng | $0.54 cho 1 triệu truy vấn |
Trên 1 tỷ truy vấn DNS trong tháng | $0.375 cho 1 triệu truy vấn |
Số lượng endpoint
Azure Traffic Manager cũng tính phí dựa trên số lượng endpoint được tích hợp trong 1 Traffic Manager profile. Tùy theo kiểu endpoint cũng như thiết lập tần số kiểm tra trạng thái mà chí phí cho mỗi endpoint sẽ khác nhau, cụ thể:
Kiểu endpoint | Probing Interval | Chi phí |
Azure endpoint | Normal probing (30s) | $0.36 cho mỗi endpoint trong 1 tháng |
Fast probing (10s) | $1 cho mỗi endpoint trong 1 tháng | |
External endpoint | Normal probing (30s) | $0.54 cho mỗi endpoint trong 1 tháng |
Fast probing (10s) | $2 cho mỗi endpoint trong 1 tháng |
Với các endpoint là Azure endpoint, chi phí sử dụng sẽ rẻ hơn gần 1 nửa so với các endpoint là External endpoint.
Ngoài ra, có một số tính năng khác của Azure Traffic Manager như Traffic View hay Real User Measurements có biểu phí tính phí riêng. Chi tiết các bạn có thể tham khảo tại đây.
Kết luận
Azure Traffic Manager được ứng dụng chủ yếu vào trong các bài toán phân chia tải cho hệ thống. Ngoài ra, với khả năng theo dõi được tình trạng của từng endpoint trong hệ thống, Azure Traffic Manager còn được sử dụng để làm giải pháp cho các bài toán cần xử lý chống sụp đổ hệ thống.
Với các hệ thống áp dụng mô hình distributed system, đặc biệt là các hệ thống có lưu lượng truy cập lớn và đỏi hỏi tính sẵn sàng cao trong bất kỳ tình huống nào xảy ra, việc phân chia tải hợp lý tới các node trong hệ thống là vô cùng quan trọng, nó quyết định tới hiệu suất của toàn bộ hệ thống. Hợp lý ở đây hội tụ bởi nhiều yếu tố, tuy nhiên có 2 yếu tố chính từ quan điểm của mình để làm nên sự thành công của một bộ chia tải:
- Bộ chia tải cần phải thông minh điều phối tải tới các node một cách phù hợp, tránh tạo ra các nút thắt cổ chai.
- Bộ chia tải cần phải thông minh phát hiện được các node hiện đang không hoạt động định để tránh điều phối truy cập tới các node này, dẫn tới việc người sử dụng mất truy cập với hệ thống.
Azure Traffic Manager cho phép bạn giải quyết bài toán phân tải một cách dễ dàng với các quy tắc điều phối truy cập được dựng sẵn dựa trên các thuật toán phức tạp cùng nguồn dữ liệu đồ sộ để phục vụ quá trình tính toán điều phối, phân tải. Một điểm mạnh của Azure Traffic Manager đó là hỗ trợ các hệ thống bên ngoài, không được xây dựng sử dụng các dịch vụ trên Azure, do vậy bạn có thể dễ tích hợp Azure Traffic Manager vào hệ thống hiện tại của mình để giải quyết bài toán điều hướng truy cập, khai thác sức mạnh mà dịch vụ này mang lại.
Tổng kết lại, Azure Traffic Manager giúp bạn:
- Cải thiện tốc độ truy cập giữa client với hệ thống bằng cách điều hướng truy cập tới các endpoint có độ trễ thấp nhất.
- Tăng tính sẵn sàng cho các hệ thống quan trọng cao bằng cách liên tục giám sát tình trạng sức khỏe của các endpoint và cung cấp giải pháp xử lý tự động khi có một endpoint trong hệ thống không hoạt động.
- Hỗ trợ điều phối truy cập theo từng khu vực địa lý cụ thể, từ đó đảm bảo việc điều hướng truy cập đáp ứng được các yêu cầu luật pháp về chủ quyền dữ liệu.
- Mở rộng sức mạnh của các hệ thống on-premises với cloud bằng cách hỗ trợ điều hướng truy cập tới cả các endpoint được host trên Azure cũng như các endpoint không được host trên Azure. Với khả năng này, Azure Traffic Manager cho phép dễ dàng xử lý các bài toán như:
- Migrate-to-cloud: Cho phép điều hướng dần dần truy cập từ on-premises endpoint sang Azure endpoint khi thực hiện migrate lên Azure.
- Failover-to-cloud: Cho phép điều hướng các truy cập sang Azure endpoint khi on-premises endpoint bị gặp sự cố.
- Burst-to-cloud: Cho phép mở rộng sức mạnh của các hệ thống on-premises bằng cách khai thác sức mạnh của cloud khi cần, ví dụ như điều phối bớt tải qua các endpoint trên cloud khi có 1 lượng lớn truy cập đổ về hệ thống.
- Hỗ trợ xây dựng các quy tắc điều hướng phức tạp với Nested endpoint để giải quyết các bài toán điều phối traffic phức tạp.
- Dễ dàng thực hiện bảo trì hệ thống mà không lo bị downtime bằng cách điều hướng truy cập tới các endpoint dự phòng trong khi thực hiện bảo trì cho endpoint chính.
Hy vọng bài viết đã phần nào giúp được các bạn hiểu sâu hơn về dịch vụ traffic routing – điều hướng truy cập thú vị này của Microsoft Azure.
Bạn có thể làm một bài so sánh giữa Azure Traffic Manager với Azure Front Door có được không?