Hướng dẩn Xây dựng hệ thống WebServer với Amazon Web Services (AWS)

Trong các bài trước mình cũng đã giới thiệu cho các bạn biết về khái niệm và lợi ích của từng tính năng, dịch vụ. Nhưng AWS có khá nhiều tính năng nên với những bạn mới lần đầu tìm hiểu cũng như sử dụng nó sẽ gặp nhi??

Khi nào cần sử dụng AWS

Trường hợp 1: Với những bạn chưa có Hosting hoặc Server/VPS và có ý định muốn dùng AWS làm hệ thống WebServer cho website, thay vì sử dụng ở nhà cung cấp khác.
Trường hợp 2: Với những bạn đã có Hosting hoặc Server/VPS rồi nhưng muốn sử dụng AWS để làm CDN, DNS hoặc lưu trữ một phần dữ liệu từ web.

Cả 2 hoặc nhiều trường hợp khác tùy vào nhu cầu sử dụng của bạn, hầu hết AWS đều đáp ứng hết. Nhưng bởi AWS là hệ thống lớn nên khi bạn sử dụng nhiều dịch vụ thì mức phí khá cao.

Để tạo một hoặc nhiều trang website trên AWS cần chuẩn bị những gì?

  • Tài khoản AWS
  • Lựa chọn Location
  • Lựa chọn các dịch vụ trên AWS

Bước 1. Thiết lập

Đăng ký tài khoản mới trên AWS

Việc tạo tài khoản trên AWS sẽ không mất phí và không tốn nhiều thời gian của bạn (chỉ tầm 5 phút). Bạn chỉ cần có email xác nhận và Số điện thoại để nhận cuộc gọi xác định tự động từ hệ thống và một thẻ Visa/Mastercard để verify tài khoản. Mình đã hướng dẫn cách tạo tài khoản AWS từng bước, các bạn có thể xem.

Lựa chọn Location cho Website

Có nhiều bạn sẽ thắc mắc hệ thống Amazon được đặt ở bên nước ngoài thì tốc độ về VN sẽ chậm, đặt biệt những ngày đứt cáp. Bạn hoàn toàn yên tâm, AWS hoạt động 49 vùng khả dụng trong 18 khu vực địa lý trên toàn thế giới với kế hoạch mở rộng thêm 12 khu vực. Bạn có thể chọn Location ở Asia Pacific (Singapore) thì tốc độ về VN sẽ nhanh (Thay đổi Location ở góc trên cùng phía bên phải). Bản thân mình đang sử dụng US East (N. Virginia) cảm thấy khá là nhanh.

Ngoài ra, các bạn dùng thêm Amazon CloudFront, CloudFlare nó sẽ phân phối dữ liệu web của bạn đều trên toàn thế giới, nên dù khách hàng bạn có ở nên đâu thì truy cập vẫn nhanh và ổn đinh.

Bước 2. Triển khai hệ thống WebServer trên AWS

Thứ tự thực hiện thiết lập một hệ thống WebServer trên AWS:

– Thiết lập hạ tầng mạng: Amazon Virtual Private Cloud (Amazon VPC)
– VPS/Server, trên AWS gọi là Amazon EC2 (Instance)
– Kho lưu trữ: Amazon S3
– Phân phối, cân bằng nội dung web toàn cầu: Amazon CloudFront
– Sử dụng SMTP để gửi mail: Amazon Simple Email Service (Amazon SES)
– Hệ thống giám sát VPS/Server: Amazon CloudWatch

amazon web services global infrastructure resized

Ngoài ra, đối với các cty lớn có nhu cầu sử dụng sử dụng Database riêng, các bạn có thể sử dụng Amazon AuroraAmazon Relational Database Service (RDS) và Hệ thống tên miền đám mây (DNS Domain) – Amazon Route 53.

Thiết lập hạ tầng mạng bằng Amazon VPC

AWS VPC

Mình gọi là thiết lập hạ tầng mạng để nói cho các bạn dễ hình dung, thật chất về mục đích cuối cùng nó cũng giống như hệ thống tầng mạng thật bạn hay dùng thôi. Nhưng nó khác ở đây là sử dụng hoàn toàn hệ thống điện toán đám mây. Nó sẽ cung cấp cho bạn một dãy mạng, địa chỉ IP, Subnets, Route Tables, Internet Gateway,…

Xem thêm: Tìm hiểu về Amazon VPC là gì?

Tóm lại là các bạn không cần quan tâm hết những tính năng đó là gì? Chỉ cần bạn biết nó cung cấp cho bạn địa chỉ IP và hệ thống mạng để có thể kết nối từ VPS/Server tới khách hàng và ngược lại. Đặc biệt hệ thống mạng của Amazon luôn hoạt động trong trạng thái tốt nhất, đảm bảo thời gian hoạt động là 100%.

Để cài đặt thiết lập VPC thì mình đã có bài hướng dẫn cách cài đặt Amazon VPC, các bạn có thể xem và làm theo rất dễ vì hệ thống sẽ tự động tạo tất cả.

Thiết lập VPS/Server bằng Amazon EC2 (Instance)

amazon ec2 instance

Cách thiết lập nó cũng giống như các nhà cung cấp khác, cũng cho lựa chọn cấu hình, dung lượng ổ đĩa, các chính sách bảo mật, chọn lớp mạng, chọn hệ điều hành,…

Xem thêm: Hướng dẫn tạo máy ảo VPS – Instance trên Amazon EC2

Lưu ý:

  • Đối với Web nhỏ thì nên dùng Amazon EC2 làm nơi lưu trữ code luôn cho tiện thì chọn nên dung lượng cao lên nhé tại mục Add Storage.
  • Đối Web lớn có dữ liệu nhiều cập nhật liên tục thì nên sử dụng thêm Amazon S3 để phân phối dữ liệu, cân bằng tải tránh tình trạng sập.

Mình chia sẽ thêm cấu hình con VPS mà mình đang chạy với 7 trang Web trên đó:

  • Instance type: m4.large: 2 vCPU, 6.5 ECU, 8 Memory (GiB), 50GiB EBS Only – Instance Storage (GB), price $0.1 per Hour
  • AMI ID: CentOS Linux 7 x86_64 HVM
  • Software: cPanel
  • Location: US East (N. Virginia)

Với cấu hình trên thì riêng mình phải trả chi phí hàng tháng của dịch vụ Amazon EC2 vào khoảng $80.

Sau khi đã thiết lập xong VPS/Server, nếu bạn muốn sử dụng giao diện quản lý dữ liệu cho tiện thì có thể sử dụng cPanel, Plesk, DirectAdmin,.. hoặc LAMPLEMP server.

Thiết lập nơi lưu trữ Web Amazon S3

Amazon S3 Home

Thông thường sử dụng Amazon S3 để lưu trữ các dữ liệu code Web: js, CSS, PHP, hình ảnh,… Sử dụng nó để giảm dung lượng ổ đĩa cũng như tăng tốc độ load của web lên, dễ quản lý, dễ backup hơn. Nhưng để thiết lập được Amazon S3 trước hết phải thiết lập Amazon EC2 vì chúng sẽ kết hợp với nhau.Bạn có thể xem thêm cách sử dụng Amazon S3 trên AWS.

Thiết lập CDN, phân phối dữ liệu Website với Amazon CloudFront

CloudFront CDN

Amazon Cloudfront là mạng CDN phân phối nội dung tĩnh và streaming toàn cầu của Amazon. Khi bạn sử dụng CDN sẽ giúp cho khách truy cập nhanh vào dữ liệu máy chủ web gần họ nhất thay vì phải truy cập vào trung tâm dữ liệu của nhà cung cấp hosting bạn đang dùng.

Hiện tại Amazon Cloudfront đang có các POP ở US, EU, Hong Kong, Philippines, S. Korea, Singapore Taiwan, Japan, South America, Australia, India nên khi sử dụng chắc chắn tốc độ website của bạn sẽ được tăng lên một cách đáng kể từ VN.

Chi phí sử dụng Cloudfront rất rẻ, bạn chỉ phải trả phí cho những gì sử dụng mà thôi, xem chi tiết ở đâyLưu ý: Cloudfront sử dụng Amazon S3 để lưu trữ dữ liệu nên trong hóa đơn hàng tháng bạn sẽ thấy xuất hiện thêm khoản này nữa.

Xem thêm: Hướng dẫn cách tạo Amazon Cloudfront cho Website

Thiết lập SMTP để gửi, nhận mail với Amazon SES

Amazon SES Email

Amazon Simple Email Service (Amazon SES) là một nền tảng email cung cấp cách thức dễ dàng, hiệu quả về chi phí để bạn gửi và nhận email sử dụng địa chỉ email và tên miền của riêng mình.

Với tài khoản miễn phí AWS Free Tier, bạn có thể sử dụng miễn phí Amazon SES bạn có thể gửi đi đến 62,000 email và 1000 email đến. IP của Amazon cũng thuộc dạng tin cậy nên khả năng vào inbox cũng cao hơn những dịch vụ khác sử dụng một thời gian vô mục spam.

LỜI KẾT:

Trên đây là những dịch vụ cần thiết trong hàng chục dịch vụ của Amazon, với nhu cầu đơn giản cần một nơi chứa dữ liệu Web, tốc độ nhanh, hệ thống ổn định, khách hàng trên toàn thế giới thì những dịch vụ mình đã liệt kê ở trên sẽ đáp ứng được các nhu cầu của bạn. Nhưng nếu các bạn chưa biết cách cài đặt thì mình có thể giúp các bạn với dịch vụ cài đặt VPS/Server.

Chi phí cho các dịch vụ trên vào tầm khoản $100/ tháng trở lại, mình lấy số chẵn để các bạn dễ ước tính vì thực tế các bạn dùng bao nhiêu, nhiều hay ít thì giá cuối cùng sẽ khác nhau cao hay thấp.

Chúc các bạn thành công! Mọi thắc mắc, cần hỗ trợ hãy bình luận bên 


Kiếm Tiền Google

46 Blog posts

Comments