

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# RFC 模式
<a name="rfc-mode"></a>

RFC 模式是 AMS 高级运营计划客户的默认模式。它包括一个变更管理系统，其中包含变更请求或， RFCs 以及用于请求对账户进行所需添加或更改的变更类型目录。此变更管理系统在限制谁可以更改您的帐户方面提供一定程度的安全性。

有关 AMS 高级更改类型的详细信息，请参阅[什么是 AMS 更改类型？](https://docs.aws.amazon.com/managedservices/latest/ctref/index.html) 。

有关加入 AMS Advanced 的详细信息，请参阅 [AWS Managed Services 入门](https://docs.aws.amazon.com/managedservices/latest/onboardingguide/index.html)简介。

有关更改类型示例演练，请参阅 “[按分类划分的 *AMS 高级更改类型参考变更类型” 部分中相关变更类型*的](https://docs.aws.amazon.com/managedservices/latest/ctref/classifications.html) “其他信息” 部分。

**注意**  
RFC 模式以前被称为 “变更管理模式” 或 “标准 CM 模式”。

**Topics**
+ [了解有关 RFCs](ex-rfc-works.md)
+ [什么是变更类型？](understanding-cts.md)
+ [对 AMS 中的 RFC 错误进行故障排除](rfc-troubleshoot.md)

# 了解有关 RFCs
<a name="ex-rfc-works"></a>

变更请求或 RFCs以双重方式起作用。首先，RFC 本身需要一些参数。这些是 `CreateRfc` API 中的选项。其次，RFC 的操作需要参数（执行参数）。要了解这些`CreateRfc`选项，请参阅《*AMS API 参考*》的[CreateRfc](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_CreateRfc.html)部分。这些选项通常显示在 “创建 RFC” 页面的 “**其他配置**” 区域中。

您可以使用 `CreateRfc` API、`aws amscm create-rfc` CLI 或使用 AMS 控制台创建 RFC 页面创建和提交 RFC。有关创建 RFC 的教程，请参阅[创建 RFC](ex-rfc-create-col.md)。

**Topics**
+ [什么是 RFCs？](what-r-rfcs.md)
+ [使用 AMS API/CLI 时进行身份验证](ex-rfc-authentication.md)
+ [了解 RFC 安全评论](rfc-security.md)
+ [了解 RFC 变更类型分类](ex-rfc-csio.md)
+ [了解 RFC 操作和活动状态](ex-rfc-action-state.md)
+ [了解 RFC 状态码](ex-rfc-status-codes.md)
+ [了解 RFC 更新 CTs 和 CloudFormation 模板偏差检测](ex-rfc-updates-and-dd.md)
+ [日程安排 RFCs](ex-rfc-scheduling.md)
+ [批准或拒绝 RFCs](ex-rfc-approvals.md)
+ [申请 RFC 限制运行期](ex-rfc-restrict-execute.md)
+ [创建、克隆、更新、查找和取消 RFCs](ex-rfc-use-examples.md)
+ [将 AMS 控制台与 RFCs](ex-rfc-gui.md)
+ [了解常用 RFC 参数](rfc-common-params.md)
+ [注册 RFC 每日电子邮件](rfc-digest.md)

# 什么是 RFCs？
<a name="what-r-rfcs"></a>

变更请求（RFC）是指您如何在 AMS 管理的环境中进行更改，或者让 AMS 代表您进行更改。要创建 RFC，您可以从 AMS 更改类型中进行选择，选择 RFC 参数（例如计划），然后使用 AMS 控制台或 API 命令[CreateRfc](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_CreateRfc.html)提交请求。[SubmitRfc](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_SubmitRfc.html)

RFC 包含两个规范，一个用于 RFC 本身，另一个用于变更类型 (CT) 参数。在命令行中，您可以使用内联 RFC 命令或 JSON 格式的标准 CreateRfc 模板，该模板与您创建的 CT JSON 架构文件（基于 CT 参数）一起填写并提交。CT 名称是 CT 的非正式描述。CSIO（类别、子类别、项目、操作）是对 CT 的更正式的描述。创建 RFC 时只需要指定 CT ID。

RFCs 经历两个关键阶段：验证和执行。

1. 在验证阶段，AMS 会审查 RFC 请求的完整性和正确性。AMS 还会根据我们的安全[技术标准对安全](rfc-security.md#rfc-security.title)请求进行评估。AMS 会验证所请求的更改是否有效且可执行。

1. 在执行阶段，AMS 会尝试对您的账户进行所请求的更改。

AMS 通过自动化流程、手动流程或两者的组合来处理这两个阶段。手动流程由 AMS 运营团队处理。有关更多信息，请参阅 [自动和手动 CTs](ug-automated-or-manual.md)。

AMS 提供三种处理请求的执行模式：
+ **（推荐 AMS）执行模式：自动**。它们 CTs 使用自动化进行 RFC 验证和执行，这是实现业务成果的最快方法。
+ **（AMS 建议）执行模式：手动和指定：托管自动化**。它们结合 CTs 使用自动和手动流程进行 RFC 验证和执行。如果自动化无法执行您请求的更改，则将 RFC（通过自动路由或创建替换 RFC）移交给 AMS 运营团队进行手动处理。提交这些文件 CTs 可以更有条理地接收您的请求，并辅之以AMS自动化，以改善处理和执行结果的时间框架。
+ **执行模式：手动和指定：需要审核**。通过 [ct-1e1xtak34nx76 Management \$1 其他 \$1 其他 \$1 更新（需要审查）或 c [t-0xdawir96c](https://docs.aws.amazon.com/managedservices/latest/ctref/management-other-other-create-review-required.html) y7k 管理 \$1 其他 \$1 其他 \$1 创建（需要审阅）](https://docs.aws.amazon.com/managedservices/latest/ctref/management-other-other-update-review-required.html)请求的更改。它们 CTs 依赖手动处理来进行验证和执行。这取决于 CTs 对变更请求的人工解释。

当更改成功完成（成功）或未成功（失败）时，AMS 会通知您。

**注意**  
有关排除 RFC 故障的信息，请参阅[对 AMS 中的 RFC 错误进行故障排除](rfc-troubleshoot.md)。

下图描述了您提交的 RFC 的工作流程。

![\[客户提交的 RFC 的工作流程。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/requestForChange-v5g.png)


# 使用 AMS API/CLI 时进行身份验证
<a name="ex-rfc-authentication"></a>

使用 AMS API/CLI 时，必须使用临时证书进行身份验证。要为联合用户申请临时安全证书，请使用 cal、[ GetFederationToken[AssumeRole](https://docs.aws.amazon.com/STS/latest/UsingSTS/sts_delegate.html)](https://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingFedTokens.html)、[AssumeRoleWithSAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithsaml) 或 [ AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity)AWS 安全令牌服务 (STS) APIs。

常见的选择是 SAML。设置完成后，您可以为所调用的每个操作添加一个参数。例如：`aws --profile saml amscm list-change-type-categories`。

SAML 2.0 配置文件的一个快捷方式是在每个 API/CLI 配置文件的开头设置配置文件变量`set AWS_DEFAULT_PROFILE=saml`（对于 Windows；对于 Linux 则是这样`export AWS_DEFAULT_PROFILE=saml`）。有关设置 CLI 环境变量的信息，请参阅[配置 AWS 命令行界面，环境变量](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-environment)。

# 了解 RFC 安全评论
<a name="rfc-security"></a>

AWS Managed Services (AMS) 变更管理批准流程可确保我们对您的账户中所做的更改进行安全审查。

AMS 根据 AMS 技术标准评估所有变更请求 (RFCs)。任何可能因偏离技术标准而降低账户安全状况的变更都要经过安全审查。在安全审查期间，AMS 会重点介绍相关风险，如果存在高或非常高的安全风险，则您的授权安全人员会接受或拒绝 RFC。还对所有变化进行评估，以评估对AMS运营能力的不利影响。如果发现潜在的不利影响，则需要在AMS内部进行额外的审查和批准。

## AMS 技术标准
<a name="rfc-sec-tech-standards"></a>

AMS 技术标准定义了最低安全标准、配置和流程，以建立账户的基本安全性。AMS 和您都必须遵守这些标准。

任何可能因偏离技术标准而可能降低您账户安全状况的变更都要经过风险接受流程，AMS会强调相关风险，并由您的授权安全人员接受或拒绝。还要对所有这些变化进行评估，以评估是否会对AMS的账户运营能力产生任何不利影响，如果是，则需要在AMS内部进行额外的审查和批准。

## RFC 客户安全风险管理 (CSRM) 流程
<a name="rfc-sec-risk"></a>

当您的组织中的某人请求更改您的托管环境时，AMS 会审查更改，以确定该请求是否会超出技术标准，从而恶化您账户的安全状况。如果请求确实降低了账户的安全状况，AMS 会将相关风险通知您的安全团队联系人并执行变更；或者，如果变更给环境带来了高或非常高的安全风险，AMS 将以风险接受的形式寻求您的安全团队联系人的明确批准（详见下文）。AMS 客户风险接受流程旨在：
+ 确保清楚地识别风险并将其传达给正确的所有者
+ 将已识别的环境风险降至最低
+ 获得并记录了解贵组织风险状况的指定安全联系人的批准
+ 减少已识别风险的持续运营开销

## 如何获得技术标准以及高风险或非常高的风险
<a name="rfc-sec-tech-standards-access"></a>

我们已将 AMS 技术标准文档[https://console.aws.amazon.com/artifact/](https://console.aws.amazon.com/artifact/)作为报告提供给您参考。在提交变更申请 (RFC) 之前，请使用 AMS 技术标准文档，了解变更是否需要您的授权安全联系人接受风险。

使用默认值登录后，在 “报告” 选项卡搜索栏中搜索 “AWS Managed Services (AMS) 技术标准”，即可找到技术标准 AWS Artifact **报告**AWSManagedServicesChangeManagementRole****。

**注意**  
单账户 landing zone 中的 Customer\$1 ReadOnly \$1Role 可以访问 AMS 技术标准文档。在多账户 landing zone 中，安全管理员 AWSManagedServicesChangeManagementRole 使用和应用团队 AWSManagedServicesAdminRole 使用的登录区域可用于访问文档。如果您的团队使用自定义角色，请创建一个 Other \$1 Other RFC 来请求访问权限，我们将更新指定的自定义角色。

# 了解 RFC 变更类型分类
<a name="ex-rfc-csio"></a>

您在提交 RFC 时使用的变更类型分为两大类：
+ **部署**：此分类用于创建资源。
+  **管理**：此分类用于更新或删除资源。**管理**类别还包含访问实例、加密或共享以及启动、停止 AMIs、重启或删除堆栈的更改类型。

# 了解 RFC 操作和活动状态
<a name="ex-rfc-action-state"></a>

`RfcActionState`(API)/**活动状态**（控制台）可帮助您了解 RFC 上人为干预或操作的状态。主要用于手动 RFCs，`RfcActionState`可帮助您了解您或 AMS 运营部门何时需要采取行动，并帮助您了解 AMS 运营部门何时正在积极处理您的 RFC。这提高了 RFC 在其生命周期中所采取行动的透明度。

`RfcActionState`(API)/**活动状态**（控制台）定义：
+ **AwsOperatorAssigned**: AWS 运营商正在积极处理您的 RFC。
+ **AwsActionPending**：预计 AWS 会做出回应或采取行动。
+ **CustomerActionPending**: 预计客户会做出回应或采取行动。
+ **NoActionPending**：AWS 或客户均无需采取任何行动。
+ **NotApplicable**：此状态不能由 AWS 运营商或客户设置，只能用于 RFCs 在此功能发布之前创建的状态。

RFC 操作状态会有所不同，具体取决于提交的变更类型是否需要人工审核以及是否将计划设置为 “**尽快**”。
+ 在审核、批准和启动具有延迟计划的手动变更类型期间 RFC **ActionState**更改：
  + 在您提交手册、预定的 RFC 后，**ActionState**系统会自动更改**AwsActionPending**为，表示操作员需要审核和批准 RFC。
  + 当操作员开始积极审查您的 RFC 时，**ActionState**更改为。**AwsOperatorAssigned**
  + 当运营商批准您的 RFC 后，RFC 状态将更改为 “已计划”，并**ActionState**自动更改为。**NoActionPending**
  + 到达 RFC 的预定开始时间后，RFC 状态将更改为 **InProgress**，并**ActionState**自动更改为，表示**AwsActionPending**需要指派一名操作员来审查 RFC。
  + 当操作员开始主动运行 RFC 时，他们会将其更改**ActionState**为。**AwsOperatorAssigned**
  + 完成后，操作员将关闭 RFC。这会自动将更改**ActionState**为**NoActionPending**。  
![\[在审阅、批准和启动具有延迟排程的手动变更类型期间 RFC ActionState的更改\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/actionStateRfc.png)

**重要**  
您无法设置操作状态。它们要么根据 RFC 中的更改自动设置，要么由 AMS 操作员手动设置。
如果您向 RFC 添加信件，则会自动设置为。**ActionState**AwsActionPending****
创建 RFC 时，会**ActionState**自动设置为。**NoActionPending**
提交 RFC 后，会**ActionState**自动设置为。**AwsActionPending**
当 RFC 被拒绝、已取消或已完成且状态为 “成功” 或 “失败” 时，会自动重置**ActionState**为**NoActionPending**。
自动和手动操作状态均启用 RFCs，但手动操作状态最重要， RFCs 因为这些类型的操作 RFCs 通常需要通信。

# 查看 RFC 操作状态用例示例
<a name="ex-rfc-action-state-examples"></a>

**用例：手动 RFC 流程的可见性**
+ 提交手动 RFC 后，RFC 操作状态会自动更改为`AwsActionPending`，表示操作员需要审核和批准 RFC。当操作员开始积极查看您的 RFC 时，RFC 操作状态将更改为。`AwsOperatorAssigned`
+ 以手动 RFC 为例，该手动 RFC 已获得批准并已安排好开始运行。一旦 RFC 状态更改为`InProgress`，RFC 操作状态就会自动更改为。`AwsActionPending``AwsOperatorAssigned`当操作员开始积极运行 RFC 时，它将再次更改为。
+ 手动 RFC 完成后（以 “成功” 或 “失败” 的形式关闭），RFC 操作状态将`NoActionPending`更改为，表示客户或操作员无需采取进一步的行动。

**用例：RFC 通信**
+ 如果是手动 RFC`Pending Approval`，AMS 操作员可能需要您提供更多信息。运营商将向 RFC 发布信件，并将 RFC 操作状态更改为。`CustomerActionPending`当您通过添加新的 RFC 通信来回应时，RFC 操作状态会自动更改为。`AwsActionPending`
+ 当自动或手动 RFC 失败时，您可以在 RFC 详细信息中添加对应信息，询问 AMS 操作员 RFC 失败的原因。添加信件后，RFC 操作状态将自动设置为。`AwsActionPending`当 AMS 操作员拿起 RFC 查看您的信件时，RFC 操作状态将更改为。`AwsOperatorAssigned`当操作员通过添加新的 RFC 通信来做出回应时，RFC 操作状态可以设置为`CustomerActionPending`，表示预期的客户还有另一个回应，或者设置为`NoActionPending`，表示不需要或预计客户不需要或预计不需要任何回应。

# 了解 RFC 状态码
<a name="ex-rfc-status-codes"></a>

RFC 状态代码可帮助您跟踪您的请求。在 RFC 运行期间，您可以在 CLI 输出中观察这些状态代码，也可以通过刷新控制台中的 RFC 列表页面来观察这些状态代码。

您还可以在该 RFC 的详细信息页面上查看 RFC 的代码，可能如下所示：

![\[RFC 状态码。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/guiRfcStatusCodes.png)


你可能会在列表中看到一个你没有提交的 RFC。当 AMS 操作员使用仅限内部的 CT 时，他们会在 RFC 中提交并显示在您的 RFC 列表中。有关更多信息，请参阅 [仅限内部的变更类型](ct-internals.md)。

**重要**  
您可以请求 RFC 状态变更通知。有关详细信息，请参阅 [RFC 状态更改通知](https://docs.aws.amazon.com/managedservices/latest/userguide/rfc-state-change-notices.html)。


**RFC 状态码**  

| 成功 | Failure | 
| --- | --- | 
|  编辑：RFC 已创建但尚未提交 PendingApproval /已提交：RFC 已提交，系统正在确定是否需要批准，并在需要时获得批准 AWS 批准/客户批准：RFC 已获得批准。自动 RFCs 由 AWS 批准，手动 RFCs 由操作员批准，有时还需要客户批准 已计划：RFC 已通过语法和要求检查并计划运行 InProgress: RFC 正在运行， RFCs 请注意，配置多个资源或长期运行 UserData，需要更长的时间才能运行 已执行：RFC 已运行 成功/成功：RFC 已成功完成  |  已拒绝： RFCs 通常因为验证失败而被拒绝；例如，指定了不可用的资源，即子网 已取消： RFCs 之所以取消，通常是因为它们在配置的开始时间过去之前未通过验证 失败：RFC 已失败；有关失败原因，请参阅输出 StatusReason 中的，AMS 操作会自动创建故障单并根据需要与您沟通 | 

**注意**  
取消或拒绝 RFCs 可使用重新提交 [UpdateRfc](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_UpdateRfc.html)；另[更新 RFCs](ex-update-rfcs.md)请参阅。

如果 RFC 通过了所有必要条件（例如，指定了所有必需的参数），则状态将更改为`PendingApproval`（即使是自动也 CTs 需要批准，如果语法和参数检查通过，则会自动进行审批）。如果未通过，则状态将更改为`Rejected`。`StatusReason`提供有关拒绝的信息；`ExecutionOutput`字段提供有关批准和完成的信息。错误代码包括：
+ InvalidRfcStateException: RFC 的状态不允许执行被调用的操作。例如，如果 RFC 已变为 “已提交” 状态，则无法再对其进行修改。
+ InvalidRfcScheduleException: StartTime EndTime、或 TimeoutInMinutes 参数被破坏。
+ InternalServerError: 系统遇到了问题。
+ InvalidArgumentException：参数指定不正确；例如，使用了不可接受的值。
+ ResourceNotFoundException: 找不到堆栈 ID 等值。

如果计划请求的开始和结束时间（也称为变更运行窗口）发生在更改获得批准之前，RFC 状态将`Canceled`更改为。如果更改获得批准，则 RFC 状态将`Scheduled`更改为。ASAP 的变更运行窗口 RFCs 是提交时间加上 CT 的`ExpectedExecutionDuration`值。

在变更运行窗口到来之前的任何时候，都可以修改或取消计划变更（`RequestedStartTime`在 CLI 中使用提交）。如果计划更改被修改，则必须重新提交。

当更改开始时间（计划或尽快）到来且批准完成后，状态将更改为，无法进行任何修改。`InProgress`如果更改在指定的变更运行窗口内完成，则状态将更改为`Success`。如果更改的任何部分失败，或者变更运行窗口结束时更改仍在进行中，则状态将更改为`Failure`。

**注意**  
在`InProgress``Success`、或`Failure`更改状态期间，无法修改或取消 RFC。

下图说明了从 CreaterFC 调用到解析的 RFC 状态。

![\[从 CreaterFC 调用到解析的 RFC 状态。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/RfcStateFlow2.png)


# 了解 RFC 更新 CTs 和 CloudFormation 模板偏差检测
<a name="ex-rfc-updates-and-dd"></a>

在 AMS 中配置的资源使用修改后的 CloudFormation 模板。如果资源的参数通过服务的 AWS 管理控制台直接更改，则该资源的 CloudFormation 创建记录将不同步。如果发生这种情况，并且您尝试使用 AMS 更新更改类型来更新 AMS 中的资源，则 AMS 将引用原始资源配置并可能重置更改的参数。此重置可能会造成损害，因此，如果检测到任何额外的 AMS 配置更改，AMS 将不允许 RFCs 更新更改类型。

要查看更新更改类型的列表，请使用控制台筛选器。

## 漂移补救 FAQs
<a name="drift-remeditate-faqs"></a>

有关 AMS 漂移补救的问题和答案。您可以使用两种更改类型来启动偏差补救，一种是执行模式=手动或 “托管自动化”，另一种是执行模式=自动。

### 支持漂移修复的资源 (ct-3kinq0u4l33zf)
<a name="drift-remeditate-faqs-sr"></a>

这些是漂移修复更改类型 (ct-3kinq0u4l33zf) 支持的资源。  要修复任何资源，请改用 “托管自动化” (ct-34sxfo53yuzah) 更改类型。

```
AWS::EC2::Instance
AWS::EC2::SecurityGroup
AWS::EC2::VPC
AWS::EC2::Subnet
AWS::EC2::NetworkInterface
AWS::EC2::EIP
AWS::EC2::InternetGateway
AWS::EC2::NatGateway
AWS::EC2::NetworkAcl
AWS::EC2::RouteTable
AWS::EC2::Volume
AWS::AutoScaling::AutoScalingGroup
AWS::AutoScaling::LaunchConfiguration
AWS::AutoScaling::LifecycleHook
AWS::AutoScaling::ScalingPolicy
AWS::AutoScaling::ScheduledAction
AWS::ElasticLoadBalancing::LoadBalancer
AWS::ElasticLoadBalancingV2::Listener
AWS::ElasticLoadBalancingV2::ListenerRule
AWS::ElasticLoadBalancingV2::LoadBalancer
AWS::CloudWatch::Alarm
```

### 漂移补救更改类型
<a name="drift-remeditate-faqs-cts"></a>

有关使用 AMS 漂移补救变更类型的问题与解答。

有关漂移修复功能支持的资源列表，请参阅[支持漂移修复的资源 (ct-3kinq0u4l33zf)](#drift-remeditate-faqs-sr)。

**重要**  
漂移修复会修改堆栈模板 and/or 参数，并且必须更新您的本地模板存储库或任何正在更新这些堆栈的自动化以使用最新的堆栈模板和参数。使用旧模板 and/or 参数而不进行同步可能会导致底层资源发生破坏性更改。  
无托管自动化、自动化、CT（ct-3kinq0u4l33zf）每个 RFC 仅支持修复 10 个资源。要在 10 个批次中修复剩余的资源，请创建新的资源， RFCs 直到所有资源都已修复。

我应该使用哪种漂移补救更改类型？  
我们建议在以下情况下使用**无托管自动化**、自动 CT (ct-3kinq0u4l33zf)：  
+ 您尝试使用自动 CT 对现有堆栈资源执行更新，但 RFC 按堆栈原样被拒绝。`DRIFTED`
+ 你过去使用过 Update CT，但由于堆栈已漂移，它失败了。您无需再次尝试更新，可以改用托管自动化、手动、CT。
我们建议仅当漂移补救不支持漂移资源类型没有**托管自动化、自动化**、CT（ct-3kinq0u4l33zf），或者漂移补救没有托管自动化、自动化、CT（ct-3kinq0u4l33zf），或者漂移补救没有托管自动化、自动化、CT 失败时，才使用托管自动化、手动 CT（ct-34sxfo53yuzah）。

修复期间对堆栈进行了哪些更改？  
修复需要更新堆栈模板 and/or 参数，具体取决于偏移的属性。修复还会在修复期间更新堆栈的堆栈策略，并在修复完成后将堆栈策略恢复到之前的值。

我们怎样才能看到对堆栈模板 and/or 参数所做的更改？  
在对 RFC 的回复中，提供了包含以下信息的变更摘要：  
+ `ChangeSummaryJson`：包含作为偏差补救一部分的堆栈模板 and/or 参数的更改摘要。补救分多个阶段执行。此变更摘要包含各个阶段的更改。如果修复成功，请检查最后一个阶段的更改。有关按顺序执行的阶段，请参阅 ExecutionPlan JSON 中的。例如，存在时 RestoreReferences 段总是在最后执行，并且包含用于修复后更改的 JSON。如果在 DryRun 模式下运行修复，则这些更改都不会应用于堆栈。
+ `PreRemediationStackTemplateAndConfigurationJson`：包含在 CloudFormation 堆栈上触发修复 StackPolicyBody 之前的堆栈配置快照，包括模板、参数、输出。

执行修复后我需要做什么？  
您需要使用 RFC 摘要中提供的最新模板和参数来更新本地模板存储库或任何将更新已修复堆栈的自动化。这样做非常重要，因为使用旧的模板 and/or 参数可能会对堆栈资源造成进一步的破坏性更改。

在此补救期间，我的应用程序会受到影响吗？  
补救是一个离线过程，只能在 CloudFormation 堆栈配置上执行。不对底层资源执行任何更新。

修复后，我能否继续使用管理 \$1 其他 \$1 其他 RFCs 来更新资源？  
我们建议您始终使用可用的自动更新来更新堆栈资源 CTs。如果可用的更新 CTs 不支持您的用例，请使用管理 \$1 其他 \$1 其他请求。

修复是否会在堆栈中创建任何新资源？  
修复不会在堆栈中创建任何新资源。但是，修复会创建新的输出并更新堆栈模板[元数据](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)部分以存储修复摘要供您参考。

补救总是成功吗？  
修复需要仔细分析和验证模板配置，以确定是否可以执行。在这些验证失败的情况下，修复过程将停止，并且不会对堆栈模板或参数进行任何更改。此外，只能对支持的资源类型执行修复。

如果修复不成功，如何更新堆栈资源？  
你可以使用 “管理 \$1 其他 \$1 其他 \$1 更新 CT” (ct-0xdawir96cy7k) 来请求更改。AMS 对此类情况进行监控，并努力改进补救解决方案。

我能否修复同时具有受支持和不支持的资源类型的堆栈？  
可以。但是，只有在堆栈中发现支持的资源类型存在漂移时，才会执行修复。如果有任何不受支持的资源类型为 DRIFTED，则修复不会继续。

我能否请求对通过非 CFN Ingest 创建的堆栈进行补救？ CTs  
可以。无论用于创建堆栈的更改类型如何，都可以对堆栈执行修复。

我能否知道在补救之前会对堆栈执行哪些更改？  
可以。两种更改类型都提供了一个**DryRun**选项，您可以使用该选项来请求在堆栈修复后将要执行的更改。但是，最终的补救更改可能会有所不同，具体取决于补救时堆栈上存在的偏差。

# 日程安排 RFCs
<a name="ex-rfc-scheduling"></a>

日**程安排**功能允许您选择的开始时间 RFCs。“**日程安排**” 功能中提供了以下选项：
+ **尽快执行此更改**：AMS 一经批准，就会立即运行 RFC。大多数 CTs 都是自动批准的。如果不希望 RFC 在特定时间启动，请使用此选项。
+ **安排此更改**：设置 RFC 运行的日期、时间和时区。对于自动变更类型，最佳做法是在计划提交 RFC 后至少 10 分钟后申请开始时间。对于托管自动化变更类型，您需要在计划提交 RFC 后至少 24 小时内申请开始时间。如果 RFC 在配置的开始时间之前未获得批准，则 RFC 将被拒绝。

## 设置 RFC 时间表
<a name="ex-rfc-scheduling-schedule"></a>

要安排 RFC，请使用以下方法之一：

**尽快执行此更改**：
+ 主机：什么都不做。这使用默认的 RFC 时间表。
+ API 或 CLI：删除 “创建 RFC” 操作中的`RequestedStartTime`和`RequestedEndTime`选项。

如果在提交后的三十天内未获得批准，**ASAP** “托管自动化” RFCs 将被自动拒绝。

**安排此更改**：
+ 控制台：选择 “**安排此更改**” 单选按钮。将打开 **“开始时间**” 区域。手动输入日期或使用日历控件选择日期。输入以 ISO 8601 格式表示的 UTC 时间，然后使用下拉列表选择地点。默认情况下，AMS 使用 ISO 8601 格式 YYYYMMDDThhmmss Z 或:mm: ss YYYY-MM-DDThh z，这两种格式都被接受。
**注意**  
**默认结束时间**是从您输入的**开始时间算起** 4 小时。要将计划更改的**结束时间**设置为 4 小时以上，请使用 API 或 CLI 运行更改。
+ API 或 CLI：在 “创建 RFC” 操作中提交`RequestedStartTime`和`RequestedEndTime`参数的值。传递配置`RequestedEndTime`并不能停止已经启动的自动更改类型的运行。对于 “托管自动化” 变更类型，如果在 AMS 运营研究仍在进行期间达到，并且您正在与 AMS 沟通，则可以申请延期，或者可能会要求您重新提交 RFC。`RequestedEndTime`
**提示**  
有关世界标准时间读数的示例，请参阅 Time-is 网站上的 [UTC](https://time.is/UTC)。**下午 2 点 20 分 date/time 值为 2016-12-05 的 ISO 8601 格式示例：**2016-12-05T14：20:00 Z 或 20161205T142000Z**。**

如果你提供...
+ 只有 a`RequestedStartTime`，RFC 被视为已定时`RequestedEndTime`的，并使用该`ExecutionDurationInMinutes`值填充。
+ 只有 a`RequestedEndTime`，我们扔一个 InvalidArgumentException。
+ 两者`RequestedStartTime`兼而有之`RequestedEndTime`，我们`RequestedEndTime`用指定的开始时间加上该`ExecutionDurationInMinutes`值覆盖。
+ `RequestedStartTime`也不是`RequestedEndTime`，我们将这些值保留为空，并且 RFC 被视为 ASAP RFC。

**注意**  
对于所有已安排的时间 RFCs，将未指定的结束时间写成指定的时间`RequestedStartTime`加上已提交的更改类型的`ExpectedExecutionDurationInMinutes`属性。例如，如果`ExpectedExecutionDurationInMinutes`为 “60”（分钟），指定`RequestedStartTime`为`2016-12-05T14:20:00Z`（2016 年 12 月 5 日凌晨 4:20），则实际结束时间将设置为 2016 年 12 月 5 日凌晨 5:20。要查找`ExpectedExecutionDurationInMinutes`特定更改类型的，请运行以下命令：  

```
aws amscm --profile saml get-change-type-version --change-type-id CHANGE_TYPE_ID --query "ChangeTypeVersion.{ExpectedDuration:ExpectedExecutionDurationInMinutes}"
```

## 使用 RFC 优先级选项
<a name="ex-rfc-priority"></a>

使用`execution mode = manual`变更类型中的 “**优先级**” 选项提醒 AMS 运营部门注意请求的紧迫性。

**优先级**选项位于`execution mode = manual`：

将手动 RFC 的优先级指定为**高**、**中**或**低**。 RFCs **在 RFC 服务级别目标 (SLOs) 及其提交时间的前提下，在 RFCs 归类为 “**中**” 之前要经过审核和批准。** RFCs 如果指定了**低**优先级或未指定优先级，则按提交顺序进行处理。

# 批准或拒绝 RFCs
<a name="ex-rfc-approvals"></a>

RFCs 提交时需要批准（手动） CTs 必须获得您或 AMS 的批准。系统会自动处理预先批准 CTs 。有关更多信息，请参阅 [CT 批准要求](constrained-unconstrained-ctis.md)。

**注意**  
手动使用时 CTs，AMS 建议您使用 “尽快**安排**” 选项（在控制台中选择 “尽快”，在 **AP** I/CLI 中将开始和结束时间留空），因为这些选项 CTs 要求 AMS 操作员检查 RFC，并可能在批准和运行之前与您沟通。如果您安排这些活动 RFCs，请务必留出至少 24 小时的时间。如果在预定开始时间之前未获得批准，RFC 将被自动拒绝。

如果 AMS 成功提交了需要批准的 RFC，则必须得到您的明确批准。或者，如果您提交需要批准的 RFC，则必须获得 AMS 的批准。如果您需要批准 AMS 提交的 RFC，则会向您发送电子邮件或其他预先确定的通信，请求批准。通信包括 RFC ID。发送通信后，请执行以下任一操作：
+ 控制台批准或拒绝：使用 RFC 详细信息页面查看相关 RFC：  
![\[RFC 详细信息页面。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/AMS_Console-App-Rej.png)
+ API/CLI 批准：将更改[ApproveRfc](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_ApproveRfc.html)标记为已批准。如果所有者和操作者都需要，则必须同时采取行动。以下是 CLI 批准命令的示例。在以下示例中，将 RFC\$1ID 替换为相应的 RFC ID。

  ```
  aws amscm approve-rfc --rfc-id RFC_ID
  ```
+ API/CLI 拒绝：将更改[RejectRfc](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_RejectRfc.html)标记为已拒绝。以下是 CLI 拒绝命令的示例。在以下示例中，将 RFC\$1ID 替换为相应的 RFC ID。

  ```
  aws amscm reject-rfc --rfc-id RFC_ID --reason "no longer relevant"
  ```

# 申请 RFC 限制运行期
<a name="ex-rfc-restrict-execute"></a>

以前称为封锁日，您可以请求限制某些时间段。在这段时间内无法进行任何更改。

要设置限制运行时段，请使用 [UpdateRestrictedExecutionTimes](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_UpdateRestrictedExecutionTimes.html)API 操作并以 UTC 为单位设置特定的时间段。您指定的时间段会覆盖之前指定的任何时段。如果您在指定的受限运行时间内提交 RFC，则提交失败并显示错误 “RFC 计划无效”。您最多可以指定 200 个受限时间段。默认情况下，未设置限制期限。以下是请求命令示例（配置了 SAML 身份验证）：

```
aws amscm  --profile saml update-restricted-execution-times --restricted-execution-times="[{\"TimeRange\":{\"StartTime\":\"2018-01-01T12:00:00Z\",\"EndTime\":\"2018-01-01T12:00:01Z\"}}]"
```

您也可以通过运行 [ListRestrictedExecutionTimes](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_ListRestrictedExecutionTimes.html)API 操作来查看当前 RestrictedExecutionTimes 设置。示例：

```
aws amscm  --profile saml list-restricted-execution-times
```

如果您想在指定的受限执行时间内提交 RFC，请添加值为的 **OverrideRestrictedTimeRanges**，然后像往常一样提交 RFC。**RestrictedExecutionTimesOverrideId**最佳做法是仅将此方法用于关键或紧急 RFC。有关更多信息，请参阅的 API 参考[SubmitRfc](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_SubmitRfc.html)。

# 创建、克隆、更新、查找和取消 RFCs
<a name="ex-rfc-use-examples"></a>

以下示例将引导您完成各种 RFC 操作。

**Topics**
+ [创建 RFC](ex-rfc-create-col.md)
+ [使用 AMS 控制台进行克隆 RFCs （重新创建）](ex-clone-rfcs.md)
+ [更新 RFCs](ex-update-rfcs.md)
+ [查找 RFCs](ex-rfc-find-col.md)
+ [取消 RFCs](ex-cancel-rfcs.md)

# 创建 RFC
<a name="ex-rfc-create-col"></a>

## 使用控制台创建 RFC
<a name="ex-rfc-create-con"></a>

以下是 AMS 控制台中 RFC 创建流程的第一页，其中**快速卡片**已打开，**浏览更改类型**处于活动状态：

![\[Quick create section with options for common AWS stack operations and access management.\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/quickCreate1.png)


以下是 AMS 控制台中 RFC 创建流程的第一页，**按类别选择处于活动状态：**

![\[Create RFC page with change type categorization options for managed services environment.\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/guiRfcCreate1-2.png)


工作原理：

1. 导航到 “**创建 RFC**” 页面：在 AMS 控制台的左侧导航窗格中，单击**RFCs**打开 RFCs 列表页面，然后单击 “**创建 R** FC”。

1. 在默认的 “**浏览更改类型” 视图中选择常用更改类型** (CT)，或者在 “**按类别选择” 视图中选择** CT。
   + **按更改类型浏览**：您可以单击 “**快速创建**” 区域中的常用 CT，立即打开 “**运行 RFC**” 页面。请注意，您不能使用快速创建来选择较旧的 CT 版本。

     要进行排序 CTs，请使用**卡片**视图或**表格**视图中的**所有更改类型**区域。在任一视图中，选择一个 CT，然后单击 “**创建 RFC**” 打开 “**运行 RFC**” 页面。如果适用，“**创建 RFC” 按钮旁边会出现 “使用旧版本****创建**” 选项。
   + **按类别选择：选择类别**、子类别、项目和操作，CT 详细信息框将打开，并显示 “使用**旧版本创建**” 选项（如果适用）。单击 “**创建 RFC**” 打开 “**运行 RFC**” 页面。

1. 在 “**运行 RFC**” 页面上，打开 CT 名称区域以查看 CT 详细信息框。必须填写**主题**（如果您在 “**浏览更改类型**” 视图中选择 CT，则会为您填写此主题）。打开 “**其他配置”** 区域以添加有关 RFC 的信息。

   在**执行配置**区域中，使用可用的下拉列表或输入所需参数的值。要配置可选的执行参数，请打开**其他配置**区域。

1. 完成后，单击 “**运行**”。如果没有错误，则会显示**成功创建的 RFC** 页面，其中包含已提交的 RFC 详细信息和初始**运行**输出。

1. 打开**运行参数**区域以查看您提交的配置。刷新页面以更新 RFC 的执行状态。（可选）取消 RFC 或使用页面顶部的选项创建一个 RFC 的副本。

## 使用 CLI 创建 RFC
<a name="ex-rfc-create-cli"></a>

工作原理：

1. 使用 Inline Create（您发出包含所有 RFC 和执行参数的`create-rfc`命令）或模板创建（创建两个 JSON 文件，一个用于 RFC 参数，一个用于执行参数），然后以这两个文件作为输入发出`create-rfc`命令。这里描述了这两种方法。

1. 提交带有返回的 RFC ID 的 RFC: `aws amscm submit-rfc --rfc-id ID` 命令。

   监控 RFC: `aws amscm get-rfc --rfc-id ID` 命令。

要检查更改类型版本，请使用以下命令：

```
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
```
**注意**  
您可以将任何`CreateRfc`参数与任何 RFC 一起使用，无论它们是否属于变更类型的架构的一部分。例如，要在 RFC 状态更改时收到通知，请将此行添加到请求的 RFC 参数部分（不是执行参数）。`--notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"`有关所有 CreateRfc 参数的列表，请参阅《[AMS 变更管理 API 参考](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_CreateRfc.html)》。

*内联创建*：

使用内联提供的执行参数（内联提供执行参数时使用转义引号）发出 create RFC 命令，然后提交返回的 RFC ID。例如，你可以用这样的东西替换内容：:

```
aws amscm create-rfc --change-type-id "CT_ID" --change-type-version "VERSION" --title "TITLE" --execution-parameters "{\"Description\": \"example\"}"
```

*模板创建*：
**注意**  
此创建 RFC 的示例使用了 Load Balancer (ELB) 堆栈更改类型。

1. 找到相关的 CT。以下命令在 CT 分类摘要中搜索**项目**名称中包含 “ELB” 的摘要，并以表格形式创建类别、项目、操作和 ChangeType ID 的输出（两者的子类别均为`Advanced stack components`）。

   ```
   aws amscm list-change-type-classification-summaries --query "ChangeTypeClassificationSummaries[?contains(Item,'ELB')].[Category,Item,Operation,ChangeTypeId]" --output table
   ```

   ```
   ---------------------------------------------------------------------
   |                            CtSummaries                            |
   +-----------+---------------------------+---------------------------+
   | Deployment| Load balancer (ELB) stack | Create | ct-123h45t6uz7jl |
   | Management| Load balancer (ELB) stack | Update | ct-0ltm873rsebx9 |
   +-----------+---------------------------+---------------------------+
   ```

1. 查找 CT 的最新版本：

   `ChangeTypeId`and`ChangeTypeVersion`：本演练的更改类型 ID 是`ct-123h45t6uz7jl`（创建 ELB），要查找最新版本，请运行以下命令：

   ```
   aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=ct-123h45t6uz7jl
   ```

1. 了解选项和要求。以下命令将架构输出到名为 CreateElbParams .json 的 JSON 文件中。

   ```
   aws amscm get-change-type-version --change-type-id "ct-123h45t6uz7jl" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateElbParams.json
   ```

1. 修改并保存执行参数 JSON 文件。此示例将文件命名为 CreateElbParams .json。

   对于配置 CT，包含 StackTemplateId 在架构中，并且必须在执行参数中提交。

   对于 TimeoutInMinutes，在 RFC 失败之前允许创建堆栈多少分钟，此设置不会延迟 RFC 的执行，但您必须留出足够的时间（例如，不要指定 “5”）。对于长时间运行的 CT，有效值为 “60” 到 “360” UserData：创建 EC2 并创建 ASG。我们建议所有其他配置 CTs的最大允许值为 “60”。

   提供您要在其中创建堆栈的 VPC 的 ID；您可以使用 CLI 命令获取 VPC ID `aws amsskms list-vpc-summaries`。

   ```
   {
   "Description":      "ELB-Create-RFC", 
   "VpcId":            "VPC_ID", 
   "StackTemplateId":  "stm-sdhopv00000000000", 
   "Name":             "MyElbInstance",
   "TimeoutInMinutes": 60,
   "Parameters":   {
       "ELBSubnetIds":                     ["SUBNET_ID"],
       "ELBHealthCheckHealthyThreshold":   4,
       "ELBHealthCheckInterval":           5,
       "ELBHealthCheckTarget":             "HTTP:80/",
       "ELBHealthCheckTimeout":            60,
       "ELBHealthCheckUnhealthyThreshold": 5,
       "ELBScheme":                        false
       }
   }
   ```

1. 将 RFC JSON 模板输出到当前文件夹中名为 CreateElbRfc .json 的文件中：

   ```
   aws amscm create-rfc --generate-cli-skeleton > CreateElbRfc.json
   ```

1. 修改并保存 CreateElbRfc .json 文件。由于您在单独的文件中创建了执行参数，因此请删除该`ExecutionParameters`行。例如，你可以用这样的东西替换内容：

   ```
   {
   "ChangeTypeVersion":    "2.0",
   "ChangeTypeId":         "ct-123h45t6uz7jl",
   "Title":                "Create ELB"
   }
   ```

1. 创建 RFC。以下命令指定执行参数文件和 RFC 模板文件：

   ```
   aws amscm create-rfc --cli-input-json file://CreateElbRfc.json --execution-parameters file://CreateElbParams.json
   ```

   您在响应中收到新 RFC 的 ID，并可以使用它来提交和监控 RFC。在您提交之前，RFC 仍处于编辑状态且无法启动。

## 提示
<a name="ex-rfc-create-tip"></a>

**注意**  
您可以使用 AMS 创建 RFC API/CLI ，而无需创建 RFC JSON 文件或 CT 执行参数 JSON 文件。为此，您可以使用`create-rfc`命令并将所需的 RFC 和执行参数添加到命令中，这称为 “Inline Create”。请注意，所有配置 CTs 都在`execution-parameters`区块中包含一个包含资源参数的`Parameters`数组。参数必须使用反斜杠 (\$1) 对引号进行转义。  
另一种记录在案的创建 RFC 的方法叫做 “模板创建”。在这里，您可以为 RFC 参数创建一个 JSON 文件，为执行参数创建另一个 JSON 文件，然后使用`create-rfc`命令提交这两个文件。这些文件可以用作模板，并可在将来 RFCs重复使用。  
 RFCs 使用模板创建时，您可以使用命令通过发出如下所示的命令来创建包含所需内容的 JSON 文件。这些命令使用显示的内容创建一个名为 “parameters.json” 的文件；你也可以使用这些命令来创建 RFC JSON 文件。

# 使用 AMS 控制台进行克隆 RFCs （重新创建）
<a name="ex-clone-rfcs"></a>

您可以使用 AMS 控制台克隆现有的 RFC。

要使用 AMS 控制台克隆或重新创建 RFC，请执行以下步骤：

1. 找到相关的 RFC。在左侧导航栏中，单击**RFCs**。

    RFCs 仪表板打开。

1. 滚动浏览页面，直到找到要克隆的 RFC。使用 “**筛选**” 选项缩小列表范围。选择要克隆的 RFC。

   RFC 详细信息页面打开。

1. 单击 “**创建副本**”。

   将打开 “**创建更改请求**” 页面，所有选项的设置都与原始 RFC 中的设置相同。

1. 根据需要进行更改。要设置其他选项，请将 “**基本**” 选项更改为 “**高级**”。设置完所有选项后，选择**提交**。

   活动的 RFC 详细信息页面打开时会显示克隆的 RFC 的新 RFC ID，克隆的 RFC 将显示在 RFC 控制面板中。

# 更新 RFCs
<a name="ex-update-rfcs"></a>

您可以通过更新 RFC 然后提交或重新提交来重新提交已被拒绝或尚未提交的 RFC。请注意，大多数 RFCs 都被拒绝，因为指定的值在提交前`RequestedStartTime`已通过，或者指定的值 TimeoutInMinutes 不足以运行 RFC（由于 TimeoutInMinutes 不会延长成功的 RFC，因此对于长期运行的 Amazon EC2 或 Amazon A EC2 uto Scaling 组，我们建议始终将其设置为至少 “60”，最多设置为 “360”）。 UserData本节介绍如何使用`UpdateRfc`命令的 CLI 版本使用新的 RFC 参数更新 RFC，或者使用字符串化的 JSON 或更新的参数文件来更新 RFC。

此示例介绍如何使用 CLI 版本的 AMS UpdateRfc API（参见[更新 RFC](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/update-rfc.html)）。虽然有些更改类型可用于更新某些资源（DNS 私有和公有、负载均衡器堆栈以及堆栈修补配置），但没有 CT 可以更新 RFC。

我们建议您一次提交一个 UpdateRfc 操作。如果您提交多个更新（例如在 DNS 堆栈上），则尝试同时更新 DNS 时，更新可能会失败。

必填数据:`RfcId`: 您正在更新的 RFC。

可选数据:`ExecutionParameters`: 除非你要更新非必填字段，比如`Description`，否则你需要提交修改后的执行参数来解决导致 RFC 被拒绝或取消的问题。所有提交的非空值都会覆盖原始 RFC 中的这些值。

1. 找到相关的已拒绝或已取消的 RFC，您可以使用以下命令（可以将值替换为`Canceled`）：

   ```
   aws amscm list-rfc-summaries --filter Attribute=RfcStatusId,Value=Rejected
   ```

1. 您可以修改以下任何 RFC 参数：

   ```
   {
       "Description": "string",
       "ExecutionParameters": "string",
       "ExpectedOutcome": "string",
       "ImplementationPlan": "string",
       "RequestedEndTime": "string",
       "RequestedStartTime": "string",
       "RfcId": "string",
       "RollbackPlan": "string",
       "Title": "string",
       "WorstCaseScenario": "string"}
   ```

   更新描述字段的命令示例：

   ```
   aws amscm update-rfc --description "AMSTestNoOpsActionRequired" --rfc-id "RFC_ID" --region us-east-1
   ```

   更新 ExecutionParameters VpcId 字段的命令示例：

   ```
   aws amscm update-rfc  --execution-parameters "{\"VpcId\":\"VPC_ID\"}" --rfc-id "RFC_ID" --region us-east-1
   ```

   使用包含更新的执行参数文件更新 RFC 的命令示例；参见步骤 2 中的示例执行参数文件：[EC2 stack \$1 Creat](https://docs.aws.amazon.com/managedservices/latest/ctref/deployment-advanced-ec2-stack-create.html) e:

   ```
   aws amscm update-rfc --execution-parameters file://CreateEc2ParamsUpdate.json --rfc-id "RFC_ID" --region us-east-1
   ```

1. 使用`submit-rfc`与首次创建 RFC 时相同的 RFC 编号重新提交 RFC：

   ```
   aws amscm submit-rfc --rfc-id RFC_ID
   ```

   如果 RFC 成功，则您不会在命令行收到任何确认或错误消息。

1. 要监控请求的状态并查看执行输出，请运行以下命令。

   ```
   aws amscm get-rfc --rfc-id RFC_ID
   ```

# 查找 RFCs
<a name="ex-rfc-find-col"></a>

## 使用控制台查找变更请求 (RFC)
<a name="ex-rfc-find-con"></a>

要使用 AMS 控制台查找 RFC，请按照以下步骤操作。
**注意**  
此过程仅适用于未使用 **ASAP** 选项的已计划 RFCs。 RFCs 

1. 在左侧导航栏中，单击**RFCs**。

    RFCs 仪表板打开。

1. 滚动浏览列表或使用 “**筛选**” 选项来细化列表。

   根据筛选标准，RFC 列表会发生变化。

1. 选择所需的 RFC 的 “主题” 链接。

   将打开该 RFC 的 RFC 详细信息页面，其中包含包括 RFC ID 在内的信息。

1.  如果仪表板 RFCs 中有许多内容，则可以使用 “**筛选器**” 选项按 RFC 进行搜索：
   + **主题**：创建 RFC 时向其提供的主题行或标题（在 API/CLI 中）。
   + **RFC ID**：RFC 的标识符。
   + **活动状态**：如果您知道 RFC 状态，则可以在**AwsOperatorAssigned**表示操作员当前正在查看 RFC（**AwsActionPending**即 AMS 操作员必须在 RFC 执行之前执行某项操作）或**CustomerActionPending**表示您需要在 RFC 执行之前采取一些操作之间进行选择。
   + **状态**：如果您知道 RFC 状态，则可以在以下选项中进行选择：
     + **已计划**： RFCs 那是预定的。
     + **已取消**： RFCs 已取消。
     + **进行中**： RFCs 进行中。
     + **成功**： RFCs 成功执行。
     + **已拒绝**： RFCs 已被拒绝。
     + **编辑**： RFCs 正在编辑中。
     + **失败**： RFCs 失败了。
     + **待批准**：在 AMS 或您批准之前， RFCs 这无法继续进行。通常，这表示您需要批准 RFC。您将在服务请求列表中收到有关此问题的服务通知。
   + **更改类型**：选择 **“类别”、“****子类别”、“****物料**” 和 “**操作**”，系统将为您检索更改类型 ID。
   + **请求的开始时间**或**请求的结束时间**：此筛选选项允许您选择 “**之前**” 或 “**之后**”，然后输入**日期**，也可以输入**时间**（hh: mm 和时区）。此过滤器只能按计划成功运行 RFCs （不是 ASAP RFCs）。
   + **状态：“**已**计划**”、“**已取消**”、“**进行中**”、“**成功**”、“已**拒绝**”、“正在**编辑**” 或 “**失败**”。
   + **主题**：您向 RFC 提供的主题（或标题，如果 RFC 是使用 API/CLI 创建的）。
   + **变更类型 ID**：使用与 RFC 一起提交的变更类型的标识符。

   搜索允许您添加过滤器，如以下屏幕截图所示。  
![\[Search or filter options including Subject, RFC ID, Activity state, and various time-related fields.\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/filterRfcAllOptions3.png)

1. 点击所需的 RFC 的 “主题” 链接。

   将打开该 RFC 的 RFC 详细信息页面，其中包含包括 RFC ID 在内的信息。

## 使用 CLI 查找变更请求 (RFC)
<a name="ex-rfc-find-cli"></a>

您可以使用多个筛选器来查找 RFC。

要检查更改类型版本，请使用以下命令：

```
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
```
**注意**  
您可以将任何`CreateRfc`参数与任何 RFC 一起使用，无论它们是否属于变更类型的架构的一部分。例如，要在 RFC 状态更改时收到通知，请将此行添加到请求的 RFC 参数部分（不是执行参数）。`--notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"`有关所有 CreateRfc 参数的列表，请参阅《[AMS 变更管理 API 参考](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_CreateRfc.html)》。

如果您没有写下 RFC ID，需要稍后查找，则可以使用 AMS 变更管理 (CM) 系统进行搜索并使用筛选器或查询来缩小结果范围。

1. CM API [ListRfcSummaries](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_ListRfcSummaries.html)操作具有过滤器。您可以根据`Attribute`和`Value`组合在逻辑 AND 运算中[筛选](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_Filter.html)结果，也可以基于`Attribute``Condition`、a 和筛选结果`Values`。  
**RFC 过滤**    
<a name="rfc-filtering-table"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/ex-rfc-find-col.html)

   示例：

   要查找所有与 SQS RFCs 相关的（其中 SQS 包含在 CT 的项目部分），可以使用以下命令： IDs 

   ```
   list-rfc-summaries --query 'RfcSummaries[?contains(Item.Name,`SQS`)].[Category.Id,Subcategory.Id,Type.Id,Item.Id,RfcId]' --output table
   ```

   它会返回这样的东西：

   ```
   ----------------------------------------------------------------------------
   |                         ListRfcSummaries                                   |
   +----------+--------------------------------+-------+-------+----------------+
   |Deployment| Advanced Stack Components      |SQS    |Create |ct-123h45t6uz7jl|
   |Management| Monitoring & Notification  |SQS    |Update |ct-123h45t6uz7jl|
   +----------+--------------------------------+-------+-------+----------------+
   ```

   另一个可用的过滤器`list-rfc-summaries`是`AutomationStatusId`，寻找 RFCs 自动或手动的过滤器：

   ```
   aws amscm list-rfc-summaries --filter Attribute=AutomationStatusId,Value=Automated
   ```

   另一个可用的过滤器`list-rfc-summaries`是`Title`（控制台中的**主题**）：

   ```
    Attribute=Title,Value=RFC-TITLE
   ```

   JSON 中的新请求结构示例，其返回 RFCs 位置为：
   + （标题包含 “Windows 2012” 或 “亚马逊 Linux” 这句话）和
   + （RfcStatusId 等于 “成功” 或 InProgress “”）和
   + (20170101T000000Z <= RequestedStartTime <= 20170103T000000Z) 和 (ActualEndTime <= 20170103T000000Z)

   ```
   {
     "Filters": [
       {
         "Attribute": "Title",
         "Values": ["Windows 2012", "Amazon Linux"],
         "Condition": "Contains"
       },
       {
         "Attribute": "RfcStatusId",
         "Values": ["Success", "InProgress"],
         "Condition": "Equals"
       },
       {
         "Attribute": "RequestedStartTime",
         "Values": ["20170101T000000Z", "20170103T000000Z"],
         "Condition": "Between"
       },
       {
         "Attribute": "ActualEndTime",
         "Values": ["20170103T000000Z"],
         "Condition": "Before"
       }
     ]
   }
   ```
**注意**  
在更高级的版本中`Filters`，AMS 打算在即将发布的版本中弃用以下字段：  
值：“值” 字段是 “筛选器” 字段的一部分。使用支持更多高级功能的 “值” 字段。
RequestedEndTimeRange: 使用支持更高级功能的 “过滤器” 字段 RequestedEndTime 内部
RequestedStartTimeRange：使用支持更高级功能的 “过滤器” 字段 RequestedStartTime 内部。

   有关使用 CLI 查询的信息，请参阅[如何使用--query 选项过滤输出](https://docs.aws.amazon.com/cli/latest/userguide/controlling-output.html#controlling-output-filter)和查询语言参考[JMESPath 规范](http://jmespath.org/specification.html)。

1. 如果您使用的是 AMS 控制台：

   转到**RFCs**列表页面。如果需要，您可以在 RFC **主题**上进行筛选，这是您在创建 RFC `Title` 时输入的内容。

## 提示
<a name="ex-rfc-find-tip"></a>

**注意**  
此过程仅适用于未使用 **ASAP** 选项的已计划 RFCs。 RFCs 

# 取消 RFCs
<a name="ex-cancel-rfcs"></a>

您可以使用控制台或 AMS API/CLI 取消 RFC。

**要使用控制台取消 RFC，请在您的 RFC 列表中找到 RFC，将其打开，单击 “取消”。**

所需数据：
+ `Reason`: 你为什么要取消 RFC。
+ `RfcId`: 您要取消的 RFC。

1. 通常，您会在提交 RFC 后立即将其取消（因此 RFC ID 应该很方便）；否则，除非您安排了它并且在指定的开始时间之前，否则您将无法取消它。如果需要查找 RFC ID，则可以使用以下命令（可以`Value`用`PendingApproval`替换手动批准的 RFC）：

   ```
   aws amscm list-rfc-summaries --filter Attribute=RfcStatusId,Value=Scheduled
   ```

1. 取消 RFC 的命令示例：

   ```
   aws amscm cancel-rfc --reason "Bad Stack ID" --rfc-id "RFC_ID" --profile saml --region us-east-1
   ```

# 将 AMS 控制台与 RFCs
<a name="ex-rfc-gui"></a>

AMS 控制台提供的功能可帮助您成功创建和提交 RFCs。

## 使用 RFC 列表页面（控制台）
<a name="ex-rfc-list-table"></a>

AMS 控制台**RFCs**列表页面为您提供以下选项：
+ 通过**过滤器**进行高级 RFC 搜索。有关信息，请参阅[查找 RFCs](ex-rfc-find-col.md)。
+ 查找 RFC 上次**修改**的时间。此值表示上次更改 RFC 状态的时间。
+ **使用 RFC 主题查看 RFC 详细信息。**选择此链接将打开该 RFC 的详细信息页面。
+ 查看 RFC 状态。有关信息，请参阅 [了解 RFC 状态码](ex-rfc-status-codes.md)

![\[RFC 列表页面。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/guiRfcListTable.png)


## 使用 RFC 快速创建（控制台）
<a name="ex-rfc-create-qc"></a>

使用 RFC 快速创建卡片或列表表，或者 RFCs 按分类选择更改类型。

要了解更多信息，请参阅[创建 RFC](ex-rfc-create-col.md)。

## 添加 RFC 信件和附件（控制台）
<a name="ex-rfc-correspondence"></a>

您可以在 RFC 提交后和获得批准之前向其添加信件；例如，当它处于 “PendingApproval” 状态时。在 RFC 获得批准后（处于 “已计划” 或 InProgress “” 状态），则无法添加信件，因为它可能被解释为对请求的更改。RFC 完成后（处于 “已取消”、“已拒绝”、“成功” 或 “失败” 状态），将再次启用通信，但在 RFC 关闭超过 30 天后，通信将被禁用。

**注意**  
每封信件不得超过 5,000 个字符。

**附件的限制：**
+ 每封信件只有三个附件。
+ 每个 RFC 限制五十个附件。
+ 每个附件的大小必须小于 5 MB。
+ 仅接受文本文件，例如纯文本 (`.txt`)、逗号分隔值 ()、JSON (`.csv`) 或 YAM `.json` L ()。`.yaml`如果是 YAML 格式，则必须使用文件扩展名`.yaml`附加文件。
**注意**  
禁止包含 XML 内容的文本文件。如果您有 XML 内容要与 AMS 共享，请使用服务请求。
+ 文件名限制为 255 个字符，只能包含数字、字母、空格、破折号 (-)、下划线 (\$1) 和点 (.)。
+ 目前不支持在 RFC 上更新和删除附件。

要向 RFC 添加信件和附件，请执行以下步骤：

1. 在 AMS 控制台中，在 RFC 的 RFC 详细信息页面上，找到页面底部的 “**通信**” 部分。

   在任何通信之前：  
![\[信件栏目为空。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/correspondence-rfc-detail-new.png)

   经过一番信件后：  
![\[信函栏目显示回复表格和收到的信件。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/correspondence-reply-form2.png)

1. 要添加新的信件，请在**回复**文本框中键入您的消息。要附加与信件相关的文件，请选择 “**添加附件**”，然后选择所需的文件。  
![\[信件部分显示评论框和附件。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/correspondence-add-attachments.png)

1. 完成后，选择 “**提交**”。

   新的信件以及所附文件的链接出现在RFC详细信息页面的信件列表中。  
![\[收到的信件清单。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/correspondence-list2.png)

# 配置 RFC 电子邮件通知（控制台）
<a name="ex-rfc-email-notices"></a>

AMS 控制台的 “**更改请求**创建” 页面为您提供了添加电子邮件地址以接收 RFC 状态变更通知的选项：

![\[添加电子邮件地址以接收 RFC 状态更改通知。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/emailNoticeOption2.png)


此外，您可以将通知的电子邮件地址添加到任何更改类型，例如：

```
aws amscm create-rfc --change-type-id <Change type ID>
                    --change-type-version 1.0 --title "TITLE"
                    --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"
```

在请求的 RFC 参数部分，而不是参数部分，向任何更改类型内联或模板请求添加类似的行 (`--notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"`)。

# 了解常用 RFC 参数
<a name="rfc-common-params"></a>

以下是您需要提交的 RFC 参数以及中 RFCs常用的参数：
+ 更改类型信息： ChangeTypeId 和 ChangeTypeVersion。有关更改类型 IDs 和版本号的列表，请参阅[更改类型参考](https://docs.aws.amazon.com/managedservices/latest/ctref/index.html)。

  使用`query`参数`list-change-type-classification-summaries`在 CLI 中运行以缩小结果范围。例如，缩小结果范围以更改`Item`名称中包含 “Access” 的类型。

  ```
  aws amscm list-change-type-classification-summaries --query "ChangeTypeClassificationSummaries [?contains (Item, 'access')].[Category,Subcategory,Item,Operation,ChangeTypeId]" --output table
  ```

  运行`get-change-type-version`并指定更改类型 ID。以下命令获取 ct-2tylseo8rxfsc 的 CT 版本。

  ```
  aws amscm get-change-type-version --change-type-id ct-2tylseo8rxfsc
  ```
+ 标题：RFC 的名称；它成为 AMS 控制台 RFC 列表中 RFC **的主**题，你可以使用`GetRfc`命令和过滤器对其进行搜索 `Title`
+ 计划：如果您想要预定的 RFC，则必须包含`RequestedStartTime`和`RequestedEndTime`参数，或者使用 “**安排此更改**” 控制台选项。对于 **ASAP** RFC（在获得批准后立即运行），在使用 CLI 时，请保留`RequestedStartTime`并`RequestedEndTime`为 null。使用控制台时，请接受 “**尽快**” 选项。

  如果错过`RequestedStartTime`，则 RFC 将被拒绝。
+ 配置 CTs：执行参数，或者`Parameters`是配置资源所需的特定设置。根据 CT 的不同，它们差异很大。
+ 非预配 CTs： CTs 未配置资源（例如访问权限 CTs 或其他 \$1 其他）或删除堆栈的执行参数最少且没有`Parameters`阻塞。
+ 有些 RFCs 还要求您在 RFC 失败之前指定创建堆栈的时间或允许多少分钟。`TimeoutInMinutes`对于长时间运行 UserData，有效值为 60（分钟）到 360。如果在超过之前无法完成执行，则 `TimeoutInMinutes` RFC 将失败。但是，此设置不会延迟 RFC 的执行。
+ RFCs 创建实例（例如 S3 存储桶或 ELB）通常会提供允许您添加最多七个标签（键/值对）的架构。您可以使用部署 \$1 高级堆栈组件 \$1 标签 \$1 创建更改类型 (ct-3cx7we852p3af) 提交 RFC，从而向 S3 存储桶添加更多标签。 EC2、EFS、RDS 和多层（HA 双层和 HA 单层）架构最多允许 50 个标签。标签是在架构的`ExecutionParameters`部分中指定的。提供标签可能非常有价值。有关更多信息，请参阅[标记您的 Amazon EC2 资源](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)。

  使用 AMS 控制台时，必须打开**其他配置**区域才能添加标签。<a name="using-tags-tip"></a>
**提示**  
许多 CT 架构的架构顶部附近都有一个`Description`和`Name`字段。这些字段用于命名堆栈或堆栈组件，它们不会命名您正在创建的资源。有些架构提供参数来命名你正在创建的资源，有些则没有。例如，Create EC2 堆栈的 CT 架构不提供用于命名 EC2 实例的参数。为此，您必须使用密钥为 “Name” 和您想要的名称的值创建一个标签。如果您未创建此类标签，则您的 EC2 实例将在 EC2 控制台中显示，但不带名称属性。

## 使用 RFC AWS 区域选项
<a name="ex-rfc-region"></a>

AMS API 和 CLI（`amscm`和`amsskms`）端点已在`us-east-1`。如果您使用安全断言标记语言 (SAML) 进行联合，则会在入门时为您提供将您的区域设置为 us-east-1 的脚本。 AWS 如果您使用 SAML，则在发出命令时无需指定该`--region`选项。如果您的 SAML 配置为使用 us-east-1，但您的账户不 AWS 在该区域内，则在发出其他命令（例如）时，您必须指定您的账户已注册区域。 AWS `aws s3`

**注意**  
本指南中提供的大多数命令示例都不包含该`--region`选项。

# 注册 RFC 每日电子邮件
<a name="rfc-digest"></a>

您可以使用 RFC 摘要功能注册每日一封电子邮件，总结过去 24 小时内您账户中的 RFC 活动。RFC 摘要功能是一个简化的流程，可减少您收到的有关您账户的电子邮件通知的 RFCs数量。RFC 摘要可能会降低您错过等待回复的操作的可能性。

要打开 RFC 摘要功能，请联系您的 AMS 云服务交付经理 (CSDM)。CSDM 会为您订阅。您可以请求将最多 20 个电子邮件地址（或别名）添加到 RFC 摘要电子邮件列表中。当前的电子邮件时间表固定在 09:00 UTC-8。

要关闭 RFC 摘要功能，请联系您的 CSDM 并提出您的请求。

如果您没有设置 RFC 摘要并想要有关您的通知 RFCs，或者您想要的信息 RFCs 比 RFC 摘要提供的内容更详细，请使用变更管理系统为您想要了解的每个 RFC 设置 CloudWatch 事件通知或电子邮件通知。有关设置 RFC 通知的信息，请参阅 [RFC 状态更改](https://docs.aws.amazon.com/managedservices/latest/userguide/rfc-state-change-notices.html)通知。

RFC 摘要中包含的主题包括以下内容：
+ 等待买家批准： RFCs 处于**PendingApproval**状态正在等待您批准的列表
+ 待处理的买家回复： RFCs 正在等待您回复 RFC 信件的清单
+ 待定 AWS 批准或回复：等待 AMS 回复或批准的清单 RFCs 
+ 已完成：列表状态 RFCs 为**成功**、**失败**、**已取消和已****拒绝**

以下是 RFC 摘要示例：

![\[RFC 摘要示例\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/RFCDigestExample.png)


# 什么是变更类型？
<a name="understanding-cts"></a>

变更类型是指 AWS Managed Services (AMS) 变更请求 (RFC) 执行的操作，包括变更操作本身，以及变更类型（手动与自动）。AMS 拥有大量未被其他 Amazon 网络服务使用的变更类型。在提交变更请求 (RFC) 以部署、管理或访问资源时，您可以使用这些更改类型。

**Topics**
+ [自动和手动 CTs](ug-automated-or-manual.md)
+ [CT 批准要求](constrained-unconstrained-ctis.md)
+ [更改类型版本](ct-versions.md)
+ [创建变更类型](ct-creates.md)
+ [更新变更类型](ct-updates.md)
+ [仅限内部的变更类型](ct-internals.md)
+ [更改类型架构](ct-schemas.md)
+ [管理变更类型的权限](ct-permissions.md)
+ [编辑变更类型中的敏感信息](ct-redaction.md)
+ [使用查询选项查找更改类型](ug-find-ct-ex-section.md)

# 自动和手动 CTs
<a name="ug-automated-or-manual"></a>

对更改类型的限制是它们是自动还是手动的，这是更改类型`AutomationStatusId`属性，在 AMS 控制台中称为**执行模式**。

自动变更类型具有预期的结果和执行时间，并通过AMS自动化系统运行，通常在一小时或更短的时间内（这在很大程度上取决于CT配置的资源）。手动更改类型并不常见，但它们的处理方式有所不同，因为它们要求 AMS 操作员在运行 RFC 之前对其进行操作。这有时意味着要与 RFC 提交者沟通，因此，手动变更类型需要不同的时间才能完成。

对于所有已安排的时间 RFCs，将未指定的结束时间写成指定的时间`RequestedStartTime`加上已提交的更改类型的`ExpectedExecutionDurationInMinutes`属性。例如，如果`ExpectedExecutionDurationInMinutes`为 “60”（分钟），指定`RequestedStartTime`为`2016-12-05T14:20:00Z`（2016 年 12 月 5 日凌晨 4:20），则实际结束时间将设置为 2016 年 12 月 5 日凌晨 5:20。要查找`ExpectedExecutionDurationInMinutes`特定更改类型的，请运行以下命令：

```
aws amscm --profile saml get-change-type-version --change-type-id CHANGE_TYPE_ID --query "ChangeTypeVersion.{ExpectedDuration:ExpectedExecutionDurationInMinutes}"
```

**注意**  
在控制台中， RFCs 使用**执行模式** = 手动进行调度，必须设置为将来至少 24 小时内运行。

**注意**  
使用手动操作时 CTs，AMS 建议您使用 “尽快**安排**” 选项（在控制台中选择 “尽快”，在 **AP** I/CLI 中将开始和结束时间留空），因为这些选项 CTs 要求 AMS 操作员检查 RFC，并可能在批准和运行之前与您沟通。如果您安排这些活动 RFCs，请务必留出至少 24 小时的时间。如果在预定开始时间之前未获得批准，则 RFC 将被自动拒绝。

AMS 的目标是在四小时内对手动 CT 做出回应，并将尽快对应，但是 RFC 可能需要更长的时间才能真正运行。

有关手动 CTs 且需要 AMS 审核的内容的列表，请参阅控制台**开发者资源**页面上提供的更改类型 CSV 文件。

**YouTube 视频**：[如何查找 AMS 的自动变更类型 RFCs？](https://www.youtube.com/watch?v=sOzDuCCOduI&list=PLhr1KZpdzukc_VXASRqOUSM5AJgtHat6-&index=2&t=1s)

要在 AMS 控制台中查找 CT 的**执行模式**，必须使用**浏览更改类型**搜索选项。结果显示匹配的变更类型或变更类型的执行模式。

要使用 AMS CLI 查找特定更改类型的，请运行以下命令：`AutomationStatus`

```
aws amscm --profile saml get-change-type-version --change-type-id CHANGE_TYPE_ID --query "ChangeTypeVersion.{AutomationStatus:AutomationStatus.Name}"
```

您还可以在 [AMS 变更类型参考中查找变更类型，该参考](https://docs.aws.amazon.com/managedservices/latest/ctref/index.html)提供了有关所有 AMS 变更类型的信息。

**注意**  
AMS 目前不 API/CLI 是 AWS 的一部分API/CLI. To access the AMS API/CLI，您可以通过 AMS 控制台下载 AMS 软件开发工具包。

# CT 批准要求
<a name="constrained-unconstrained-ctis"></a>

AMS CTs 总是有两个批准条件 **AwsApprovalId**，**CustomerApprovalId**这表明RFC是要求AMS还是你或任何人批准执行。

批准条件与执行模式有些相关；有关详细信息，请参阅[自动和手动 CTs](ug-automated-or-manual.md)。

要找出 CT 的批准条件，您可以查看 [AMS 变更类型参考](https://docs.aws.amazon.com/managedservices/latest/ctref/index.html)或运行[GetChangeTypeVersion](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_GetChangeTypeVersion.html)。两者还将为您提供CT `AutomationStatusId` 或**执行模式**。

您可以使用 AMS 控制台或使用以下命令进行批准 RFCs ：

```
aws amscm approve-rfc --rfc-id RFC_ID
```


**CT 批准条件**  

| 如果 CT 批准条件是 | 它需要获得批准 | 并且 | 
| --- | --- | --- | 
| `AwsApprovalId: Required` | AMS 变更类型系统， | 无需采取行动。这种情况是自动化的典型情况 CTs。 | 
| `AwsApprovalId: NotRequiredIfSubmitter` | AMS 变更类型系统，没有其他人，如果提交的 RFC 是针对其提交时所针对的账户， | 无需采取行动。这种情况是手动操作的典型情况， CTs 因为AMS操作员将始终对其进行审查。 | 
| `CustomerApprovalId: NotRequired` | AMS 变更类型系统， | 如果 RFC 通过了语法和参数检查，则会自动获得批准。 | 
| `CustomerApprovalId: Required` | AMS 变更类型系统而你， | 系统会向您发送通知，您必须通过回复通知或运行[ApproveRfc](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_ApproveRfc.html)操作来明确批准 RFC。 | 
| `CustomerApprovalId: NotRequiredIfSubmitter` | 如果您提交了 RFC，AMS 将更改类型系统，而没有其他人可用。 | 如果 RFC 通过了语法和参数检查，则会自动获得批准。 | 
| 紧急安全事件或补丁 | AMS | 已通过 auto 批准并实施。 | 

# 更改类型版本
<a name="ct-versions"></a>

当对变更类型进行重大更新时，变更类型会被版本控制，版本也会发生变化。

使用 AMS 控制台选择更改类型后，您可以选择打开**其他配置**区域并选择更改类型版本。您也可以在 API/CLI 命令行中指定更改类型版本。您可能出于各种原因想要这样做，包括：
+ 您知道您想要的 “**更新**” 更改类型的版本必须与您用于**创建**现在要更新的资源的 “创建变更” 类型的版本相匹配。例如，您可能有一个使用 ELB 创建的 Elastic Load Balancer (ELB) 实例。创建更改类型版本 1。要对其进行更新，请选择 ELB 更新版本 1。
+ 您想要使用的更改类型版本中包含的选项与最新的更改类型不同。我们不建议这样做，因为 AMS 更新更改类型主要是出于安全考虑，我们建议您始终选择最新版本。

# 创建变更类型
<a name="ct-creates"></a>

创建变更类型 version-to-version与更新变更类型相匹配。也就是说，用于置备资源的更改类型版本必须与您稍后用于修改该资源的更新更改类型的版本相匹配。例如，如果您使用创建 S3 存储桶更改类型为 2.0 的 S3 存储桶，之后又想提交 RFC 来修改该 S3 存储桶，则即使版本 3.0 中存在更新 S3 存储桶更改类型，也必须使用更新 S3 存储桶更改类型版本 2.0。

我们建议记录您在使用创建变更类型置备资源时使用的变更类型 ID 和版本，以备日后您想使用更新更改类型对其进行修改。

# 更新变更类型
<a name="ct-updates"></a>

AMS 提供更新更改类型，以更新使用 “创建更改类型” 创建的资源。更新更改类型必须 version-to-version与最初用于置备资源的 “创建” 更改类型相匹配。

我们建议记录您在配置资源时使用的更改类型 ID 和版本，以便于更新。

**YouTube 视频**：[如何使用更新 CTs 来更改 AWS Managed Services (AMS) 账户中的资源？](https://www.youtube.com/watch?v=dqb31yaAXhc&list=PLhr1KZpdzukc_VXASRqOUSM5AJgtHat6-&index=8&t=30s)

# 仅限内部的变更类型
<a name="ct-internals"></a>

您可以看到仅供内部使用的更改类型。这样您就可以知道 AMS 可以或正在采取哪些行动。如果您想提供仅限内部使用的变更类型，请提交服务请求。

例如，只有内部才有 “管理” \$1 “监控和通知” \$1 “ CloudWatch 警报抑制” \$1 “更新 CT”。AMS 使用它来部署基础设施更新（例如修补），以关闭更新可能错误触发的警报通知。提交此 CT 后，您将在您的 RFC 列表中注意到 CT 的 RFC。部署在 RFC 中的任何仅限内部的 CT 都会显示在您的 RFC 列表中。

# 更改类型架构
<a name="ct-schemas"></a>

所有变更类型都提供一个 JSON 架构，供您在创建、修改或访问资源时输入内容。架构提供参数及其描述，供您创建更改请求 (RFC)。

成功执行 RFC 会产生执行输出。为了进行配置 RFCs，执行输出包括一个 “stack\$1id”，它表示中的堆栈 CloudFormation，可以在控制台中搜索。 CloudFormation 执行输出有时包括创建的实例 ID 的输出，该 ID 可用于在相应的 AWS 控制台中搜索该实例。例如，创建 ELB CT 执行输出包括一个可在中搜索的 “stack\$1id”， CloudFormation 并输出一个可在亚马逊控制台中搜索 Elastic Load Balancing <stack-xxxx>的 key=elb value=。 EC2 

让我们来看看 CT 架构。这是 CodeDeploy 应用程序创建的架构，这是一个相当小的架构。有些架构的`Parameter`区域非常大。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/ct-schemas.html)

**注意**  
此架构最多允许 7 个标签；但是，EFS EC2、RDS 和多层创建架构最多允许 50 个标签。

# 管理变更类型的权限
<a name="ct-permissions"></a>

您可以使用自定义策略来限制哪些更改类型 (CTs) 可供不同的群组或用户使用。

要了解有关执行此操作的更多信息，请参阅 AMS 用户指南中的[设置权限](https://docs.aws.amazon.com/managedservices/latest/userguide/setting-permissions.html)部分。

# 编辑变更类型中的敏感信息
<a name="ct-redaction"></a>

AMS 更改类型架构提供参数属性，`"metadata":"ams:sensitive":"true"`该属性用于包含密码等敏感信息的参数。设置此属性后，所提供的输入将被遮盖。请注意，您无法设置此参数属性；但是，如果您正在与 AMS 合作创建更改类型，并且想要在输入时隐藏某个参数，则可以请求这样做。

# 使用查询选项查找更改类型
<a name="ug-find-ct-ex-section"></a>

此示例演示如何使用 AMS 控制台查找要提交的 RFC 的相应更改类型。

您可以使用控制台或 API/CLI 来查找更改类型 ID (CT) 或版本。有两种方法，要么是搜索，要么是选择分类。对于这两种选择类型，您可以通过选择 “**最常用”、“**最近使用****” 或 “**按字母顺**序” 对搜索进行排序。

**YouTube 视频**：[如何使用 AWS Managed Services CLI 创建 RFC，在哪里可以找到 CT 架构](https://www.youtube.com/watch?v=IluDFwnJJFU&list=PLhr1KZpdzukc_VXASRqOUSM5AJgtHat6-&index=3&t=150s)？ 

在 AMS 控制台中，在 **RFCs**-> **创建 RFC** 页面上：
+ 选择 **“按更改类型浏览**”（默认）后，可以：
  + 使用**快速创建**区域从 AMS 最受欢迎的 AMS 中进行选择 CTs。点击标签，将打开 “**运行 RFC**” 页面，并自动为您填充**主题**选项。根据需要完成其余选项，然后单击 “**运行**” 提交 RFC。
  + 或者，向下滚动到 “**所有变更类型**” 区域并开始在选项框中键入 CT 名称，您不必输入确切或完整的更改类型名称。您还可以通过输入相关词语按更改类型 ID、分类或执行模式（自动或手动）搜索 CT。

    选择默认**卡片**视图后，匹配的 CT 卡片会在您键入时出现，选择一张卡片并单击 “**创建 RFC**”。选择**表格**视图后，选择相关的 CT，然后单击 “**创建 RFC**”。两种方法都会打开 “**运行 RFC**” 页面。
+ 或者，要浏览更改类型选择，请单击页面顶部的**按类别选择**以打开一系列下拉选项框。
+ 选择 “**类别**”、“**子类别”、“****物料**” 和 “**工序**”。该更改类型的信息框显示在页面底部显示一个面板。
+ 准备就绪后，**按 Enter**，将显示匹配的更改类型列表。
+ 从列表中选择更改类型。该更改类型的信息框出现在页面底部。
+ 选择正确的更改类型后，选择 “**创建 RFC**”。
**注意**  
必须安装 AMS CLI 才能使这些命令生效。要安装 AMS API 或 CLI，请前往 AMS 控制台**开发者资源**页面。有关 AMS CM API 或 AMS SKMS API 的参考资料，请参阅《用户指南》中的 “AMS 信息资源” 部分。您可能需要添加身份验证`--profile`选项；例如，`aws amsskms ams-cli-command --profile SAML`。您可能还需要添加该`--region`选项，因为所有 AMS 命令都将使用 us-east-1；例如。`aws amscm ams-cli-command --region=us-east-1`
**注意**  
AMS API/CLI （amscm 和 amsskms）终端节点位于 AWS 弗吉尼亚北部区域。`us-east-1`根据您的身份验证设置方式以及您的账户和资源所在的 AWS 区域，您可能需要在发出命令`--region us-east-1`时进行添加。如果这是您的身份验证方法`--profile saml`，则可能还需要添加。

要使用 AMS CM API（参见 [ListChangeTypeClassificationSummaries](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_ListChangeTypeClassificationSummaries.html)）或 CLI 搜索更改类型，请执行以下操作：

您可以使用筛选器或查询进行搜索。该 ListChangeTypeClassificationSummaries 操作具有`Category`、`Subcategory``Item`、和的 “[筛选器](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_ListChangeTypeClassificationSummaries.html#amscm-ListChangeTypeClassificationSummaries-request-Filters)” 选项`Operation`，但这些值必须与现有值完全匹配。要在使用 CLI 时获得更灵活的结果，可以使用`--query`选项。


**使用 AMS CM API/CLI 更改类型筛选**  
<a name="ct-filtering-table"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/ug-find-ct-ex-section.html)

1. 以下是一些商品变更类型分类的示例：

   以下命令列出了所有更改类型类别。

   ```
   aws amscm list-change-type-categories
   ```

   以下命令列出了属于指定类别的子类别。

   ```
   aws amscm list-change-type-subcategories --category CATEGORY
   ```

   以下命令列出了属于指定类别和子类别的项目。

   ```
   aws amscm list-change-type-items --category CATEGORY --subcategory SUBCATEGORY
   ```

1. 以下是一些使用 CLI 查询搜索变更类型的示例：

   以下命令在 CT 分类摘要中搜索项目名称中包含 “S3” 的摘要，并以表格形式创建类别、子类别、项目、操作和更改类型 ID 的输出。

   ```
   aws amscm list-change-type-classification-summaries --query "ChangeTypeClassificationSummaries [?contains(Item, 'S3')].[Category,Subcategory,Item,Operation,ChangeTypeId]" --output table
   ```

   ```
   +---------------------------------------------------------------+
   |               ListChangeTypeClassificationSummaries           |
   +----------+-------------------------+--+------+----------------+
   |Deployment|Advanced Stack Components|S3|Create|ct-1a68ck03fn98r|
   +----------+-------------------------+--+------+----------------+
   ```

1. 然后，您可以使用更改类型 ID 获取 CT 架构并检查参数。以下命令将架构输出到名为 creates3Params.schema.json 的 JSON 文件中。

   ```
   aws amscm get-change-type-version --change-type-id "ct-1a68ck03fn98r" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateS3Params.schema.json
   ```

   有关使用 CLI 查询的信息，请参阅[如何使用--query 选项过滤输出](https://docs.aws.amazon.com/cli/latest/userguide/controlling-output.html#controlling-output-filter)和查询语言参考[JMESPath 规范](http://jmespath.org/specification.html)。

1. 获得变更类型 ID 后，我们建议您验证变更类型的版本，以确保它是最新版本。使用以下命令查找指定更改类型的版本：

   ```
   aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CHANGE_TYPE_ID
   ```

   要查找`AutomationStatus`特定更改类型的，请运行以下命令：

   ```
   aws amscm --profile saml get-change-type-version --change-type-id CHANGE_TYPE_ID --query "ChangeTypeVersion.{AutomationStatus:AutomationStatus.Name}"
   ```

   要查找`ExpectedExecutionDurationInMinutes`特定更改类型的，请运行以下命令：

   ```
   aws amscm --profile saml get-change-type-version --change-type-id ct-14027q0sjyt1h --query "ChangeTypeVersion.{ExpectedDuration:ExpectedExecutionDurationInMinutes}"
   ```

# 对 AMS 中的 RFC 错误进行故障排除
<a name="rfc-troubleshoot"></a>

可以通过 CloudFormation 文档调查许多 AMS 配置 RFC 故障。参见 [AWS 疑难解答 CloudFormation：错误疑难解答](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors)

以下各节提供了其他疑难解答建议。

## AMS 中的 “管理” RFC 错误
<a name="rfc-access-failure"></a>

AMS “管理” 类别更改类型 (CTs) 允许您请求访问资源并管理现有资源。本节介绍一些常见问题。

### RFC 访问错误
<a name="rfc-access-failure"></a>
+ 确保您在 RFC 中指定的用户名和 FQDN 正确且存在于域中。有关查找您的 FQDN 的帮助，请参阅[查找您的 FQ](https://docs.aws.amazon.com/managedservices/latest/userguide/find-FQDN.html) DN。
+ 确保您为访问而指定的堆栈 ID 是与 EC2 相关的堆栈。诸如 ELB 和 Amazon Simple Storage Service (S3) 之类的堆栈不适合访问 RFCs，而是使用您的只读访问权限角色来访问这些堆栈资源。有关查找堆栈 ID 的帮助，请参阅[查找堆栈 IDs](https://docs.aws.amazon.com/managedservices/latest/userguide/find-stack.html)
+ 确保您提供的堆栈 ID 正确且属于相关账户。

有关其他访问 RFC 故障的帮助，请参阅[访问管理](https://docs.aws.amazon.com/managedservices/latest/userguide/access-mgmt.html)。

**YouTube 视频**：[如何正确提出变更申请 (RFC) 以避免被拒绝和](https://www.youtube.com/watch?v=IFOn4Q-5Cas&list=PLhr1KZpdzukc_VXASRqOUSM5AJgtHat6-&index=5&t=242s)失败？

### RFC（手动）CT 调度错误
<a name="manual-ct-schedule-failure"></a>

大多数更改类型是 ExecutionMode =Automated，但有些是 ExecutionMode =Manual，这会影响您应如何安排更改以避免 RFC 失败。

如果 RFCs 使用 AMS 控制台创建 R ExecutionMode FC，则必须将其设置为将来至少 24 小时内执行。

AMS 的目标是在八小时内对手动 CT 做出回应，并将尽快回复，但是 RFC 可能需要更长的时间才能真正执行。

### RFCs 与手动更新一起使用 CTs
<a name="manual-ct-update-failure"></a>

如果您要更新的堆栈类型有 “更新” 更改类型，则 AMS Operations 会拒绝 “管理” \$1 “其他 RFCs ” \$1 “其他” 更新堆栈。

### RFC 删除堆栈错误
<a name="rfc-delete-stack-fail"></a>

RFC 删除堆栈失败：如果您使用管理 \$1 标准堆栈 \$1 堆栈 \$1 删除 CT，则将在 CloudFormation 控制台中看到带有 AMS 堆栈名称的堆栈的详细事件。您可以通过将堆栈与 AMS 控制台中的名称进行核对来识别堆栈。 CloudFormation 控制台提供了有关故障原因的更多详细信息。

在删除堆栈之前，应考虑堆栈是如何创建的。如果您使用 AMS CT 创建堆栈，但未添加或编辑堆栈资源，则可以毫无问题地将其删除。但是，在提交针对堆栈的删除堆栈 RFC 之前，最好先从堆栈中移除所有手动添加的资源。例如，如果您使用完整堆栈 CT（HA Two Tier）创建堆栈，则该堆栈将包含一个安全组- SG1。如果您随后使用 AMS 创建另一个安全组- SG2，并引用 SG1 已创建的作为完整堆栈一部分的新 SG2 安全组，然后使用删除堆栈 CT 删除该堆栈，则该堆栈 SG1 不会像引用的那样被删除 SG2。

**重要**  
删除堆栈可能会带来意想不到和意想不到的后果。出于这个原因，AMS 倾向于\$1不\$1代表客户删除堆栈或堆栈资源。请注意，AMS 只会代表您删除无法使用相应的自动更改类型进行删除的资源（通过提交的管理 \$1 其他 \$1 其他 \$1 更新更改类型）。其他注意事项：  
如果资源启用了 “删除保护”，则如果您提交 “管理 \$1 其他 \$1 其他 \$1 更新” 更改类型，AMS 可以帮助解除此限制，并且删除保护后，您可以使用自动 CT 删除该资源。
如果堆栈中有多个资源，并且您只想删除堆栈资源的子集，请使用 CloudFormation 更新更改类型（参见 [CloudFormation Ingest Stack：](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-cfn-ingest-update-col.html)Update）。您也可以提交 “管理 \$1 其他 \$1 其他 \$1 更新” 变更类型，如果需要，AMS 工程师可以帮助您制作变更集。
如果由于偏差而在使用 CloudFormation 更新 CT 时出现问题，AMS 可以提供帮助，方法是您提交管理 \$1 其他 \$1 其他 \$1 其他 \$1 更新来解决偏差（在 AWS CloudFormation 服务支持的范围 Management/Custom Stack/Stack From CloudFormation Template/Approve内），并提供一个 ChangeSet 您可以随后使用自动 CT、变更集和更新进行验证和执行的更新。
AMS 维持上述限制，以帮助确保不会出现意外或意外的资源删除。

有关更多信息，请参阅 [AWS 疑难解答 CloudFormation：删除堆栈失败](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-delete-stack-fails)。

### RFC 更新 DNS 错误
<a name="rfc-update-dns-failure"></a>

多次 RFCs 更新 DNS 托管区域可能会失败，有些是无缘无故的。同时创建多个 RFCs 用于更新 DNS 托管区域（私有或公共）可能会 RFCs 导致某些区域失败，因为它们正在尝试同时更新同一个堆栈。由于另一个 RFC 已经更新堆栈而无法更新堆栈，AMS 变更管理会拒绝或失败 RFCs 。AMS 建议您一次创建一个 RFC，等待 RFC 成功后再为同一个堆栈筹集一个新的 RFC。

### RFC IAM 实体错误
<a name="making-iam-requests"></a>

AMS 将许多默认 IAM 角色和配置文件配置到 AMS 账户中，以满足您的需求。但是，您可能需要偶尔请求其他 IAM 资源。

提交 RFCs 请求自定义 IAM 资源的流程遵循标准的手动工作流程 RFCs，但批准流程还包括安全审查，以确保适当的安全控制措施到位。因此，该过程通常比其他手册花费更长的时间 RFCs。要缩短这些产品的周期时间 RFCs，请遵循以下准则。

有关我们所说的 IAM 审查的含义以及它如何与我们的技术标准和风险接受流程对应的信息，请参阅[了解 RFC 安全评论](rfc-security.md)。

常见的 IAM 资源请求：
+ 如果您要求提供与主要云兼容应用程序相关的政策，例如 CloudEndure，请参阅 AMS 预先批准的 IAM CloudEndure 政策：解压[WIGs 云端耐久着陆区示例](samples/wigs-ce-lz-examples.zip)文件并打开 `customer_cloud_endure_policy.json`
**注意**  
如果您想要更宽松的政策，请与您讨论您的需求， CloudArchitect/CSDM 并在必要时获得 AMS 安全审查和签署，然后再提交实施该政策的 RFC。
+ 如果您想修改默认情况下由 AMS 在您的账户中部署的资源，我们建议您索要该资源的修改副本，而不是更改现有资源。
+ 如果您正在为人类用户请求权限（而不是向用户授予权限），请将权限附加到某个角色，然后向该用户授予担任该角色的权限。有关执行此操作的详细信息，请参阅[临时 AMS 高级控制台访问权限](https://docs.aws.amazon.com/managedservices/latest/userguide/access-console-temp.html)。
+ 如果您需要特殊权限来执行临时迁移或工作流程，请在请求中提供这些权限的结束日期。
+ 如果您已经与安全团队讨论了请求的主题，请尽可能详细地向您的 CSDM 提供他们批准的证据。

如果 AMS 拒绝 IAM RFC，我们会提供明确的拒绝理由。例如，我们可能会拒绝 IAM 策略创建请求，并解释该策略的哪些内容不合适。在这种情况下，您可以进行已确定的更改并重新提交请求。如果需要进一步明确请求的状态，请提交服务请求或联系您的 CSDM。

以下列表描述了 AMS 在审核您的 IAM 时试图降低的典型风险 RFCs。如果您的 IAM RFC 存在上述任何风险，则可能会导致 RFC 被拒绝。如果您需要例外，AMS 会要求您的安全团队批准。要寻求这样的例外，请与您的 CSDM 进行协调。

**注意**  
AMS 可以出于任何原因拒绝对账户内的 IAM 资源进行任何更改。如对任何 RFC 拒绝有任何疑问，请通过服务请求与 AMS 运营部门联系，或联系您的 CSDM。
+ 权限升级，例如允许您修改自己的权限或修改账户内其他资源的权限的权限。示例：
  + `iam:PassRole`与另一个更具特权的角色一起使用。
  + 角色或用户对 attach/detach IAM 策略的权限。
  + 账户中 IAM 策略的修改。
  + 能够在管理基础架构的上下文中进行 API 调用。
+ 修改向您提供 AMS 服务所需的资源或应用程序的权限。示例：
  + 修改 AMS 基础设施，例如堡垒、管理主机或 EPS 基础架构。
  + 删除日志管理 AWS Lambda 函数或日志流。
  + 删除或修改默认 CloudTrail 监控应用程序。
  + 目录服务活动目录 (AD) 的修改。
  + 禁用 CloudWatch (CW) 警报。
  + 修改作为 landing zone 一部分部署在账户中的委托人、策略和命名空间。
+ 在最佳实践之外部署基础架构，例如允许在危及信息安全的状态下创建基础设施的权限。示例：
  + 创建公有或未加密的 S3 存储桶或公开共享 EBS 卷。
  + 公有 IP 地址的配置。
  + 修改安全组以允许广泛访问。
+ 过于宽泛的权限会对应用程序造成影响，例如可能导致数据丢失、完整性丢失、配置不当或基础架构和账户内应用程序服务中断的权限。示例：
  + 禁用或重定向通过 APIs like `ModifyNetworkInterfaceAttribute` 或`UpdateRouteTable`的网络流量。
  + 通过将卷与托管主机分离来禁用托管基础架构。
+ 服务权限不在 AMS 服务描述中，也不受 AMS 支持。

  AMS 服务说明中未列出的服务不能用于 AMS 账户。要请求某项功能或服务的支持，请联系您的 CSDM。
+ 权限不符合您的既定目标，因为它们要么过于慷慨，要么过于保守，要么应用于错误的资源。示例：
  + 对`s3:PutObject`具有强制性 KMS 加密的 S3 存储桶的权限请求，但没有相关密钥的`KMS:Encrypt`权限。
  + 与账户中不存在的资源相关的权限。
  + IAM， RFCs 其中 RFC 的描述似乎与请求不符。

## “部署” RFC 错误
<a name="rfc-provisioning-fail"></a>

AMS “部署” 类别更改类型 (CTs) 允许您请求将各种 AMS 支持的资源添加到您的账户。

创建资源的大多数 AMS CTs 都是基于 CloudFormation 模板的。作为客户，您可以只读访问所有 AWS 服务 CloudFormation，包括，您可以使用 CloudFormation 控制台根据 CloudFormation 堆栈描述快速识别代表您的堆栈的堆栈。失败的堆栈可能处于 DELETE\$1COMPLETE 状态。确定 CloudFormation 堆栈后，事件将向您显示创建失败的特定资源及其原因。

### 使用 CloudFormation 文档进行故障排除
<a name="rfc-cfn-docs"></a>

大多数 AMS 配置都 RFCs 使用 CloudFormation 模板，该文档可能有助于进行故障排除。请参阅该 CloudFormation 模板的文档：
+ 创建应用程序负载均衡器失败：[ AWS::ElasticLoadBalancingV2::LoadBalancer （Application Load Balancer）](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html)
+ 创建 Auto Scaling 组：[ AWS::AutoScaling::AutoScalingGroup （Auto Scaling 组）](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html)
+ 创建 memcached 缓存：[ AWS::ElastiCache::CacheCluster （缓存集群](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html)）
+ 创建 Redis 缓存：[ AWS::ElastiCache::CacheCluster （缓存集群](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html)）
+ 创建 DNS 托管区域（与创建 DNS 私有/公用）：[ AWS::Route53::HostedZone （R53](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html) 托管区域）
+ 创建 DNS 记录集（与创建 DNS 私有/公共 DNS 一起使用）: [ AWS::Route53::RecordSet （资源记录](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html)集）
+ 创建 EC2 堆栈：[ AWS::EC2::Instance （弹性计算云）](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html)
+ 创建弹性文件系统 (EFS): [ AWS::EFS::FileSystem （弹性文件系统）](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html)
+ 创建负载均衡器：[ AWS::ElasticLoadBalancing::LoadBalancer （Elastic Load Balancer）](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html)
+ 创建 RDS 数据库:[ AWS::RDS::DBInstance （关系数据库）](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html)
+ 创建 Amazon S3：[ AWS::S3::Bucket （简单存储服务）](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html)
+ 创建队列：[ AWS::SQS::Queue （简单队列服务）](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html)

### RFC 创建错误 AMIs
<a name="rfc-create-ami-failure"></a>

亚马逊机器映像（AMI）是一种包含软件配置（例如，操作系统、应用程序服务器和应用程序）的模板。通过 AMI，您可以启动实例，实例是作为云中虚拟服务器运行的 AMI 的副本。AMI 非常有用，是创建 EC2 实例或 Auto Scaling 组所必需的；但是，您必须遵守一些要求：
+ 您为其指定的实例`Ec2InstanceId`必须处于停止状态，RFC 才能成功。请勿为此参数使用 Auto Scaling 组 (ASG) 实例，因为 ASG 将终止已停止的实例。
+ 要创建 AMS Amazon 系统映像 (AMI)，您必须从 AMS 实例开始。在使用该实例创建 AMI 之前，您必须确保它已停止并与其域断开连接，从而对其进行准备。有关详细信息，请参阅[使用 Sysprep 创建标准亚马逊系统映像](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_EBSbacked_WinAMI.html#23ami-create-standard)
+ 您为新 AMI 指定的名称在账户中必须是唯一的，否则 RFC 将失败。[AMI \$1 Creat](https://docs.aws.amazon.com/managedservices/latest/ctref/deployment-advanced-ami-create.html) e 中描述了如何执行此操作，有关更多详细信息，请参阅和 [AWS AMI 设计](https://aws.amazon.com/answers/configuration-management/aws-ami-design/)。

**注意**  
有关为 AMI 创建做准备的其他信息，请参阅 [AMI \$1 创建](https://docs.aws.amazon.com/managedservices/latest/ctref/deployment-advanced-ami-create.html)。

### RFCs 正在创建 o EC2s r ASGs 错误
<a name="rfc-create-ec2-asg-failure"></a>

对于出现超时的 EC2 或 ASG 故障，AMS 建议您确认所使用的 AMI 是否经过自定义。如果是，请参阅本指南中包含的 AMI 创建步骤（参见 [AMI \$1 Cre](https://docs.aws.amazon.com/managedservices/latest/ctref/deployment-advanced-ami-create.html) ate），以确保正确创建 AMI。创建自定义 AMI 时的一个常见错误是未按照指南中的步骤重命名或调用 Sysprep。

### RFCs 创建 RDS 错误
<a name="rfc-create-rds-failure"></a>

Amazon Relational Database (RDS) 失败的原因可能有很多，因为您在创建 RDS 时可以使用许多不同的引擎，而且每个引擎都有自己的要求和限制。在尝试创建 AMS RDS 堆栈之前，请仔细查看 AWS RDS 参数值，请参阅[创建DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)。

要了解有关 Amazon RDS 的更多信息，包括大小建议，请参阅[亚马逊关系数据库服务文档](https://aws.amazon.com/documentation/rds/)。

### RFCs 创建 Amazon S3 错误
<a name="rfc-create-s3-failure"></a>

创建 S3 存储桶时的一个常见错误是该存储桶没有使用唯一的名称。如果您提交的 S3 存储桶 Create CT 的名称与之前提交的存储桶相同，则该存储桶将失败，因为已经存在与之同名的 S3 存储桶 BucketName。这将在 CloudFormation 控制台中详细介绍，您将在控制台中看到堆栈事件显示存储桶名称已在使用中。

## RFC 验证与执行错误
<a name="rfc-valid-execute-errors"></a>

在选定的 RFC 的 AMS 控制台 RFC 详细信息页面上，RFC 失败和相关消息的输出消息有所不同：
+ 验证失败的原因仅在 “状态” 字段中可用
+ 执行失败的原因可在执行输出和状态字段中找到。

![\[Request for change details showing rejected status due to no domain trust found.\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/rfcReason.png)


## RFC 错误消息
<a name="rfc-error-messages"></a>

当您在列出的更改类型 (CTs) 中遇到以下错误时，可以使用这些解决方案来帮助您找到问题的根源并进行修复。

`{"errorMessage":"An error has occurred during RFC execution. We are investigating the issue.","errorType":"InternalError"}`

如果您在参考以下故障排除选项后需要进一步的帮助，请通过 RFC 通信与 AMS 联系。有关更多信息，请参阅 [RFC 通信和附件（控制台）](https://docs.aws.amazon.com/managedservices/latest/userguide/ex-rfc-gui.html#ex-rfc-correspondence)。

### 工作负载摄取 (WIGS) 错误
<a name="rfc-valid-execute-wigs"></a>

**注意**  
可以下载适用于 Windows 和 Linux 的验证工具，并直接在您的本地服务器上运行，也可以在 AWS 中的 EC2 实例上直接运行。这些内容可通过《*AMS 高级应用程序开发者指南迁移工作负载：Linux 摄取前验证》和《*[迁移工作负载：Windows 摄取前验证](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-instance-linux-validation.html)[》中找到](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-instance-win-validation.html)。
+ 确保目标 AMS 账户中存在 EC2 实例。例如，如果您已将您的 AMI 从非 AMS 账户共享到 AMS 账户，则必须先在您的 AMS 账户中使用共享的 AMI 创建一个 EC2 实例，然后才能提交工作负载采集 RFC。
+ 检查连接到实例的安全组是否允许出口流量。SSM 代理需要能够连接到其公共端点。
+ 检查该实例是否具有连接 SSM 代理的正确权限。这些权限附带了`customer-mc-ec2-instance-profile`，您可以在 EC2 控制台中进行检查：  
![\[EC2 instance details showing IAM role set to customer-mc-ec2-instance-profile.\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/onboardingguide/images/ec2ConsoleWCircle.png)

### EC2 实例堆栈停止错误
<a name="rfc-valid-execute-ec2-stop"></a>
+ 检查实例是否已处于停止或已终止状态。
+ 如果 EC2 实例处于联机状态并且您看到`InternalError`错误，请提交服务请求让 AMS 进行调查。
+ 请注意，您不能使用更改类型管理 \$1 高级堆栈组件 \$1 EC2 实例堆栈 \$1 停止 ct-3mvvt2zkyveqj 来停止 Auto Scaling 组 (ASG) 实例。如果您需要停止 ASG 实例，请提交服务请求。

### EC2 实例堆栈创建错误
<a name="rfc-valid-execute-ec2-create"></a>

`InternalError`消息来自 CloudFormation；一个 CREATION\$1FAILED 状态的原因。您可以按照以下步骤在堆栈事件中找到有关 CloudWatch 堆栈故障的详细信息：
+ 在 AWS 管理控制台中，您可以在创建、更新或删除堆栈时查看堆栈事件列表。从该列表中，找到失败事件，然后查看该事件的状态原因。

  状态原因可能包含来自 AWS CloudFormation 或特定服务的错误消息，可以帮助您了解问题。
+ 有关查看堆栈事件的更多信息，请参阅[在 AWS 管理控制台上查看 AWS CloudFormation 堆栈数据和资源](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-view-stack-data-resources.html)。

### EC2 实例卷恢复错误
<a name="rfc-ec2-vol-restore-ec2-fail"></a>

当 EC2 实例卷恢复失败时，AMS 会创建内部故障排除 RFC。之所以这样做，是因为 EC2 实例卷恢复是灾难恢复 (DR) 的重要组成部分，AMS 会自动为您创建此内部故障排除 RFC。

创建内部疑难解答 RFC 后，会显示一个横幅，为您提供指向 RFC 的链接。此内部故障排除 RFC 可让您更清楚地了解 RFC 故障，与其提交 RFCs 导致相同错误的重试或手动联系 AMS 解决此故障，不如跟踪更改并知道 AMS 正在处理故障。这也降低了他们变更的 time-to-recovery (TTR) 指标，因为 AMS 操作员会主动处理 RFC 故障，而不是等待您的请求。

## 如何获得有关 RFC 的帮助
<a name="rfc-escalate"></a>

您可以联系 AMS 以确定失败的根本原因。AMS 的工作时间为每年 365 天、每周 7 天、每天 24 小时。

AMS 提供了多种寻求帮助的途径。
+ 如果您需要有关已完成但不正确的 RFC 或已完成的 RFC 的帮助，请通过 RFC 双向通信与 AMS 接触。有关更多信息，请参阅 [RFC 通信和附件（控制台）](https://docs.aws.amazon.com/managedservices/latest/userguide/ex-rfc-gui.html#ex-rfc-correspondence)。
+ 要报告影响您的托管环境的 AWS 或 AMS 服务性能问题，请使用 AMS 控制台并提交事件报告。有关详细信息，请参阅[报告事件](https://docs.aws.amazon.com/managedservices/latest/userguide/gui-ex-report-incident.html)。有关 AMS 事件管理的一般信息，请参阅[事件响应](https://docs.aws.amazon.com/managedservices/latest/userguide/sec-incident-response.html)。
+ 有关您或您的资源或应用程序如何使用 AMS 的具体问题，或者要升级事件，请通过电子邮件发送以下一项或多封电子邮件：

  1. 首先，如果您对服务请求或事件报告回复不满意，请发送电子邮件至 CSDM：ams-csdm@amazon.com

  1. 接下来，如果需要升级，你可以发送电子邮件给 AMS 运营经理（但你的 CSDM 可能会这样做）：ams-opsmanager@amazon.com

  1. 进一步升级将向 AMS 局长提出：ams-director@amazon.com

  1. 最后，你可以随时联系 AMS 副总裁：ams-vp@amazon.com