我想在我的 Amazon Elastic Compute Cloud (Amazon EC2) SUSE 实例上安装或更新软件包。我无法将我的 EC2 SUSE 实例注册到 SUSE 更新基础设施。如何排查此问题?
简短描述
要排查 SUSE 注册失败问题,请使用 AWSSupport-CheckSUSERegisration 自动化文档。此自动化文档执行以下操作:
- 验证安全组配置。
- 验证网络访问控制列表 (网络 ACL) 配置。
- 验证路由表配置。
- 验证 cloud-regionsrv-client 软件包是否为最新版本。
- 验证基础产品符号链接是否正确。
- 验证 /etc/hosts 文件中没有多个 smt-ec2.susecloud.net 条目。
- 验证 EC2 实例是否可以访问实例元数据服务 (IMDS)。
- 验证您的 EC2 实例是否具有计费代码或 AWS Marketplace 产品代码。
- 确定您的 EC2 实例是否位于 SSL 代理后面。
- 如果存在任何代理,确定 SSL 拦截是否允许区域服务器的 IP、SMT 服务器的 IP 和 smt-ec2.susecloud.net。
- 确定代理是否可以将 smt-ec2.susecloud.net 解析为 SMT 服务器 IP 地址。
- 确定是否可以通过 HTTP 访问 SMT 服务器。
- 确定是否可以通过 HTTPS 访问 SMT 服务器。
- 确定是否可以通过 HTTPS 访问 smt-ec2.susecloud.net URL。
解决方法
注意:如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI。
开始之前
- 请记住,希望使用自动化文档进行故障排除的实例必须是 AWS Systems Manager 控制台中的托管实例。
- 复制您想要排查问题的 EC2 实例的实例 ID。您需要该实例 ID 以运行自动化文档。
- (可选) 为自动化创建并指定一个 AWS Identity and Access Management (IAM) 角色。如果您未指定此角色,AWS Systems Manager Automation 将使用运行此文档的用户的权限。有关为自动化创建角色的更多信息,请参阅通过使用 IAM 服务角色运行 Automation。
在 Systems Manager 控制台运行 AWSSupport-TroubleshootSUSERegistration 自动化
- 在 AWS Systems Manager 控制台中打开文档。请务必在您资源所在的区域中打开文档。
- 在导航窗格中,选择自动化。
- 选择执行自动化。
- 在搜索字段中输入 AWSSupport-TroubleshootSUSERegistration,然后按 Enter 键。
- 在搜索结果中选择 AWSSupport-TroubleshootSUSERegistration。
- 在文档列表中,选择 AWSSupport-TroubleshootSUSERegistration。该文档的拥有者是 Amazon。
- 在描述部分中,验证文档版本是否被设置为运行时默认版本。
- 选择执行自动化。
- 在执行自动化文档部分,选择简单执行。
- 在输入参数部分中,指定以下参数:
对于 InstanceID,指定或选择要排查故障的实例的 ID。
(可选) 对于 AutomationAssumeRole,指定此次运行的 IAM 角色。如果未指定角色,AWS Systems Manager Automation 会使用运行此文档用户的权限。
- 选择执行。
- 要监控运行过程,请选择正在运行的自动化,然后选择步骤选项卡。运行完成后,选择描述选项卡,然后选择查看输出以查看结果。要查看个别步骤的输出,选择步骤选项卡,然后选择某步骤旁边的查看输出。
在 AWS Command Line Interface (AWS CLI) 运行 AWSSupport-TroubleshootSUSERegistration 自动化
在以下命令中,将 i-xxxxxxxxxxxxxxxx 替换为要排查故障的 EC2 实例。将 us-east-1 替换为实例的区域。
aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootSUSERegistration" --document-version "\$DEFAULT" --parameters '{"InstanceId":["i-xxxxxxxxxxxxxxxx"],"AutomationAssumeRole":[""]}' --region us-east-1