You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署AWS SFTP自定义身份提供商模板遇CreateServer错误求助

排查CloudFormation部署Classic Cognito SFTP模板时的「IF: CreateServer error」问题

常见原因及修复方案

1. IAM权限不足

  • 部署模板的IAM身份(用户/角色)缺少创建Transfer Server、Cognito资源、Lambda函数等核心资源的权限。
  • 修复:为执行部署的身份添加包含以下权限的IAM策略:
    • transfer:CreateServer
    • cognito-idp:CreateUserPool、cognito-idp:CreateUserPoolClient
    • lambda:CreateFunction、lambda:AddPermission
    • iam:CreateRole、iam:AttachRolePolicy
    • cloudformation:*(部署基础权限)

2. Cognito资源命名冲突

  • 模板默认指定的Cognito用户池或应用客户端名称,已在当前AWS区域存在。
  • 修复:修改模板中CognitoUserPoolName、CognitoUserPoolClientName参数的默认值,使用唯一标识后重新部署。

3. Transfer服务区域限制

  • 部分AWS区域暂不支持Transfer Family的Cognito自定义身份提供商功能。
  • 修复:切换到支持该功能的区域(如us-east-1、eu-west-1等)重新部署模板。

4. 模板参数配置错误

  • 未正确填写必填参数(如VPC配置、SSH密钥名称),或参数格式不符合要求。
  • 修复:
    • 若选择VPC部署,需提供合法的VPC ID、子网ID和安全组ID
    • SSH密钥名称必须是当前区域已存在的EC2密钥对名称
    • 确认所有必填参数均已正确输入

5. Lambda身份验证函数创建失败

  • 模板中的Lambda函数因权限不足、代码逻辑错误无法创建,导致依赖它的Transfer Server创建失败。
  • 修复:
    • 查看CloudFormation事件日志,定位Lambda创建失败的具体原因
    • 检查Lambda的IAM角色权限,确保具备cognito-idp:AdminInitiateAuth、cognito-idp:AdminRespondToAuthChallenge等Cognito API调用权限
    • 验证Lambda代码返回格式是否符合Transfer服务的身份提供商规范

6. 模板版本或语法问题

  • 手动复制模板时出现语法错误,或使用的模板版本与当前AWS服务版本不兼容。
  • 修复:
    • 直接从AWS官方渠道获取最新版Classic Cognito模板,避免手动复制引入错误
    • 检查模板中Fn::If条件逻辑,确认CreateServer相关的参数传递符合条件判断规则

快速排查步骤

  • 查看CloudFormation控制台的「事件」标签,获取CreateServer失败的详细错误提示(这是定位问题最直接的方式)
  • 检查Transfer服务控制台,若已有部分资源创建,删除后重新部署
  • 使用AWS CLI执行部署命令,获取更详尽的错误输出:
    aws cloudformation create-stack --stack-name YOUR_STACK_NAME --template-body file://path/to/template.yml --parameters ParameterKey=KeyName,ParameterValue=YOUR_KEY_NAME
    

内容的提问来源于stack exchange,提问作者K.C.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:57:19