Skip to content

Commit f411b7a

Browse files
committed
feat: add fsx-ontap storage recipe
1 parent 14adaaa commit f411b7a

File tree

8 files changed

+1047
-0
lines changed

8 files changed

+1047
-0
lines changed

recipes/storage/fsx_ontap/.gitkeep

Whitespace-only changes.

recipes/storage/fsx_ontap/Makefile

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Target rules
2+
all: build
3+
@echo "Building fsx_ontap"
4+
5+
build: assets
6+
7+
assets:
8+
@echo "Build assets for fsx_ontap"
9+
10+
run: build
11+
@echo "Run assets for fsx_ontap"
12+
13+
test: build
14+
15+
clean:
16+
17+
clobber: clean
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Amazon FSx for NetApp ONTAP File System
2+
3+
## Info
4+
5+
This recipe demonstrates how to use CloudFormation to deploy an Amazon FSx for NetApp ONTAP file system. It includes optional configuration to join to an Active Directory and create a CIFS file share.
6+
7+
## Usage
8+
9+
### Prerequisites
10+
11+
Before deploying this template, ensure you have:
12+
1. A VPC with at least 1 private or public subnet
13+
2. (Optional) An Active Directory setup if you plan to join the FSx file system to your AD domain
14+
15+
### Template Features
16+
17+
The template provides:
18+
- FSx for ONTAP file system deployment
19+
- Storage Virtual Machine (SVM) creation
20+
- Volume creation
21+
- Automated FSx admin password generation and secure storage in AWS Secrets Manager
22+
- Optional CIFS share configuration through a temporary EC2 instance
23+
- IAM roles and security configurations
24+
25+
### Deployment Components
26+
27+
The template creates:
28+
1. An FSx for ONTAP file system
29+
2. A secret in AWS Secrets Manager for the FSx admin password (when CIFS share creation is enabled)
30+
3. A temporary EC2 instance for administrative tasks (when CIFS share creation is enabled)
31+
4. Required IAM roles and instance profiles
32+
5. Security groups for file system access
33+
6. Optional CIFS share configuration
34+
35+
### Create a FSx for NetApp ONTAP file system
36+
37+
* Create a [Single AZ FSx for NetApp ONTAP file system](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?stackName=fsx-ontap&templateURL=https://aws-hpc-recipes.s3.us-east-1.amazonaws.com/main/recipes/storage/fsx_ontap/assets/main.yaml)
38+
39+
When prompted to choose a VPC and subnet, select the one where you intend to place the majority of your computing. It is possible to access FSx for NetApp ONTAP file systems across Availability Zones, but there will be higher latency and additional costs due to cross-zone traffic.
40+
41+
An existing security group may be provided, and while NFS traffic must be allowed if only using Linux instances, be aware of the necessary [networking configuration requirements](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/self-manage-prereqs.html#ontap-ad-network-configs) for FSx for NetApp ONTAP if you additionally plan to join your file system to Active Directory and use SMB traffic for Windows instances.
42+
43+
## Example Usage
44+
45+
To mount the NetApp ONTAP volume on **Linux instances**:
46+
47+
1. Create a directory on your Amazon EC2 instance to use as the volume's mount point with the following command. In the following example, replace `mount-point` with your own information.
48+
`sudo mkdir /mount-point`
49+
2. Mount your Amazon FSx for NetApp ONTAP file system to the directory that you created.
50+
* `nfs_version` – The NFS version you are using; FSx for ONTAP supports versions 3, 4.0, 4.1, and 4.2.
51+
* `nfs-dns-name` – The NFS DNS name of the storage virtual machine (SVM) in which the volume you are mounting exists. You can find the NFS DNS name in the Amazon FSx console by choosing **Storage virtual machines**, then choosing the SVM on which the volume you are mounting exists. The NFS DNS name is found on the **Endpoints** panel.
52+
* `volume-junction-path` – The junction path of the volume that you're mounting. You can find a volume's junction path in the Amazon FSx console on the **Summary** panel of the Volume details page.
53+
* `mount-point` – The name of the directory that you created on your EC2 instance for the volume's mount point.
54+
55+
`sudo mount -t nfs -o nfsvers=nfs_version nfs-dns-name:/volume-junction-path /mount-point`
56+
57+
For **Windows instances** using CIFS shares (if configured):
58+
59+
1. Open a command prompt.
60+
2. Run the following command. Replace the following:
61+
* Replace `Z:` with any available drive letter.
62+
* Replace `DNS_NAME` with the DNS name or the IP address of the SMB endpoint for the volume's Storage Virtual Machine (SVM).
63+
* Replace `CIFSShareName` with the name of your specified SMB CIFS file share name.
64+
65+
`net use Z: \\DNS_NAME\CIFSShareName`
66+
67+
## Cost Estimate
68+
69+
The cost to operate an FSx for NetApp ONTAP file system varies based on several factors:
70+
- Storage type and capacity (SSD or capacity pool storage)
71+
- Deployment type (Single-AZ or Multi-AZ)
72+
- Provisioned IOPS
73+
- Throughput capacity
74+
- Backup storage
75+
- Data transfer costs between AZs or Regions
76+
77+
For detailed pricing information and to calculate your estimated costs, please visit the AWS pricing page for FSx for NetApp ONTAP.
78+
79+
For reference with currrent pricing (February 2025), a 1 TB, 384 MBps, 3,072 IOPS Single AZ FSx for ONTAP file system will cost around $400 to operate for a month (excluding any backups).
80+
81+
## Cleaning Up
82+
83+
Ensure all data is backed up before deletion as the cleanup process is irreversible.
84+
85+
To remove all resources:
86+
1. Delete any additional volumes or shares you may have created in your file system.
87+
2. Delete the CloudFormation stack.
88+
3. Verify all associated resources are properly cleaned up.

recipes/storage/fsx_ontap/assets/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)