📜  什么是AWS Cloudformation?

📅  最后修改于: 2021-04-17 02:59:29             🧑  作者: Mango

用最简单的术语来说,云计算意味着在托管在Internet上而不是计算机的硬盘驱动器或本地服务器上的远程服务器上存储和访问数据和程序。它也称为基于Internet的计算。

云计算的特点

  • 没有前期投资
  • 降低运营成本
  • 高度可扩展
  • 容易接近
  • 降低业务风险和维护费用

Amazon Web Services是Amazon.com的子公司,该公司以付费订阅的方式为个人,公司和政府提供按需云计算平台。

为什么我们需要AWS Cloudformation?

试想一下,您必须开发一个使用各种AWS资源的应用程序。在创建和管理这些资源时,可能会非常耗时且充满挑战。当您花费全部时间来管理那些AWS资源时,开发应用程序可能会变得困难。如果我们为此提供服务怎么办?因此,图中出现了AWS Cloudformation。

什么是AWS Cloudformation?

这是AWS提供的一项服务,可帮助您创建和管理资源,以便您可以花更少的时间管理这些资源,而将更多的时间专注于在AWS中运行的应用程序。您只需要创建一个描述所需的所有资源的模板,然后AWS Cloudformation就会管理和配置所有资源。 AWS提供了Cloudformation设计器来设计模板,您可以在其中放置所有资源。您还可以定义所需的所有资源的依赖关系。您还可以重复使用模板,以在多个环境和区域中复制基础架构。

AWS Cloudformation入门

我们的模板是用JSON或YAML脚本创建的。我们将在本文中讨论JSON脚本。 JSON是一种基于文本的格式,表示基于JavaScript对象语法的结构化数据。它以结构化的格式承载AWS资源详细信息,并根据该格式创建了AWS基础架构。

Cloudformation JSON模板的结构

  • 格式版本:它定义模板的版本。
  • 描述:有关模板的任何其他描述或注释都写在模板的描述中。
  • 元数据:可用于使用JSON对象提供更多信息。
  • 参数:当您要在运行时向堆栈提供自定义或动态值时,将使用参数。因此,我们可以使用参数来自定义模板。
  • 映射: JSON模板中的映射可帮助您将键映射到您在条件参数中指定的相应命名值。
  • 条件:条件用于定义是创建某些资源还是在创建堆栈时将资源的属性分配给某个值。
  • 转换:转换通过为AWS CloudFormation构建简单的声明性语言来帮助重用模板组件。
  • 资源:在此,您可以指定堆栈中所需的AWS资源(AWS EC2实例,S3存储桶,AWS lambda)的属性。
  • 输出:输出定义了当您查看自己的堆栈属性时作为输出生成的值。

使用AWS Cloudformation在其顶部安装EC2实例和LAMP软件包(Apache,MySQL和PHP)

使用AWS cloudformation,我们将创建一个模板,使用该模板将启动哪个实例并将LAMP软件包自动安装在其之上

步骤1:转到AWS管理控制台上的Cloudformation仪表板。单击创建堆栈。

AWS Cloudformation 1

步骤2:您将被重定向到此网页。我们将在此使用Lamp Stack的样本模板。选择选项:使用样本模板。选择灯泡堆栈模板。单击在设计器中查看以查看模板的设计。

AWS Cloudformation 2

步骤3:现在,您将被重定向到设计器页面,该页面显示模板的设计。它显示了将在其上安装Apache和MySQL的情况下创建的实例。它还显示了附加到实例的安全目的的安全组。在这里,您可以相应地设计自己的基础架构。

AWS Cloudformation 3

步骤4:这些是我们前面讨论的模板的组件。相应地重命名模板。

AWS Cloudformation 4

步骤5:这是用JSON格式编写的代码,其中包含有关要创建的基础架构的所有规范和依赖性。

AWS Cloudformation 5

步骤6:现在,单击云形上传按钮退出设计器。

AWS Cloudformation 6

步骤7:我们将返回相同的网页。单击下一步。

AWS Cloudformation 7

步骤8 :在此处指定所需的堆栈名称

AWS Cloudformation 8

步骤9:提及要在MySQL数据库上创建的数据库的名称。另外,指定db-user的密码和名称。

AWS Cloudformation 9

步骤10:选择实例类型。选择将用于与实例建立SSH连接的任何可用密钥对。单击下一步。

AWS Cloudformation 10

步骤11:您不必担心高级设置。单击下一步。

AWS Cloudformation 11

步骤12:点击创建堆栈。将使用安装了LAMP软件包的实例创建该实例。您可以在实例上轻松使用PHP和MySQL。

AWS Cloudformation 12