本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSSupport-TroubleshootActiveDirectoryReplication
Description
AWSSupport-TroubleshootActiveDirectoryReplication Runbook 透過檢查目標網域控制站執行個體上的常見設定,協助疑難排解 Microsoft Active Directory (AD) 網域控制站複寫失敗。此 Runbook 會對提供的網域控制器執行個體執行一系列 PowerShell 命令,以檢查目前的複寫狀態並報告可能導致網域複寫問題的錯誤。Runbook 可以選擇性地啟動複寫關鍵服務 (Netlogon、W32Time、 和 KDC)RPCSS,如果它們停止,並透過在目標執行個體w32tm /resync /force上執行來同步系統時間。
重要
AWS Managed Microsoft AD 不在此 Runbook 的範圍內。
重要
當自動化在目標執行個體上執行命令時,會變更目標執行個體檔案系統。這些變更包括建立日誌目錄 ($env:ProgramData\TroubleshootActiveDirectoryReplication) 和報告檔案。
如何運作?
Runbook 會執行下列檢查和動作:
驗證目標執行個體是否正在執行 Windows,並由 Systems Manager 管理。
執行 PowerShell 指令碼來檢查 Active Directory 複寫組態和狀態。
檢查安全群組和網路 ACL 設定是否有複寫合作夥伴連線。
對時間同步和關鍵服務狀態進行故障診斷。
將日誌檔案上傳至指定的 Amazon S3 儲存貯體進行分析。
文件類型
自動化
擁有者
Amazon
平台
Windows
參數
必要的 IAM 許可
AutomationAssumeRole 參數需要下列動作才能成功使用 Runbook。
ec2:DescribeInstancessecretsmanager:GetSecretValuessm:DescribeInstanceInformationssm:SendCommandssm:GetCommandInvocations3:GetBucketAcls3:GetBucketPolicys3:GetBucketPolicyStatuss3:GetBucketPublicAccessBlocks3: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 秘密。請確定使用者名稱和密碼是使用格式為 的金鑰/值對來存放{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}。建立 AWS Secrets Manager 秘密之後,請務必將秘密 ARN 的secretsmanager:GetSecretValue許可授予目標網域控制站 IAM 執行個體描述檔角色。
指示
請依照下列步驟設定自動化:
-
在文件下的 Systems Manager
AWSSupport-TroubleshootActiveDirectoryReplication中導覽至 。 -
選擇 Execute automation (執行自動化)。
-
針對輸入參數,輸入下列內容:
-
AutomationAssumeRole (選用):
描述:(選用) Identity AWS and Access Management (IAM) 角色的 Amazon Resource Name (ARN),允許 Systems Manager Automation 代表您執行動作。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。
類型:
AWS::IAM::Role::Arn
-
InstanceId (必要):
描述:(必要) 您要疑難排解 Active Directory 複寫問題的 Amazon EC2 網域控制站執行個體 ID。請注意,提供的執行個體必須是網域控制站。
類型:
AWS::EC2::Instance::Id
-
SecretsManagerArn (必要):
描述:(必要) AWS Secrets Manager 秘密的 ARN,其中包含具有企業管理員的 Active Directory 使用者名稱和密碼,或存取 Active Directory 網域和樹系組態的同等許可。請確定使用者名稱和密碼是使用格式為 的金鑰/值對來存放
{"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, Runbook 會列印出目前的系統時間同步狀態。Sync如果選取 ,則 Runbook 會透過在目標執行個體w32tm /resync /force上執行 來嘗試強制時間重新同步。類型:
String-
允許的值:
[Check, Sync] 預設:
Check
-
ServiceAction (選用):
描述:(選用) 選取
Check或Fix。如果您選擇Check, Runbook 會列印Netlogon、Remote Procedure Call (RPC) Service、Windows Time service (W32Time)和Key Distribution Center (KDC)服務的目前狀態。如果已選取Fix,則 Runbook 會在有任何 停止時嘗試啟動這些服務。類型:
String-
允許的值:
[Check, Fix] 預設:
Check
-
LogDestination (必要):
描述:(必要) AWS 帳戶中用來上傳命令輸出的 Amazon Amazon S3 儲存貯體。
類型:
String
-
-
選取執行。
-
自動化會啟動。
-
文件會執行下列步驟:
-
assertIfOperatingSystemIsWindows:
檢查所提供目標 Amazon EC2 執行個體的作業系統是否為 Windows。
-
assertifInstanceIsSsmManaged:
確保 Amazon EC2 執行個體是由 Systems Manager 管理,否則自動化會結束。
-
checkReplication:
在指定的網域控制站執行個體上執行 PowerShell 指令碼,以取得 Active Directory 網域複寫組態和狀態。
-
checkInstanceSgAndNacl:
檢查與目標網域控制站執行個體相關聯的安全群組和網路 ACL 是否允許通往複寫合作夥伴的流量。
-
troubleshootReplication:
執行 PowerShell 指令碼來疑難排解時間同步和關鍵服務狀態。
-
verifyS3BucketPublicStatus:
檢查 中指定的 Amazon S3 儲存貯體是否
LogDestination允許匿名或公有讀取或寫入存取許可。 -
runUploadScript:執行 PowerShell 指令碼,將日誌封存上傳至
LogDestination參數中指定的 AAmazon S3 儲存貯體,並從作業系統刪除封存的日誌檔案。日誌檔案可用於故障診斷,或在故障診斷複寫問題時與 AWS Support 共用。
-
-
完成後,請檢閱輸出區段以取得執行的詳細結果。
參考
Systems Manager Automation