feat(efs): one shared store per file system, served to EC2 over NFS #17
Reference in New Issue
Block a user
Delete Branch "fix/efs-shared-file-system"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
An EFS file system is now one Docker volume, floci-efs-,
that every mount of it shares, as on AWS:
(Docker volume subpath), so a mount of the file system root sees every
access point's files, and Lambda and ECS see each other's. Before, each
access point (Lambda) or root directory (ECS) got its own volume.
CreationInfo, every missing directory on the path with its owner and
permissions; without CreationInfo a missing root directory is refused.
groups. ECS tasks keep their own user, as on AWS.
PosixUser the way EFS does.
Each mount target is now a real EC2 network interface in its subnet, so
its address comes from the subnet's lease table and no instance is handed
it, and a privileged helper container serves the volume over NFSv4.1 at
that address on the VPC's Docker network (kernel nfsd, image built
locally from docker/efs-nfs-server.Dockerfile). A mount target is
creating until its server answers. The embedded DNS server resolves
[zone.]fs-id.efs.region.amazonaws.com to a mount target, so an EC2
instance mounts the file system with AWS's own commands (NFS client or
amazon-efs-utils without tls). Servers come back after a restart, their
addresses re-reserved first. floci.services.efs.nfs-servers turns it off.
Two EC2 fixes this needed:
they stayed leased until restart, also for ECS awsvpc tasks.
offset inside the substitute range, instead of the next free slice in
declaration order, so the plan and persisted addresses survive a
restart that loads subnets in another order.