我正在尝试部署Auto Scaling组,其所有EC2实例都自动连接到AWS Directive Service。我按照本教程中的所有步骤操作:https://aws.amazon.com/blogs/security/how-to-configure-your-ec2-instances-to-automatically-join-a-microsoft-active-directory-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:\temp\codedeploy-agent.msi
Start-Process -Wait -FilePath c:\temp\codedeploy-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启动新实例时,它不属于任何域。它仍然在工作组中:WORKGROUP。如果我RDP到EC2并且我在powershell中运行用户数据,我得到一个&#34; AssociationAlreadyExistsException&#34;异常。
为什么EC2没有连接到Active Directory?
由于
答案 0 :(得分:0)
我终于找出问题所在。实例安全组仅允许https(端口443)用于出站流量。
我找到了需要打开的端口列表才能使其正常工作:http://docs.aws.amazon.com/directoryservice/latest/admin-guide/prereq_managed.html
我希望这也有助于其他人