我正在寻找一些AWS专家来帮助我解决这个问题。我花了将近一周时间尝试将我的后端docker镜像部署到AWS,没有100%的期望行为。
首先,我建议尝试最近提供的新的Fargate服务AWS。我设法部署了我需要的所有东西,但很快就发现我需要任何类型的数据持久性,而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后端映像中的volue挂载到那些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模板/ tempalte尽可能少地部署neccesarry服务,以便不构建庞大的基础设施来保留COST,并且只需单击按钮并获得到后端服务的外部链接。 (不能有任何手动配置,一切都必须自动化)
2:能够为后端容器停止/启动EC2实例(EC2将从每天几分钟到几小时/每月几天运行。(取决于每个用户场景他将多久使用一次后端)
3:能够在用户停止实例时保留数据,然后在将来的时间点启动它。
我很感激任何帮助/建议,因为我开始失去对所有连接到AWS服务的HEAD。理解AWS的任何用例都是一个非常大的问题,所以我很感激帮助
谢谢!
1:为什么此部署为群集创建2个EBS实例?一个8GB带快照,第二个带22GB大小,没有快照。
根据文档:
从版本2015.09.d开始的Amazon ECS优化AMI,以及在/ dev / xvda上附加的操作系统的8-GiB卷启动,并作为文件系统的根安装。在/ dev / xvdcz上还有一个额外的22-GiB卷,Docker用它来存储图像和元数据。
2:是否可以减小那些EBS卷的大小?如果是这样的话?
也来自相同的文档:
您可以通过在启动实例时更改实例的块设备映射设置来增加这些默认卷大小;但是,您无法指定小于默认值的卷大小。
3:这些EBS中只有一个可能吗?
为此,您可以更好地使用自定义AMI并根据需要进行配置。
4:是否可以将我的docker后端映像中的卷安装到那些EBS卷以保留数据?如果是这样的话?我需要为我的后端安装两个卷,即/root/.local/share/Bisq /root/.local/share/bisq-api或〜/ .local / share / Bisq~ / .local / share / bisq-api我不太确定它如何与AWS配合使用。与本地环境的步骤相比,有哪些路径。
这在任务定义中配置:AWS::ECS::TaskDefinition
Type: AWS::ECS::TaskDefinition
Properties:
Volumes:
- Volume Definition
...
5:使用EBS或EFS进行数据持久性会更好吗? EFS的问题在于我找不到任何相关文档如何将EFS连接到这种ECS部署。一切都必须使用CloudFormation模板
这取决于您的用例场景。根据您的需要,每个都有优点和缺点,因此请更好地阅读每个文档并相应地选择最佳文档。在您找到的模板中,您可以自定义LaunchConfiguration UserData以运行attach命令。您可以在CloudFormation中完成所有这些操作。
另外,我将为您提供此文档,以便自动安装EFS:Mounting Your Amazon EFS File System Automatically