Skip to content

MayaNAS on AWS Marketplace

Deploy a MayaNAS HA NAS cluster from the AWS Marketplace using CloudFormation.

  • An AWS account with appropriate IAM permissions
  • An existing EC2 key pair for SSH access
  • A VPC with at least one public subnet
  1. Go to AWS Marketplace
  2. Search for MayaNAS
  3. Click Continue to Subscribe, then Continue to Configuration
  4. Select your region and click Continue to Launch
  5. Choose Launch CloudFormation as the launch method

The CloudFormation template presents the following parameters:

ParameterDescriptionDefault
Cluster NameUnique name for the MayaNAS cluster
Deployment Typeactive-active or active-passiveactive-active
Instance TypeEC2 instance typem5.xlarge
Key PairEC2 key pair for SSH access
ParameterDescriptionDefault
Storage Size (GB)Logical S3 storage capacity1000
Bucket CountNumber of S3 buckets (1–12)1
Metadata Disk Size (GB)EBS volume for metadata (50 GB suits 1-10 TB pools — ZFS metadata is roughly 0.3-0.5% of pool size)50
ParameterDescriptionDefault
VPCTarget VPCDefault VPC
Availability ZonePreferred AZ (or auto-select)Auto
  1. Review the configuration
  2. Check the IAM capabilities acknowledgment box
  3. Click Create Stack

Stack creation typically takes 5–10 minutes for EC2, EBS, and S3 provisioning. After provisioning completes, the cluster auto-configures itself in under 2 minutes — one OpenZFS pool, one ZFS dataset, exported to your VPC subnet. No admin guide required.

Navigate to CloudFormation → Stacks → Your Stack → Outputs to find:

  • PrimaryPublicIP — public IP of the primary node
  • VIPAddress — virtual IP for NFS mounts
  • SSHCommand — ready-to-use SSH command
  • WebUITunnel — SSH tunnel command for Web UI
Terminal window
ssh -i ~/.ssh/YOUR_KEY.pem ec2-user@<PRIMARY_PUBLIC_IP>

The Web UI is not directly exposed. Use an SSH tunnel:

Terminal window
ssh -L 2020:localhost:2020 -i ~/.ssh/YOUR_KEY.pem ec2-user@<PRIMARY_PUBLIC_IP>

Then open http://localhost:2020 in your browser.

Login: admin / password from stack outputs or instance metadata.

After creating shares in the Web UI:

Terminal window
# Active-Passive (single VIP)
sudo mount -t nfs <VIP_ADDRESS>:/<CLUSTER>-pool/<SHARE_NAME> /mnt/data
# Active-Active
sudo mount -t nfs <VIP1>:/<CLUSTER>-pool-node1/<SHARE> /mnt/node1
sudo mount -t nfs <VIP2>:/<CLUSTER>-pool-node2/<SHARE> /mnt/node2
  • 1–2 EC2 instances (depending on deployment type)
  • S3 bucket(s) for data storage
  • EBS volume(s) for metadata caching
  • IAM role and instance profile with S3 access
  • Security group allowing SSH (22), NFS (2049)
  • VIP using secondary private IP / ENI for HA failover
Terminal window
# Check startup logs
tail -f /opt/mayastor/logs/mayanas-terraform-startup.log
# Check cloud-init
tail -f /var/log/cloud-init-output.log
# Service status
systemctl status mayastor
# Cluster status
mayacli cluster status