Trang chủ » Blog » Dịch vụ Amazon EC2

Dịch vụ Amazon EC2

bởi ngoctran2 | 10:51 | Blog

Amazon EC2 là một dịch vụ web cung cấp khả năng tính toán an toàn. Nó có thể thay đổi kích thước trên đám mây. Với dịch vụ này, bạn có thể cung cấp các máy chủ ảo, gọi là EC2 instances.

Dịch vụ Amazon EC2

Với Amazon EC2, bạn có thể làm những điều sau:

  • Cung cấp và khởi chạy một hoặc nhiều phiên bản EC2 trong vài phút.
  • Dừng hoặc tắt phiên bản EC2 khi bạn chạy xong một khối lượng công việc.
  • Thanh toán theo giờ hoặc theo giây cho mỗi loại phiên bản (tối thiểu 60 giây)

1. Amazon Machine Image

    Khi khởi chạy phiên bản EC2, đầu tiên là thiết lập hệ điều hành bằng cách chọn Amazon Machine Image (AMI).

    Trong thế giới cơ sở hạ tầng truyền thống, việc khởi động máy chủ bao gồm cài đặt hệ điều hành từ đĩa cài đặt (disks), ổ đĩa (drives) hoặc trình hướng dẫn qua mạng (wizards). 

    Trong AWS Cloud, việc cài đặt hệ điều hành được tích hợp vào AMI mà bạn chọn. AMI bao gồm: hệ điều hành, ánh xạ lưu trữ, loại kiến ​​trúc, quyền khởi chạy và bất kỳ ứng dụng phần mềm nào được cài đặt sẵn.

    2. Mối quan hệ giữa AMIs và EC2 Instances

    EC2 Instances là các thể hiện trực tiếp (hoặc phiên bản) của những gì được định nghĩa trong AMI. Nếu quen thuộc với phát triển phần mềm, bạn cũng có thể thấy mối quan hệ này giữa lớp và một đối tượng. 

    Trong trường hợp này, AMI là cách bạn mô hình hóa và định nghĩa thể hiện của mình. EC2 instance là thực thể mà bạn tương tác. Nói cách khác, là nơi bạn có thể cài đặt máy chủ web và cung cấp nội dung cho người dùng.

    Khi khởi chạy một phiên bản mới, AWS sẽ phân bổ một máy ảo chạy trên một trình quản lý ảo. Sau đó, AMI đã chọn sẽ được sao chép vào ổ đĩa thiết bị gốc, chức hình ảnh được sử dụng để khởi động ổ đĩa. Cuối cùng, sẽ có một máy chủ để kết nối và cài đặt các gói và phần mềm bổ sung.

    Dịch vụ Amazon EC2

    Một lợi thế của việc sử dụng AMI là chúng có thể tái sử dụng. Bạn có thể chọn AMI dựa trên Linux và cấu hình máy chủ HTTP, các gói ứng dụng và phần mềm bổ sung mà bạn cần để chạy ứng dụng của mình.

    Để tạo một phiên bản EC2 khác có cùng cấu hình, bạn có thể áp dụng 2 cách. Cách 1 là tạo và cấu hình một phiên bản EC2 mới, khớp với phiên bản đầu tiên. Cách 2 là tạo một AMI từ phiên bản đang chạy và sử dụng nó để khởi động một phiên bản mới. Lúc này, phiên bản mới sẽ có cùng cấu hình với phiên bản hiện tại. Vì các cấu hình được đặt trong AMI là giống nhau.

    Dịch vụ Amazon EC2

    3. Tìm kiếm AMIs

    Có nhiều cách để chọn AMI. Một số cách phổ biến thường dùng để tìm kiếm AMIS như sau:

    • Quick Start AMIs: là AMI thường được AWS tạo ra để bạn có thể bắt đầu nhanh chóng.
    • AWS Marketplace AMIs: cung cấp phần mềm thương mại và mã nguồn mở phổ biến từ các bên thứ ba.
    • My AMIs: AMI của tôi được tạo từ các phiên bản EC2 của bạn.
    • Community AMIs: AMI cộng đồng được cung cấp bởi cộng đồng người dùng AWS.
    • Custom image: Tạo image tùy chỉnh của riêng bạn bằng EC2 Image Builder.

    Mỗi AMI trong AWS Management Console có một AMI ID, được bắt đầu bằng ami-. Theo sau sẽ là một hàm băm ngẫu nhiên gồm các số và chữ cái. Các ID là duy nhất cho mỗi AWS Region.

    Dịch vụ Amazon EC2

    4. Cấu hình Amazon EC2

    Sau khi chọn hệ điều hành, bạn có thể chọn các cấu hình khác để tạo phiên bản EC2 của mình. Chẳng hạn như: loại phiên bản, mạng và lưu trữ.

    Đối với một ứng dụng bất kỳ, bạn cần các phiên bản có đủ dung lượng để xử lý các yêu cầu của khách hàng. Quy mô phiên bản sẽ phụ thuộc vào nhu cầu của ứng dụng và quy mô dự kiến ​​của cơ sở người dùng.

    Dự báo dung lượng máy chủ cho ứng dụng on-premises đòi hỏi những quyết định khó khăn. Quyết định này liên quan đến chi phí vốn ban đầu đáng kể. Tuy nhiên, bạn có thể thay đổi việc phân bổ các dịch vụ trên đám mây của mình, bằng lệnh gọi API đơn giản. Nhờ mô hình pay-as-you-go (trả tiền khi sử dụng) AWS, bạn có thể so khớp dung lượng cơ sở hạ tầng của mình với nhu cầu của ứng dụng.

    5. Các loại Amazon EC2 Instance

    Các phiên bản EC2 là sự kết hợp cơ bản của bộ xử lý ảo (vCPU), bộ nhớ, và mạng. Trong một số trường hợp, sẽ có cả bộ lưu trữ phiên bản và bộ xử lý đồ họa (GPU). Khi bạn tạo một phiên bản EC2, bạn cần chọn số lượng bạn cần cho từng thành phần này.

    Dịch vụ Amazon EC2

    AWS cung cấp nhiều phiên bản khác nhau tùy theo hiệu suất. Một số phiên bản cung cấp nhiều dung lượng hơn những phiên bản khác. Để có được cái nhìn tổng quan về chi tiết dung lượng, bạn nên xem loại phiên bản. Các loại phiên bản bao gồm: một tiền tố xác định loại khối lượng công việc được tối ưu hóa, và kích thước. Ví dụ, loại phiên bản c5n.xlarge có thể được chia nhỏ như sau:

    • Vị trí đầu tiên – Vị trí đầu tiên, c, chỉ ra họ thể hiện. Điều này chỉ ra rằng thể hiện này thuộc về họ tính toán được tối ưu hóa.
    • Vị trí thứ hai – Vị trí thứ hai, 5, biểu thị thế hệ của thể hiện. Thể hiện này thuộc thế hệ thứ năm của các thể hiện.
    • Các chữ cái còn lại trước dấu chấm – Trong trường hợp này, n biểu thị các thuộc tính bổ sung, chẳng hạn như bộ lưu trữ NVMe cục bộ.
    • Sau dấu chấm – Sau dấu chấm, xlarge biểu thị kích thước phiên bản. Trong ví dụ này, đó là xlarge.

    Dịch vụ Amazon EC2

    6. Instance families

      Mỗi họ thể hiện được tối ưu hóa để phù hợp với các trường hợp sử dụng khác nhau. Tham khảo bảng sau:

      Instance familyMô tảCác trường hợp sử dụng
      General purposeCác phiên bản mục đích chung cung cấp sự cân bằng tài nguyên tính toán, bộ nhớ và mạng. Chúng có thể được sử dụng cho nhiều khối lượng công việc khác nhauLý tưởng cho các ứng dụng sử dụng các tài nguyên này theo tỷ lệ bằng nhau, chẳng hạn như máy chủ web và kho lưu trữ mã
      Compute OptimizedCác phiên bản được tối ưu hóa tính toán sẽ lý tưởng cho các ứng dụng tính toán. Vì chúng được hưởng lợi từ bộ xử lý hiệu suất cao.Rất phù hợp cho khối lượng công việc xử lý hàng loạt, chuyển mã phương tiện, máy chủ web hiệu suất cao, điện toán hiệu suất cao (HPC), mô hình khoa học, máy chủ chơi game chuyên dụng và công cụ máy chủ quảng cáo, suy luận máy học và các ứng dụng tính toán chuyên sâu khác
      Memory OptimizedCác phiên bản được tối ưu hóa bộ nhớ sẽ phù hợp để xử lý các tập dữ liệu lớn trong bộ nhớ.Các ứng dụng sử dụng nhiều bộ nhớ, chẳng hạn như cơ sở dữ liệu hiệu suất cao, bộ nhớ đệm trong bộ nhớ phân tán trên quy mô web, cơ sở dữ liệu trong bộ nhớ cỡ trung bình, phân tích dữ liệu lớn theo thời gian thực và các ứng dụng doanh nghiệp khác
      Accelerated computingCác phiên bản điện toán tăng tốc sẽ sử dụng bộ tăng tốc phần cứng hoặc bộ đồng xử lý. Điều này nhằm mục đích: thực hiện các chức năng tính toán số dấu phẩy động, xử lý đồ họa hoặc khớp mẫu dữ liệu hiệu quả hơn so với phần mềm chạy trên CPU.Học máy, HPC, động lực học chất lưu tính toán, tài chính tính toán, phân tích địa chấn, nhận dạng giọng nói, xe tự hành và thuốc
      Storage optimizedCác phiên bản lưu trữ được tối ưu hóa sẽ phù hợp cho khối lượng công việc yêu cầu quyền truy cập đọc và ghi tuần tự cao vào các tập dữ liệu lớn trên bộ nhớ cục bộ. Chúng được tối ưu hóa để cung cấp hàng chục nghìn hoạt động I/O ngẫu nhiên có độ trễ thấp mỗi giây (IOPS), cho các ứng dụng sao chép dữ liệu trên các phiên bản khác nhau.Cơ sở dữ liệu NoSQL (Cassandra, MongoDB và Redis), cơ sở dữ liệu trong bộ nhớ (In-Memory), cơ sở dữ liệu transactional scale-out, data ware-housing, Elasticsearch và phân tích
      HPC optimizedHigh performance computing – Các phiên bản điện toán hiệu suất cao sẽ  mang lại hiệu suất giá tốt nhất, khi chạy khối lượng công việc HPC ở quy mô lớn trên AWS.Lý tưởng cho các ứng dụng được hưởng lợi từ bộ xử lý hiệu suất cao, chẳng hạn như mô phỏng lớn, phức tạp và khối lượng công việc học sâu

      7. Vị trí của EC2 Instance

      Khi khởi chạy các phiên bản EC2, chúng được đặt trong một đám mây riêng ảo (VPC) mặc định. VPC mặc định phù hợp để bắt đầu và khởi chạy các phiên bản EC2 công khai nhanh chóng. Thao tác này sẽ không yêu cầu phải tạo và cấu hình VPC của riêng bạn.

      Mọi tài nguyên trong VPC mặc định đều sẽ được công khai và có thể truy cập qua Internet. Vì vậy, bạn không nên đặt bất kỳ dữ liệu khách hàng hoặc thông tin riêng tư nào vào đó.

      Khi đã quen hơn với mạng lưới AWS, bạn nên thay đổi cài đặt mặc định để chọn VPC tùy chỉnh. Điều này, giúp hạn chế quyền truy cập bằng các cơ chế định tuyến và kết nối bổ sung.

      8. Thiết kế kiến ​​trúc cho tính khả dụng cao

      Trong mạng, phiên bản của bạn nằm trong Vùng khả dụng (AZ) do bạn lựa chọn. Các dịch vụ AWS ở cấp Vùng khả dụng phải được thiết kế với tính khả dụng cao.

      Mặc dù các phiên bản EC2 thường đáng tin cậy, nhưng hai phiên bản vẫn tốt hơn một. Việc chỉ định kích thước phiên bản mang lại cho bạn lợi thế khi thiết kế kiến ​​trúc. Điều này là do, bạn có thể sử dụng nhiều phiên bản nhỏ hơn thay vì một vài phiên bản lớn.

      Nếu frontend chỉ có một phiên bản duy nhất và nó bị lỗi, ứng dụng sẽ ngừng hoạt động. Tuy nhiên, bạn nên phân bổ khối lượng công việc trên 10 phiên bản. Để khi một phiên bản bị lỗi, thì tính khả dụng của ứng dụng hầu như không bị ảnh hưởng.

      Khi thiết kế các ứng dụng có tính khả dụng cao, hãy sử dụng ít nhất hai phiên bản EC2 trong hai Vùng khả dụng riêng biệt.

      Dịch vụ Amazon EC2

      Trên đây là những khía cạnh quan trọng của dịch vụ Amazon EC2. Bao gồm: tìm kiếm và cấu hình các AMIs, các loại instance và cách thiết kế kiến trúc phù hợp. 

      Để nắm vững kiến thức về Amazon EC2, hãy tham khảo khóa học AWS tại CodeGym ngay. CodeGym hứa hẹn sẽ giúp bạn trở thành những chuyên gia trong lĩnh vực điện toán đám mây.

      Tags:

      0 Lời bình

      Gửi Lời bình

      Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

      BÀI VIẾT LIÊN QUAN

      BẠN MUỐN HỌC LẬP TRÌNH?

      GỌI NGAY

      098 953 44 58

      Đăng ký tư vấn lộ trình học lập trình

      Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

      5 + 9 =

      TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
      TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM