|
1 | | -# FSx-ONTAP-samples-scripts |
| 1 | +# Amazon FSx for NetApp ONTAP — Samples & Scripts |
2 | 2 |
|
3 | | -FSx for NetApp ONTAP is an AWS service providing a comprehensive set of advanced storage features purposely |
4 | | -built to maximize cost performance, resilience, and accessibility in business-critical workloads. |
| 3 | +[](LICENSE) |
| 4 | +[](https://github.com/NetApp/FSx-ONTAP-samples-scripts/actions/workflows/actionlint.yml) |
| 5 | +[](https://github.com/NetApp/FSx-ONTAP-samples-scripts/actions/workflows/terraform.yml) |
| 6 | +[](https://github.com/NetApp/FSx-ONTAP-samples-scripts/stargazers) |
| 7 | +[](https://github.com/NetApp/FSx-ONTAP-samples-scripts/network/members) |
| 8 | +[](https://github.com/NetApp/FSx-ONTAP-samples-scripts/graphs/contributors) |
5 | 9 |
|
6 | | -## Overview |
| 10 | +Production-ready code samples, automation scripts, and Infrastructure as Code (IaC) templates for |
| 11 | +**[Amazon FSx for NetApp ONTAP](https://aws.amazon.com/fsx/netapp-ontap/)**. Use these samples alongside the |
| 12 | +automation, management, and monitoring that **[NetApp Workload Factory](https://console.workloads.netapp.com)** provides. |
7 | 13 |
|
8 | | -This GitHub repository contains comprehensive code samples and automation scripts for FSx for Netapp ONTAP operations, |
9 | | -promoting the use of Infrastructure as Code (IAC) tools and encouraging developers to extend the product's |
10 | | -functionalities through code. The samples here go alongside the automation, management and monitoring that |
11 | | -[Workload Factory](https://console.workloads.netapp.com) provides. |
| 14 | +--- |
12 | 15 |
|
13 | | -We welcome contributions from the community! Please read our [contribution guidelines](CONTRIBUTING.md) before getting started. |
| 16 | +## Quick Navigation |
| 17 | + |
| 18 | +| Track | Focus | Samples | |
| 19 | +|:------|:------|:-------:| |
| 20 | +| [Infrastructure as Code](/Infrastructure_as_Code) | Terraform, CloudFormation & Ansible templates for provisioning and configuring FSx ONTAP resources | 11 | |
| 21 | +| [EKS](/EKS) | Persistent storage for Kubernetes with Trident Protect, PV migration & log collection | 4 | |
| 22 | +| [Management Utilities](/Management-Utilities) | Day-2 operations — SnapMirror, secrets rotation, auto-grow, iSCSI, reporting & more | 9 | |
| 23 | +| [Monitoring](/Monitoring) | CloudWatch dashboards, alarms, LUN metrics, Harvest/Grafana & ONTAP service health | 7 | |
| 24 | + |
| 25 | +--- |
| 26 | + |
| 27 | +## Getting Started |
| 28 | + |
| 29 | +1. **Browse** the catalog below or use the Quick Navigation table above to find a sample. |
| 30 | +2. **Clone** this repository: |
| 31 | + ```bash |
| 32 | + git clone https://github.com/NetApp/FSx-ONTAP-samples-scripts.git |
| 33 | + ``` |
| 34 | +3. **Navigate** into the sample directory and follow its `README.md` for prerequisites and usage. |
| 35 | +4. **Contribute** — we welcome PRs! Read our [contribution guidelines](CONTRIBUTING.md) first. |
| 36 | + |
| 37 | +Have a great idea? We'd love to hear it! Email us at [ng-fsxn-github-samples@netapp.com](mailto:ng-fsxn-github-samples@netapp.com). |
| 38 | + |
| 39 | +--- |
| 40 | + |
| 41 | +## Sample Catalog |
| 42 | + |
| 43 | +### Infrastructure as Code |
| 44 | + |
| 45 | +Provision, configure, and replicate FSx ONTAP resources using industry-standard IaC tools. |
| 46 | + |
| 47 | +* **[Ansible](/Infrastructure_as_Code/Ansible)** |
| 48 | + * [FSx ONTAP inventory report](/Infrastructure_as_Code/Ansible/fsx_inventory_report) — Generate a complete inventory of your FSx ONTAP resources |
| 49 | + * [SnapMirror report](/Infrastructure_as_Code/Ansible/snapmirror_report) — Report on SnapMirror relationship status |
| 50 | + * [Volume Management](/Infrastructure_as_Code/Ansible/Volume_Management) — Create, modify, and delete volumes |
| 51 | +* **[CloudFormation](/Infrastructure_as_Code/CloudFormation)** |
| 52 | + * [Deploy FSx ONTAP](/Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap) — One-click FSx ONTAP deployment stack |
| 53 | + * [Export FSx ONTAP Configuration to CloudFormation](/Infrastructure_as_Code/CloudFormation/Export-FSxN-CloudFormation) — Reverse-engineer existing resources into templates |
| 54 | + * [Custom Resources Samples](/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples) — Lambda-backed custom resources for advanced provisioning |
| 55 | +* **[Terraform](/Infrastructure_as_Code/Terraform)** |
| 56 | + * [FSx ONTAP deployment](/Infrastructure_as_Code/Terraform/deploy-fsx-ontap) — Core Terraform module for FSx ONTAP |
| 57 | + * [FSx ONTAP with VPN for File Share Access](/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access) — Secure file share access over VPN |
| 58 | + * [SQL Server on EC2 with FSx ONTAP](/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver) — End-to-end SQL Server deployment with FSx ONTAP storage |
| 59 | + * [FSx ONTAP Replication](/Infrastructure_as_Code/Terraform/fsxn-replicate) — SnapMirror replication via Terraform |
| 60 | + * [Miscellaneous Terraform resources](/Infrastructure_as_Code/Terraform/Miscellaneous) — Additional Terraform examples and helpers |
| 61 | + |
| 62 | +### EKS |
| 63 | + |
| 64 | +Run stateful Kubernetes workloads on Amazon EKS with FSx ONTAP persistent volumes. |
14 | 65 |
|
15 | | -Have a great idea? We'd love to hear it! Please email us at [ng-fsxn-github-samples@netapp.com](mailto:ng-fsxn-github-samples@netapp.com). |
16 | | - |
17 | | -## Table of Contents |
18 | | - |
19 | | -* [Infrastructure as Code](/Infrastructure_as_Code) |
20 | | - * [Ansible](/Infrastructure_as_Code/Ansible) |
21 | | - * [FSx ONTAP inventory report](/Infrastructure_as_Code/Ansible/fsx_inventory_report) |
22 | | - * [SnapMirror report](/Infrastructure_as_Code/Ansible/snapmirror_report) |
23 | | - * [Volume Management](/Infrastructure_as_Code/Ansible/Volume_Management) |
24 | | - * [CloudFormation](/Infrastructure_as_Code/CloudFormation) |
25 | | - * [Deploy-fsx-ontap](/Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap) |
26 | | - * [Export FSx for ONTAP Configuration to CloudFormation](/Infrastructure_as_Code/CloudFormation/Export-FSxN-CloudFormation) |
27 | | - * [NetApp-FSxN-Custom-Resources-Samples](/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples) |
28 | | - * [Terraform](/Infrastructure_as_Code/Terraform) |
29 | | - * [Deployment of FSx ONTAP with VPN for File Share Access](/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access) |
30 | | - * [Deployment of SQL Server on EC2 with FSx ONTAP](/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver) |
31 | | - * [FSx ONTAP deployment using Terraform](/Infrastructure_as_Code/Terraform/deploy-fsx-ontap) |
32 | | - * [FSx ONTAP Replication](/Infrastructure_as_Code/Terraform/fsxn-replicate) |
33 | | - * [Miscellaneous FSx ONTAP resources using Terraform](/Infrastructure_as_Code/Terraform/Miscellaneous) |
34 | | -* [EKS](/EKS) |
35 | | - * [Backup-EKS-Applications-with-Trident-Protect](/EKS/Backup-EKS-Applications-with-Trident-Protect) |
36 | | - * [EKS applications non-stdout logs collection into ELK](/EKS/EKS-logs-to-ELK) |
37 | | - * [FSx for NetApp ONTAP as persistent storage for EKS](/EKS/FSxN-as-PVC-for-EKS) |
38 | | - * [PV-Migrate-with-Trident-Protect](/EKS/PV-Migrate-with-Trident-Protect) |
39 | | -* [Management Utilities](/Management-Utilities) |
40 | | - * [Auto Create SnapMirror Relationships](/Management-Utilities/auto_create_sm_relationships) |
41 | | - * [Auto Set FSxN Auto Grow](/Management-Utilities/auto_set_fsxn_auto_grow) |
42 | | - * [AWS CLI management scripts for FSx ONTAP](/Management-Utilities/fsx-ontap-aws-cli-scripts) |
43 | | - * [FSx ONTAP iscsi volume creation automation for Windows](/Management-Utilities/iscsi-vol-create-and-mount) |
44 | | - * [Rotate AWS Secrets Manager Secret](/Management-Utilities/fsxn-rotate-secret) |
45 | | - * [Warm Performance Tier](/Management-Utilities/warm_performance_tier) |
46 | | - * [Workload Factory API Samples](/Management-Utilities/Workload-Factory-API-Samples) |
47 | | -* [Monitoring](/Monitoring) |
48 | | - * [Automatically Add CloudWatch Alarms for FSx Resources](/Monitoring/auto-add-cw-alarms) |
49 | | - * [CloudWatch Dashboard for FSx for ONTAP](/Monitoring/CloudWatch-FSx) |
50 | | - * [Export LUN metrics from an FSx ONTAP to Amazon CloudWatch](/Monitoring/LUN-monitoring) |
51 | | - * [Ingest NAS audit logs into CloudWatch](/Monitoring/ingest_nas_audit_logs_into_cloudwatch) |
52 | | - * [Monitor FSx for ONTAP with Harvest on EKS](/Monitoring/monitor_fsxn_with_harvest_on_eks) |
53 | | - * [Monitor ONTAP metrics from FSx ONTAP using python Lambda function](/Monitoring/monitor-ontap-services) |
| 66 | +* [Backup EKS Applications with Trident Protect](/EKS/Backup-EKS-Applications-with-Trident-Protect) — Backup and restore PVCs using Trident Protect |
| 67 | +* [EKS non-stdout logs collection into ELK](/EKS/EKS-logs-to-ELK) — Shared FSx ONTAP storage for non-standard log collection |
| 68 | +* [FSx for NetApp ONTAP as persistent storage for EKS](/EKS/FSxN-as-PVC-for-EKS) — Sandbox environment for FSx ONTAP PVC integration |
| 69 | +* [PV Migrate with Trident Protect](/EKS/PV-Migrate-with-Trident-Protect) — Migrate persistent volumes between clusters |
| 70 | + |
| 71 | +### Management Utilities |
| 72 | + |
| 73 | +Day-2 operational tools for managing FSx ONTAP file systems at scale. |
| 74 | + |
| 75 | +* [Auto Create SnapMirror Relationships](/Management-Utilities/auto_create_sm_relationships) — Automatically create SnapMirror relationships between file systems |
| 76 | +* [Auto Set FSxN Auto Grow](/Management-Utilities/auto_set_fsxn_auto_grow) — Automatically enable volume auto-grow |
| 77 | +* [AWS CLI Management Scripts](/Management-Utilities/fsx-ontap-aws-cli-scripts) — Collection of AWS CLI scripts for FSx ONTAP operations |
| 78 | +* [EC2 User Data iSCSI Create & Mount](/Management-Utilities/ec2-user-data-iscsi-create-and-mount) — Launch EC2 instances with auto-provisioned iSCSI volumes |
| 79 | +* [FSxN Report](/Management-Utilities/FSxN-Report) — Generate reports of all FSx ONTAP file systems, volumes, and SVMs |
| 80 | +* [iSCSI Volume Creation for Windows](/Management-Utilities/iscsi-vol-create-and-mount) — Create iSCSI volumes and mount to Windows EC2 instances |
| 81 | +* [Rotate AWS Secrets Manager Secret](/Management-Utilities/fsxn-rotate-secret) — Lambda function for FSx ONTAP admin password rotation |
| 82 | +* [Warm Performance Tier](/Management-Utilities/warm_performance_tier) — Warm up the performance tier of an FSx ONTAP volume |
| 83 | +* [Workload Factory API Samples](/Management-Utilities/Workload-Factory-API-Samples) — Bash scripts demonstrating Workload Factory API usage |
| 84 | + |
| 85 | +### Monitoring |
| 86 | + |
| 87 | +> [!NOTE] |
| 88 | +> Active monitoring development has moved to **[NetApp/FSx-ONTAP-monitoring](https://github.com/NetApp/FSx-ONTAP-monitoring)**. |
| 89 | +> The samples below remain functional but new features land in the dedicated monitoring repository. |
| 90 | +
|
| 91 | +* [Automatically Add CloudWatch Alarms](/Monitoring/auto-add-cw-alarms) — Auto-create alarms for storage, CPU, and volume utilization |
| 92 | +* [CloudWatch Dashboard for FSx ONTAP](/Monitoring/CloudWatch-FSx) — Pre-built CloudWatch dashboard for FSx ONTAP metrics |
| 93 | +* [Export LUN Metrics to CloudWatch](/Monitoring/LUN-monitoring) — Push LUN metrics to CloudWatch with a dashboard |
| 94 | +* [Ingest NAS Audit Logs into CloudWatch](/Monitoring/ingest_nas_audit_logs_into_cloudwatch) — Stream NAS audit logs to CloudWatch |
| 95 | +* [Monitor FSx ONTAP with Harvest on EC2](/Monitoring/monitor_fsxn_with_harvest_on_ec2) — Harvest + Prometheus + Grafana on EC2 |
| 96 | +* [Monitor FSx ONTAP with Harvest on EKS](/Monitoring/monitor_fsxn_with_harvest_on_eks) — Harvest + Prometheus + Grafana on EKS |
| 97 | +* [Monitor ONTAP Services](/Monitoring/monitor-ontap-services) — Lambda-based monitoring with SNS alerts for EMS, SnapMirror, quotas & health |
| 98 | + |
| 99 | +--- |
| 100 | + |
| 101 | +## Related Resources |
| 102 | + |
| 103 | +| Resource | Link | |
| 104 | +|:---------|:-----| |
| 105 | +| AWS FSx for NetApp ONTAP documentation | [docs.aws.amazon.com](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/what-is-fsx-ontap.html) | |
| 106 | +| NetApp Workload Factory | [console.workloads.netapp.com](https://console.workloads.netapp.com) | |
| 107 | +| FSx ONTAP Monitoring (dedicated repo) | [NetApp/FSx-ONTAP-monitoring](https://github.com/NetApp/FSx-ONTAP-monitoring) | |
| 108 | +| NetApp BlueXP | [bluexp.netapp.com](https://bluexp.netapp.com) | |
| 109 | + |
| 110 | +--- |
| 111 | + |
| 112 | +## Contributing |
| 113 | + |
| 114 | +We welcome contributions from the community! Please read our [contribution guidelines](CONTRIBUTING.md) before getting started. |
54 | 115 |
|
55 | 116 | ## Author Information |
56 | 117 |
|
|
0 commit comments