This directory contains templates and scripts to deploy an NGINX Instance Manager Ubuntu image to AWS
- You have followed the generic README, situated here
- You will need programmatic access to your AWS environment
- For deploying to AWS with terraform, you will need to setup your AWS credentials:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SECURITY_TOKEN
- Set terraform parameters in an optional
.tfvars
file
cp terraform.tfvars.example terraform.tfvars
- Use an environment variable to store the admin password you would like to use.
export TF_VAR_admin_password=xxxxxxxxxxxxxxx
-
Add the required IP ranges to the "mgmt_cidr_blocks" and "dataplane_cidr_blocks" in order to access the NMS and Dataplane services.
-
Initialise Terraform
terraform init
-
Apply Terraform
terraform apply
Parameter | Description | Default | Required |
---|---|---|---|
admin_password | The password for the admin user | - | Yes |
nms_ami_id | AMI Id of the NGINX Instance Manager image to use | - | Yes |
nginx_ami_id | AMI Id of the NGINX image to use | - | Yes |
agent_instance_group_name | Agent Instance group name | - | Yes |
agent_count | The number of agents to deploy | - | No |
nms_instance_type | AWS Instance type for NGINX Instance Manager | t2.medium |
No |
nginx_instance_type | AWS Instance type for the NGINX instances Instance | t3.micro |
No |
aws_region | Region to deploy instance | us-west-1 |
No |
license_file_path | The path to the NGINX API Connectivity Manger license file | - | Yes |
ssh_user | User account name allowed access via ssh. | ubuntu |
No |
ssh_pub_key | Path to the ssh pub key that will be used for sshing into the host | ~/.ssh/id_rsa.pub |
No |
mgmt_cidr_blocks | List of CIDR blocks to allow access to NGINX Instance Manager UI. | - | No |
Add the ip of the host you are running the terraform to access while applying the license. | |||
dataplane_cidr_blocks | List of CIDR blocks to allow access to the dataplane instances. | - | No |
disk_config | Map of size and device paths for attached storage | See example file | Yes |
tags | Map of tags to apply to resulting AWS resources | {} |
No |
prefix | Prefix to add in the name of the deployment | "" | Yes |
Note: See AWS documentation regarding aws_instance types and block device names for ebs attached storage