Amazon web services Fargate用例问题&x2014;收听Websocket(客户端)

Amazon web services Fargate用例问题&x2014;收听Websocket(客户端),amazon-web-services,websocket,amazon-ecs,aws-fargate,amazon-eks,Amazon Web Services,Websocket,Amazon Ecs,Aws Fargate,Amazon Eks,我正在研究fargate的一个用例,其中我有一些外部触发器(可能是CloudWatch事件),该触发器触发fargate任务,该任务打开websocket连接,侦听几个小时并将数据写入S3,然后在几个小时后最终关闭websocket websocket可以通过某种外部触发器在特定的#小时(通用计时器)后关闭,也可以在从套接字接收到特定消息时关闭 这是fargate的正确用例吗?外部触发器将传入websocket连接字符串,用于身份验证的秘密身份验证令牌可以存储在AWS KMS中 外部触发器->打

我正在研究fargate的一个用例,其中我有一些外部触发器(可能是CloudWatch事件),该触发器触发fargate任务,该任务打开websocket连接,侦听几个小时并将数据写入S3,然后在几个小时后最终关闭websocket

websocket可以通过某种外部触发器在特定的#小时(通用计时器)后关闭,也可以在从套接字接收到特定消息时关闭

这是fargate的正确用例吗?外部触发器将传入websocket连接字符串,用于身份验证的秘密身份验证令牌可以存储在AWS KMS中

外部触发器->打开ws://连接(通过fargate)->写入S3


如果这是正确的用例,关于如何实现这一点有什么建议吗?如果这不是正确的用例,那么是否有其他服务更适合仅几个小时的持久连接

Fargate只是一个运行容器的托管服务。对于任务的运行时间没有限制。如果计划仅部署docker映像,则可以将其作为AWS管理的EC2实例处理。检查有无Fargate。从你的问题来看,不清楚你是否需要一个不同的偶尔爆发的工作负载。您需要快速扩展,或者一次只运行一个任务

另一方面,EC2实例有,例如t3.small将比其他实例便宜。另外,请注意无需考虑第EC2层实例类型和保留实例。计算节省计划可用于Fargate和EC2。您可以启动并关闭EC2实例


总之,如果您不想花时间进行维护,并且需要现成的可扩展解决方案,请选择Fargate;如果您只需要一个websocket连接并希望使其更便宜,请选择EC2。除非您使用spot实例,否则这两种方法都能很好地处理长websocket连接。

您能将动态参数传递给fargate任务吗?对不起,我不知道您所说的动态参数是什么意思,但fargate中的任务具有相同的
docker运行方式
。您可以传递
命令
检查此答案,了解代码示例,最后一个问题,我不确定您是否知道-如果不知道,无需担心。如果我听了几个小时的websocket,在EC2实例上用fargate启动它,你会建议写到S3还是流到kinesis/S3?我不确定在这种情况下,kinesis片段能给我带来什么。你可以使用multipart upload将数据流直接放到S3对象上。一个部分的最小大小是5MB