

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

# `AWSSupport-TroubleshootActiveDirectoryReplication`
<a name="automation-aws-troubleshootactivedirectoryreplication"></a>

 **描述** 

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

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

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

 **如何工作？** 

运行手册执行以下检查和操作：
+ 验证目标实例是否运行 Windows 并且由 Systems Manager 管理。
+ 运行 PowerShell 脚本以检查 Active Directory 复制配置和状态。
+ 检查安全组和网络 ACL 设置是否存在复制伙伴连接。
+ 对时间同步和关键服务状态进行故障排除。
+ 将日志文件上传到指定的 Amazon S3 存储桶进行分析。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootActiveDirectoryReplication) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Windows

**参数**

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `ec2:DescribeInstances`
+ `secretsmanager:GetSecretValu`e
+ `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 密钥](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html)中的步骤创建新 AWS Secrets Manager 密钥。确保用户名和密码使用一 key/value 对格式存储`{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}`。创建密钥后，请确保将 AWS Secrets Manager 机密 ARN 的`secretsmanager:GetSecretValue`权限授予目标域控制器 IAM 实例配置文件角色。

 **说明** 

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

1. [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootActiveDirectoryReplication/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootActiveDirectoryReplication/description)在 Systems Manager 的 “文档” 下导航至。

1. 选择 **Execute automation**（执行自动化）。

1. 对于输入参数，请输入以下内容：
   + **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 （可选）：**
     + 描述：（可选）选择`Check`或`Sync`。如果选择`Check`，运行手册将打印出当前的系统时间同步状态。`Sync`如果选中，运行手册将尝试通过在目标实例`w32tm /resync /force`上运行来强制时间重新同步。
     + 类型：`String`
     + 允许的值：`[Check, Sync]`
     + 默认值：`Check`
   + **ServiceAction （可选）：**
     + 描述：（可选）选择`Check`或`Fix`。如果选择`Check`，运行手册会打印出`Netlogon`、`Windows Time service (W32Time)``Remote Procedure Call (RPC) Service`、和`Key Distribution Center (KDC)`服务的当前状态。如果`Fix`选中，则运行手册将尝试启动这些服务（如果有任何服务已停止）。
     + 类型：`String`
     + 允许的值：`[Check, Fix]`
     + 默认值：`Check`
   + **LogDestination （必填）：**
     + 描述：（必填）您 AWS 账户中用于上传命令输出的 Amazon S3 存储桶。
     + 类型：`String`

1. 选择**执行**。

1. 自动化启动。

1. 文档将执行以下步骤：
   + **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 共享。

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

**参考**

Systems Manager Automation
+ [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootActiveDirectoryReplication/description)
+ [运行自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [设置自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Support 自动化工作流程](https://aws.amazon.com/premiumsupport/technology/saw/)