Đăng ký Server Linux free với Amazon Web Service và hướng dẫn sử dụng cơ bản
Bài đăng này đã không được cập nhật trong 6 năm
1. Mở đầu
-
Đối với các lập trình viên nói chung, đặc biệt là
lập trình viên webnói riêng, khi nhắc tớideploy projetclên server hẳn là một điều gì đó khá kích thích. -
Nôm na ở mức cơ bản nhất, khi bạn lập trình website, sản phẩm đang chạy ở
localhosttrên máy của bạn, thì chỉ córất ítngười có thể tận hưởng thành quả này. -
Bạn muốn thầy cô, bạn bè, người yêu hay
cả thế giớicũng có thể trải nghiệm thành quả đó thì hãytriển khai websitelên chiếc máy khác, mà ở đó, mọi người đều có thể truy cập để tận hưởng thành quả của bạn
Đó chính là deploy: Triển khai sản phẩm vào đời sống

Vậy kiếm chiếc máy đó ở đâu ?
Tuy nhiên, cùng tìm hiểu thêm một chút đã nhé
2. Cấu trúc
2.1 Mô hình
-
Chiếc máy đó chính là
server, hay còn gọi làmáy chủ-
Máy chủ (server) là máy có chức năng
lưu trữ, cung cấp hoặc xử lýthông tin. -
Các máy khách (client)
gửi lênhoặctải xuốngdữ liệu từ máy chủ.
-

Người yêu, hay bạn bè hay thầy cô của bạn có thể dùng laptop, điện thoại hoặc PC (ở bên trái), thông qua mạng interet để tiếp cận với server (ở bên phải - nơi bạn đặt ứng dụng của bạn làm ra).
Đây chính là mô hình Client - Server.
2.2 Các loại server
- Căn cứ theo
phương pháp tạo ramáy chủ, ta có ba loại:-
Máy chủ
chuyên dụng(Dedicated Server):-
Chúng ta sẽ thuê cả
một chiếc máy thật, bao gồm từphần cứng chuyên dụngcho đến cácthiết bị hỗ trợnhư ổ cứng, CPU, RAM, card mạng ... -
Với cách này thì sẽ thực sự sở hữu nguyên một chiếc máy server,
không chung chạgì với cha con đồng chí nào cả.
![]()
-
Tuy nhiên,
giá thànhsẽ rất cao, mình không nghĩ là có đơn vị nào cung cấp free nó cả. -
Và việc
nâng cấphoặc thay đổicấu hìnhcủa máy chủ riêng đòi hỏi phảithay đổi phần cứngcủa máy chủ, khá mất thời gian vàthủ công. -
Nó sẽ phù hợp với doanh nghiệp mà thông tin được
chuyên biệt hóa, hoặc ứng dụng liên quan đếnphần cứng, cácthuộc tínhtrên phần cứng, doanh nghiệpkiểm soátđược hoàn toàn thông tin của công ty.
-
-
Máy chủ
ảo(Virtual Private Server – VPS):- Từ lý do phải dùng cả máy chủ lớn,
chi phí cao, người ta dùngcông nghệ ảo hóa(virtualization) để từ mộtmáy chủ vật lýcó thể chạy nhiềumáy chủ ảo, rồi sau đó chúng ta sẽ thuê những máy chủ ảo này.
![]()
-
Các máy chủ ảo
dùng tài nguyêntừ máy chủ vật lý gốc. Việc nâng cấp hoặc thay đổi cấu hình của máy chủ ảo rấtđơn giản, có thể thay đổi trực tiếp trên phần mềm. Tuy nhiên lại bịgiới hạnbởi tài nguyên của máy chủ vật lý -
Tư tưởng của việc này có nét giống với việc bạn thuê phòng ở
một mìnhthìđắtnên tìm người ở cùng vậy
- Từ lý do phải dùng cả máy chủ lớn,
-
Máy chủ
đám mây(Cloud Server):-
Rồi lại từ việc bị
giới hạntài nguyên phần cứng, người ta dùngcông nghệ điện toán đám mây(cloud computing) cùng vớihệ thống lưu trữ SANđể kết hợpnhiều máy chủ vật lýở các nơi trên thế giới. -
Hệ thống lưu trữ SANvới tốc độ truy xuất vượt trội giúp máy chủ hoạt động nhanh, ổn định, hạn chế mức thấp tình trạng downtime. -
Công nghệ điện toán đám mâynên dễ dàng nâng cấp từng phần thiết bị trong quá trình sử dụng mà không làm gián đoạn quá trình sử dụng máy chủ.
![]()
->
Chi phítính theo giây thực tế sử dụng, khi không cần có thểtạm ngưngsử dụng.-> Có thể
scale, nâng cấpcấu hình- Ở giai đoạn đầu của sản phẩm đang có ít end_user thì dùng cấu hình thấp.
- Sau này số lượng
end_usertăng lên thì điều chỉnh tăng cấu hình tương ứng
=> Giúp tiết kiệm chi phí hơn.
-
-
Trên thị trường hiện nay, các Cloud Server free có chất lượng không thua kém gì bản mất phí, chỉ là bị giới hạn dung lượng hoặc cấu hình. Còn VPS với những bản miễn phí đôi khi hay xảy ra tình trạng giật lác ...
Vậy nên chúng ta sẽ tìm hiểu và sử dụng Cloud Server luôn nhé.
3. Nhà cung cấp
Nhắc đến các nhà cung cấp Cloud Server thì có ba ông lớn:
- Google với sản phẩm
Google Cloud. - Microsoft với sản phẩm
Microsoft Azure. - Amazon với sản phẩm
Amazon Web Service(AWS).

-
Ngoài ra thì còn các nhà cung cấp khác với thị phần nhỏ hơn như
Aruba Cloud,DigitalOcean,Vultr... -
Thế
chọndịch vụ của bác nào bây giờ ?AWSđã bước chân vào thị trường Cloud nàykhá sớm- 2006, và trở thành mỏđào ra vàngcho Amazon. Hiện nay vẫn đang chiếm thị phần lớn nhất,năm 2018 là 32%, nếu bạn có một doanh nghiệp lớn và bạn cầnnhiều ứng dụng, tiện íchnhất có thể, AWS có thể là giải pháp của bạn.Microsoftbước chân vào năm 2010, đến2018 thì đang chiếm 16,5 %. Nếu doanh nghiệp của bạn đã rấtgắn bóvớihệ sinh tháinày, thì Azure có thể là lựa chọn của bạn.- Còn Google bước chân vào năm 2008,
đến 2018 thì chiếm 9,5 %. Đối với các công ty khởi nghiệp nhỏ, Google Cloud có thể là một giải pháp tốt vì mức giáhấp dẫn hơn, dễ sử dụng cho công ty nhỏ.
Với các khách hàng Nhật Bản thì không hiểu sao họ cực kì chuộng AWS, gần như là mặc định khi chọn nhà cung cấp server. Mình cũng đang làm việc với AWS, độ miễn phí của AWS cũng có vẻ mạnh tay nên trong bài viết này, chúng ta sẽ cùng tìm hiểu AWS nhé !
Khi đó, ta được miễn phí những gì:


- Đó là
Amazon EC2: dịch vụ máy chủ ảo với 750h free - Đó là
Amazon S3: dịch vụ lưu trữ dữ liệu với 5 GB free - ... và rất nhiều dịch vụ khác.
Trong phạm vi bài viết, như đã đề cập ở trên, ta cùng tìm hiểu Amazon EC2 nhé.
4. Các bước tiến hành
4.1 Chuẩn bị
-
Chuẩn bị
thẻ VISAhoặcMaster Card.-
Có thể một số bạn chưa quen và
ngạiđi làm thẻ VISA nhưng việcthanh toán onlinecho các công ty quốc tế như thế này là điều hết sứcbình thường, trước sau gì thì cũng nên làm một cái. -
Và bởi vì chúng ta sẽ thanh toán online nếu
phát sinh chi phícho nên ngay từ bước đăng ký tài khoản thì đã cần thông tin này rồi.
-
-
Về thẻ quốc tế thì có chút lưu ý như sau:
- Thẻ ngân hàng thông thường (thẻ nội địa) thì chỉ có thể
thanh toán trong nước,thanh toán quốc tếthì cần thẻ VISA hoặc Master Card, khi ra nước ngoàirút tiềnthì cần thẻ này. - Có 2 loại thẻ quốc tế là
Debit hoặc Credit, google để tìm hiểu thêm - Vì chỉ cần có thông tin trên thẻ thanh toán quốc tế, sau đó xác thực OTP là có thể thanh toán được, (thậm chí một số hệ thống còn bỏ qua xác thực OTP) nên nếu bị
mất thẻthì coi như xong, vậy nên mô hình mà mọi ngườikhuyến cáonên sử dụng là làm mộtthẻ nội địa(để phần lớn tài khoản) và 1thẻ VISA(để ít tiền). - Chọn
ngân hàng:- Nội địa thì hay dùng thẻ của ngân hàng
Vietcombank(chất lượng ổn định, tuy phí duy trì với chuyển tiền hơi cao) - Quốc tế thì dùng thẻ của ngân hàng
ACB(Thủ tục đơn giản, nhanh chóng, thời gian xác minh thấp, tới quầy giao dịch đăng ký thì sau 1-2 h đã có thể lấy thẻ dùng ngay, còn một số ngân hàng khác phải đợi từ 5-7 ngày.)
- Nội địa thì hay dùng thẻ của ngân hàng
- Thẻ ngân hàng thông thường (thẻ nội địa) thì chỉ có thể
4.2 Đăng ký tài khoản
- Vào trang chủ, đăng ký tài khoản Amazon nào.

- Các bạn cứ lần lượt điền các thông tin rồi
Continuenhé ! Cũng không có gì quá đặc biệt ở đây cả, chỉ cólưu ýnhỏ là:- amazon.com -> trang
bán lẻcủa công ty Amazon - aws.amazon.com -> mới là
truy cập dịch vụAmazon Web Service - Đăng ký xong sẽ cần một thời gian để hệ thống
xác minh thông tin ngân hàngcủa bạn, nhỡ đâu bạnkhai manthì sao
Đợi email để biết kết quả nhé. - Tài khoản ngân hàng của bạn sẽ bị
trừ 1$, khả năng làphí xác minh danh tínhthì phải. Một số bạn của mình đã đượchoàn lạisau một thời gian, nhưng mình thì mãi mà chẳng thấy được hoàn lại gì cả
- amazon.com -> trang
4.3 Tạo Instance

-
Sau khi
Sign in to the ConsoleDưới đây là màn hình Console
![]()
-
Có rất nhiều dịch vụ được AWS cung cấp, để tạo và sử dụng
cloud serverta chọn EC2 (Amazon Elastic Computer Cloud).- Chọn luôn
Region Singaporecho gần Việt Nam nhé - Mỗi một khi chạy một
instancetức là tức là chúng ta đang khởi chạy lên mộtcloud server, nếu bật2 instancethìmỗi phúttrôi qua bạn sẽ bị tính thành2 phútvà mỗi tháng bạn có750 h freenhư thế trong vòng 1 năm. - Nếu sắp vượt quá giới hạn free thì sẽ có
email cảnh báogửi đến bạn, và nếu vượt qua thì bạn sẽ bịtrừ tiền, vậy thôi =))
- Chọn luôn

-
Click vào
Launch Instance:- Bạn sẽ tới bước 1, chọn
Amazon machine images(AMI) - AMI cung cấp các gói cần thiết (bao gồm hệ điều hành và một số phần mềm cần thiết).
- AMI nào có chữ
Free tier eligibletức bạn có thể sử dụng nó theo cấp free. - Ở đây, mình cứ chọn Server Ubuntu 18.04
trắng tinhmà quất thôi =))![]()
- Bạn sẽ tới bước 1, chọn
-
Chọn
Instance Type,- Tương ứng sẽ chọn CPU, RAM ... nhưng ở đây chỉ có 1 loại được sử dụng cho "Free tier eligible" thôi.
- Nếu chọn
Review and Launchthì bạn sẽ đồng ý với các config mặc định tiếp theo. - Nếu chọn
Next: Configure Instance Detailsthì bạn sẽ đi tới các bước cấu hình chi tiết và có thể sửa đổi chúng.
![]()
-
Setting
Key Pair- Ở bước này, chúng ta cần tạo
Key Pairrồi tải xuống, để sau này, chúng ta có thể dùng nó đểSSH vào server. Download Key Pairvề rồi giấu nó đi héng, để người khácbiết đượclà cũng mệt đấy.![]()
- Ở bước này, chúng ta cần tạo
-
Click
Launch Instance- Chúng ta sẽ tới màn hình quản lý Instance, sau khi Instance State chuyển sang Runing thì oki xong, chúng ta đã tạo xong một Cloud Server.
![]()
- Chúng ta sẽ tới màn hình quản lý Instance, sau khi Instance State chuyển sang Runing thì oki xong, chúng ta đã tạo xong một Cloud Server.
5. Hướng dẫn sử dụng cơ bản
5.1 Security groups
- Click vào
view inbound rules, mình sẽ nhìn thấy cổng kết nối đang được áp dụng.

- Click vào
launch-wizard-3, sẽ tới màn hình quản lý cácSecurity groups- SSH thì sẽ qua
cổng 22, HTTP thì sẽ quacổng 80, HTTPS thì quacổng 443... - Nếu muốn có
hình thức kết nốinào thì ta cầnmở cổng tương ứng. - Có 2 cách ở đây, một là
edit, bổ sung thêm hình thức HTTP cholaunch-wizard-3. Hai làtạo mớilaunch-wizard-4rồi chỉnh choinstancevừa tạo sử dụngsecuriry groupsnày ...![]()
- SSH thì sẽ qua
5.2 Truy cập Instance
Chuột phảivào dòng hiển thị instance,chọn connectsẽ hiển thị lên hướng dẫn truy cập:![]()
Bao gồm
-
Cấp lại quyền cho file pem:
chmod 400 hoanky_blog_1.pem -
Sử dụng SSH để kết nối tới server
Cú pháp:
ssh -i <path_to_pem_file> <user_name>@<public_dns_ipv4>- user_name: Mặc định thì user_name ở đây là ubuntu
- public_dns_ipv4: các bạn có thể tìm thấy ở tab Description
Vi dụ:
ssh -i "hoanky_blog_1.pem" ubuntu@ec2-13-250-102-116.ap-southeast-1.compute.amazonaws.com

5.3 Cấp quyền
-
Tạo thêmuserubuntu@ip-172-31-24-203:~$ sudo adduser deploy

Chuyển đổiuser

-
Bây giờ, bạn phép ai đó có thể
truy cậpserver vớiaccount user deploy, cònuser ubuntuthì chỉ có bạn thôi, vì bạn làbig bossmà
-
Sinh SSH key ở local
ssh-keygen -t rsa -C "deploy@gmail.com -
Điều này sẽ tạo ra public key và private key.
- Private key thì phải giấu nhé
- Public key thì mặc định được lưu ở đây
cat ~/.ssh/id_rsa.pub
-
Đem public key này đặt vào server, tương ứng cho user deploy
su deploy cd mkdir .ssh nano ~/.ssh/authorized_keysrồi paste public key vào đây.
-
Okie, xong rồi, bạn có thể kết nối từ local vào
user deployrồi![]()
-
-
Cấp
quyền sudo-
Tuy nhiên
user deploynày chưa thể chạy vớiquyền sudođượcdeploy@ip-172-31-24-203:~$ sudo apt-get update [sudo] password for deploy: deploy is not in the sudoers file. This incident will be reported. -
Vậy nên hãy
cấp quyềnsudo cho nósudo nano /etc/sudoers![]()
Để ý một chút, ta thấy có group
adminvà groupsudokìa, vậy adduser deployvàogroup sudolà xong.sudo usermod -a -G sudo deploy![]()
-
5.4 Truy cập HTTP
Ở phần này chúng ta sẽ config để có thể truy cập server từ cổng 80 nhé. OK let go 
-
Bước 1: Chỉnh
Security groups- Chỉnh sửa
security groupsmàinstanceđang sử dụng, bổ sung thêm HTTP nếu chưa có![]()
- Chỉnh sửa
-
Bước 2: Cài đặt nginx cho server.
sudo apt-get install nginx -
Kiểm tra lại status của nginx service
sudo service nginx status -> Active: active (running) since Wed 2019-07-24 03:42:54 UTC; 8s ago -
Tận hưởng thành quả nào
![]()
Tài liệu tham khảo:
② https://vn.apps-gcp.com/so-sanh-dich-vu-gcp-vs-aws-vs-azure/
③ https://quantrimang.com/tim-hieu-ve-dich-vu-amazon-ec2-83626
④. https://www.codehub.vn/Phan-Biet-Su-Khac-Nhau-Giua-VPS-va-Cloud-Hosting
⑤ https://toidicodedao.com/2018/11/27/cloud-ra-doi-cloud-provider-aws-azure-gcp/
⑥ https://vuihocweb.com/vhw-reviews/hosting-reviews/nhung-dich-vu-vps-free-dang-dung
All rights reserved














