【发布时间】:2019-10-07 04:45:46
【问题描述】:
我在 S3 中有一个 Angular 应用程序,它在 Lambda 中调用一个 .Net Core 应用程序。 Lambda .Net Core 应用程序中的 API 针对 RDS SQL Server 运行。
当 Lambda 中的 .Net Core 应用程序尝试与 RDS 交互时,我收到 504 错误,但如果我注释掉调用数据库的 C# 代码,则不会。
当我在本地运行 Angular 应用程序和 .Net Core 应用程序时,我可以很好地连接到 AWS 上的 RDS 数据库,这表明到 RDS 数据库的连接字符串有效。 (本地 IP 地址与创建 RDS SQL Server 时使用的相同。)
在本地不运行任何内容时,我收到 POST 504 错误。进一步的信息说:从源“https://example.com”访问 XMLHttpRequest 在“https://xxxxx.execute-api.us-east-1.amazonaws.com/Prod/api/myapi”已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。
如何才能从我的 Lambda .Net Core 应用程序的 api 成功连接到我的 SQL Server 数据库?
【问题讨论】:
-
您需要为您的问题添加详细信息,例如 Lambda 函数是否在 VPC 中运行?和 RDS 实例是同一个 VPC 吗?您是否为 Lambda 函数配置了安全组并授予该组对 RDS 实例的访问权限?发生错误时,Lambda 函数的 CloudWatch Logs 中是否有任何日志消息?
标签: sql-server amazon-web-services .net-core aws-lambda amazon-rds