Chúng ta sẽ tạo một CloudFormation template đơn giản và tạo ra một Bucket S3 trên AWS.
Các template khi biết trên YAML sử dụng ít dấu câu hơn nên là sẽ dễ viết, dễ đọc hơn. Chúng cũng cho phép sử dụng các comments. Đó là các lý do chính để chúng ta sẽ sử dụng YAML.
Bước 1. Tạo template
Mở một Editor bất kỳ, ở đây dùng Visual Studio Code. Tạo một tệp mới “1-Basics.yaml” và thêm đoạn code sau:
# create a new S3 bucket
Resources:
MyS3Bucket: # logical ID
Type: 'AWS::S3::Bucket'
Properties:
BucketName: jon-snow-bucket
Tags: # list of tags
- Key: CloudFormationLab
Value: JonSnow
Template này mô tả một tài nguyên duy nhất là AWS S3 bucket có tên ‘jon-snow-bucket’.
Docs của AWS nói về setup Bucket S3 bằng CloudFormation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html
Lưu ý, mỗi tài nguyên sẽ có một Logical ID (tên logic của tài nguyên) và một Physical ID (ID được AWS gán sau khi tạo tài nguyên). Có thể hiểu rằng Logical IDs được sử dụng để tham chiếu các tài nguyên trong template AWS CloudFormation và Physical IDs được sử dụng để xác định tài nguyên ngoài các template AWS CloudFormation sau khi chúng đã được tạo.
Bước 2. Tạo stack
Đăng nhập vào AWS Console, tìm kiếm dịch vụ CloudFormation. Nhấp vào “Create stack”
Tải lên tệp Template vừa tạo ở Bước 1
Đặt tên cho Stack
Thêm tag cho stack
Review stack và nhấp vào “Create stack”
Chờ vài giây và nhấp vào nút refresh để nhận danh sách các sự kiện được cập nhật
Step 3: Tài nguyên mới
Nhấp vào tab “Resources” để xem danh sách các tài nguyên đã được tạo
Như bạn thấy, một S3 bucket mới có tên ‘jon-snow-bucket’ đã được tạo bởi AWS CloudFormation. Khi bạn nhấp vào Physical ID của bucket, bạn sẽ được điều hướng đến Amazon S3
Bước 4. Dọn dẹp
Những resources đang chạy có thể đốt tiền của bạn. Đó là lý do tại sao việc dọn dẹp tất cả các resources đã cung cấp sau khi test xong là cực kỳ quan trọng. Bạn chỉ cần xoá Stack, tất cả các tài nguyên được đính kèm theo nó cũng sẽ bị xóa.
Check Bucket S3 mới tạo của bạn không còn tồn tại:
Tóm tắt
Trong bài viết này, chúng ta đã thực hành một phần nhỏ của CloudFormation, điều này sẽ giúp bạn hiểu cách tạo template và stack.
Bài viết tiếp theo trong series này sẽ hướng dẫn cách sử dụng các hàm Intrinsic.
Tài liệu tham khảo:
https://dev.to/tiamatt/hands-on-aws-cloudformation-part-1-it-all-starts-here-5153