View a markdown version of this page

AWSSupport-TroubleshootActiveDirectoryReplication - AWS Systems Manager 自动化运行手册参考

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

AWSSupport-TroubleshootActiveDirectoryReplication

描述

AWSSupport-TroubleshootActiveDirectoryReplication运行手册通过检查目标域控制器实例上的常用设置来帮助解决 Microsoft Active Directory (AD) 域控制器复制故障。本运行手册对提供的域控制器实例运行一系列 PowerShell 命令,以检查当前的复制状态并报告可能导致域复制问题的错误。如果复制关键服务(Netlogon、、和KDC)已停止 RPCSSW32Time,运行手册可以选择启动这些服务,并通过在目标实例w32tm /resync /force上运行来同步系统时间。

重要

AWS 托管 Microsoft AD 不在本运行手册的范围之内。

重要

当自动化在目标实例上运行命令时,会对目标实例文件系统进行更改。这些更改包括创建日志目录 ($env:ProgramData\TroubleshootActiveDirectoryReplication) 和报告文件。

如何工作?

运行手册执行以下检查和操作:

  • 验证目标实例是否运行 Windows 并且由 Systems Manager 管理。

  • 运行 PowerShell 脚本以检查 Active Directory 复制配置和状态。

  • 检查安全组和网络 ACL 设置是否存在复制伙伴连接。

  • 对时间同步和关键服务状态进行故障排除。

  • 将日志文件上传到指定的 Amazon S3 存储桶进行分析。

运行此自动化(控制台)

文档类型

自动化

所有者

Amazon

平台

Windows

参数

所需的 IAM 权限

AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。

  • ec2:DescribeInstances

  • secretsmanager:GetSecretValue

  • ssm:DescribeInstanceInformation

  • ssm:SendCommand

  • ssm:GetCommandInvocation

  • s3:GetBucketAcl

  • s3:GetBucketPolicy

  • s3:GetBucketPolicyStatus

  • s3:GetBucketPublicAccessBlock

  • s3:PutObject

策略示例:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "secretsmanager:GetSecretValue" "ssm:DescribeInstanceInformation", "ssm:SendCommand", "ssm:GetCommandInvocation", "s3:GetBucketAcl", "s3:GetBucketPolicy", "s3:GetBucketPolicyStatus", "s3:GetBucketPublicAccessBlock", "s3:PutObject" ], "Resource": "*" } ] }

AWS Secrets Manager 设置

支票复制 PowerShell 脚本通过运行时调用来检索用户名和密码,从而连接到目标 Microsoft Active Directory 域控制器。 AWS Secrets Manager按照创建 AWS Secrets Manager 密钥中的步骤创建新 AWS Secrets Manager 密钥。确保用户名和密码使用一 key/value 对格式存储{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}。创建密钥后,请确保将 AWS Secrets Manager 机密 ARN 的secretsmanager:GetSecretValue权限授予目标域控制器 IAM 实例配置文件角色。

说明

按照这些步骤对自动化进行配置:

  1. AWSSupport-TroubleshootActiveDirectoryReplication在 Systems Manager 的 “文档” 下导航至。

  2. 选择 Execute automation(执行自动化)。

  3. 对于输入参数,请输入以下内容:

    • AutomationAssumeRole (可选):

      • 描述:(可选) AWS 身份和访问管理 (IAM) Access Management 角色的亚马逊资源名称 (ARN),允许系统管理员自动化代表您执行操作。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。

      • 类型:AWS::IAM::Role::Arn

    • InstanceId (必填):

      • 描述:(必填)您要解决活动目录复制问题的 Amazon EC2 域控制器实例的 ID。请注意,提供的实例必须是域控制器。

      • 类型:AWS::EC2::Instance::Id

    • SecretsManagerArn (必填):

      • 描述:(必填)您的 AWS Secrets Manager 密钥的 ARN,其中包含具有企业管理员或访问您的 Active Directory 域和林配置的同等权限的 Active Directory 用户名和密码。确保用户名和密码使用一 key/value 对格式存储{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}。确保将机密 ARN 的secretsmanager:GetSecretValue权限附加到您的目标域控制器 IAM 实例配置文件角色。

      • 类型:String

      • 允许的模式:^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):secretsmanager:[a-z0-9-]{2,20}:[0-9]{12}:secret:[a-zA-Z0-9]{1}[a-zA-Z0-9\\/_+=.@-]{1,256}$

    • TimeSync (可选):

      • 描述:(可选)选择CheckSync。如果选择Check,运行手册将打印出当前的系统时间同步状态。Sync如果选中,运行手册将尝试通过在目标实例w32tm /resync /force上运行来强制时间重新同步。

      • 类型:String

      • 允许的值:[Check, Sync]

      • 默认值:Check

    • ServiceAction (可选):

      • 描述:(可选)选择CheckFix。如果选择Check,运行手册会打印出NetlogonWindows Time service (W32Time)Remote Procedure Call (RPC) Service、和Key Distribution Center (KDC)服务的当前状态。如果Fix选中,则运行手册将尝试启动这些服务(如果有任何服务已停止)。

      • 类型:String

      • 允许的值:[Check, Fix]

      • 默认值:Check

    • LogDestination (必填):

      • 描述:(必填)您 AWS 账户中用于上传命令输出的 Amazon S3 存储桶。

      • 类型:String

  4. 选择执行

  5. 自动化启动。

  6. 文档将执行以下步骤:

    • assertIfOperatingSystemIsWindows:

      检查所提供的目标 Amazon EC2 实例的操作系统是否为 Windows。

    • assertifInstanceIsSsmManaged:

      确保 Amazon EC2 实例由 Systems Manager 管理,否则自动化将结束。

    • 检查复制

      在指定的域控制器实例上运行 PowerShell 脚本以获取 Active Directory 域复制配置和状态。

    • checkInstanceSgAndNacl:

      检查与目标域控制器实例关联的安全组和网络 ACL 是否允许发送到复制伙伴的流量。

    • 疑难解答复制:

      运行 PowerShell 脚本以排除时间同步和关键服务状态故障。

    • verifys3 BucketPublicStatus

      检查中指定的 Amazon S3 存储桶是否LogDestination允许匿名或公开读取或写入访问权限。

    • runUploadScript:

      运行 PowerShell 脚本将日志存档上传到LogDestination参数中指定的 AAmazon S3 存储桶,并从操作系统中删除存档的日志文件。日志文件可用于故障排除,也可以在排除复制问题时与 S AWS upport 共享。

  7. 完成后,请查看 “输出” 部分,了解执行的详细结果。

参考

Systems Manager Automation