- Sắp tới đây sẽ là một series bài viết liên quan đến AWS CloudFormation, ở đây tôi sẽ tạo các template AWS CloudFormation từ cơ bản đến nâng cao. Đây là bài viết đầu tiên trong series này.
Trước tiên, chúng ta cần nắm được các thuật ngữ cơ bản.
AWS CloudFormation là gì?
- AWS CloudFormation là một dịch vụ giúp bạn mô hình hóa (model) và thiết lập các tài nguyên AWS của mình để bạn có thể dành ít thời gian hơn cho việc quản lý các tài nguyên đó và nhiều thời gian hơn tập trung vào các ứng dụng chạy trên AWS của mình. Bạn có thể tạo template mô tả tất cả các tài nguyên AWS mà bạn muốn (như các phiên bản EC2 hoặc các phiên bản RDS DB), và AWS CloudFormation sẽ lo việc cung cấp và cấu hình những tài nguyên đó cho bạn.
Kĩ hơn xíu
- Infrastructure as Code (IaaC) là quá trình cung cấp và quản lý các tài nguyên trên Cloud của bạn bằng cách viết một template mà con người có thể đọc được và máy móc có thể sử dụng và thiết lập được. Đối với AWS, lựa chọn tích hợp cho Infrastructure as Code là AWS CloudFormation (Lựa chọn thay thế khác có thể là Terraform, nhưng sẽ không đề cập ở Series này).
- Template là một tệp văn bản định dạng JSON hoặc YAML. AWS CloudFormation sử dụng các templates này như là các bản thiết kế để xây dựng các resources AWS của bạn.
- Stacks: Khi bạn sử dụng AWS CloudFormation, bạn quản lý các resources liên quan như một đơn vị duy nhất gọi là Stack. Đầu tiên, bạn khai báo toàn bộ hạ tầng của mình trong một template. Sau đó, các resources của bạn được ánh xạ vào Stack. Stack là sản phẩm cuối cùng. Nó khởi tạo tất cả các resources được chỉ định trong AWS. Bạn tạo, cập nhật và xóa một tập hợp các resources bằng cách tạo, cập nhật và xóa stacks. (Yên tâm, sẽ dễ hiểu hơn khi nhìn hình)
- Change sets Nếu bạn cần thực hiện thay đổi đối với các resources đang chạy trong một stack, bạn cập nhật stack. Trước khi thực hiện các thay đổi đối với các resources của bạn, bạn có thể tạo một change set, đó là một bản tóm tắt các thay đổi được đề xuất của bạn. Change sets cho phép bạn thấy các thay đổi của mình có thể ảnh hưởng như thế nào đến các resources đang chạy, đặc biệt là đối với các resources quan trọng, trước khi triển khai chúng.
Để biết được trong file template CloudFormation có gì, thì hãy xem Video giới thiệu về CloudFormation – Template Anatomy (3 phút) https://youtu.be/NhQhltDp1o4
Tài liệu tham khảo: