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

High Availability & Scalability

0 0 17

Người đăng: Bùi Văn Thượng

Theo Viblo Asia

Overview

  • High Availability: đảm bảo tính sẵn sàng. Nếu một máy chủ ngừng hoạt động thì máy còn lại sẽ thay thế để hệ thống hoạt động bình thường, 1 ứng dụng ở nhiều AZ
  • Scalability: tính mở rộng. có thể tăng giảm kích thước khi cần
  • Có 2 loại mở rộng:
  • Vertical scalability => increase instance size
  • Horizontal Scalability (= elastic) => increase number of instance
  • Thành phần
    • Redundancy(dự phòng)
    • Monitoring(giám sát)
    • Failover(chuyển đổi dự phòng)
    • Failback(dự phòng)

Elastic Load Balancer ELB

  • là một server dùng để forward traffic đến nhiều server
  • Sử dụng health check cho instance: gửi 1 request định kỳ đến instance

Security group

  • Load Balancer tạo 1 Security Group nhận request mà user từ các cổng 80(http) 443(https) và chuyển request đến EC2 qua cổng 80
  • EC2 tạo 1 Security group chỉ nhận request từ cổng 80

AWS Target Group

  • Có thể là EC2 instances, ECS tasks, Lambda functions, IP addresses
  • ALB có thể định tuyến tới nhiều target group
  • Mỗi target group dùng để định tuyến request tới 1 hay nhiều target khác nhau
  • Target type:
    • instance: EC2 instance được xác định bởi instance ID
    • ip: 1 địa chỉ IP (phải là private IP)
    • lambda: lambda function (chúng ta sẽ học ở phần serverless)
  • Health check được thực hiện ở level target group

Các loại load Balancer(126)

  • Classic load balancer (NOT USED)
  • Application load balancer
  • Network load balancer
  • Gateway load balancer

Application Load Balancer

  • Hoạt động ở tầng ứng dụng. Phù hợp để cân bằng lưu lượng HTTP, HTTPS. Phù hợp với ứng dụng micro service & container based application (Docker & Amazon ECS)

Network Load Balancer

  • Hoạt động ở layer 4(transport). Sử dụng cho hiệu suất cực kì cao. Có 1 Ip tĩnh cho mỗi AZ, hỗ trợ Elastic IP
  • Health Checks hỗ trợ TCP, HTTP & HTTPS Protocols

Gateway Load Balancer

  • Hoạt động ở layer 3(Network). Cho phép triển khai, mở rộng, quản lý nhóm mạng bên thứ 3

Sticky session

  • Chỉ hoạt động với Application Load Balancer
  • Client phải hỗ trợ cookies
  • Đảm bảo người dùng không bị mất session data
  • Active sticky có thể gây mất cân bằng tải

Cross Zone Load Balancing

  • Cross zone load balancing dùng để phân phối lưu lượng truy cập đến nhiều máy chủ trong các khu vực khác nhau trong một vùng cụ thể.
  • Application Load Balancer
    • Luôn bật (không thể tắt option này đi)
    • Không bị tính phí inter AZ
  • Network Load Balancer & Gateway Load balancer
    • Mặc định sẽ disabled
    • Nếu enable lên AWS sẽ tính phí inter AZ của bạn
  • Classic Load Balancer
    • Mặc định sẽ disabled
    • Nếu enable, không bị tính phí inter AZ

SSL/TLS Basic

  • Secure Sockets Layer : cổng bảo mật
  • Transport Layer Security : bảo mật tầng vận chuyển
  • SSL certificate cho phép lượng truy cập giữa máy khách và bộ cân bằng tải được mã hóa trong khi truyền (in-flight encryption)
  • SSL dùng để mã hóa các kết nối, đề cập đến lớp cổng bảo mật
  • TLS mới hơn của SSL, đề cập đến bảo mật tầng vận chuyển
  • Bộ cân bằng tải sử dụng X.509 certificate (TLS)
  • Bạn có thể quản lý chứng chỉ bằng ACM (AWS Certificate Manager)
  • Có thể tải lên Certificates của riêng mình
  • HTTPS listener:
    • Phải chỉ định một default certificate
    • Có thể thêm một optional list of certs để hỗ trợ domains
    • Clients có thể sử dụng SNI(Server Name Indication) để chỉ định tên máy chủ mà họ tiếp cận
    • Chỉ định chính sách bảo mật để hỗ trợ các phiên bản SSL/TLS SSL – Server Name Indication (SNI)
  • SNI giải quyết vấn đề tải nhiều chứng chỉ SSL lên một máy chủ web (để phục vụ nhiều trang web)
  • Application Load Balancer & Network Load Balancer • Supports multiple listeners with multiple SSL certificates • Uses Server Name Indication (SNI) to make it work

Connection Draining

  • Gọi đến một Instance khác nếu thời gian đợi dài

Auto Scaling Group

  • Tự động tạo, tăng kích cỡ cho EC2 Instance
  • Có thể thay đổi quy mô ASG dựa trên cảnh báo của CloudWatch
  • Scaling policies (đặt ra các policies để mở rộng, ví dụ: tỉ lệ CPU, Network...)
  • Scheduled actions (Lịch trình để sử dụng scaling, ví dụ: cứ 5 phút 1 lần...)
  • Predictive scaling (liên tục dự báo tải và lên lịch mở rộng quy mô trước)

Attributes

  • Launch Template:
    • AMI + Instance type
    • EC2 User Data
    • EBS Volumes
    • Security Groups
    • SSH Key Pair
    • IAM Roles for your EC2 Instances
    • Network + Subnets Information
    • Load Balancer Information
  • Min size / Max size / Initial Capacity

CloudWatch Alarms & Scaling

  • Có thể thay đổi quy mô ASG dựa trên cảnh báo của CloudWatch
    • scale-out policies (tăng số lượng instances)
    • scale-in policies (giảm số lượng instances)

Dynamic Scaling Policies

  • Target Tracking Scaling
  • Simple / Step Scaling: • Khi cảnh báo CloudWatch được kích hoạt (ví dụ CPU > 70%), thêm 2 instance • Khi cảnh báo CloudWatch được kích hoạt (ví dụ CPU < 30%), xóa 1 instance
  • Scheduled Actions: dự đoán quy mô dựa trên các mẫu sử dụng đã biết

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

Giới thiệu về AWS Batch

Khi sử dụng hệ thống cloud service, điều chúng ta thường phải quan tâm đến không chỉ là hiệu suất hoạt động (performance) mà còn phải chú ý đến cả chi phí bỏ ra để duy trì hoạt động của hệ thống. Chắn hẳn là hệ thống lớn hay nhỏ nào cũng đã từng phải dùng đến những instance chuyên để chạy batch thực

0 0 143

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

Tìm hiểu về AWS KMS

1. AWS KMS là gì. Ở KMS bạn có thể lựa chọn tạo symetric key (khóa đối xứng) hoặc asymetric key (khóa bất đối xứng) để làm CMK (Customer Master Key). Sau khi tạo key thì có thể thiết đặt key policy để control quyền access và sử dụng key.

0 0 66

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

AWS VPC cho người mới bắt đầu

Tuần này, tôi trình bày lại những gì tôi đã học được về Virtual Private Cloud (VPC) của Amazon. Nếu bạn muốn xem những gì tôi đã học được về AWS, hãy xem Tổng quan về DynamoDB và Tổng quan về S3. VPC là gì. Những điều cần lưu ý:.

0 0 84

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

AWS Essentials (Phần 6): Guildline SNS Basic trên AWS

Tiếp tục với chuỗi bài viết về Basic AWS Setting, chúng ta tiếp tục tìm hiểu tiếp tới SNS (Simple Notification Service). Đây là một service của AWS cho phép người dùng setting thực hiện gửi email, text message hay push notification tự động tới mobile device dựa trên event người dùng setting phía AWS

0 0 145

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

Sử dụng Amazon CloudFront Content Delivery Network với Private S3 Bucket — Signing URLs

Trong nhiều trường hợp, thì việc sử dụng CDN là bắt buộc. Mình đã trải nghiệm với một số CDN nhưng cuối cùng mình lựa chọn sử dụng AWS CloudFront.

0 0 117