Điểm:1

Phương pháp hay nhất: di chuyển nhiều máy ảo và Vhost sang Docker

lá cờ sg

Tôi hiện có khoảng 20 trang web và ứng dụng được lưu trữ trên AWS EC2. Một số có EC2 của riêng họ, trong khi những người khác chia sẻ EC2 với nhiều máy chủ ảo trên EC2 đó.

Mỗi trang web hoàn toàn riêng biệt và không liên quan đến trang web khác. Những cái chia sẻ EC2 thường nhỏ hơn nhiều với ít yêu cầu về lưu lượng/tài nguyên (do đó là máy chủ dùng chung).

Tôi cũng có một máy chủ EC2 được sử dụng đơn giản để chạy các tác vụ theo lô và theo lịch trình cùng với phiên bản trực tiếp của trang web, nhằm đảm bảo trang web trực tiếp vẫn có thể truy cập được ngay cả khi các tác vụ theo lịch trình rất nặng.

Tôi đang tìm cách sử dụng Docker trên toàn bộ môi trường dev > prod của mình để sử dụng tài nguyên máy chủ tốt hơn và di chuyển dễ dàng hơn giữa các môi trường, v.v.

Tôi muốn biết suy nghĩ của bạn về phương pháp hay nhất dành cho phần cứng máy chủ sản xuất.

Tốt nhất là sử dụng một EC2 lớn hơn và có mọi trang web làm vùng chứa docker của riêng nó trên đó? Điều này nghe có vẻ giống như quản trị viên máy chủ ít hơn, thiết lập tổng thể gọn gàng hơn và theo những gì tôi hiểu, mỗi bộ chứa docker vẫn tự giữ cho chính nó theo quan điểm bảo mật. Tuy nhiên, mọi sự cố máy chủ hoặc đột biến tài nguyên sẽ ảnh hưởng đến tất cả các trang web (giảm thiểu bằng bộ cân bằng tải).

Hoặc, tốt nhất là tôi nên chia chúng thành nhiều EC2, tức là trên EC2 trên mỗi bộ chứa docker? Điều này có vẻ hoàn toàn trái ngược với quan điểm của docker, nhưng không chắc liệu tôi có thiếu thứ gì không.

Khi đó, việc sử dụng một EC2 duy nhất cho tất cả các trang web sẽ giúp thiết lập bộ cân bằng tải và/hoặc kiểm soát máy chủ dễ dàng hơn (ít quản trị viên hơn).

Ghi chú; nếu nó tạo ra bất kỳ sự khác biệt nào, tôi sử dụng RDS cho MySQL; không có MySQl nào chạy trực tiếp trên bất kỳ EC2 nào.

Cảm ơn trước

Điểm:1
lá cờ id
MLu

Chúng tôi thường sử dụng ECS (Dịch vụ Container đàn hồi) với số X là nhiệm vụ (= trang web của bạn) và số Y của máy chủ (= phiên bản EC2 để chạy các tác vụ đó), trong đó X >= Y. Sau đó, chúng tôi để ECS phân phối các tác vụ trên các máy chủ khi thấy phù hợp theo yêu cầu. Bạn có thể chỉ định dung lượng RAM và sức mạnh CPU mà mỗi tác vụ/trang web cần.

Chúng tôi cũng có các phiên bản EC2 trong một Nhóm tự động mở rộng quy mô - nếu một trong số chúng bị chết, nó sẽ tự động được thay thế và sau đó ECS sẽ tự động triển khai lại các vùng chứa bị mất và đăng ký chúng vào Cân bằng tải, tất cả đều không có sự can thiệp của con người.

Bạn cũng có thể muốn chạy một số tác vụ trong AWS Fargate, là dịch vụ bộ chứa serverless - đặc biệt đối với các tác vụ/trang web lớn hơn, đây có thể là một lựa chọn tốt. Đối với các tác vụ nhỏ, việc hợp nhất chúng trên một phiên bản EC2 duy nhất thường tiết kiệm hơn.

Điểm mấu chốt là để tách các nhiệm vụ (vùng chứa) khỏi máy chủ - có một nhóm trang web và không quan tâm chúng chạy ở đâu, và có một nhóm máy chủ lưu trữ và không quan tâm những gì chạy trên chúng.Tuy nhiên, nó cần một số mức độ tự động hóa - bạn muốn các tác vụ được đăng ký tự động vào Nhóm mục tiêu ALB, các máy chủ được tự động thêm khi hết dung lượng/được thay thế nếu chúng chết, v.v.

Hy vọng rằng sẽ giúp :)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.