Accessing your data using AWS container services - FSx for OpenZFS

Accessing your data using AWS container services

In addition to Amazon EC2, you can also access your Amazon FSx for OpenZFS file systems through Amazon Elastic Container Service and Amazon Elastic Kubernetes Service. The following section provides instructions on how to mount your file system from an Amazon ECS Docker container on an Amazon EC2 Linux instance using a bind mount. To use Amazon EKS clusters to manage the life cycle of your file systems and volumes, see the Amazon FSx for OpenZFS CSI Driver.

Mounting your file system from an Amazon ECS container

You can access your Amazon FSx for OpenZFS file systems from an Amazon Elastic Container Service (Amazon ECS) Docker container on an Amazon EC2 Linux instance by mounting volumes using a bind mount. For more information, see Bind mounts in the Amazon Elastic Container Service Developer Guide.

To mount a volume on an Amazon ECS Linux container
  1. Create an ECS cluster using the EC2 Linux + Networking cluster template for your Linux containers. For more information, see Clusters in the Amazon ECS Developer Guide.

  2. Create a directory on the EC2 instance for mounting the volume as follows:

    sudo mkdir /fsxopenzfs
  3. Mount your FSx for OpenZFS volume on the Linux EC2 instance by either using a user-data script during instance launch, or by running the following commands:

    sudo mount -t nfs -o nfsvers=NFS_version file-system-dns-name:/volume-path /localpath

    The following example uses sample values in the mount command.

    sudo mount -t nfs -o nfsvers=4.1 fs-01234567890abcdef1.fsx.us-east-1.amazonaws.com:/fsx/vol1 /fsxopenzfs

    You can also use the file system's IP address instead of its DNS name.

    sudo mount -t nfs -o nfsvers=4.1 198.51.100.1:/fsx/vol1 /fsxopenzfs
  4. When creating your Amazon ECS task definitions, add the following volumes and mountPoints container properties in the JSON container definition. Replace the sourcePath with the mount point and directory in your FSx for OpenZFS file system.

    { "volumes": [ { "name": "openzfs-volume", "host": { "sourcePath": "mountpoint" } } ], "mountPoints": [ { "containerPath": "container_local_path", "sourceVolume": "openzfs-volume" } ], . . . }