我正在尝试部署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中运行用户数据,我会收到“AssociationAlreadyExistsException”异常 .
为什么EC2没有连接到Active Directory?
谢谢
1 回答
我终于找出了问题所在 . 实例安全组仅允许https(端口443)用于出站流量 .
我找到了我需要打开的端口列表才能使其工作:http://docs.aws.amazon.com/directoryservice/latest/admin-guide/prereq_managed.html
我希望这也能帮助别人