Khám Phá và Thực Hành với Azure Blob Storage Chuyên mục Devops 2025-07-06 1 Lượt xem 1 Lượt thích 0 Bình luận
Chào các bạn,
Trong hành trình xây dựng hạ tầng đám mây trên Azure, chúng ta đã từng bước kiến tạo một nền tảng mạnh mẽ: từ mạng ảo linh hoạt, định tuyến lưu lượng với Application Gateway, cho đến khả năng tự động mở rộng quy mô ứng dụng với VMSS. Hôm nay, chúng ta sẽ lặn sâu vào một trong những dịch vụ lưu trữ cốt lõi và linh hoạt nhất của Azure: Azure Blob Storage.
Nếu bạn đã quen thuộc với các khái niệm về lưu trữ đối tượng (Object Storage) như Amazon S3, thì Azure Blob Storage chính là đối tác tương đương của Microsoft. Đây là giải pháp không thể thiếu để lưu trữ và quản lý lượng lớn dữ liệu phi cấu trúc (unstructured data) – từ hình ảnh, video, tài liệu, file log cho đến bản sao lưu và dữ liệu phân tích.
I. Azure Blob Storage: Kho Lưu Trữ Đối Tượng Toàn Năng
Azure Blob Storage là dịch vụ lưu trữ đối tượng của Microsoft Azure, được thiết kế để lưu trữ và quản lý dữ liệu dưới dạng "blob" (Binary Large Object) – những khối dữ liệu nhị phân lớn. Nó cung cấp một giải pháp mạnh mẽ cho việc lưu trữ hàng petabyte hoặc thậm chí exabyte dữ liệu với độ sẵn sàng và độ bền cực cao.
Những Cốt Lõi (Core Principles) và Lợi Ích Chính:
-
Khả năng mở rộng (Scalability) Vô Hạn: Đây là một trong những điểm mạnh nhất. Blob Storage có thể mở rộng quy mô gần như không giới hạn về dung lượng và số lượng đối tượng. Bạn không cần lo lắng về việc "hết dung lượng" hoặc phải quản lý các ổ đĩa vật lý.
-
Độ bền (Durability) và Sẵn sàng (Availability) Siêu Cao: Dữ liệu của bạn được sao chép tự động để đảm bảo độ bền cao (thường là 11 số 9 - 99.999999999% độ bền hàng năm). Azure cung cấp các tùy chọn dự phòng từ trong một datacenter đến đa khu vực địa lý.
-
Chi phí hiệu quả (Cost-effectiveness) với Access Tiers: Blob Storage không chỉ lưu trữ mà còn cho phép bạn tối ưu chi phí thông qua các cấp độ truy cập (Hot, Cool, Archive) dựa trên tần suất dữ liệu được truy cập. Dữ liệu ít truy cập sẽ có chi phí lưu trữ thấp hơn đáng kể.
-
Truy cập toàn cầu (Global Accessibility): Dữ liệu có thể được truy cập an toàn từ bất kỳ đâu trên thế giới thông qua các giao thức chuẩn HTTP/HTTPS, giúp ứng dụng toàn cầu của bạn phục vụ người dùng nhanh chóng.
-
Bảo mật chặt chẽ (Robust Security): Tích hợp sâu rộng với Azure Active Directory (Azure AD) để quản lý quyền truy cập chi tiết, mã hóa dữ liệu khi lưu trữ (at rest) và khi truyền tải (in transit), cùng với các chính sách Network Access Control.
-
Quản lý vòng đời dữ liệu (Lifecycle Management): Tự động chuyển đổi dữ liệu giữa các cấp độ truy cập hoặc xóa dữ liệu sau một khoảng thời gian nhất định, giúp tự động hóa việc tối ưu chi phí và tuân thủ quy định.
II. Cấu Trúc Phân Cấp của Azure Blob Storage
Để làm việc hiệu quả với Blob Storage, việc hiểu cấu trúc phân cấp của nó là rất quan trọng:
-
Storage Account (Tài khoản lưu trữ): Đây là tài nguyên cấp cao nhất và là container logic cho tất cả dữ liệu lưu trữ của bạn trong Azure. Mỗi Storage Account cung cấp một không gian tên (namespace) duy nhất (ví dụ:
youraccountname.blob.core.windows.net
).-
Các loại Storage Account phổ biến:
-
General-purpose v2 (GPv2): Loại khuyến nghị cho hầu hết các trường hợp, hỗ trợ tất cả các cấp độ truy cập và các dịch vụ lưu trữ khác (File, Table, Queue).
-
Premium Block Blobs: Dành cho các kịch bản yêu cầu hiệu suất cao, độ trễ thấp với ổ SSD.
-
-
-
Container (Bộ chứa): Nằm bên trong một Storage Account, Container là một cách để tổ chức các blob. Tương tự như một thư mục trong hệ thống tệp, nhưng chỉ là một nhóm logic. Một Storage Account có thể chứa không giới hạn số lượng Container.
-
Blob (Đối tượng): Là các file hoặc đối tượng dữ liệu thực tế mà bạn lưu trữ. Mỗi blob có một tên duy nhất trong Container của nó.
-
Các loại Blob:
-
Block Blobs: Lý tưởng cho dữ liệu phi cấu trúc dạng văn bản hoặc nhị phân (ảnh, video, tài liệu, file log) có kích thước lên tới hàng TB. Đây là loại phổ biến nhất.
-
Append Blobs: Tối ưu hóa cho các hoạt động nối thêm dữ liệu, như các file log.
-
Page Blobs: Dùng cho các file đĩa ảo (VHDs) của các máy ảo Azure IaaS.
-
-
III. Các Cấp Độ Truy Cập (Access Tiers) để Tối Ưu Chi Phí
Một trong những điểm mạnh của Blob Storage là khả năng linh hoạt trong chi phí thông qua các cấp độ truy cập:
-
Hot tier (Cấp độ nóng): Dành cho dữ liệu được truy cập thường xuyên. Chi phí lưu trữ cao hơn, nhưng chi phí truy cập và giao dịch thấp nhất. Phù hợp cho nội dung web, file hoạt động.
-
Cool tier (Cấp độ nguội): Dành cho dữ liệu được truy cập ít thường xuyên hơn (ít nhất 30 ngày một lần). Chi phí lưu trữ thấp hơn Hot tier, nhưng chi phí truy cập và giao dịch cao hơn. Phù hợp cho bản sao lưu ngắn hạn, dữ liệu phân tích.
-
Archive tier (Cấp độ lưu trữ): Dành cho dữ liệu hiếm khi được truy cập (ít nhất 180 ngày một lần), với yêu cầu độ trễ linh hoạt (vài giờ để truy xuất). Chi phí lưu trữ thấp nhất, nhưng chi phí truy cập và thời gian truy xuất cao nhất. Lý tưởng cho lưu trữ dài hạn, tuân thủ.
IV. Thực Hành: Triển Khai và Quản Lý Dữ Liệu với Azure Blob Storage
Chúng ta sẽ thực hành các bước cơ bản để tạo một Storage Account, tạo Container, bật quyền truy cập công khai và tải lên/tải xuống các đối tượng (blob).
Kịch bản: Tạo một Storage Account để lưu trữ hình ảnh công khai cho ứng dụng web của bạn.
Bước 1: Tạo Azure Storage Account (Với Lựa Chọn "Hot" Access Tier)
-
Đăng nhập vào Azure Portal: Truy cập portal.azure.com.
-
Trên thanh tìm kiếm ở đầu Portal, gõ "Storage accounts" và chọn kết quả.
-
Nhấn vào nút + Create (hoặc "Tạo").
-
Tab Basics (Cơ bản):
-
Subscription: Chọn gói đăng ký Azure của bạn.
-
Resource Group: Chọn một Resource Group đã có hoặc tạo mới (ví dụ:
my-storage-rg
). -
Storage account name: Đặt một tên duy nhất trên toàn cầu (ví dụ:
mywebappimages001
). Tên này phải là chữ thường, không dấu, không khoảng trắng và có độ dài từ 3 đến 24 ký tự. -
Region: Chọn một khu vực gần bạn hoặc khu vực của các tài nguyên khác của bạn (ví dụ:
Southeast Asia
hoặcJapan East
). -
Performance:
Standard
(phù hợp cho hầu hết các trường hợp). -
Redundancy (Khả năng dự phòng): Chọn
Locally-redundant storage (LRS)
cho mục đích thực hành (chi phí thấp nhất). Trong production, hãy cân nhắcGeo-redundant storage (GRS)
hoặcZone-redundant storage (ZRS)
để tăng cường độ bền.
-
-
Tab Advanced (Nâng cao):
-
Blob access tier (Cấp độ truy cập Blob mặc định): Chọn
Hot
(vì chúng ta sẽ truy cập hình ảnh thường xuyên). -
Để mặc định các cài đặt khác.
-
-
Review + create (Xem xét + tạo): Kiểm tra lại các thông tin và nhấn Create.
Quá trình tạo Storage Account có thể mất vài phút.
Bước 2: BẬT Quyền Truy Cập Công Khai ở Cấp Độ Storage Account (CỰC KỲ QUAN TRỌNG)
Để có thể bật truy cập công khai cho Container, bạn phải bật tính năng này ở cấp độ Storage Account trước.
-
Vào Storage Account bạn vừa tạo (ví dụ:
mywebappimages001
). -
Trong menu bên trái, dưới phần Settings, tìm và chọn Configuration.
-
Kéo xuống tìm mục "Allow Blob public access" (hoặc "Blob public access").
-
Đảm bảo rằng tùy chọn này đang được
Enabled
(Đã bật). -
Nhấn Save ở đầu trang để lưu thay đổi.
Lưu ý: Việc thay đổi cài đặt này có thể mất vài phút để có hiệu lực. Hãy kiên nhẫn.
Bước 3: Tạo Container trong Storage Account (Với Quyền Truy Cập Công Khai)
Sau khi Storage Account được tạo và quyền truy cập công khai đã được bật, chúng ta sẽ tạo một Container và cho phép nó truy cập công khai.
-
Vào Storage Account của bạn (
mywebappimages001
). -
Trong menu bên trái, dưới phần Data storage, chọn Containers.
-
Nhấn vào nút + Container.
-
Name: Đặt tên cho Container (ví dụ:
website-images
). -
Public access level: Đây là lúc bạn chọn quyền truy cập công khai.
-
Chọn
Blob (anonymous read access for blobs only)
(Đây là lựa chọn phổ biến và an toàn hơn cho nội dung công khai. Nó cho phép đọc các blob cụ thể nhưng không cho phép liệt kê toàn bộ nội dung Container). -
Tránh chọn
Container
trừ khi bạn thực sự muốn cho phép liệt kê tất cả các blob trong Container đó công khai.
-
-
Nhấn Create.
-
Bước 4: Tải lên (Upload) Blob (Ảnh)
Bây giờ chúng ta sẽ tải lên một vài file ảnh vào Container vừa tạo.
-
Vào Container bạn vừa tạo (
website-images
). -
Nhấn vào nút Upload.
-
Trong cửa sổ "Upload blob":
-
Files: Nhấn vào biểu tượng thư mục để chọn một hoặc nhiều file ảnh từ máy tính của bạn.
-
Overwrite if files already exist: Tích chọn nếu bạn muốn ghi đè lên các file cùng tên.
-
Upload to folder: Bạn có thể nhập tên thư mục ảo để tổ chức file (ví dụ:
products/
). -
Blob type: Để mặc định
Block blob
. -
Access tier: Để mặc định
Hot
. -
Nhấn Upload.
-
Bạn sẽ thấy các file ảnh của mình xuất hiện trong danh sách các blob.
Bước 5: Kiểm tra Truy Cập Công Khai
Đây là bước xác nhận thành công!
-
Nhấn vào tên của một blob bạn vừa tải lên (ví dụ:
myimage.jpg
). -
Trên trang thuộc tính của blob, bạn sẽ thấy URL. Sao chép URL này.
-
Mở một tab trình duyệt mới (có thể dùng chế độ ẩn danh để đảm bảo không có cookie hay cache ảnh hưởng) và dán URL vào.
-
Kết quả mong đợi: Bạn sẽ thấy hình ảnh được hiển thị trực tiếp trong trình duyệt mà không cần bất kỳ xác thực hay SAS Token nào!
V. Những Lưu Ý Quan Trọng khi Sử Dụng Azure Blob Storage
-
Bảo mật là ưu tiên hàng đầu: Mặc định của Azure là an toàn nhất (Private access). Việc bật quyền truy cập công khai cho Container và Storage Account có nghĩa là bất kỳ ai có URL đều có thể truy cập dữ liệu. Chỉ sử dụng cho dữ liệu mà bạn thực sự muốn công khai.
-
CDN (Content Delivery Network): Đối với việc phân phối nội dung tĩnh công khai (như hình ảnh, video, CSS, JS) trong môi trường production, hãy luôn tích hợp Azure Blob Storage với Azure CDN. CDN sẽ tăng tốc độ truy cập cho người dùng toàn cầu, giảm tải cho Storage Account và tối ưu chi phí băng thông.
-
Cấp độ truy cập (Access Tiers): Thường xuyên xem xét lại các cấp độ truy cập của blob. Sử dụng chính sách quản lý vòng đời (Lifecycle Management) để tự động chuyển các blob cũ từ Hot sang Cool hoặc Archive để tiết kiệm chi phí.
-
Xác thực và ủy quyền: Đối với các ứng dụng nội bộ hoặc các trường hợp cần kiểm soát truy cập chi tiết, hãy sử dụng:
-
Shared Access Signatures (SAS): Cung cấp quyền truy cập tạm thời và có giới hạn.
-
Azure Active Directory (Azure AD) và Role-Based Access Control (RBAC): Gán quyền truy cập dựa trên vai trò cho người dùng hoặc ứng dụng (Managed Identity cho VM/VMSS). Đây là phương pháp bảo mật và quản lý tốt nhất trong môi trường doanh nghiệp.
-
-
Naming Conventions: Tuân thủ các quy tắc đặt tên cho Storage Account, Container và Blob để dễ quản lý.
Bạn đã thành công trong việc triển khai một giải pháp lưu trữ đối tượng mạnh mẽ và linh hoạt với Azure Blob Storage! Kỹ năng này là nền tảng để bạn quản lý mọi loại dữ liệu phi cấu trúc cho ứng dụng và hệ thống của mình trên Azure.
Hãy tiếp tục khám phá các tính năng nâng cao và tích hợp Blob Storage vào các dự án của bạn nhé!
Bình luận (0)