运行 云中单台机器上同一应用程序的多个实例
Running multiple instances of the same application on a single machine in the cloud
我有一个辅助应用程序(非面向 Web 的),它处理来自 AWS SQS 的一些作业。我想 运行 这个应用程序的多个实例,但有不同的命令行参数(最后可能有 30 个进程),所以:
myApp arg1 arg2
myApp arg3 arg4
我的基础架构需求非常基本,但具体来说,我希望应用程序的每个实例都
- 宕机自动重启
- 有一些基本的监控 + 日志检索
- 支持来自git
的自动部署
- 运行 在专用 IP 上
最好的托管基础设施是什么?在亚马逊生态系统中首选,但不是必需的。
在亚马逊:
- Amazon Kinesis + Amazon Lambda 不支持专用 IP 部分
- Amazon EC2 + CodeDeploy 然后我可以在 EC2 映像上配置 UpStart 或其他东西来保持进程活动?
- Amazon EC2 容器服务 (ECS) 可以 运行 每个进程一个 docker 容器。我目前认为这是我最好的选择。
不是亚马逊:
- Heroku 支持 "process types",每个进程可以轻松 运行,但这需要每个进程一个 "dyno"。这似乎最终是 ~25 美元/进程,无法扩展。
我只是在寻求想法。在亚马逊没有太多经验。还有哪些其他基础设施选项特别适合这个问题?
Docker 或 rkt 是您的解决方案。您可以启动并 运行 分钟,所有这些都在一个 EC2 实例中。请记住,您的应用程序实例的数量将受到 AWS 允许的每种实例类型的 IP 地址数量的限制。
看看您在 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI 可以拥有多少个 IPv4 和 IPv6 地址。
如果您需要更多,请提前要求 AWS 支持提高限制。
我有一个辅助应用程序(非面向 Web 的),它处理来自 AWS SQS 的一些作业。我想 运行 这个应用程序的多个实例,但有不同的命令行参数(最后可能有 30 个进程),所以:
myApp arg1 arg2
myApp arg3 arg4
我的基础架构需求非常基本,但具体来说,我希望应用程序的每个实例都
- 宕机自动重启
- 有一些基本的监控 + 日志检索
- 支持来自git 的自动部署
- 运行 在专用 IP 上
最好的托管基础设施是什么?在亚马逊生态系统中首选,但不是必需的。
在亚马逊:
- Amazon Kinesis + Amazon Lambda 不支持专用 IP 部分
- Amazon EC2 + CodeDeploy 然后我可以在 EC2 映像上配置 UpStart 或其他东西来保持进程活动?
- Amazon EC2 容器服务 (ECS) 可以 运行 每个进程一个 docker 容器。我目前认为这是我最好的选择。
不是亚马逊:
- Heroku 支持 "process types",每个进程可以轻松 运行,但这需要每个进程一个 "dyno"。这似乎最终是 ~25 美元/进程,无法扩展。
我只是在寻求想法。在亚马逊没有太多经验。还有哪些其他基础设施选项特别适合这个问题?
Docker 或 rkt 是您的解决方案。您可以启动并 运行 分钟,所有这些都在一个 EC2 实例中。请记住,您的应用程序实例的数量将受到 AWS 允许的每种实例类型的 IP 地址数量的限制。
看看您在 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI 可以拥有多少个 IPv4 和 IPv6 地址。 如果您需要更多,请提前要求 AWS 支持提高限制。