Cách sử dụng Cloudformation để tạo phiên bản EC2

theanh

Administrator
Nhân viên
Trước khi chúng ta tiếp tục, tôi cho rằng bạn đã biết về dịch vụ EC2 trên AWS và biết các thành phần cơ bản của nó. Tôi khuyên bạn nên xem bài viết của tôi để tạo phiên bản EC2 bằng AWS Console và hiểu những điều cơ bản về phiên bản EC2, hãy nhấp vào đây để đến bài viết. Trong bài viết này, chúng ta sẽ tạo phiên bản EC2 bằng AMI Linux mới nhất bằng Cloudformation, do đó, bạn cần biết những điều cơ bản về quá trình hình thành đám mây. Ngay cả khi bạn không biết về Cloudformation và chỉ muốn tạo phiên bản bằng Cloudformation, đừng lo lắng và hãy tiếp tục đọc bài viết.

Trong bài viết này, chúng tôi sẽ không đề cập đến tất cả các tùy chọn có sẵn trong Cloudformation cho EC2. Nếu bạn muốn biết tất cả các tùy chọn có sẵn trong dịch vụ Cloudformation forEC2, hãy truy cập tài liệu chính thức của AWStại đây.

Điều kiện tiên quyết​

  1. Tài khoản AWS (Tạonếu bạn chưa có một).
  2. Hiểu biết cơ bản về Mẫu Cloudformation.
  3. Hiểu biết cơ bản về các phiên bản EC2.

Chúng ta sẽ làm gì?​

  1. Đăng nhập vào AWS.
  2. Tạo mẫu.
  3. Tạo ngăn xếp Cloudformation
  4. Xóa ngăn xếp Cloudformation

Đăng nhập vào AWS​

Nhấp vàođâyđể đến Trang đăng nhập AWS. Nhập thông tin đăng nhập người dùng của bạn để đăng nhập vào tài khoản AWS của bạn.





Sau khi đăng nhập thành công vào tài khoản AWS của mình, bạn sẽ thấy bảng điều khiển quản lý AWS chính như sau.


Tạo mẫu​

Tạo mẫu, create-ec2-instance.template, trên máy cục bộ của bạn với nội dung sau.

Bạn cũng có thể tải xuống mẫu từ kho lưu trữ myGithub, liên kết đến mẫu được đề cập bên dưới.

https://github.com/shivalkarrahul/DevOps/blob/master/aws/cloudformation/create-ec2-instance/create-ec2-instance.template
Mã:
AWSTemplateFormatVersion: '2010-09-09'Siêu dữ liệu: Giấy phép: Apache-2.0Mô tả: 'Tạo một phiên bản AWS EC2 chạy AWS Linux AMI.'Tham số: KeyName: Mô tả: Tên của một EC2 KeyPair hiện có Loại: AWS::EC2::KeyPair::KeyName ConstraintDescription: phải là tên của một EC2 KeyPair hiện có. InstanceType: Mô tả: Loại phiên bản AWS EC2 Loại: Chuỗi Mặc định: t3.small AllowedValues: [t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, g3.8xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r3.12xlarge, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge] ConstraintDescription: phải là loại phiên bản EC2 hợp lệ. SSHLocation: Mô tả: Phạm vi địa chỉ IP được phép SSH đến các phiên bản EC2 Loại: Chuỗi MinLength: 9 MaxLength: 18 Mặc định: 0.0.0.0/0 AllowedPattern: (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/(\d{1,2}) ConstraintDescription: phải là phạm vi CIDR IP hợp lệ có dạng x.x.x.x/x. LatestAmiId: Loại: 'AWS::SSM::Parameter::Value' Mặc định: '/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2'Tài nguyên: EC2Instance: Loại: AWS::EC2::Instance Thuộc tính: InstanceType: !Ref 'InstanceType' SecurityGroups: [!Ref 'InstanceSecurityGroup'] KeyName: !Ref 'KeyName' ImageId: !Ref 'LatestAmiId' InstanceSecurityGroup: Loại: AWS::EC2::SecurityGroup Thuộc tính: GroupDescription: Bật quyền truy cập SSH trên cổng 22 SecurityGroupIngress: - IpProtocol: tcp FromPort: 22 ToPort: 22 CidrIp: !Ref 'SSHLocation'Đầu ra: InstanceId: Mô tả: Id của phiên bản AWS EC2 mới được tạo Giá trị: !Ref 'EC2Instance' AZ: Mô tả: AZ của phiên bản AWS EC2 mới được tạo Giá trị: !GetAtt [EC2Instance, AvailabilityZone] PublicDNS: Mô tả: Tên DNS công khai của phiên bản AWS EC2 mới được tạo Giá trị: !GetAtt [EC2Instance, PublicDnsName] PublicIP: Mô tả: Địa chỉ IP công khai của phiên bản AWS EC2 mới được tạo Giá trị: !GetAtt [EC2Instance, PublicIp]

Tạo Cloudformation Stack​

Để đến bảng điều khiển Cloudformation, hãy nhấp vào dịch vụ ở góc trên bên trái màn hình và tìm kiếm Cloudformation.



Đây là bảng điều khiển chính của Cloudformation. Tôi đã tạo một stack trong tài khoản của mình ở vùng đã chọn.



Để tạo stack mới, hãy nhấp vào Tạo stack --> Với tài nguyên mới (chuẩn).



Tại đây, hãy chọn "Tải tệp mẫu lên" và chọn mẫu mà bạn vừa tạo trên máy cục bộ của mình ở bước trước. Để tiếp tục, hãy nhấp vào nút "Tiếp theo".



Chỉ định tên cho stack, chọn loại phiên bản và khóa hiện có từ tài khoản của bạn. Bạn có thể chỉ định một IP cụ thể để được phép SH vào máy chủ, nếu không hãy giữ nguyên 0.0.0.0/0 để cho phép lưu lượng truy cập đến trên cổng 22. Nhấp vào nút "Tiếp theo" để tiếp tục.



Thẻ là tùy chọn, bạn có thể thêm hoặc không thêm thẻ trong bước này. Nhấp vào nút "Tiếp theo".

Cuộn đến cuối trang và nhấp vào nút "Tạo ngăn xếp".



Việc tạo sẽ mất vài phút, sau khi quá trình tạo hoàn tất, bạn có thể thấy trạng thái là "CREATE_COMPLETE".



Để xác minh xem phiên bản đã được tạo hay chưa, hãy truy cập bảng điều khiển EC2. Để đến bảng điều khiển EC2, hãy nhấp vào dịch vụ ở góc trên bên trái màn hình và tìm kiếm EC2.



Trên bảng điều khiển EC2, hãy nhấp vào "Instances" ở bảng điều khiển bên trái.



Tại đây, bạn có thể thấy một instance mới đã được tạo. Bạn có thể kiểm tra và xác nhận thông tin chi tiết của instance đó.


Xóa ngăn xếp Cloudformation​

Khi bạn không cần instance nữa, bạn có thể xóa nó bằng cách xóa ngăn xếp Cloudformation. Việc xóa ngăn xếp Cloudformation sẽ xóa các tài nguyên mà nó đã tạo. Để xóa ngăn xếp, hãy nhấp vào nút "Xóa".



Xác nhận hành động xóa trên cửa sổ bật lên mà bạn nhận được.



Sau khi xóa thành công, bạn sẽ thấy trạng thái là "DELETE_COMPLETE".



Để xác minh xem việc xóa có thành công hay không, hãy đến bảng điều khiển EC2 và xem trạng thái phiên bản. Trong ảnh chụp màn hình sau, bạn có thể thấy trạng thái phiên bản đã chấm dứt, bạn sẽ thấy cùng trạng thái.


Kết luận​

Trong bài viết này, chúng ta đã thấy cách dễ dàng để tạo phiên bản EC2 bằng ngăn xếp Cloudformation. Chúng ta có thể sử dụng cùng một mẫu để tạo nhiều ngăn xếp. Chúng tôi cũng thấy rằng các tài nguyên được tạo bằng ngăn xếp Cloudformation cũng có thể bị xóa bằng cách xóa chính ngăn xếp đó.
 
Back
Bên trên