我正在尝试部署一个自动连接到AWS指令服务的自动缩放组。我遵循了本教程中的所有步骤:https://aws.amazon.com/blogs/security/how-to-configure-your-ec2-instances-to-automical--join-ain-ain-a-ain-a-microsoft-active-active-activive-activive-Domain-Domain/
这是我使用的用户数据脚本:(它也安装代码部署)
<powershell>
New-Item -Path c:temp -ItemType "directory" -Force
Read-S3Object -BucketName aws-codedeploy-us-east-1/latest -Key codedeploy-agent.msi -File c:tempcodedeploy-agent.msi
Start-Process -Wait -FilePath c:tempcodedeploy-agent.msi -WindowStyle Hidden
Set-Variable -name instance_id -value (Invoke-Restmethod -uri http://169.254.169.254/latest/meta-data/instance-id)
New-SSMAssociation -InstanceId $instance_id -Name "ssmDocumentName_works_fine"
</powershell>
我正在使用自定义AMI。在创建AMI之前,我启动了EC2ConfigService设置并检查了该选项:启用用户数据执行下一个服务启动。
但是,当ASG启动新实例时,它不是任何域的一部分。它仍在工作组中:工作组。如果我转到EC2,并且在PowerShell中运行用户数据,则会获得" AssociationalReadyExistSexception"例外。
为什么EC2不连接到Active Directory?
谢谢
我终于找出了问题所在。该实例安全组仅允许HTTPS(端口443)用于出站流量。
我找到了我需要打开的端口列表才能使它起作用:http://docs.aws.amazon.com/directoryservice/latest/admin-guide/prereq_managed.html
我希望这对其他人也有帮助