Amazon Elastic Compute Cloud (EC2) là một dịch vụ điện toán đám mây của Amazon Web Services (AWS), cung cấp các máy chủ ảo (instances) linh hoạt, có thể mở rộng theo nhu cầu. Dịch vụ này rất phù hợp cho việc phát triển, triển khai và quản lý ứng dụng trên môi trường đám mây.
Bài viết này sẽ hướng dẫn bạn cách tạo và cài đặt 1 EC2 instance.
Đăng Nhập Vào AWS Management Console
Truy cập AWS Console theo đường dẫn: https://aws.amazon.com Nhập thông tin tài khoản AWS của bạn và tiến hành đăng nhập.
Lựa chọn Region để tạo EC2 Instance
Region là khu vực nơi tài nguyên của bạn được triển khai. Mỗi region có vị trí và mức giá sử dụng khác nhau. Trong hướng dẫn này, tôi chọn region Asia Pacific (Tokyo) (ap-northeast-1).
Tạo EC2 Instance
Thực hiện các bước sau để tạo EC2 instance trên AWS:
Truy cập EC2
Sau khi đăng nhập, tìm kiếm EC2 trong thanh tìm kiếm. AWS EC2 Console - Asia Pacific (Tokyo)
Tại Dashboard EC2, chọn Launch Instance
.
Name and Tags:
- Đặt tên instance để dễ nhận biết và phân loại.
- Ví dụ:
machine-001
.
Application and OS Images:
- Chọn hệ điều hành phù hợp: Amazon Linux , Ubuntu , Red Hat , hoặc Windows .
- Ở đây, tôi chọn Amazon Linux 2023 , bản phân phối Linux có hỗ trợ LTS 5 năm và được AWS tối ưu hóa với hiệu suất cao.
Instance Type:
- Chọn cấu hình server (instance type) dựa trên mục đích sử dụng.
- Mỗi instance type có các chỉ số khác nhau về vCPU , Memory , và khả năng mở rộng.
- Ví dụ:
- Trong bài này, tôi chọn t2.micro với 1 vCPU và 1GB RAM, phù hợp cho demo và miễn phí vì thuộc diện Free Tier.
Key Pair:
- Key pair là cách bảo mật để kết nối với EC2 instance. Tương tự SSH vậy. Dùng để kết nối vào Server EC2
- Có hai tùy chọn:
- Không sử dụng key pair.
- Tạo mới hoặc sử dụng key pair hiện có.
- Ở đây, tôi tạo một key pair có tên ducxinh-demo .
Network Settings:
- Cấu hình mạng bao gồm VPC , Subnet , và Security Group .
- Trong hướng dẫn này, tôi sử dụng cấu hình mặc định và tạo mới Security Group như sau:
- Allow SSH traffic from:
My IP
: Mở cổng 22 (SSH) để cho phép IP hiện tại kết nối đến server. - Allow HTTPS traffic from the internet:
Bật
: đồng nghĩa với việc cho phép bất cứ ai cũng có thể access thông qua HTTPS(port 443) - Allow HTTP traffic from the internet:
Bật
: đồng nghĩa với việc cho phép bất cứ ai cũng có thể access thông qua HTTP(port 80)
- Allow SSH traffic from:
Configure Storage:
- Cấu hình dung lượng ổ cứng (EBS).
- Ở đây, tôi chọn mặc định 8GB .
Advanced Options:
- Tùy chọn nâng cao bao gồm: Shutdown Behavior , CloudWatch Monitoring , Purchasing Options ,
Cấu hình User Data:
Tại mục Advanced details
-> User Data
, nhập script sau để cài đặt nginx khi khởi động lần đầu :
#!/bin/bash
dnf update -y
dnf install nginx -y
systemctl start nginx
systemctl enable nginx
echo "<h1>EC2 Auto Scaling Instance: $(hostname -f)</h1>" > /usr/share/nginx/html/index.html
Xác nhận
Sau khi kiểm tra thông tin xong thì bấm Launch Instance
để tạo
Sau khi tạo thì bạn chờ 1 chút để EC2 instance khởi tạo.
Xem EC2 Instance
Vậy là bạn đã tạo thành công EC2 Instance. Để ý Public IPV4: 13.112.242.48 Đây là địa chỉ dùng để truy câp tới EC2 Instance từ Internet.
Kết nối với EC2 Instance
Sau khi EC2 instance được khởi tạo, bạn có thể kết nối bằng lệnh SSH như sau:
ssh -i <path/to/keypair> <user>@<public-ip-or-public-ip-dns>
Đối với AmazonLinux user sẽ là ec2-user
còn đối với Ubuntu thì user là ubuntu
. Lưu ý để dùng kết nối cho chính xác.
Thử kết nối thôi:
ssh -i ~/Desktop/ducxinh-demo/private/ducxinh-demo.pem ec2-user@ec2-13-112-242-48.ap-northeast-1.compute.amazonaws.com
# Hoặc:
ssh -i ~/Desktop/ducxinh-demo/private/ducxinh-demo.pem ec2-user@13.112.242.48
Nếu gặp lỗi:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
WARNING: UNPROTECTED PRIVATE KEY FILE!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'xxx/xxxx.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 "xxx/xxxx.pem": bad permissions
xxx@xxx.xxx.xxx.xxx: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Hãy chỉnh sửa quyền truy cập của tệp SSH key bằng lệnh sau:
chmod 600 ~/Desktop/ducxinh-demo/private/ducxinh-demo.pem
Sau đó, thử kết nối lại. Nếu thành công thì sẽ thấy kết quả như sau
Các vấn đề thường gặp.
Không thể kết nối server hoặc bị lỗi timeout.
Cách giải quyết: Kiểm tra lại Security group mục Inbound và cho phép IP hiện tại của bạn. Để kiểm tra IP hiện tại của bạn hãy truy cập vào đây: Kiểm tra IP
Kết luận
Như vậy, bạn đã tạo thành công một máy chủ Linux (EC2 instance) trên AWS. Máy chủ này có thể được sử dụng để học tập hoặc triển khai website.
Mở rộng.
Trên đây chỉ là hướng dẫn cơ bản, bạn có thể tìm hiểu kỹ hơn những phần sau:
- Cấu hình Tags để quản lý tài nguyên hiệu quả hơn.
- Gắn IAM Role cho EC2 để quản lý quyền truy cập.
- Tự động hóa vòng đời của instance bằng cách sử dụng Auto Scaling .
- Thiết lập môi trường LEMP Stack (Linux, Nginx, MySQL, PHP) để triển khai ứng dụng.