<p>First of all to put some context on that question.</p>

<ul>
<li>I have an <code>EKS</code> cluster with version >= <code>1.15</code></li>
<li>The <code>EFS</code> - <code>EKS</code> <code>security group</code> / <code>mount target</code> etc. are working properly</li>
<li>The <code>CSI</code> driver for <code>EFS</code> in <code>EKS</code> is installed and work as expected</li>
<li>I have deployed a storage class called <code>efs-sc</code> using the <code>EFS CSI</code> driver as a provisioner</li>
<li>I can access the <code>EFS</code> volume on the pod</li>
</ul>

<p>But ... it only works if it is the root path <code>/</code> that is defined as the path in the <code>kubernetes</code> persistent volume resource definition.</p>

<p><strong>Example with Terraform 0.12 syntax</strong></p>

<pre><code>resource "kubernetes_persistent_volume" "vol" {
  metadata {
    name = "my-vol"
  }
  spec {
    capacity = {
      storage = "15Gi"
    }
    access_modes = ["ReadWriteMany"]
    storage_class_name = "efs-sc"
    persistent_volume_reclaim_policy = "Recycle"
    persistent_volume_source {
      nfs {
        path = "/" # -&gt; OK it works properly
        # path = "/access-point-path" -&gt; NOT WORKING
        server = var.efs-storage-apt-server
      }
    }
  }
}
</code></pre>

<p>When I try to specify the path of my access point the mounting of the volume fails.</p>

<p>The <code>efs</code> access point is configured like this</p>

<p><a href="https://i.stack.imgur.com/Vbenn.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Vbenn.png" alt="enter image description here"></a></p>

<p>So is it a limitation? Did I miss something?</p>

<p>I was looking about this solution <a href="https://github.com/kubernetes-incubator/external-storage/tree/master/aws/efs" rel="nofollow noreferrer">efs-provisioner</a> but I don't see what this will solve from this current configuration. </p>

<p>There's now documentation available: <a href="https://github.com/kubernetes-sigs/aws-efs-csi-driver/blob/master/examples/kubernetes/access_points/README.md#create-access-points-in-efs" rel="nofollow noreferrer">https://github.com/kubernetes-sigs/aws-efs-csi-driver/blob/master/examples/kubernetes/access_points/README.md#create-access-points-in-efs</a></p>
<p>You'll need to be using the updated EFS CSI driver. The access point is defined under PersistentVolume's <code>volumeHandle</code>. The recent EFS CSI driver no longer supports dynamic binding, hence, the PersistentVolume needs to be created manually for each PersistentVolumeClaim.</p>
<pre><code>apiVersion: v1
kind: PersistentVolume
metadata:
  name: efs-pv1
spec:
  capacity:
    storage: 5Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: efs-sc
  csi:
    driver: efs.csi.aws.com
    volumeHandle: [FileSystemId]::[AccessPointId]
</code></pre>
