本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对 AMS 中的 RFC 错误进行故障排除
可以通过 CloudFormation 文档调查许多 AMS 配置 RFC 故障。参见 AWS 疑难解答 CloudFormation:错误疑难解答
以下各节提供了其他疑难解答建议。
AMS 中的 “管理” RFC 错误
AMS “管理” 类别更改类型 (CTs) 允许您请求访问资源并管理现有资源。本节介绍一些常见问题。
RFC 访问错误
有关其他访问 RFC 故障的帮助,请参阅访问管理。
YouTube 视频:如何正确提出变更申请 (RFC) 以避免被拒绝和
RFC(手动)CT 调度错误
大多数更改类型是 ExecutionMode =Automated,但有些是 ExecutionMode =Manual,这会影响您应如何安排更改以避免 RFC 失败。
如果 RFCs 使用 AMS 控制台创建 R ExecutionMode FC,则必须将其设置为将来至少 24 小时内执行。此注意事项不适用于 AMS API/CLI,但 RFCs 至少提前 8 小时安排手动操作仍然很重要。
AMS 的目标是在四小时内对手动 CT 做出回应,并将尽快回复,但是 RFC 可能需要更长的时间才能真正执行。
RFCs 与手动更新一起使用 CTs
如果您要更新的堆栈类型有 “更新” 更改类型,则 AMS Operations 会拒绝 “管理” | “其他 RFCs ” | “其他” 更新堆栈。
RFC 删除堆栈错误
RFC 删除堆栈失败:如果您使用管理 | 标准堆栈 | 堆栈 | 删除 CT,则将在 CloudFormation 控制台中看到带有 AMS 堆栈名称的堆栈的详细事件。您可以通过将堆栈与 AMS 控制台中的名称进行核对来识别堆栈。 CloudFormation 控制台提供了有关故障原因的更多详细信息。
在删除堆栈之前,应考虑堆栈是如何创建的。如果您使用 AMS CT 创建堆栈,但未添加或编辑堆栈资源,则可以毫无问题地将其删除。但是,在提交针对堆栈的删除堆栈 RFC 之前,最好先从堆栈中移除所有手动添加的资源。例如,如果您使用完整堆栈 CT(HA Two Tier)创建堆栈,则它会包含一个安全组- SG1。如果您随后使用 AMS 创建另一个安全组- SG2,并引用 SG1 已创建的作为完整堆栈一部分的新 SG2 安全组,然后使用删除堆栈 CT 删除该堆栈,则 SG1 不会像引用的那样将其删除 SG2。
重要
删除堆栈可能会带来意想不到和意想不到的后果。出于这个原因,AMS 倾向于*不*代表客户删除堆栈或堆栈资源。请注意,AMS 只会代表您删除无法使用相应的自动更改类型进行删除的资源(通过提交的管理 | 其他 | 其他 | 更新更改类型)。其它注意事项:
如果资源启用了 “删除保护”,则如果您提交 “管理 | 其他 | 其他 | 更新” 更改类型,AMS 可以帮助解除此限制,并且删除保护后,您可以使用自动 CT 删除该资源。
如果堆栈中有多个资源,并且您只想删除堆栈资源的子集,请使用 CloudFormation 更新更改类型(参见载CloudFormation 入堆栈:更新)。您也可以提交 “管理” | “其他” | “其他” | “更新” 变更类型,如果需要,AMS 工程师可以帮助您制作变更集。
如果由于偏差而在使用 CloudFormation 更新 CT 时出现问题,AMS 可以提供帮助,方法是您提交管理 | 其他 | 其他 | 其他 | 更新来解决偏差(在 AWS CloudFormation 服务支持的范围 Management/Custom Stack/Stack From CloudFormation Template/Approve内),并提供一个 ChangeSet 您可以随后使用自动 CT、变更集和更新进行验证和执行的更新。
AMS 维持上述限制,以帮助确保不会出现意外或意外的资源删除。
有关更多信息,请参阅 AWS 疑难解答 CloudFormation:删除堆栈失败。
RFC 更新 DNS 错误
多次 RFCs 更新 DNS 托管区域可能会失败,有些是无缘无故的。同时创建多个 RFCs 用于更新 DNS 托管区域(私有或公共)可能会 RFCs 导致某些区域失败,因为它们正在尝试同时更新同一个堆栈。由于另一个 RFC 已经更新堆栈而无法更新堆栈,AMS 变更管理会拒绝或失败 RFCs 。AMS 建议您一次创建一个 RFC,等待 RFC 成功后再为同一个堆栈筹集一个新的 RFC。
RFC IAM 实体错误
AMS 将许多默认 IAM 角色和配置文件配置到 AMS 账户中,以满足您的需求。但是,您可能需要偶尔请求其他 IAM 资源。
提交 RFCs 请求自定义 IAM 资源的流程遵循手动标准工作流程 RFCs,但批准流程还包括安全审查,以确保适当的安全控制措施到位。因此,该过程通常比其他手册花费更长的时间 RFCs。要缩短这些产品的周期时间 RFCs,请遵循以下准则。
有关我们所说的 IAM 审查的含义以及它如何与我们的技术标准和风险接受流程对应的信息,请参阅了解 RFC 安全评论。
常见的 IAM 资源请求:
如果您要求提供与主要云兼容应用程序相关的政策,例如 CloudEndure,请参阅 AMS 预先批准的 IAM CloudEndure 政策:解压WIGs 云端耐久着陆区示例文件并打开
customer_cloud_endure_policy.json注意
如果您想要更宽松的政策,请与您讨论您的需求, CloudArchitect/CSDM 并在必要时获得 AMS 安全审查和签署,然后再提交实施该政策的 RFC。
如果您想修改默认情况下由 AMS 在您的账户中部署的资源,我们建议您索要该资源的修改副本,而不是更改现有资源。
如果您正在为人类用户请求权限(而不是向用户授予权限),请将权限附加到某个角色,然后向该用户授予担任该角色的权限。有关执行此操作的详细信息,请参阅临时 AMS 高级控制台访问权限。
如果您需要特殊权限来执行临时迁移或工作流程,请在请求中提供这些权限的结束日期。
如果您已经与安全团队讨论了请求的主题,请尽可能详细地向您的 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 错误
AMS “部署” 类别更改类型 (CTs) 允许您请求将各种 AMS 支持的资源添加到您的账户。
创建资源的大多数 AMS CTs 都是基于 CloudFormation 模板的。作为客户,您可以只读访问所有 AWS 服务 CloudFormation,包括,您可以使用 CloudFormation 控制台根据 CloudFormation 堆栈描述快速识别代表您的堆栈的堆栈。失败的堆栈可能处于 DELETE_COMPLETE 状态。确定 CloudFormation 堆栈后,事件将向您显示创建失败的特定资源及其原因。
使用 CloudFormation 文档进行故障排除
大多数 AMS 配置都 RFCs 使用 CloudFormation 模板,该文档可能有助于进行故障排除。请参阅该 CloudFormation 模板的文档:
创建应用程序负载均衡器失败: AWS::ElasticLoadBalancingV2::LoadBalancer (Application Load Balancer)
创建 Auto Scaling 组: AWS::AutoScaling::AutoScalingGroup (Auto Scaling 组)
创建 memcached 缓存: AWS::ElastiCache::CacheCluster (缓存集群)
创建 Redis 缓存: AWS::ElastiCache::CacheCluster (缓存集群)
创建 DNS 托管区域(与创建 DNS 私有/公用): AWS::Route53::HostedZone (R53 托管区域)
创建 DNS 记录集(与创建 DNS 私有/公共 DNS 一起使用): AWS::Route53::RecordSet (资源记录集)
创建 EC2 堆栈: AWS::EC2::Instance (弹性计算云)
创建弹性文件系统 (EFS): AWS::EFS::FileSystem (弹性文件系统)
创建负载均衡器: AWS::ElasticLoadBalancing::LoadBalancer (Elastic Load Balancer)
创建 RDS 数据库: AWS::RDS::DBInstance (关系数据库)
创建 Amazon S3: AWS::S3::Bucket (简单存储服务)
创建队列: AWS::SQS::Queue (简单队列服务)
RFC 创建错误 AMIs
亚马逊机器映像(AMI)是一种包含软件配置(例如,操作系统、应用程序服务器和应用程序)的模板。从 AMI 启动一个实例,该实例是在云中作为虚拟服务器运行的 AMI 的副本。 AMIs 非常有用,是创建 EC2 实例或 Auto Scaling 组所必需的;但是,您必须遵守一些要求:
您为其指定的实例
Ec2InstanceId必须处于停止状态,RFC 才能成功。请勿为此参数使用 Auto Scaling 组 (ASG) 实例,因为 ASG 将终止已停止的实例。要创建 AMS Amazon 系统映像 (AMI),必须从 AMS 实例开始。在使用该实例创建 AMI 之前,您必须确保它已停止并与其域断开连接,从而对其进行准备。有关详细信息,请参阅使用 Sysprep 创建标准亚马逊系统映像
您为新 AMI 指定的名称在账户中必须是唯一的,否则 RFC 将失败。AMI | Creat e 中描述了如何执行此操作,有关更多详细信息,请参阅和 AWS AMI 设计
。
注意
有关为 AMI 创建做准备的其他信息,请参阅 AMI | 创建。
RFCs 正在创建 o EC2s r ASGs 错误
对于带超时 EC2 的 ASG 故障,AMS 建议您确认所使用的 AMI 是否已自定义。如果是,请参阅本指南中包含的 AMI 创建步骤(参见 AMI | Cre ate),以确保正确创建 AMI。创建自定义 AMI 时的一个常见错误是未按照指南中的步骤重命名或调用 Sysprep。
RFCs 创建 RDS 错误
Amazon Relational Database (RDS) 失败的原因可能有很多,因为您在创建 RDS 时可以使用许多不同的引擎,而且每个引擎都有自己的要求和限制。在尝试创建 AMS RDS 堆栈之前,请仔细查看 AWS RDS 参数值,请参阅创建DBInstance。
要了解有关 Amazon RDS 的更多信息,包括大小建议,请参阅亚马逊关系数据库服务文档
RFCs 创建 Amazon S3 错误
创建 S3 存储桶时的一个常见错误是该存储桶没有使用唯一的名称。如果您提交的 S3 存储桶 Create CT 的名称与之前提交的存储桶名称相同,则该存储桶将失败,因为已经存在与之同名的 S3 存储桶 BucketName。这将在 CloudFormation 控制台中详细介绍,您将在控制台中看到堆栈事件显示存储桶名称已在使用中。
RFC 验证与执行错误
在选定的 RFC 的 AMS 控制台 RFC 详细信息页面上,RFC 失败和相关消息的输出消息有所不同:
验证失败的原因仅在 “状态” 字段中可用
执行失败的原因可在执行输出和状态字段中找到。
RFC 错误消息
当您在列出的更改类型 (CTs) 中遇到以下错误时,可以使用这些解决方案来帮助您找到问题的根源并进行修复。
{"errorMessage":"An error has occurred during RFC execution. We are investigating the issue.","errorType":"InternalError"}
如果您在参考以下故障排除选项后需要进一步的帮助,请通过 RFC 通信与 AMS 联系或创建服务请求。有关更多详细信息,请参阅 RFC 通信和附件(控制台)和在 AMS 中创建服务请求。
工作负载摄取 (WIGS) 错误
注意
可以下载适用于 Windows 和 Linux 的验证工具,并直接在您的本地服务器上运行,也可以在 AWS 中的 EC2 实例上运行。这些内容可通过《AMS 高级应用程序开发者指南迁移工作负载:Linux 摄取前验证》和《迁移工作负载:Windows 摄取前验证》中找到。
确保目标 AMS 账户中存在 EC2 实例。例如,如果您已将非 AMS 账户的 AMI 共享到 AMS 账户,则必须先在您的 AMS 账户中使用共享 AMI 创建一个 EC2 实例,然后才能提交工作负载摄取 RFC。
检查连接到实例的安全组是否允许出口流量。SSM 代理需要能够连接到其公共端点。
检查该实例是否具有连接 SSM 代理的正确权限。这些权限附带了
customer-mc-ec2-instance-profile,你可以在 EC2 控制台中查看:
EC2 实例堆栈停止错误
检查实例是否已处于停止或已终止状态。
如果 EC2 实例处于联机状态并且您看到
InternalError错误,请提交服务请求让 AMS 进行调查。请注意,你不能使用更改类型管理 | 高级堆栈组件 | EC2 实例堆栈 | 停止 ct-3mvvt2zkyveqj 来停止 Auto Scaling 组 (ASG) 实例。如果您需要停止 ASG 实例,请提交服务请求。
EC2 实例堆栈创建错误
InternalError消息来自 CloudFormation;一个 CREATION_FAILED 状态的原因。您可以按照以下步骤在堆栈事件中找到有关 CloudWatch 堆栈故障的详细信息:
在 AWS 管理控制台中,您可以在创建、更新或删除堆栈时查看堆栈事件列表。从该列表中,找到失败事件,然后查看该事件的状态原因。
状态原因可能包含来自 AWS CloudFormation 或特定服务的错误消息,可以帮助您了解问题。
有关查看堆栈事件的更多信息,请参阅在 AWS 管理控制台上查看 AWS CloudFormation 堆栈数据和资源。
EC2 实例卷恢复错误
当 EC2 实例卷恢复失败时,AMS 会创建内部故障排除 RFC。之所以这样做,是因为 EC2 实例卷恢复是灾难恢复 (DR) 的重要组成部分,AMS 会自动为您创建此内部故障排除 RFC。
创建内部疑难解答 RFC 后,会显示一个横幅,为您提供指向 RFC 的链接。此内部故障排除 RFC 可让您更清楚地了解 RFC 故障,与其提交 RFCs 导致相同错误的重试或手动联系 AMS 解决此故障,不如跟踪更改并知道 AMS 正在处理故障。这也降低了他们变更的 time-to-recovery (TTR) 指标,因为 AMS 操作员会主动处理 RFC 故障,而不是等待您的请求。
如何获得有关 RFC 的帮助
您可以联系 AMS 以确定失败的根本原因。AMS 的工作时间为每年 365 天、每周 7 天、每天 24 小时。
AMS 提供了多种途径供您寻求帮助或提出服务请求。
要询问信息或建议,或访问 AMS 托管的 IT 服务,或向 AMS 申请其他服务,请使用 AMS 控制台并提交服务请求。有关详细信息,请参阅创建服务请求。有关 AMS 服务请求的一般信息,请参阅服务请求管理。
要报告影响您的托管环境的 AWS 或 AMS 服务性能问题,请使用 AMS 控制台并提交事件报告。有关详细信息,请参阅报告事件。有关 AMS 事件管理的一般信息,请参阅事件响应。
有关您或您的资源或应用程序如何使用 AMS 的具体问题,或者要升级事件,请通过电子邮件发送以下一项或多封电子邮件:
首先,如果您对服务请求或事件报告回复不满意,请发送电子邮件至 CSDM:ams-csdm@amazon.com
接下来,如果需要升级,你可以发送电子邮件给 AMS 运营经理(但你的 CSDM 可能会这样做):ams-opsmanager@amazon.com
进一步升级将向 AMS 局长提出:ams-director@amazon.com
最后,你可以随时联系 AMS 副总裁:ams-vp@amazon.com