Blog
Thoughts on engineering, design, and building great products.

AWS-native Observability for EC2 với CloudWatch Agent
Thực hành xây dựng observability pipeline cho EC2 bằng CloudWatch Agent, CloudWatch Logs, CloudWatch Metrics, Alarm, SNS Email và Dashboard qua hai case thực tế: cài agent trên EC2 đã có sẵn và bootstrap agent ngay khi launch EC2 mới.
Khái Niệm CI/CD Và Pipeline Đầu Tay Trên AWS EC2
Hướng dẫn từng bước triển khai web React + Node.js lên AWS EC2 bằng Docker, kèm thiết lập CI/CD tự động với GitHub Actions. Bài đi từ khái niệm CI/CD, phân biệt Continuous Delivery vs Deployment, các stage chuẩn của pipeline (Source -> Build -> Test -> Quality Gate -> Package -> Deploy -> Verify), thuật ngữ GitHub Actions, các chiến lược deploy phổ biến, rồi dựng pipeline đầu tay end-to-end. Phù hợp người mới làm quen DevOps.
CodeDeploy Lifecycle Hooks: Thứ Tự, Biến, và Khi Hook Fail
Mổ sâu phần hook của CodeDeploy: chuỗi lifecycle event chạy theo thứ tự nào, hook nào hợp việc gì, vì sao ApplicationStop chạy từ revision cũ chứ không phải mới, những biến môi trường CodeDeploy truyền vào script, và chuyện gì xảy ra khi một hook fail — deploy dừng đúng ở đó, các event sau không chạy.
CodeDeploy: Deploy In-Place Đầu Tiên Lên EC2
Mở Part IV: đưa artifact lên EC2 bằng CodeDeploy. Dựng một instance có agent, tạo application và deployment group nhắm theo tag, viết appspec.yml với các hook vòng đời, rồi chạy lần deploy in-place đầu tiên — xem agent kéo revision từ S3 và chạy qua từng lifecycle event tới khi app phục vụ thật.
Module Mạng Thực Tế: VPC, Subnet, và EC2
Ráp mọi thứ Part IV thành một module hạ tầng nền hữu dụng: VPC với subnet công khai cho nhiều vùng, internet gateway và route table, sinh CIDR bằng cidrsubnet và subnet bằng for_each. Rồi đặt một EC2 ra Internet trong mạng đó. Đây là kiểu module nền mà gần như dự án nào cũng cần.
Dựng Sáu Máy EC2 và Chuẩn Bị Hệ Điều Hành
Bài hands-on đầu tiên: dựng một VPC riêng trên AWS với sáu máy EC2 (1 load balancer, 3 controller, 2 worker), gán IP private cố định, rồi chuẩn bị hệ điều hành — hostname, /etc/hosts, kernel module, sysctl, tắt swap — và cài bộ công cụ kubectl, cfssl. Toàn bộ làm từng bước, chạy thật.
EC2: Tạo Máy Chủ Ảo Đầu Tiên và Chạy Web Server
Tạo một EC2 instance, SSH vào nó, cài nginx và mở trang web từ trình duyệt. Bài đầu tiên có resource tốn tiền nên cũng là bài đầu tiên có phần dọn dẹp.