Welcome to the Apache NiFi Deployment Guide for AWS Integration! Unlock the full power of Apache NiFi, the open-source data orchestration platform designed for robust data flows. Seamlessly integrate with your AWS infrastructure to achieve enterprise-grade scalability, secure data processing, and DevOps-friendly automation. Let's get started and elevate your data management with NiFi on AWS.
Video Guide
Prerequisites
Before you get started with the Apache NiFi AMI, ensure you have the following prerequisites:
- Basic knowledge of AWS services, including EC2 instances and CloudFormation.
- An active AWS account with appropriate permissions.
- Enough vCPU limit to create an instance.
- If you encounter a vCPU quota error when launching the stack, follow https://meetrix.io/blogs/increase-aws-vcpu-quota/ to increase your vCPU limit.
Launching the AMI
Step 1: Find and Select Apache NiFi AMI
- Log in to your AWS Management Console.
- Navigate to the 'Apache NiFi' in AWS Marketplace.
Step 2: Initial Setup & Configuration
- Click the "Continue to Subscribe" button.
- After subscribing, accept the terms and click "Accept Terms".
- Wait a few minutes until processing completes, then click "Continue to Configuration".
- Select "CloudFormation script to deploy Apache NiFi" as the fulfillment option and choose your region. Click "Continue to Launch".
- From the "Choose Action" dropdown, select "Launch CloudFormation" and click "Launch".
Create CloudFormation Stack
Step 1: Create a stack
- Ensure the "Template is ready" option is selected under "Prepare template".
- Click "Next".
Step 2: Specify stack options
Provide the necessary parameters for your Apache NiFi deployment. These settings define how your instance will be configured.
| Parameter | Description |
|---|---|
| Stack name | A unique name for your CloudFormation stack. |
| Admin Email | The email address used for SSL certificate generation. |
| DeploymentName | A name of your choice for this deployment. |
| DomainName | Your public domain name. SSL will be set up automatically if the domain is hosted on Route 53; otherwise you'll need to set it up manually. |
| InstanceType | The EC2 instance type. We recommend t3.medium. |
| keyName | Your preferred EC2 key pair for SSH access. |
| SSHLocation | The IP address range for SSH access. Defaults to 0.0.0.0/0 (open to all). For better security, restrict this to your IP. |
| SubnetCidrBlock | The CIDR block for the subnet. Keep as 10.0.0.0/24. |
| VpcCidrBlock | The CIDR block for the VPC. Keep as 10.0.0.0/16. |
Click "Next" once all parameters are set.
Step 3: Configure stack options
- Choose "Roll back all stack resources" and "Delete all newly created resources" under "Stack failure options".
- Click "Next".
Step 4: Review
- Review and verify the details you've entered.
- Tick "I acknowledge that AWS CloudFormation might create IAM resources with custom names".
- Click "Submit".
Afterward, you'll be directed to the CloudFormation stacks page. Please wait for 5-10 minutes until the stack has been successfully created.
Update DNS
Step 1: Copy IP Address
Copy the public IP labeled "PublicIp" in the "Outputs" tab.
Step 2: Update DNS
- Go to AWS Route 53 and navigate to "Hosted Zones".
- Click Create record.
- Add a record name and paste the copied PublicIp into the value textbox.
- Click "Save".
Access Apache NiFi
SSL Required
You can access the Apache NiFi interface exclusively through the "DashboardUrl" provided in the "Outputs" tab. Direct access via the public IP address is not supported.
Upon first login, you will be prompted to create an Admin account. All subsequent user accounts must be created through the Admin panel.
Note
Please enter the Username and Password that you provided during stack creation. Store them securely for future reference.
Generate SSL Manually
Apache NiFi will automatically try to set up SSL when a Route53-hosted domain is provided. If it fails, follow these steps to generate SSL manually.
Step 1: Copy IP Address
- Follow the Update DNS steps above, if not already done.
- Copy the Public IP indicated as "PublicIp" in the "Outputs" tab.
Step 2: Log in to the server
- Open the terminal and go to the directory where your private key is located.
- Paste the following command into your terminal and press Enter:
ssh -i <your key name> ubuntu@<Public IP address>
- Type "yes" and press Enter to confirm.
Step 3: Generate SSL
Paste the following command into your terminal and press Enter, and follow the instructions:
sudo /root/certificate_generate_standalone.sh You will be asked for the Admin Email to generate the SSL certificate.
Check Server Logs
Step 1: Log in to the server
- Open the terminal and go to the directory where your private key is located.
- Paste the following command into your terminal and press Enter:
ssh -i <your key name> ubuntu@<Public IP address>
- Type "yes" and press Enter. This will log you into the server.
Step 2: Check the logs
sudo docker ps Select the correct container and check logs:
sudo docker logs <container-id-prefix>
Shutting Down Apache NiFi
- Click the link labeled "Instance" in the "Resources" tab to access the EC2 instance. You'll be directed to the Apache NiFi instance in EC2.
- Select the Apache NiFi instance by marking the checkbox and click "Stop instance" from the "Instance state" dropdown. You can restart the instance at your convenience by selecting "Start instance".
Remove Apache NiFi
Delete the stack that has been created in the AWS Management Console under "CloudFormation Stacks" by clicking the "Delete" button.
Upgrades
When there is an upgrade, we will update the product with a newer version. You can check the product version in AWS Marketplace. If a newer version is available, you can remove the previous version and launch the product again using the newer version. Remember to backup the necessary server data before removing.
Troubleshoot
- If you face the following error, please follow https://meetrix.io/blogs/increase-aws-vcpu-quota/ to increase your vCPU quota.
- If you face the following error (do not have sufficient <instance_type> capacity...) while creating the stack, try changing the region or try creating the stack at a later time.
- If you face the below error when you try to access the API dashboard, please wait 5-10 minutes and then try.
- Check whether the instance storage is full.
- Log into the server and run the below command
df -h
- If the root volume is between 90-100%, it is better to resize the EBS volume. Please follow AWS documentation to increase the EBS volume.
- Then reboot the instance and restart the Apache NiFi instance service.
Conclusion
The Meetrix Apache NiFi Deployment Guide is your go-to resource for seamlessly integrating NiFi into your AWS environment. Whether you're a DevOps engineer, data architect, or IT leader, our guide provides clear, step-by-step instructions to ensure a secure and scalable setup. Apache NiFi is a powerful open-source data orchestration platform built for high-trust environments, empowering teams with real-time data ingestion, automation, and integration flexibility. With the Meetrix Apache NiFi Deployment Guide, you'll unlock the full potential of NiFi, enabling your organization to build efficient, secure, and self-hosted data pipelines that scale with your needs.
Technical Support
Reach out to Meetrix Support (aws@meetrix.io) for assistance with Apache NiFi issues.
Frequently Asked Questions
Is Apache NiFi open source?
Yes, Apache NiFi is free and open-source, maintained by the Apache Software Foundation. With Meetrix's AMI, you only pay for the underlying AWS infrastructure and optional support.
What are the prerequisites for installing Apache NiFi on AWS?
You need basic knowledge of AWS services (EC2, CloudFormation), an active AWS account with appropriate permissions, and a sufficient vCPU limit to launch the required instance type.
Which instance type is recommended?
t3.medium is recommended as a baseline for running Apache NiFi on AWS.
Do I need to configure SSL manually?
Apache NiFi will automatically try to set up SSL if your domain is hosted on Route53. If that fails, you can generate SSL manually by running a single script over SSH. SSL must be configured before the dashboard becomes accessible.
How do I handle upgrades?
When a new version is available in the AWS Marketplace, back up any necessary server data, remove the previous deployment, then relaunch with the new version.
How do I get technical support?
Reach out to Meetrix Support at <a href='mailto:aws@meetrix.io'>aws@meetrix.io</a> for assistance with Apache NiFi issues.
Ready to Deploy Your Own Apache NiFi Instance?
Get started in minutes with our pre-configured AMI and take full control of your data flows and pipelines.
Deploy Apache NiFi from AWS Marketplace