【问题标题】:How to connect AWS ECS Service to database in EC2 instance?如何将 AWS ECS 服务连接到 EC2 实例中的数据库?
【发布时间】:2020-05-19 18:51:48
【问题描述】:

我有一个在 Windows Server EC2 实例上运行的 SQL Server 数据库。我还将 Web API (ASP.NET Core WebAPI) 作为服务部署在 ECS 集群(Fargate 启动类型)中。

我应该使用什么连接字符串从我的 Web API 访问这个数据库?

现在我正在尝试:

数据源=NAME_OF_THE_EC2_INSTANCE;初始 目录=DATABASE_NAME;用户 Id=USER_NAME;Password=PASSWORD;MultipleActiveResultSets=True;App=EntityFramework;Connection Timeout=10;

但它不起作用。返回的错误表明该应用程序甚至根本看不到数据库。

【问题讨论】:

  • 您是否验证了与任务关联的安全组以及托管数据库的 EC2 实例。
  • 还要检查 Windows 防火墙是否允许 sql server 端口 1433 和 1434 的流量通过。
  • @JamesWoolfenden 为什么选择 1434 端口?

标签: amazon-web-services amazon-ec2 asp.net-core-webapi amazon-ecs aws-fargate


【解决方案1】:

您似乎需要使用 NAT 实例/网关 这将启用您的 Fargate 实例和安装了 DB 的 EC2 实例之间的连接。

另一个sourceofficial documentation

"...容器实例需要外部网络访问才能与 Amazon ECS 服务终端节点进行通信,因此如果您的容器实例在私有 VPC 中运行,则它们需要网络地址转换 (NAT) 实例来提供这种访问。对于更多信息,请参阅 Amazon VPC 用户指南中的 NAT 实例。”

【讨论】:

    猜你喜欢
    • 2017-05-22
    • 1970-01-01
    • 2020-07-31
    • 2017-04-13
    • 1970-01-01
    • 2019-05-26
    • 2020-10-27
    • 2016-04-29
    • 2021-11-13
    相关资源
    最近更新 更多