Amazon vpc 为ECS群集上的EFS卷指定正确的AZ装载点-CloudFormation

Amazon vpc 为ECS群集上的EFS卷指定正确的AZ装载点-CloudFormation,amazon-vpc,amazon-ecs,amazon-cloudformation,amazon-efs,Amazon Vpc,Amazon Ecs,Amazon Cloudformation,Amazon Efs,查看在ECS中为持久化docker卷装载EFS卷的示例,我不确定如何为实例所在的可用性区域提供正确的装载点。我的堆栈中有两个可用性区域,需要在cfn init的这一部分中插入正确的装入点: 01_mount: command: !Join [ "", [ "mount -t nfs4 -o nfsvers=4.1 ", !ImportValue '!Ref FileSystem', ".efs.", !Ref 'AWS::Region', ".amazonaws.com:/ /", !R

查看在ECS中为持久化docker卷装载EFS卷的示例,我不确定如何为实例所在的可用性区域提供正确的装载点。我的堆栈中有两个可用性区域,需要在cfn init的这一部分中插入正确的装入点:

01_mount:
    command: !Join [ "", [ "mount -t nfs4 -o nfsvers=4.1 ", !ImportValue '!Ref FileSystem', ".efs.", !Ref 'AWS::Region', ".amazonaws.com:/ /", !Ref MountPoint ] ]
02_fstab:
    command: !Join [ "", [ "echo \"", !ImportValue '!Ref FileSystem', ".efs.", !Ref 'AWS::Region', ".amazonaws.com:/ /", !Ref MountPoint, " nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 0 0\" >> /etc/fstab" ] ]
03_permissions:
    command: !Sub "chown -R ec2-user:ec2-user /${MountPoint}"

如果您在VPC中使用DNS设置,并且在VPC配置中具有其他必要的先决条件,则在装载EFS文件系统时不再需要使用特定于可用性区域的装载目标

文件系统DNS名称–使用文件系统的DNS名称是最简单的装载选项。文件系统DNS名称将自动解析为连接Amazon EC2实例的可用性区域中装载目标的IP地址。您可以从控制台获取此DNS名称,或者如果您具有文件系统ID,则可以使用以下约定构造它:

file-system-id.efs.aws-region.amazonaws.com

重点补充

该功能于2016年12月推出,也就是该服务从preview发布后的几个月。以前,上面显示的主机名样式必须在前面加上所需的可用性区域。该选项仍然受支持,但该选项有效地消除了这种尴尬的配置需求,无论是在docker中还是在具有fstab挂载的普通实例上


请参阅参考页面,了解此解决方案在您的VPC中工作所必须的VPC配置元素。

如果您使用默认的VPC DNS解析程序,我认为这不再是必要的。EFS似乎已与VPC DNS集成,以便fs-xxxxxxxx.rr-rrrr-r.EFS.amazonaws.com自动解析到您所在可用性区域的正确装载目标。正在寻找一个关于这方面的引证。。。