- vừa được xem lúc

Giới thiệu dịch vụ EC2 của AWS

0 0 29

Người đăng: BeautyOnCode

Theo Viblo Asia

EC2 là viết tắt của Elastic Compute Cloud, là một dịch vụ AWS thuộc loại Infrastructure as a Service (IaaS)

Hiện nay, EC2 cung cấp 4 nhóm dịch vụ chính bao gồm:

  1. Cho thuê (tạo) máy chủ ảo (EC2 instance)

  2. Lưu trữ dữ liệu trên máy chủ ảo (EBS – Elastic Block Store, EFS – Elastic File System)

  3. Phân phối tải trên nhiều máy chủ ảo (ELB – Elastic Load Balancing)

  4. Tự động scale số lượng máy chủ ảo (ASG – Auto Scaling Group)

Thuê máy chủ ảo (EC2 instance)

Khi thuê một máy chủ ảo, bạn có thể tạo máy với cấu hình mong muốn:

  • OS (operating system): hệ điều hành như Linux, MacOS, Window
  • CPU (central processing unit): bộ xử lý trung tâm hay bộ vi xử lý (các loại chip như core i7, m1)
  • RAM (random access memory): bộ nhớ tạm giúp CPU truy xuất lấy thông tin nhanh
  • Các loại bộ nhớ kèm theo như:
    • bộ nhớ bên ngoài được gắn vào như EBS, EFS (các network drive)
    • bộ nhớ bên trong như EC2 instance store
    • card mạng
    • tường lửa (security group)
    • bootstrap script (EC2 user data) giúp boot máy tính khi lần đầu tạo

Lưu trữ dữ liệu trên máy chủ ảo

EC2 Instance Store

EC2 Instance store là bộ nhớ bên trong máy EC2

EBS - Elastic Block Store

EBS volume là một network drive được gắn vào máy EC2 instance của bạn khi chạy. Mỗi EBS volume chỉ được gắn vào một EC2 tại một thời điểm. EBS volume nằm cố định ở AZ cụ thể.

Vì EBS volume chỉ nằm ở một AZ cụ thể nên nếu muốn di chuyển bộ nhớ này qua vùng AZ khác sẽ cần tạo EBS snapshot rồi sử dụng để tạo EBS volume ở AZ cần chuyển qua.

Có nhiều loại EBS volume khác nhau như gp2, gp3, io1, io2, stl, scl. Mỗi loại sẽ có các thông số về Size, Throughput, IOPS tương ứng.

EBS multi-attach loại io1, io2 có thể gắn vào nhiều máy EC2

EFS - Elastic File System

EFS có thể gắn vào nhiều máy chủ EC2 ở nhiều AZ khác nhau.

EFS chỉ hỗ trợ máy Linux, thưởng sử dụng trong chia sẻ nội dung như web server, WordPress.

Phân phối tải trên nhiều máy chủ ảo

Khả năng mở rộng

Scalability (khả năng mở rộng) có nghĩa là hệ thống có thể tự xử lý tải.

Có 2 loại:

  • Vertical Scalability: chỉ việc tăng khả năng của máy chủ như CPU, RAM, bộ nhớ. Kiểu mở rộng này phổ biến với các hệ thống không phân tán, như cơ sở dữ liệu (RDS, ElastiCache).

  • Horizontal Scalability: chỉ việc tăng số lượng máy chủ. Kiểu mở rộng này phổ biến với các hệ thống phân tán, như ứng dụng web.

Lợi ích khi sử dụng load balancer

  • giúp phân phối tải (traffic) đến nhiều máy ch
  • ứng dụng chỉ có một địa chỉ DNS
  • xử lý lỗi và thực hiện kiểm tra sức khỏa (health check) các máy chủ
  • cung cấp dịch vụ SSL (HTTPS)
  • có thể gắn người dùng với cookie
  • tăng tính khả dụng (high availability) qua nhiều AZ
  • tách các loại traffic khác nhau để xử lý

AWS Load Balancers

AWS cung cấp 3 loại Load Balancers là:

  • Clasic Load Balancer (đã cũ)
  • Application Load Balancer
  • Network Load Balancer
  • Gateway Load Balancer

Người dùng có thể truy cập đến load balancer thông qua cấu hình của security group. Còn trong máy chủ thì chỉ nhận tải từ load balancer.

Ngoài ra, để giữ cookie của người dùng và cho phép truy cập đến đúng máy chủ đã phục vụ trước đó, có thể dùng Sticky Session.

Còn nếu muốn phân phối tải với tỉ lệ đồng đều giữa cái AZ thì sử dụng Cross-Zone Load Balancing.

SSL certificate cho phép data giữa máy client và load balancer được mã hóa (encrypt)

Nếu bạn có nhiều SSL certificate cho từng loại máy chủ khác nhau thì SNI (Server Name Indication) có thể giúp bạn.

Tự động scale số lượng máy chủ

Thực tế là không thể biết trước số tải (traffic) sẽ truy cập đến ứng dụng của bạn.

ASG – Auto Scaling Group giúp bạn:

  • tự động tăng số lượng máy chủ khi tải tăng
  • tự động giảm số lượng máy chủ khi tải giảm
  • đảm bảo số máy chủ tối đa và tối thiểu nhất định
  • tự động tạo máy chủ mới với cấu hình định sẵn (launch template)
  • tự động tạo lại nếu máy chủ bị tắt khi unhealthy

Có thể kích hoạt ASG từ thông số của thông báo từ CloudWatch về chỉ số như Average CPU, hay tự tạo chỉ số.

Có thể tạo policies để kích hoạt ASG theo nhiều loại như:

  • Target tracking scaling: muốn CPU tầm 40%
  • Simple / Step Scaling:
    • khi có cảnh báo từ CloudWatch với CPU > 70% -> thêm 2 máy chủ
    • khi có cảnh báo từ CloudWatch với CPU < 30% -> bỏ bớt 1 máy chủ
    • scheduled Actions: tăng hay giảm số máy chủ vào cuối tuần

Bài viết giới thiệu đến bạn một số kiến thức cơ bản về dịch vụ EC2 cung cấp bởi AWS.

Bạn ghé trang chủ EC2 nếu muốn tìm hiểu thêm nhé.

Bài viết được đăng lại từ bài gốc trên blog BeautyOnCode

Bình luận

Bài viết tương tự

- vừa được xem lúc

PDF Export, cẩn thận với những input có thể truyền vào

Giới thiệu. Dạo gần đây mình tình cờ gặp rất nhiều lỗi XSS, tuy nhiên trang đó lại có sử dụng dữ liệu người dùng input vào để export ra PDF.

0 0 66

- vừa được xem lúc

Tán gái theo kiểu Message Queue là thế nào?

. Bài toán. Vào những năm 1900, khi mà công nghệ chưa phát triển, con người chỉ nói chuyện với nhau trực tiếp hoặc qua thư... . Trai tài gái sắc, họ nói chuyện với nhau một cách thoải mái, tự nhiên. Mọi chuyện yên bình cho đến khi có anh chàng C đến, chiều cao chuẩn 1m8 chứ không cộng thêm sừng. C c

0 0 43

- vừa được xem lúc

Giới thiệu Lambda AWS

Giới thiệu. Nếu bạn là 1 developer, đúng rồi đó, người mà luôn được mọi người nhờ sửa tủ lạnh, ti vi, quạt máy, ống nước, đủ thứ loại trên đời, khi bạn xây dựng một ứng dụng, bạn sẽ muốn được nhiều người sử dụng, trải nghiệm và đánh giá tốt.

0 0 35

- vừa được xem lúc

Tạo tải khoản AWS 2021

Các bài viết trước:. . Ứng dụng AWS trong thực tế. Bạn có thể làm gì với AWS.

0 0 178

- vừa được xem lúc

Tương tác với AWS

Các bài viết trước:. . Ứng dụng AWS trong thực tế. Bạn có thể làm gì với AWS.

0 0 34

- vừa được xem lúc

Khám phá những dịch vụ của AWS

Các bài viết trước:. . Ứng dụng AWS trong thực tế. Bạn có thể làm gì với AWS.

0 0 38