1

我有一个在 ECS 集群的 EC2 实例部分上执行的简单用户数据脚本。最近,我添加了尝试将网络驱动器 (FSx) 存储映射到实例的底部部分:

用户数据 ps1 脚本:

<powershell>
Import-Module ECSTools
[Environment]::SetEnvironmentVariable("ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE", $TRUE, "Machine")
Initialize-ECSAgent -Cluster "${cluster_name}" -EnableTaskIAMRole -LoggingDrivers '["json-file","awslogs"]' -EnableTaskENI

echo "map the FSx storage drive"
net use D: "\\server.mydomain\share" "/USER:mydomain\myuser" "mypassword" "/PERSISTENT:YES"
</powershell>

gdr -PSProvider 'FileSystem'问题是,当 EC2 实例启动时,使用命令 列出系统中的所有驱动器时,根本没有映射“D”驱动器:在此处输入图像描述

也就是说,当我手动执行用户数据脚本(即远程连接到实例)时,它可以工作,我可以看到 D:/ 驱动器被映射:

powershell C:\Windows\TEMP\UserScript.ps1

在此处输入图像描述

我也没有在C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log文件中看到任何错误。我看到echo我的脚本中没有任何错误的文本:

...
2021-12-15T12:32:05Z - [INFO]:ScheduledTask Initialize-ECSHostReboot created.
2021-12-15T12:32:05Z - [INFO]:Task IAM role is enabled. Changing AmazonECS service startup to Manual.
map the FSx storage drive
The command completed successfully.

2021/12/15 12:32:06Z: Userdata execution done

我在这里想念什么?

4

0 回答 0