EC2 Instance Storage là một dịch vụ lưu trữ được tích hợp trực tiếp trên EC2 instances. Instance Storage được thiết kế để cung cấp hiệu suất cao và thời gian truy cập thấp hơn so với các dịch vụ lưu trữ khác trên AWS.
EBS (Elastic Block Store)
- EBS (Elastic Block Store) Volume là dịch vụ lưu trữ dưới dạng block của AWS. Một EBS có thể attach vào duy nhất 1 EC2 trong cùng availability zone.
- EBS cho phép các phiên bản của bạn lưu trữ dữ liệu, ngay cả sau khi chúng chấm dứt
- Theo mặc định EBS root volume bị xóa khi xóa EC2 instance
- EBS bị ràng buộc theo AZ
- Để tạo EBS cho một AZ khác, chúng ta cần snapshot EBS đó.
- Sử dụng EBS Multi-Attach, bạn có thể đính kèm cùng một ổ đĩa EBS vào nhiều phiên bản EC2 trong cùng một AZ
EBS VS VOLUME:
- EBS là một dịch vụ lưu trữ dữ liệu đặc biệt được thiết kế để liên kết với các máy ảo trên AWS
- Volume là một thuật ngữ chung để chỉ bất kỳ loại dịch vụ lưu trữ nào trên AWS
EBS Snapshots
- EBS snapshots tạo 1 bản backup (snapshot) của EBS volume tại một thời điểm
- Có thể copy snapshots qua availability zone hay region
- EBS snapshots giúp lưu trữ rẻ hơn 75% so với EBS volume
- Để khôi phục EBS volume từ EBS snapshots cần 24h đến 72h
- EBS snapshot sẽ được di chuyển đến thùng rác thay bị bị xóa vĩnh viễn nếu bạn thực hiện thao tác xóa. EBS snapshot được giữ trong Recycle bin từ 1 ngày đến 1 năm
- Bạn có thể khôi phục EBS volume từ EBS snapshot một cách nhanh chóng bằng cách sử dụng Fast Snapshot Restore, tuy nhiên tính năng này tốn rất nhiều tiền
EC2 Instance storage
- EC2 Instance Store là network drives có hiệu suất cực kì cao
- EC2 Instance Store là một dịch vụ lưu trữ tạm thời (ephemeral storage) được cung cấp bởi AWS (Amazon Web Services) cho các EC2 instance. Nó cung cấp một phương tiện để lưu trữ tạm thời các tệp tin và dữ liệu cho các ứng dụng chạy trên EC2 instance, trong khi giữ cho chi phí lưu trữ thấp hơn so với sử dụng EBS (Elastic Block Store).
- EC2 Instance Store được cung cấp dưới dạng ổ đĩa cứng trên các máy chủ vật lý của AWS và có tốc độ đọc/ghi rất nhanh. Tuy nhiên, nó chỉ tồn tại trên EC2 instance trong thời gian tồn tại của instance. Khi instance bị tắt hoặc khởi động lại, dữ liệu trên EC2 Instance Store sẽ bị mất hoàn toàn.
- Việc sử dụng EC2 Instance Store phù hợp với các ứng dụng yêu cầu tốc độ đọc/ghi cao, ví dụ như các ứng dụng cần tạo tệp tin tạm thời, cache, scratch data. Tuy nhiên, nó không phù hợp với việc lưu trữ dữ liệu quan trọng hoặc cần được bảo vệ, vì nó không cung cấp tính năng sao lưu và khôi phục dữ liệu khi một EC2 instance bị mất.
EBS Volume Types
- EBS Volume Types là các loại ổ đĩa EBS mà bạn có thể sử dụng để lưu trữ dữ liệu trong AWS
- gp2/ gp3 (General Purpose SSD): cân bằng giữa giá cả và hiệu suất cho nhiều loại công việc khác nhau
- io1/ io2 (Highest performance SSD): ổ đĩa hiệu suất cao, sử dụng cho ứng dụng công việc quan trọng
- st1 (HDD): sử dụng thông lượng cao (Throughput), được truy cập thường xuyên
- sc1 (HDD): chi phí thấp, ít truy cập
- Chỉ gp2/ gp3 và io1/io2 mới được sử dụng làm ổ đĩa khởi động (root volume)
- Bạn có thể tham khảo thêm tại trang web của AWS
EBS Multi Attach
- 1 EBS có thể attach vào nhiều EC2 instance trong một AZ. tuy nhiên sẽ có giới hạn:
- EBS và EC2 phải cùng AZ
- EBS volume type phải là loại Provisioned IPOS SSD (io1/io2)
- Mỗi EC2 đều có quyền đọc, ghi đồng thời vào ổ đĩa EBS
- Với EBS multi attach, bạn có thể gắn 1 EBS vào 16 EC2 instance cùng 1 thời điểm
- Để tính năng này hoạt động phải sử dụng hệ thống tệp cluster aware
- User case: độ khả dụng của ứng dụng cao hơn trong trường hợp sử dụng cluster placement hoặc ứng dụng của bạn phải quản lý thao tác ghi đồng thời
EBS Encryption
- EBS Encryption là tính năng cho phép mã hóa dữ liệu lưu trữ trên ổ đĩa EBS. Khi kích hoạt tính năng EBS Encryption, dữ liệu trên ổ đĩa EBS sẽ được mã hóa để đảm bảo tính bảo mật của dữ liệu.
- EBS encrytion sử dụng khóa KMS(AES -256)
- Copy một EBS snapshot chưa mã hóa cho phép mã hóa
- Khi bạn tạo một ổ đĩa EBS được mã hóa :
- Dữ liệu bên trong ổ đĩa được mã hóa
- Tất cả dữ liệu di chuyển giữa instance và volumes đều được mã hóa
- Tất cả snapshots được tạo từ EBS được mã hóa
- Tất cả các volumes được tạo từ snapshots đều được mã hóa
Elastic File System
-
Amazon EFS là một dịch vụ lưu trữ tập tin
-
EFS có thể tự động scale, độ khả dụng cao, đắt gấp nhiều lần EBS
-
EFS có khả năng chia sẻ và thư mục các file giữa nhiều máy chủ EC2.
-
EFS quản lý NFS(Network file system) có thể mount vào nhiều EC2 instance
-
Các EC2 instance ở các AZ khác nhau cũng có thể dùng chung EFS
-
Mã hóa khi lưu trữ sử dụng KMS
-
Chỉ tương thích với EC2 có AMI base là Linux, không thể mount EFS vào EC2 có OS là window
-
Use case: sử dụng trong các ứng dụng Content manage, sharing data, workpress
-
Performance mode:
- General purpose(default): có độ trễ sử dụng cho webserver, CMS
- Max I/O: độ trễ cao, thông lượng cao, phù hợp cho big data, media processing
-
Throughput mode:
- Bursting: 1TB =50MiB/s
- Provisioned: đặt thông lượng cho kích thước bộ nhớ của bạn
- Elastic: tự động tăng giảm thông lượng dựa trên khối lượng công việc
-
EFS storage class: bậc lưu trữ, có thể di chuyển bậc lưu trữ sau vài ngày
- Standard: truy cập file thường xuyên
- Infrequent access (EFS-IA): ít truy cập, trả giá thấp hơn cho files lưu trữ. sử dụng Lifecycle policies
-
Tính sẵn sàng và độ khả dụng
- Standard: multi-AZ, sử dụng cho môi trường product
- One Zone: one AZ, dử dụng cho môi trường dev, tiết kiệm hơn 90%
So sánh EBS và EFS
EBS
- EBS chỉ hỗ trợ lưu trữ block storage
- Khả dụng trong một AZ
- Chỉ gắn vào được 1 EC2
- Nếu bạn cần lưu trữ dữ liệu ở mức độ tệp tin và cần một giải pháp mở rộng để xử lý số lượng kết nối đồng thời lớn, thì EFS có thể là giải pháp tốt hơn.
EFS
- EFS hỗ trợ lưu trữ file system.
- Có thể sử dụng ở nhiều AZ
- Chỉ tương thích với EC2 có base AMI là Linux
- Giá cao hơn, có thể sử dụng EFS-IA để tiết kiệm chi phí
- Có thể attach vào nhiều EC2 cùng lúc
- Nếu bạn cần lưu trữ dữ liệu ở mức độ block storage và cần một giải pháp có độ trễ thấp và độ tin cậy cao, thì EBS là giải pháp phù hợp hơn.