如何以非交互方式创建AWS FSx SMB共享?
非交互通过SSM创建FSx SMB共享的实现方案
前提条件
- 目标Windows实例已加入与FSx for ONTAP域信任的AD域(或同一域),确保Kerberos认证可自动生效
- SSM Agent已在实例上正常运行,实例已完成SSM注册
- 执行SSM命令的IAM角色拥有
AmazonSSMFullAccess及fsx:CreateSmbShare等FSx相关权限 - 实例本地的AD域账户(或域管理员账户)具备创建FSx SMB共享的权限
具体实现步骤
1. 利用SSM Run Command的集成Windows认证特性
SSM Run Command执行PowerShell命令时,默认会使用实例的本地系统账户或已配置的域服务账户完成Kerberos认证,无需手动输入凭据,直接调用New-FSxSmbShare即可实现非交互执行。
2. 编写非交互PowerShell命令脚本
构造包含完整参数的New-FSxSmbShare命令,无需额外凭据输入:
New-FSxSmbShare -Name "MyFSxShare" -FileSystemId "fs-0123456789abcdef0" -Path "/volumes/myvolume" -ClientConfigurations @{ "ClientIpAddresses" = @("10.0.0.0/24") "Permissions" = @{ "AccessType" = "READ_WRITE" "Principal" = "DOMAIN\DomainUsers" } }
- 替换
Name为自定义共享名 FileSystemId填写目标FSx文件系统的IDPath为FSx卷的ONTAP格式路径ClientConfigurations按需配置允许访问的客户端IP范围及权限规则
3. 通过SSM Run Command执行命令
- 控制台操作路径:AWS Systems Manager → Run Command → 执行命令 → 选择
AWS-RunPowerShellScript文档 - 将上述PowerShell脚本粘贴至命令输入框,选中目标实例后执行
4. 验证共享创建结果
执行完成后,可通过SSM Run Command的输出日志查看结果,或在实例上执行以下命令验证:
Get-FSxSmbShare -FileSystemId "fs-0123456789abcdef0"
关键注意事项
- 确保实例的AD域信任关系正常,Kerberos票据可自动获取,否则会出现认证失败
- 若需使用特定域账户而非系统账户,可在SSM Run Command中配置Run As参数,指定已加入域的服务账户(需提前在实例上配置该账户的对应权限)
- 若遇到认证问题,可在实例上执行
klist命令查看Kerberos票据状态,确认是否获取到FSx服务的有效票据
内容的提问来源于stack exchange,提问作者zdenko.s
相关产品推荐
相关产品推荐

