使 CloudFormation 堆栈 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使 CloudFormation 堆栈

Application Manager 是 Amazon Systems Manager 的一项功能,通过与 Amazon CloudFormation 集成,可帮助您配置和管理应用程序的资源。您可以在 Application Manager 中创建、编辑和删除 CloudFormation 模板和资源。堆栈是可作为单个单元管理的一系列 Amazon 资源。这意味着您可以通过使用 CloudFormation 堆栈,创建、更新或删除 Amazon 资源。模板是 JSON 或 YAML 中的格式化文本文件,指定要在堆栈中配置的资源。本节包含以下信息:

创建堆栈

以下过程介绍了如何通过使用 Application Manager 创建 CloudFormation 堆栈。堆栈基于模板。创建堆栈时,您可以选择现有模板或创建新模板。创建堆栈后,系统会立即尝试创建堆栈中标识的资源。系统成功配置资源后,可以在 Application Manager 和 CloudFormation 中创建模板和堆栈。

注意

使用 Application Manager 创建堆栈不会产生任何费用,但您需要您在堆栈中创建的 Amazon 资源。

使用 Application Manager 创建 CloudFormation 堆栈(操作台)

执行以下过程,在 Amazon Web Services Management Console 中使用 Application Manager 创建新的配置。

创建 CloudFormation 堆栈
  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

  2. 在导航窗格中,选择 Application Manager

  3. 应用程序部分,选择 CloudFormation 堆栈

  4. 准备模板部分中,选择一个选项。如果选择使用现有模板,您可以使用选择模板部分中的选项卡查找所需的模板。如果选择其他选项之一,请完成向导以准备模板。

  5. 在存储库的指定模板详细信息页面上,验证模板的详细信息,以确保流程创建所需的资源。

    • (可选)在标签 部分,将一个或多个标签键名称/值对应用于文档。

    • 标签是您分配给资源的可选元数据。通过使用标签,您可以按各种标准(如用途、所有者或环境)对资源进行分类。有关标记 Systems Manager 资源的更多信息,请参阅 标记 Systems Manager 资源

    • 选择下一步

  6. 在存储库的编辑堆栈详细信息页面上,为堆栈名称输入一个名称,该名称可帮助您识别堆栈创建的资源或其用途。

    • 参数部分包含模板中指定的所有可选参数和必需参数。在每个字段中输入一个或多个参数。

    • (可选)在标签区域,将一个或多个标签键名称/值对应用到堆栈。

    • (可选)在权限部分中,指定 Amazon Identity and Access Management (IAM) 角色名称或 IAM Amazon Resource Name (ARN)。系统使用指定的服务角色创建堆栈中指定的所有资源。如果您不指定 IAM 角色,则 Amazon CloudFormation 使用系统根据您的用户凭证生成的临时会话。有关此 IAM 角色的更多信息,请参阅Amazon CloudFormation用户指南中的 Amazon CloudFormation 服务角色

    • 选择下一步

  7. 在存储库的审核和配置页面上,查看堆栈的所有详细信息。选择编辑按钮进行更改。

  8. 选择配置堆栈

Application Manager 显示 CloudFormation 堆栈页面以及堆栈创建和部署的状态。如果 CloudFormation 无法创建和配置堆栈,请参阅Amazon CloudFormation用户指南

在堆栈资源得到配置并开始运行后,用户可以使用创建资源的基础服务直接编辑资源。例如,用户可以使用 Amazon Elastic Compute Cloud (Amazon EC2) 控制台来更新创建为 CloudFormation 堆栈一部分的服务器实例。有些更改可能是偶然的,而有些更改可能会故意响应对时间敏感的操作事件。无论如何,在 CloudFormation 之外进行的更改会导致堆栈更新或删除操作变得复杂。您可以使用偏差检测或偏差状态来识别在 CloudFormation 管理之外进行配置更改的堆栈资源。有关偏差状态的更多信息,请参阅检测堆栈和资源的非托管配置更改

使用 Application Manager 创建 CloudFormation 堆栈(命令行)

使用以下 Amazon Command Line Interface (Amazon CLI) 过程,通过使用作为 SSM 文档存储在 Systems Manager 中的 CloudFormation 模板来配置堆栈。将每个示例资源占位符替换为您自己的信息。有关创建堆栈的其他 Amazon CLI 过程,请参阅Amazon CloudFormation用户指南中的创建堆栈

开始前的准备工作

安装并配置 Amazon CLI 或 Amazon Tools for PowerShell(如果尚未执行该操作)。有关信息,请参阅安装或更新 Amazon CLI 的最新版本以及安装 Amazon Tools for PowerShell

Linux & macOS
aws cloudformation create-stack \ --stack-name a_name_for_the_stack \ --template-url "ssm-doc://arn:aws:ssm:Region:account_ID:document/template_name" \
Windows
aws cloudformation create-stack ^ --stack-name a_name_for_the_stack ^ --template-url "ssm-doc://arn:aws:ssm:Region:account_ID:document/template_name" ^
PowerShell
New-CFNStack ` -StackName "a_name_for_the_stack" ` -TemplateURL "ssm-doc://arn:aws:ssm:Region:account_ID:document/template_name" `

更新堆栈

通过直接在 Application Manager 中编辑堆栈,您可以将更新部署到 CloudFormation 堆栈。利用直接更新,您可以指定针对模板或输入参数的更新。保存并部署更改后,CloudFormation 会根据您指定的更改更新 Amazon 资源。

您可以使用更改集预览 CloudFormation 在您更新之前将对堆栈进行的更改。有关更多信息,请参阅Amazon CloudFormation用户指南中的使用更改集更新堆栈

在中 Application Manager 更新 CloudFormation 堆栈
  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

  2. 在导航窗格中,选择 Application Manager

  3. 应用程序部分,选择 CloudFormation 堆栈

  4. 在列表中选择一个堆栈,然后选择操作更新堆栈

  5. 在存储库的指定模板源页面上,选择以下选项之一,然后选择下一步

    • 选择使用堆栈中当前配置的模板代码查看模板。在版本列表中选择一个模板版本,然后选择下一步

    • 选择切换到其他模板,为堆栈选择或创建新模板。

  6. 完成模板的更改后,选择下一步

  7. 编辑堆栈详细信息页面上,您可以编辑参数、标签和权限。您无法更改堆栈名称。进行更改,然后选择保存

  8. 在存储库的审核和配置页面上,查看堆栈的所有详细信息,然后选择配置堆栈