我目前正在大量使用cloudformation,目前正在处理三个堆栈。第一个堆栈是我的负载平衡器堆栈,它实质上只是一个应用程序负载平衡器作为其资源。第二个堆栈只有一个资源:一个弹性文件系统。第三个堆栈是我的主堆栈,其中第一个堆栈中提到的负载均衡器后面有一个自动扩展组。该自动伸缩组还将EFS从第二个堆栈装载到每个新实例上。如果我的自动伸缩组要杀死一个不正常的实例,然后初始化一个新实例来代替它,它会保留所有最初在旧EFS中的文件吗?
基本上,我只是想知道,如果同一文件系统安装在不同的实例中,则在特定实例中的EFS中的文件是否会保留。
答案 0 :(得分:1)
基本上,我只是想知道,如果同一文件系统安装在不同的实例中,则在特定实例中的EFS中的文件是否会保留。
是的。文件会保留在EFS文件系统中,直到a)您通过文件操作从已安装EFS目标的实例中将其删除,或者b)从控制台或CLI中删除了EFS资源本身。它们独立于任何实例。
这种持久性使EFS可用作可共享的网络附加文件存储。它是为您的确切用例设计的。
请注意,为安全起见,应考虑将EFS文件共享备份到另一个EFS文件共享,或将备份同步到S3。该备份不是内置在服务中,而是可以通过计划任务,Lambda等添加的。在我们的系统中,我每天启动一次计划实例,并将生产EFS与备份EFS同步。用于安全性和冗余。
答案 1 :(得分:0)
在新机器上使用与被破坏机器相同的EFS之前,您不会丢失文件。
根据我在EFS网页上提供的经验和描述,在终止EFS之前,EFS文件不会丢失。由于它还用于容易丢弃的环境中的容器,因此它也适用于基于ELB的体系结构。
“ Amazon EFS是容器存储的理想选择,可提供对公共文件存储库的持久共享访问” https://aws.amazon.com/efs/