我正在按照这篇 AWS 文章中的流程测试自动化 AWS Workspaces 与托管 AD 的集成:https ://aws.amazon.com/blogs/desktop-and-application-streaming/automate-provisioning-of-amazon-workspaces-使用-aws-lambda/
我使用名称“domain.local”部署了一个标准的 AWS 托管目录,然后使用 AD 工具将单个 EC2 实例部署到域,以便我可以修改 AD。
在创建计划的 Cloudwatch 规则时,我包含了这个自定义 JSON 输入(如本文第 6 步所述):
{
"LDAP_SERVER": "domain.local",
"LDAP_USER": "domain\\aws_sync",
"GROUP_FILTER": "(objectclass=group)",
"USER_FILTER": "(objectclass=user)",
"SECRET_NAME": "sync_svc",
"WORKSPACE_GROUP_FRIENDLY_NAME": "workspace_users",
"WORKSPACE_GROUP_DN": "OU=Workspaces,OU=domain,DC=domain,DC=local",
"Directory_Id": "<MyDirectoryID>",
"Bundle_Id": "wsb-8vbljg4r6",
"WorkSpace_Properties": {
"RunningMode": "AUTO_STOP",
"RunningModeAutoStopTimeoutInMinutes": 60,
"RootVolumeSizeGib": 80,
"UserVolumeSizeGib": 50,
"ComputeTypeName": "STANDARD"
}
}
我已经两次非常小心地按照说明完成了文章中的整个过程 - 但两次,集成都不起作用并且 Lambda 函数失败。在 Cloudwatch 日志中,我看到:
> [ERROR] LDAPSocketOpenError: invalid server address Traceback (most
> recent call last): File "/var/task/lambda_function.py", line 37, in
> lambda_handler conn = Connection(server, user=LDAP_USER,
> password=LDAP_PASSWORD, authentication=NTLM, auto_bind=True) File
> "/var/task/ldap3/core/connection.py", line 363, in __init__
> self._do_auto_bind() File "/var/task/ldap3/core/connection.py", line
> 387, in _do_auto_bind self.open(read_server_info=False) File
> "/var/task/ldap3/strategy/sync.py", line 57, in open
> BaseStrategy.open(self, reset_usage, read_server_info) File
> "/var/task/ldap3/strategy/base.py", line 154, in open raise
> LDAPSocketOpenError('invalid server address')
任何人都可以阐明错误吗?它说“无效的服务器地址”,表明该功能无法与托管目录中的域控制器通信。我确保 Lambda 函数的安全组设置为所有流量和 0.0.0.0/0 用于入站和出站,仅供参考。