Cùng Học DevOps - Tạo máy ảo EC2 và chạy website đầu tiên với AWS

Posted on:15 tháng 4, 2023 at 10:15

Xin chào các bạn, ở bài viết này chúng ta sẽ tạo một máy ảo Ubuntu sử dụng dịch vụ AWS EC2.

Table of contents

Open Table of contents

Giới thiệu AWS EC2

AWS EC2 (Elastic Compute Cloud) là một dịch vụ đám mây của Amazon Web Services cho phép người dùng sử dụng các máy ảo trên nền tảng đám mây của AWS.

EC2 cung cấp cho người dùng khả năng linh hoạt trong việc triển khai các ứng dụng, từ các ứng dụng đơn giản đến các ứng dụng phức tạp yêu cầu nhiều tài nguyên. Nó cho phép người dùng tùy chỉnh cấu hình các máy ảo để đáp ứng các yêu cầu cụ thể của ứng dụng.

Tạo máy ảo Ubuntu với AWS EC2

Các bạn tìm kiếm ec2 trên thanh tìm kiếm vào chọn vào dịch vụ EC2, ở màn hình dịch vụ EC2 các bạn có thể tạo các máy ảo, AWS gọi nó là các instances.

Với tài khoản đăng ký mới, chúng ta có 750 giờ chạy máy ảo miễn phí với các máy thuộc Free tier.

Chọn Launch instance để tạo mới một instance.

ec2 dash board

Điền thông tin tên của instance, chọn hệ điều hành là Ubuntu phiên bản 22.04 có tag Free tier eligible, kéo xuống phía dưới ở phần Instance type chọn t2.micro, đây là loại instance miễn phí trong gói Free tier.

enter name and choose véion ubuntu

choose instance type and click create new key pair

Phần Key pải (login) do lần đầu tạo instace nên chưa có, nhấn Create new key pair để tạo mới, điền tên key pair và giữ nguyên các thông số còn lại. Sau khi tạo xong chúng ta sẽ lưu nó vào một thư mục dễ nhớ để các lần sau sử dụng lại và không cần tạo mới nữa.

create rsa key pair

Ở phần Network settings, chọn Select existing security group và chọn Default secutiry group.

choose default security group and launch instance

Nhấn Launch instance để tạo instance.

click view instance

Sau khi có thông báo Success nhấn View all instances để xem danh sách instance đã tạo.

Chúng ta sẽ dùng SSH để kết nối tới instance, nhưng vì Security group vừa chọn chưa mở cổng 22 để kết nối thông qua giao thức SSH nên chúng ta sẽ sửa lại Inbound rules của security group.

Tick vào instance vừa tạo, nhìn xuống phía dưới chọn tab Security thấy dòng Security groups thi nhấn vào để chỉnh sửa security groups. Click Edit inbound rules. Mở các cổng 80, 22, 8000 và chọn Save rules.

check security group not open 22 port

click edit inbound rule

add ssh http inbound rule

Kết nối tới máy ảo Ubuntu

Sau khi đã hoàn tất chỉnh sửa security groups, chúng ta sẽ kết nối tới instance.

Ở màn hình danh sách các instance, chọn instance vừa tạo, Nhấn vào button Connect trên thanh menu để lấy thông tin connect tới instance.

click connect instance

Chúng ta sẽ sử dụng một SSH Client để kết nối tới instance thông qua giao thức SSH, ở đây mình dung CMD của Window nếu bạn đang sử dụng hệ điều hành Linux thì sử dụng Terminal.

copy ssh script to login ubuntu server

Copy lệnh connect tới instance và chạy với CMD.

ssh -i "ubuntu-server-private-key.pem" [email protected]

Nếu hiện ra thông báo như bên dưới là do file đang được chia sẻ quyền với nhiều user, không đảm bảo bảo mật khi kết nối thông qua SSH, chúng ta tiến hành chỉnh sửa như sau.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'ubuntu-server-private-key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "ubuntu-server-private-key.pem": bad permissions
[email protected]: Permission denied (publickey).

Với các bạn dùng Linux, thay đổi quyền bằng lệnh bên dưới.

chmod 400 ubuntu-server-private-key.pem

Với các bạn sửa dụng Window cick chuột phải vào file pem của bạn, chọn Properties, chọn tab Security, nhấn Edit. show permission

Loại bỏ tất cả các User, Group trong mục Group or user names chỉ để lại User đang đăng nhập Window, ở phần Permission chỉ tích quyền đọc rồi lưu lại.

xoa quyen va apply

Chạy lại lệnh SSH.

ssh -i "ubuntu-server-private-key.pem" [email protected]

Sau khi các bạn đã connect được tới instance chúng ta sẽ chạy thử một web server đơn giản bằng python3.

Các bạn chạy lệnh sau để cập nhật các gói phần mềm cho hệ điều hành.

ubuntu@ip-172-31-92-5:~$ sudo apt-get update

Xem phiên bản python.

ubuntu@ip-172-31-92-5:~$ python3 --version
Python 3.10.6

Tạo file index.html.

ubuntu@ip-172-31-92-5:~$ echo "<h1>Hello EC2</h1>" > index.html

Dùng python3 để chạy một webserver trên cổng 8000.

ubuntu@ip-172-31-92-5:~$ sudo python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

Ta tiến hành lấy thông tin public IP của instance.

copy ip address

Mở trình duyệt với public IP vừa rồi cổng 8000.

website hello ec  2

Các bạn làm xong có thể xoá instance để không bị trừ thời gian.

Chúc các bạn làm thành công!