Tác giả: Jacky Kwok, Cyrus Wong, and Kerry Gao
Ngày phát hành: 15 JAN 2026
Chuyên mục: Amazon DynamoDB, Amazon EventBridge, Amazon Simple Notification Service (SNS), Application Integration, Application Services, AWS CloudShell, AWS Elemental MediaLive, AWS Identity and Access Management (IAM), AWS Lambda, AWS Management Console, AWS Step Functions, Compute, Database, Developer Tools, Direct-to-Consumer & Streaming, Industries, Management Tools, Media & Entertainment, Media Services, Messaging, Security, Identity, & Compliance
Phát trực tiếp (live streaming) giúp các doanh nghiệp thu hút khán giả toàn cầu với độ trễ thấp. Phát trực tiếp dựa trên đám mây có chi phí ban đầu thấp hơn so với phát sóng truyền thống và có thể mở rộng để phù hợp với nhu cầu của bạn. Bằng cách sử dụng các dịch vụ serverless của Amazon Web Services (AWS), bạn có thể tự động mở rộng tài nguyên để đáp ứng chính xác nhu cầu phát trực tiếp của mình, khởi tạo các kênh cho các sự kiện lớn và dọn dẹp hiệu quả sau đó.
AWS Elemental MediaLive là một dịch vụ xử lý video cấp độ phát sóng dựa trên đám mây mà bạn có thể sử dụng để triển khai các kênh trực tiếp trong vài phút. Bài viết này sẽ hướng dẫn bạn cách tự động hóa việc lên lịch kênh MediaLive cho cả các chương trình phát sóng đã lên kế hoạch và phát sóng một lần, giúp giảm chi phí vận hành và chi phí chung, đồng thời cho phép các luồng trực tiếp của bạn bắt đầu và dừng chính xác khi cần.
Giải pháp này sử dụng kiến trúc serverless, có khả năng mở rộng, tự động hóa việc quản lý kênh bằng AWS Lambda và Amazon EventBridge. Bạn có thể tập trung vào việc tạo ra trải nghiệm xem hấp dẫn trong khi cơ sở hạ tầng tự động quản lý các phức tạp của việc phát trực tiếp.
Tổng quan giải pháp
Giải pháp sử dụng các dịch vụ AWS chính sau:
- Amazon DynamoDB lưu trữ thông tin lên lịch kênh, bao gồm thời gian bắt đầu, thời gian kết thúc và ID kênh. Khi người dùng tạo lịch trình, Amazon DynamoDB Streams kích hoạt một AWS Lambda.
- Các hàm Lambda xử lý các mục lịch trình và tạo các bộ lập lịch tương ứng trong Amazon EventBridge.
- Amazon EventBridge điều phối các quy trình quản lý kênh dựa trên các lịch trình đã định nghĩa.
- Amazon EventBridge Scheduler thực thi các tác vụ đã lên lịch vào các thời điểm cụ thể, kích hoạt các quy trình bắt đầu và dừng.
- AWS Step Functions điều phối quy trình làm việc bao gồm:
- Bắt đầu hoặc dừng kênh MediaLive
- Xác minh trạng thái kênh
- Gửi thông báo qua Amazon Simple Notification Service (Amazon SNS)

Hình 1: Kiến trúc cấp cao cho giải pháp với ứng dụng serverless.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có những điều sau:
- Một tài khoản AWS.
- Một người dùng AWS Identity and Access Management (IAM) với đủ quyền để triển khai các tài nguyên AWS được mô tả trong tổng quan giải pháp, bao gồm DynamoDB, Lambda, EventBridge, Step Functions và Amazon SNS.
- AWS Cloud Development Kit (AWS CDK) đã được cài đặt và môi trường AWS của bạn đã được khởi tạo (bootstrapped). Để biết thêm thông tin, hãy tham khảo Hướng dẫn dành cho nhà phát triển AWS CDK.
- Một kênh đang chạy trên MediaLive. Để biết thêm thông tin, hãy tham khảo Tạo kênh từ đầu.
Hướng dẫn chi tiết
Trong phần này, chúng tôi sẽ hướng dẫn bạn các bước để lên lịch các hoạt động kênh MediaLive bằng AWS EventBridge. Hướng dẫn chi tiết này bao gồm các bước cấp cao sau:
- Cung cấp các thành phần AWS cần thiết
- Thêm lịch trình kênh vào DynamoDB
- Xác minh lịch trình của bạn
- Kiểm tra lịch trình của bạn
Hoàn thành các bước trong các phần sau.
Cung cấp các thành phần AWS cần thiết
Để triển khai giải pháp bằng AWS CDK, trên AWS Management Console, điều hướng đến AWS CloudShell, như được hiển thị trong ảnh chụp màn hình sau.

Hình 2: Biểu tượng AWS CloudShell trên thanh điều hướng console.
Nhập lệnh sau để cài đặt stack:
git clone https://github.com/aws-samples/cyrustc-sample.gitcd cyrustc-sample/elemental-medialive-schedule-automationnpm install && npm run deploy

Hình 3: Dán lệnh vào bảng điều khiển CloudShell.
Việc triển khai mất khoảng 5 phút. Khi hoàn tất, bạn sẽ nhận được thông báo xác nhận, như được hiển thị trong ảnh chụp màn hình sau.

Hình 4: Xác nhận triển khai thành công.
Thêm lịch trình kênh vào DynamoDB
Trong bước này, bạn định nghĩa các tiêu chí để tự động bắt đầu và dừng một kênh MediaLive. Mỗi mục lịch trình áp dụng cho một kênh MediaLive cụ thể và bao gồm giám sát tình trạng luồng để kênh của bạn hoạt động đúng cách ngoài các thao tác bắt đầu và dừng cơ bản.
Để tạo một mục lịch trình, hãy làm theo các bước sau:
- Điều hướng đến bảng điều khiển DynamoDB. Bạn sẽ tìm thấy một bảng có tên bắt đầu bằng media-scheduler, như được hiển thị trong ảnh chụp màn hình sau.

Hình 5: Danh sách bảng DynamoDB hiển thị bảng media-scheduler.
- Chọn bảng và chọn Explore table items (Khám phá các mục bảng), như được hiển thị trong ảnh chụp màn hình sau.

Hình 6: Chế độ xem khám phá bảng.
- Cuộn xuống và chọn Create item (Tạo mục).

Hình 7: Tạo mục trong bảng.
- Chọn JSON view (Chế độ xem JSON) và nhập cấu hình sau:
{ "mediaChannelId": { "S": <Your channel ID> }, "startDateTime": { "S": "2025-02-03T09:35:00+00:00" }, "endDateTime": { "S": "2025-02-11T09:40:00+00:00" }, "manifestUrl": { "S": <Your HLS or DASH manifest URL for end users> }}
mediaChannelId: Đây là ID kênh MediaLive duy nhất và có thể lấy từ bảng điều khiển MediaLive. Mỗi mục nhập lên lịch cho một kênh cụ thể. Để biết thêm thông tin, hãy truy cập Xem cấu hình kênh.
startDateTime và endDateTime: Nhập ngày giờ theo định dạng ISO8601. Quá trình tự động hóa sẽ bắt đầu và dừng tương ứng.
manifestUrl: Nhập URL manifest HTTP Live Streaming (HLS) hoặc Dynamic Adaptive Streaming over HTTP (DASH) của bạn. Quá trình tự động hóa sẽ xác minh kết nối sau khi kênh được khởi động. Bạn sẽ được thông báo nếu kiểm tra tình trạng thất bại.
Chọn JSON view (Chế độ xem JSON) và xác nhận rằng các giá trị đầu vào là chính xác, sau đó chọn Create item (Tạo mục), như được hiển thị trong ảnh chụp màn hình sau.

Hình 8: Cấu hình JSON cho mục lịch trình.
Bây giờ bạn đã thêm lịch trình của mình.
Xác minh lịch trình của bạn
Sau khi bạn thêm mục lịch trình vào bảng, DynamoDB sẽ kích hoạt Step Functions thông qua EventBridge. Hệ thống tự động tạo một lịch trình EventBridge dựa trên dữ liệu bảng.
Để xem các sự kiện đã lên lịch này:
- Điều hướng đến bảng điều khiển Amazon EventBridge.
- Trong ngăn điều hướng, chọn Schedule (Lịch trình).
- Tìm lịch trình đã được tạo. Mỗi quá trình tự động hóa được lập trình để bắt đầu 10 phút trước
startDateTimeđã chỉ định của bạn, cung cấp đủ thời gian chuẩn bị. Bạn có thể xác định các sự kiện bằng quy ước đặt tên của chúng vì mỗi sự kiện bắt đầu bằng ID kênh MediaLive của bạn. - Chọn một sự kiện riêng lẻ để xem chi tiết của nó.
- Xác minh cấu hình chi tiết và thông tin trạng thái.
Ảnh chụp màn hình sau hiển thị tab Schedule (Lịch trình) với thông tin cấu hình và trạng thái.

Hình 9: Chi tiết lịch trình EventBridge.
Lưu ý: Lịch trình Amazon EventBridge sẽ tự động bị xóa sau khi nó bắt đầu.
Kiểm tra lịch trình của bạn
Mười phút trước thời gian bắt đầu đã lên lịch của bạn, EventBridge sẽ kích hoạt WorkflowStateMachine.
Để giám sát việc thực thi quy trình làm việc:
- Điều hướng đến bảng điều khiển AWS Step Functions.
- Chọn State machines (Máy trạng thái).
- Chọn máy trạng thái có tên WorkflowStateMachine.
- Chọn Executions (Thực thi) để xem các quy trình làm việc đang chạy.
- Chọn một lần thực thi để xem tiến độ của nó.
- Xác minh quy trình làm việc hoàn thành các bước sau:
- Bắt đầu kênh AWS Elemental MediaLive.
- Chờ 60 giây để kênh khởi tạo.
- Kiểm tra URL manifest để biết tình trạng luồng.
- Gửi thông báo qua Amazon SNS.
Nếu kiểm tra tình trạng thất bại, bạn sẽ nhận được thông báo SNS với chi tiết lỗi. Sơ đồ sau đây cho thấy một quy trình làm việc hoàn chỉnh được thực thi trong Step Functions.

Hình 10: Một quy trình làm việc hoàn chỉnh được thực thi trong Step Functions.
Dọn dẹp tài nguyên
Để tránh phát sinh chi phí trong tương lai, hãy xóa stack CDK hoặc CloudFormation có tên ElementalMedialiveAutomationStack, mà bạn đã triển khai trong phần Cung cấp các thành phần AWS cần thiết.
Kết luận
Giải pháp serverless này tự động hóa việc quản lý kênh AWS Elemental MediaLive bằng AWS Lambda, Amazon EventBridge và AWS Step Functions. Bạn kiểm soát chi phí bằng cách chỉ chạy các kênh khi cần thiết.
Cách tiếp cận tự động này mang lại hai lợi ích chính:
- Các nhóm có thể tập trung vào việc tạo nội dung hấp dẫn thay vì quản lý cơ sở hạ tầng
- Các tổ chức đạt được phân bổ tài nguyên hiệu quả và kiểm soát chi phí thông qua việc lên lịch tự động
Kiến trúc này cung cấp nền tảng để các tổ chức mở rộng khả năng phát trực tuyến của mình đồng thời giảm thiểu chi phí vận hành.
Nếu bạn cần thêm thông tin, hãy tạo một vấn đề trên kho lưu trữ GitHub này hoặc liên hệ với nhóm tài khoản của bạn.
Tài nguyên bổ sung
Về tác giả

Jacky Kwok
Jacky Kwok là Kiến trúc sư giải pháp doanh nghiệp tại Amazon Web Services (AWS). Anh có kinh nghiệm về các ngăn xếp công nghệ khác nhau, bao gồm Java, Node.js, MySQL và PostgreSQL với kinh nghiệm thực tế trong phát triển ứng dụng và kiến trúc giải pháp trong hơn 10 năm qua.

Cyrus Wong
Cyrus Wong là Kiến trúc sư giải pháp FSI tại Amazon Web Services (AWS). Anh hợp tác với các khách hàng trong lĩnh vực ngân hàng và dịch vụ tài chính để kiến trúc các ứng dụng AI tạo sinh cấp doanh nghiệp nhằm chuyển đổi hoạt động kinh doanh đồng thời đáp ứng các yêu cầu quy định.

Kerry Gao
Kerry Gao là Chuyên gia GTM Edge cấp cao tại Amazon Web Services (AWS), chuyên về các dịch vụ truyền thông với hơn 15 năm kinh nghiệm trong ngành phát sóng và truyền thông.