[Discussion] Một hệ thống như Cloudflare |
01/08/2014 14:43:11 (+0700) | #1 | 281158 |
levutech
Member
|
0 |
|
|
Joined: 13/07/2014 01:11:04
Messages: 4
Offline
|
|
Chào các bạn,
Tình hình là mình muốn xây dựng một hệ thống giống như Cloudflare để sử dụng cho các project và website của khách hàng bên mình. Sỡ dĩ mình không dùng dịch vụ của Cloudflare là bởi vì chi phí cao, không control được toàn bộ và đặt biệt không có node nào ở VN. Do đó mình muốn tự xây dựng và cũng là để có cơ hội học hỏi thêm.
Mô hình xây dựng của mình như sau, đầu tiên mình sẽ đăng ký nhiều server với đường truyền tốc độ cao đặt tại các DC lớn hiện nay bao gồm FPT, Viettel và CMC. Số lượng server có thể thay đổi tuỳ theo nhu cầu phát triển, tuy nhiên mỗi DC sẽ đặt 2 server trở lên và xem như là một node.
Các server trong mỗi node mình sẽ triển khai :
- iptables để làm layer 3 và layer 4 firewall vì nếu nói về firewall ở low level chắc chưa ai qua iptables.
- nginx làm reverse proxy kết mod pagespeed (by google) để tăng performance cho website bên trong.
- sử dụng chức năng proxy_cache của nginx để cache lại traffic xuyên qua reverse proxy hoặc sử dụng varnish.
- (nếu dùng varnish thì có thể lưu cache trên RAM, điều này rất tiện và tốc độ cũng cải thiện hơn)
- mod_security để làm firewall layer 7 cho các ứng dụng website bên phía trong của khách hàng.
- (hiện mình không có nhu cầu sử dụng snort trên các node bởi vì có mod_security rồi)
- một monitoring client nào đó ví dụ của zabbix hoặc nếu nhẹ nhàng thì có thể chọn munin
- hiện giải pháp log đang nghiên cứu nhưng có lẽ chọn syslog-ng và build một vpn để đổ log về log server
Các server trong node mình dự định cấu hình load balancing và có một control server riêng chuyên nhặc log và theo dõi tình hình các server trong node real time nhưng hiện giờ chưa chọn được giải pháp và cũng đang phân vân việc này có làm phức tạp hệ thống lên và khó control hay không. Bởi vì sẽ có nhiều node khác nhau.
Ngoài ra :
- Một DNS server sẽ được cài đặt bind và GeoIP để phân giải các domain về từng node nào gần nhất và hiệu quả nhất.
- Vấn đề đồng bộ các file config mình cũng đang tìm giải pháp nhưng chưa chọn được. Có thể đơn giản là cấu hình Samba và share file config chung giữa các server.
- UI control là việc không cần thiết bởi vì system này do mình dùng nên mình chẳng ngại control thông qua SSH, việc sử dụng một Web base UI là không cần thiết.
Các bạn có đóng góp ý kiến hay ném đá gì thì nhiệt tình nhé. Cám ơn |
|
|
|
|
[Discussion] Một hệ thống như Cloudflare |
01/08/2014 22:34:17 (+0700) | #2 | 281165 |
StarGhost
Elite Member
|
0 |
|
|
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
|
|
Về việc cấu hình CDN, bạn cần phải tính toán thật kĩ về request routing. Bạn cho biết về việc sử dụng DNS load balancing cho CDN, tức là việc routing dựa vào khoảng cách địa lý. Tuy nhiên Việt Nam tương đối nhỏ, nên khoảng cách địa lý có thể không không phải quá quan trọng. Ngoài ra còn có các yếu tố khác như load, throughput, bandwidth cost/limitation, v.v… Việc sử dụng DNS cho CDN request routing cũng có một giới hạn nữa là nếu DNS resolver không phải là local thì sẽ giảm thiểu độ hiệu quả, ví dụ có một vài lần mình thấy DHCP trả về IP DNS của Google.
Còn về các vấn đề liên quan đến security thì phải tuỳ thuộc vào đặc thù của dữ liệu và việc sử dụng chúng, và tốt nhất là nên xử lý tốt trước khi đi vào hoạt động nếu không muốn bị "vỡ trận" vì DDoS. Việc này đòi hỏi sự kết hợp nhuần nhuyễn giữa load balancing, mod_security và iptables, và log. |
|
Mind your thought. |
|
|
|
[Discussion] Một hệ thống như Cloudflare |
03/08/2014 13:00:07 (+0700) | #3 | 281176 |
levutech
Member
|
0 |
|
|
Joined: 13/07/2014 01:11:04
Messages: 4
Offline
|
|
Topic này hay mà sao thấy ít bạn quan tâm đến topic nhỉ. Mình đang rất mong nhận được sự góp ý và chia sẽ ý kiến của những người có kinh nghiệm như anh conmale hoặc là quanta. Chắc các bạn cũng từng xây dựng những system như thế này rồi. |
|
|
|
|
[Discussion] Một hệ thống như Cloudflare |
04/08/2014 09:18:53 (+0700) | #4 | 281189 |
myquartz
Member
|
0 |
|
|
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
|
|
levutech wrote:
Topic này hay mà sao thấy ít bạn quan tâm đến topic nhỉ. Mình đang rất mong nhận được sự góp ý và chia sẽ ý kiến của những người có kinh nghiệm như anh conmale hoặc là quanta. Chắc các bạn cũng từng xây dựng những system như thế này rồi.
Hay nhưng làm thành dịch vụ thì ... khó sống. Vả lại quy mô VN quá nhỏ để cần 1 cái đó.
CloudFlare nó là cả 2 thứ kết hơp lại: CDN và Web App Firewall. Làm được như họ là khả thi nhưng giá thì khó mà rẻ hơn, quy mô nhỏ lại càng khó, đi mua cho nhanh. Hơn nữa nó không chỉ là vấn đề kỹ thuật. CloudFlare họ có contract với 1 số tier-1 ISP trên thế giới (hoặc tương tự thế) nên về mặt đường truyền mạng, họ có lợi thế cực lớn và không sợ DDoS là vì vậy.
CDN thì ở VN có lẽ chỉ vài nhà dịch vụ cung cấp nội dung như game online, video clip mới cần đến, do mạng VN nhỏ, VNIX cũng khá tốt đủ băng thông liên ISP rồi. Một điểm nữa những nhà cung cấp nội dung lớn cần đến CDN thì lại trực thuộc một ISP, họ thích gia tăng giá trị mạng ISP của mình hơn là đặt CDN cho nhiều khách hàng ở ISP khác, dùng nội dung để tạo lợi thế so với ISP khác. Kinh doanh nội dung độc lập ở VN khó sống được lắm.
HVA cũng có vài bài liên quan đến CDN, search google cũng nhiều và việc thiết lập nó nếu bạn nắm trong tay cả dịch vụ và CDN thì rất dễ dàng (sync content giữa các bên chẳng hạn).
Còn cái Web App Firewall, HVA cũng nhiều bài viết về cái này. Đủ xài cho một dịch vụ nội bộ. |
|
|
|
|
[Discussion] Một hệ thống như Cloudflare |
04/08/2014 10:27:50 (+0700) | #5 | 281190 |
levutech
Member
|
0 |
|
|
Joined: 13/07/2014 01:11:04
Messages: 4
Offline
|
|
myquartz wrote:
Hay nhưng làm thành dịch vụ thì ... khó sống. Vả lại quy mô VN quá nhỏ để cần 1 cái đó
Mình không định triển khai cái này thành một service hay tương tự thế. Chủ yếu dùng cho các khách hàng của công ty mà thôi. Cloudflare không có hạ tầng tại VN nên nhiều khách hàng dùng Cloudflare thì phải đi đường vòng, trong khi không phải ai cũng chịu bỏ tiền để dùng pro plan của Cloudflare. Hơn nữa xây dựng từng hệ thống riêng lẽ như Firewall hay IDPS thì mình thấy đơn giản, nhưng kết hợp lại với nhau thì còn nhiều cái phải bàn quá. |
|
|
|
|
[Discussion] Một hệ thống như Cloudflare |
05/08/2014 14:35:10 (+0700) | #6 | 281206 |
myquartz
Member
|
0 |
|
|
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
|
|
levutech wrote:
myquartz wrote:
Hay nhưng làm thành dịch vụ thì ... khó sống. Vả lại quy mô VN quá nhỏ để cần 1 cái đó
Mình không định triển khai cái này thành một service hay tương tự thế. Chủ yếu dùng cho các khách hàng của công ty mà thôi. Cloudflare không có hạ tầng tại VN nên nhiều khách hàng dùng Cloudflare thì phải đi đường vòng, trong khi không phải ai cũng chịu bỏ tiền để dùng pro plan của Cloudflare. Hơn nữa xây dựng từng hệ thống riêng lẽ như Firewall hay IDPS thì mình thấy đơn giản, nhưng kết hợp lại với nhau thì còn nhiều cái phải bàn quá.
Vậy bạn chỉ cần làm 1 Web App Firewall (hoặc gọi chính xác là HTTP Reverse Proxy), là đủ cho 1 site khách hàng.
Quy mô mạng VN không cần 1 CDN cho phức tạp, trừ khi các dịch vụ của bạn là download file thì có thể xem xét đặt mirror server 2 nhà cung cấp ở 2 đầu VN thì ổn rồi (mirror đơn giản hơn CDN gấp nhiều lần), rồi link ghi: HN down tại đây, HCM down tại đây, là xong.
Mình không rõ khách hàng của bạn có site quy mô thế nào, đạt peak băng thông ra sao, có HTTPS không, nhưng 1 HTTP Reverse Proxy, chỉ cần 1 server ngix khéo 1 chút nó có thể gánh được từ 1000-3000 request/s, băng thông đạt 300Mbit/s. |
|
|
|
|
|
|
|
Users currently in here |
1 Anonymous
|
|
Powered by JForum - Extended by HVAOnline
hvaonline.net | hvaforum.net | hvazone.net | hvanews.net | vnhacker.org
1999 - 2013 ©
v2012|0504|218|
|
|