Việc Infra as code sử dụng cloudformation vẫn còn khá mới cho developer tại Việt Nam chúng ta. Hôm nay mình sẽ cùng mọi người tạo AWS Cloudfront và AWS S3 sử dụng AWS Cloudformation Template
Source Code: https://github.com/shevchenki/CICD-ReactJS-On-AWS
Ưu Điểm:
- Quản lý version của infra
- Nhanh chóng deploy trên nhiều môi trường
- Xóa môi trường nhanh chóng khi hết ngày làm việc hoặc quá trình phát triển kết thúc …
Các thuật ngữ sử dụng trong bài:
- AWS S3: Nơi đặt Static Website
- AWS Cloudfornt: Một CDN (Content Deleveri Network)
- Cloudformation: Deploy AWS infra as code
I. Tạo Cloudformation Stack trên màn hình AWS Console

- Tại đây chúng ta có nhiều lựa chọn để tạo cloudformation stack. Chúng ta có thể up lên S3 hoặc up trực tiếp sử dụng “Upload a template file”
- Mình sẽ sử dụng “Upload a template file” sau khi up lên thì AWS sẽ tự tạo một S3 để lưu template mình đã tạo ra
- Template mình để trong git bên trên, đường dẫn là: /cnf/s3-cloudfront.yaml

Các bạn ấn Next để tiếp tục nhé!

Mình điền tên stack vào xong ấn Next tiếp nhé!

Các bạn gắn Tags vào xong ấn Next và ấn Create Stack nhé.
Các bạn không gắn Tags cũng được, nhưng mình khuyên các bạn nên gắn Tags và để sau này quản lý resource một cách hiệu quả hơn
Chờ khoảng 5 Phút chúng ta cùng kiểm tra kết quả nào:



Tiến hành Xóa Resource, chúng ta chỉ cần chọn Stack tại cloudformation screen đã tạo ra rồi ấn Delete.
Vì mình setup sẽ giữ lại S3 sau khi xóa cloudformation stack nên các bạn nhớ vào S3 kiểm tra để xóa các Bucket đã tạo ra nhé.

Vậy là hoàn thành rồi.
Phần cloudformation template mình cùng review qua một chút nhé:
Về cơ bản sẽ có 3 phần:
- Parameters: Nơi khai báo các tên sử dụng cho resources (Giống như khi các bạn khai báo biến vậy)

- Reources:


Mình set chỉ để phương thức http gọi đến thôi

Ngoài ra còn nhiều hạng mục khác như metadata, condition … nữa nhưng trong bài viết này mình chỉ nói đến 3 hạng mục ở trên thôi.
Đến đây các bạn đã có một overview về cloudformation template rồi.
Sử dụng Infra as code không khó mà cần sự tỉ mỉ và hiểu rõ về hệ thống.
Chúc các bạn thành công.
a e nào ko biết về cloudformation nên đọc qua bài này!