EC2
Amazon Elastic Compute Cloud (Amazon EC2) là một dịch vụ web cung cấp khả năng tính toán trên nền tảng đám mây với khả năng mở rộng linh hoạt, cho phép người dùng thuê các máy chủ ảo, được gọi là “instances”, để chạy các ứng dụng và workload của họ.
Instance types
- Có rất nhiều types khác nhau phù hợp với nhiều mục đích sử dụng khác nhau (Compute, Memory, Networking)
- General: đầu T, M – cân bằng giữa tất cả các thông số
- Compute: đầu C – thực thi các task yêu cầu nhiều CPU
- Memory: đầu R, X – thực thi các task yêu cầu xử lý lượng dữ liệu lớn
- Storage: đầu I, D – thực thi các task yêu cầu tốc độ đọc ghi lớn
Security groups
- Kiểm soát traffics vào ra một con EC2
- Chỉ có
allow
rules - Source trong các rule có thể là IP hoặc là một SG khác
- Phần security group có liên quan mật thiết đến phần VPC
- Theo mặc định thì tất cả inbound traffics đều bị blocked, tất cả outbound traffics đều allowed
- Một số cổng thường gặp
- 22 – SSH/SFTP
- 80 – HTTP
- 443 – HTTPS
Các options
- On demand:
- kiểu free-style, dùng bao nhiêu trả bấy nhiêu (trả tiền theo giây hoặc phút chạy), không cần trả trước và cũng ko cần thoả thuận gì cả
- dùng cho mấy con ec2 dạng short-term, ko đoán trước được là bao lâu sẽ xong
- Reserved:
- dùng cho các trường hợp kiểu như mình đã tính toán trước được là mình sẽ dùng instance type nào, OS là gì, … ⇒ host một con DB
- thời gian commit càng lâu, trả trước càng nhiều thì mình càng nhận được nhiều discount
- Convertible reserved instance: cho phép thay đổi instance type, OS, scope, tenancy
- Saving plans
- commit là sẽ trả một khoản tiền nhất định (VD: $5 mỗi tiếng) trong một khoảng time từ một đến 3 năm
- dùng càng nhiều thì trả càng nhiều tiền
- cho phép thay đổi instance type, OS, tenancy
- Spot instances
- rất rẻ
- có thể mất instance bất cứ lúc nào
- phù hợp cho mấy job chạy trong một khoảng time nhất định, không liên tục, chịu được lỗi khi đang chạy thì instance bị mất
- Dedicated Hosts
- có một con server thật, mình kiểm soát được mọi thứ trong con server đấy
- Capacity reservation
- một dạng kết hợp giữa on-demand, reserve instance và saving plans
- cho dù instance có chạy hay không thì vẫn mất tiền
Các dạng storage trong EC2
Loại storage | Đặc điểm | Lưu ý |
EBS | – kết nối với EC2 thông qua mạng nên sẽ có một chút độ trễ – 1 EBS có thể kết nối tới nhiều EC2 (multi-attach – CHỈ CÓ trong io1/io2, tối đa 16 EC2) – 1 EC2 có thể kết nối tới nhiều EBSs cùng lúc (đừng nhầm lẫn) – có thể ngắt kết nối EBS để kết nối tới một con EC2 khác – scope là AZ ⇒ để move một con EC2 sang AZ khác, tạo snapshot rồi từ snapshot, tạo 1 con EBS mới – một số chức năng khác: Snapshot Archive (đỡ tốn tiền nhưng sẽ mất time để restore), Recycle Bin, Fast Snapshot Restore | dùng để lưu trữ lượng dữ liệu lớn, lâu dài, chi phí thấp |
EC2 Instance Store | – hiệu năng cao – dung lượng lưu trữ thấp – sẽ mất dữ liệu nếu con EC2 bị stop – cần tự xử lý vấn đề backup dữ liệu (nếu cần) | xừ lý data hiệu năng cao, phù hợp với các task ko yêu cầu quá nhiều dung lượng, chạy tạm thời (VD: caching, ….) |
EFS | – một hệ thống lưu trữ file độc lập – hỗ trợ multi-AZ – hỗ trợ scalability một cách hiệu quả (không cần setup trước dung lượng) – có thể setup băng thông, tốc độ đọc ghi – hỗ trợ standard và IA (Infrequent access) | – lưu trữ một số data cần chia sẻ cho nhiều EC2 ở nhiều AZ – hoạt động như kiểu google drive: cho phép update data realtime, dễ dàng gắn với các instances |
AMI
- Package trạng thái hiện tại của một EC2 (OS, configuration)
- Scope là region, có thể copy sang region khác
- Trên marketplace có rất nhiều AMIs được cung cấp bởi AWS cũng như được bán bởi nhiều bên khác
- Setup một EC2 từ AMI sẽ tiết kiệm effort rất nhiều (VD: cần dựng 5 EC2 có phần config giống nhau), được dùng ở rất nhiều chỗ như là trong ELB
References
- https://aws.amazon.com/ec2/
- đọc thêm về Cloud concepts: https://ant.ncc.asia/cloud-concept-1-types-of-cloud/