0
0
Lập trình
Hưng Nguyễn Xuân 1
Hưng Nguyễn Xuân 1xuanhungptithcm

Tổng Quan về AWS CloudFormation: Hướng Dẫn Chi Tiết về Công Cụ Cấp Phát Hạ Tầng

Đăng vào 1 tuần trước

• 3 phút đọc

Tổng Quan

AWS CloudFormation là một công cụ quản lý hạ tầng dưới dạng mã (Infrastructure as Code - IaC) giúp người dùng dễ dàng tạo, quản lý và cấp phát hạ tầng trên nền tảng AWS. Công cụ này cho phép bạn mô tả cấu trúc hạ tầng của bạn thông qua các template được viết ở định dạng YAML hoặc JSON.

Các Khái Niệm Căn Bản

Khi sử dụng AWS CloudFormation, bạn cần nắm vững một số khái niệm sau:

  • Template file: Được coi như kế hoạch chi tiết cho hạ tầng AWS, có thể viết dưới dạng .yml hoặc .json.
  • Stacks: Mỗi stack tương ứng với một hạ tầng cụ thể, bao gồm tất cả các tài nguyên AWS được mô tả trong template. Khi bạn khởi tạo, cập nhật hoặc xóa tài nguyên, thực tế bạn đang thao tác với stack của CloudFormation.
  • Change sets: Bộ thay đổi được định nghĩa cho stack hiện tại. Change set cho phép bạn xem trước các thay đổi trong hạ tầng trước khi áp dụng.

Cấu Trúc CloudFormation Template

Trong phần này, chúng ta sẽ đi sâu vào từng mục trong file template.

Mô Tả (Description) (tùy chọn)

Mục này cho phép bạn tóm tắt thông tin về template. Ví dụ:

Copy
Description: >-
    Mẫu template AWS CloudFormation.
    Thông tin chi tiết về
    template này.

Tham Số (Parameters) (tùy chọn)

Xác định các tham số để truyền vào file template khi khởi tạo hạ tầng. Ví dụ:

Copy
Parameters:
    InstanceTypeParameter:
        Type: String
        Default: t2.micro
        AllowedValues:
        - t2.micro
        - m1.small
        - m1.large
        Description: Nhập t2.micro, m1.small, hoặc m1.large. Mặc định là t2.micro.

Hàm (Functions)

Hàm trong template cho phép bạn tương tác với dữ liệu. Một số hàm phổ biến bao gồm:

  1. Fn::And: Thực hiện các điều kiện AND.
  2. Fn::Contains: Kiểm tra một giá trị có nằm trong một danh sách hay không.
  3. Fn::Equals: So sánh hai giá trị.
  4. Fn::Not: Đảo ngược giá trị điều kiện.

Bản Đồ (Mappings)

Khai báo các biến trong cấu trúc map.

Copy
Mappings:
  RegionMap:
    us-east-1:
      "HVM64": "ami-0ff8a91507f77f867"

Điều Kiện (Conditions)

Định nghĩa các biến điều kiện trong file template, sử dụng trong việc khởi tạo tài nguyên.

Copy
Conditions:
  isProd: !Equals [!Ref paramEnvironmentType, prod]

Tài Nguyên (Resources)

Đây là phần quan trọng nhất, nơi định nghĩa các tài nguyên cần khởi tạo.

Copy
Resources:
    Logical ID:
        Type: Resource type
        Properties:
            Set of properties

Quản Lý Hạ Tầng với AWS CLI

Sau khi có file template, bạn có thể quản lý hạ tầng qua AWS CLI. Một số lệnh cơ bản:

  • Xác thực template:
Copy
aws cloudformation validate-template --template-body file://template.yml
  • Khởi tạo stack:
Copy
aws cloudformation create-stack --stack-name myteststack --template-body file://template.yml --parameters ParameterKey=Parm1,ParameterValue=test1
  • Lấy thông tin stack:
Copy
aws cloudformation describe-stacks --stack-name myteststack

Kết Luận

Trong bài viết này, chúng ta đã khám phá tổng quan về AWS CloudFormation, cách sử dụng file template, cùng các lệnh trong AWS CLI để tương tác với CloudFormation. Hy vọng bài viết này sẽ hữu ích cho bạn trong việc quản lý hạ tầng AWS một cách hiệu quả nguồn lực.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào