【发布时间】:2018-09-22 12:58:06
【问题描述】:
我正在寻找一些 AWS 专家来帮助我解决这个问题。我花了将近一周的时间尝试将我的后端 docker 映像部署到 AWS,但没有 100% 的预期行为。
首先有人建议我试用 AWS 最近提供的新 Fargate 服务。我设法部署了我需要的一切,但很快发现我需要任何类型的数据持久性,而据我所读的内容来看,目前 Fargate 不可用。
我发现这些模板非常有用,因为 AWS 太大了而且势不可挡,所以如果没有这些我什么都不会做,目前我尝试使用 EC2 实例进行部署。 https://github.com/awslabs/aws-cloudformation-templates/tree/master/aws/services/ECS/EC2LaunchType
我对这种部署有疑问:
1:为什么此部署会为集群创建 2 个 EBS 实例?一个 8GB 带快照,第二个 22GB 不带快照。
2:是否可以减少这些 EBS 卷的大小?如果有怎么办?
3:是否可以只拥有其中一个 EBS?
4: 是否可以将卷从我的 docker 后端映像挂载到那些 EBS 卷以保存数据?如果有怎么办?我需要为我的后端安装两个卷,即
/root/.local/share/Bisq /root/.local/share/bisq-api 或 ~/.local/share/Bisq ~/.local/share/bisq-api 我不太确定这如何与 AWS 配合使用。与本地环境的步骤相比,路径是什么。
5:使用 EBS 或 EFS 进行数据持久化会更好吗? EFS 的问题是我找不到任何相关文档如何将 EFS 连接到这种 ECS 部署。一切都必须使用 CloudFormation 模板
符合 100% 期望行为的总体要求是:
1:CloudFormation 模板/模板尽可能少地部署必要的服务,以免构建庞大的基础设施来保留成本和只需单击按钮并获取到后端服务的外部链接的能力。 (不能有任何手动配置,一切都必须自动化)
2:能够停止/启动后端容器的 EC2 实例(EC2 将每天运行几分钟到几小时/每月几天。(取决于每个用户场景他使用后端的频率)
3:能够在用户停止实例然后在将来的时间点启动它时保留数据。
我会感谢任何帮助/建议,因为我开始对连接到 AWS 服务的所有内容失去理智。要了解 AWS 的任何用例,这确实是个大问题,因此我将不胜感激
谢谢!
【问题讨论】:
-
如果您使用 Fargate 启动类型,目前无法保持卷持久化。要在 ECS 中使用持久共享卷,您应该使用 EC2 启动类型,您可以参考此文档:docs.aws.amazon.com/AmazonECS/latest/developerguide/…
标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk aws-ecs amazon-efs