当前位置: 首页 > news >正文

使用CloudFormation模板自动化AWS基础设施的部署

步骤 1:进入 CloudFormation 控制台并选择创建方式

  1. 打开 AWS 控制台,进入 CloudFormation 页面。

  2. 点击左侧菜单中的 “堆栈”,然后点击 “创建堆栈”。

  3. 在弹出的选项中,选择 “使用基础架构编辑器构建”(如图所示),点击右下角的【下一步】。

步骤 2:在基础设施编辑器中配置资源

  1. 系统将跳转到 Infrastructure Composer(基础设施编辑器) 页面。

  2. 点击左上方的 模板 标签页,可以查看底部自动生成的 CloudFormation YAML 模板。

  3. 此模板默认包含:

    • 一个基于 Amazon Linux 2 的 EC2 实例;

    • 一个安全组;

    • 三个参数(实例类型、AMI ID、IP 地址段)可自定义。

下面这个是官方给的一个http网站的模板

AWSTemplateFormatVersion: 2010-09-09
Description: CloudFormation Template for WebServer with Security Group and EC2 Instance

Parameters:
  LatestAmiId:
    Description: The latest Amazon Linux 2 AMI from the Parameter Store
    Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>'
    Default: '/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2'

  InstanceType:
    Description: WebServer EC2 instance type
    Type: String
    Default: t2.micro
    AllowedValues:
      - t3.micro
      - t2.micro
    ConstraintDescription: must be a valid EC2 instance type.
    
  MyIP:
    Description: Your IP address in CIDR format (e.g. 203.0.113.1/32).
    Type: String
    MinLength: '9'
    MaxLength: '18'
    Default: 0.0.0.0/0
    AllowedPattern: '^(\d{1,3}\.){3}\d{1,3}\/\d{1,2}$'
    ConstraintDescription: must be a valid IP CIDR range of the form x.x.x.x/x.

Resources:
  WebServerSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Allow HTTP access via my IP address
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: '80'
          ToPort: '80'
          CidrIp: !Ref MyIP

  WebServer:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref LatestAmiId
      InstanceType: !Ref InstanceType
      SecurityGroupIds:
        - !Ref WebServerSecurityGroup
      UserData: !Base64 |
        #!/bin/bash
        yum update -y
        yum install -y httpd
        systemctl start httpd
        systemctl enable httpd
        echo "<html><body><h1>Hello World!</h1></body></html>

步骤 3:保存模板并继续创建堆栈

  1. 点击右上角【创建模板】,系统会将模板上传到 Amazon S3。

  2. 在弹出的窗口中,选择默认生成的存储桶名称,点击【确认并继续访问 CloudFormation】。

步骤 4:填写堆栈基本信息

  1. 进入 CloudFormation 创建堆栈流程。

  2. 输入堆栈名称(例如:test)。

  3. 确认参数内容(可以修改默认值):

    • EC2 实例类型(默认 t2.micro);

    • 最新的 AMI ID 路径;

    • 安全组 IP 范围(默认开放所有:0.0.0.0/0,如需限制可设置具体 CIDR)。

点击【下一步】。

步骤 5:配置高级选项(可选)

在此页面你可以:

  • 添加标签(用于识别资源);

  • 选择 IAM 角色(如果你已有执行权限的角色);

  • 配置堆栈失败时的回滚行为;

  • 指定 SNS 通知、堆栈策略、保护选项等。

如果不需要额外配置,保持默认设置即可,点击【下一步】。

步骤 6:确认并创建堆栈

  1. 在“查看并创建”页面中核对所有信息。

  2. 确认模板 URL、堆栈名称和参数设置是否正确。

  3. 滚动至底部,点击【提交】以启动创建流程。

步骤 7:监控堆栈创建过程

  1. 页面跳转后会显示堆栈状态为 CREATE_IN_PROGRESS

  2. 几分钟后刷新页面,状态变为 CREATE_COMPLETE,表示堆栈已成功创建。

  3. 在“事件”标签页可查看各个资源的部署进度。

成功创建后包含的资源

通过这个堆栈,我们成功创建了:

  • 一个 EC2 实例;

  • 一个安全组(默认开启 22/80/443 端口);

  • 可选的输出资源信息和参数设置。

八、查看输出并访问网站

  1. 切换至「输出」页签,复制 WebsiteURL 的值。

  2. 使用浏览器访问该链接,即可看到页面内容:

页面结果:

http://www.lryc.cn/news/574147.html

相关文章:

  • 【第二章:机器学习与神经网络概述】03.类算法理论与实践-(2)朴素贝叶斯分类器
  • Auto-GPT vs ReAct:两种智能体思路对决
  • 【MySQL基础】MySQL复合查询全面解析:从基础到高级应用
  • 左神算法之给定一个数组arr,返回其中的数值的差值等于k的子数组有多少个
  • Flask学习笔记
  • Java数据结构第二十四期:探秘 AVL 树,当二叉搜索树学会 “自我调节”
  • 腾讯云 CodeBuddy 技术评估报告(2025年):编码效率提升40%,复杂工程处理能力领先Cursor 35%​
  • 【Java开发日记】我们详细讲解一下 Java 中 new 一个对象的流程
  • Nginx与Tomcat:谁更适合你的服务器?
  • Python 商务数据分析—— NumPy 学习笔记Ⅱ
  • react gsap动画库使用详解之scroll滑动动画
  • 分布式系统 - 分布式锁及实现方案
  • 【开源工具】一键解决使用代理后无法访问浏览器网页问题 - 基于PyQt5的智能代理开关工具开发全攻略
  • 爬虫002-----urllib标准库
  • 企业主动风险管理破局供应链“黑天鹅”,善用期货
  • PDF-XSS
  • 游戏盾高效防范DDoS攻击的安全防护
  • 跨平台是.NET Framework4.5与.NET8的核心区别
  • 用ESP8266+MQTT构建完全属于自己的物联网平台
  • Life:Internship in OnSea Day 1
  • Excel工具箱WPS版 增强插件 文本处理、批量录入 数据对比 高级排序
  • vivado使用非自带的第三方编辑器
  • 采集MFC软件的数据方法记录
  • Redis Stream 消息队列详解及 PHP 实现
  • 光伏电站 “智慧大脑”:安科瑞 Acrel-1000DP 分布式监控系统技术解析
  • 单片机测ntc热敏电阻的几种方法(软件)
  • 【Android】Activity 的生命周期和启动模式
  • SAP将指定EXCEL工作SHEET的数据上传到内表
  • 基于 BERT 与语义角色标注的细粒度中文仇恨言论检测
  • 剑指offer40_数字序列中某一位的数字