Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
pmyjavec committed Mar 19, 2018
1 parent e849514 commit 86a1cd0
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 47 deletions.
59 changes: 13 additions & 46 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,65 +1,32 @@
# Terraform InfluxDB Module

Builds out all infrastructure for running InfluxDB community and enterprise on AWS.
Terraform module for deploying Influx OSS and Enterprise to AWS EC2.

This module allows for easily starting with OSS and scaling out to enterprise as you scale your monitoring and analytics platform.
This module creates and manages the following resources:

## Usage
* Meta and Data node instances including associated EBS volumes.
* Security groups for cluster communications.
* Route53 Records for instances in a specified zone.
* Optional tagging of all resources for easy identification of resources. Useful with third-party configuration management tooling.

This module intentionally leaves host level provisioning and configuration management tasks up to the consumer.
For the sake of deployment flexibility, this module intentionally leaves host level provisioning up to the user. For example users may like to use Ansible, Puppet or Chef to complete the installation procedure. A default AMI is not specified and should to be provided by the user.

Official Ansible modules can be found here: https://galaxy.ansible.com/influxdata/influxdb-enterprise/
Optional tags can be specified making this module easy to use with third-party configuration management systems as outlined in this [Ansible guide](http://docs.ansible.com/ansible/latest/intro_dynamic_inventory.html#example-aws-ec2-external-inventory-script)

## Usage Example

### Single Enterprise Cluster
The following example demonstrates deploying a single Influx Enterprise cluster to production. This configuration will deploy 4 data nodes, 3 meta nodes, tagging all resources with an "Environment" tag set to _production_.

```
module "influxdb" {
source = "influxdata/influxdb/aws"
version = "1.0.0"
See the inputs doc or variable definitions file for more configuration options.

data_instances = 4
# Set meta-instances to zero for OSS usage :)
meta_instances = 3
ami = "ami-6d48500b"
tags = "${map("Environment", "production")}"
subnet_ids = "${list("subnet-9d4a7b6c", "subnet-7d4a9b6c")}"
vpc_id = "vpc-6589ba03"
instance_type = "m4.large"
key_name = "deployer"
zone_id = "Z4RIKDGDIXUWGT"
security_groups = "${list("sg-fffa2187")}"
}
```

### Influx Enterprise Multi-Cluster Configuration

A "name" variable can be specified when running multiple clusters in the same site.

```
module "influxdb" {
source = "influxdata/influxdb/aws"
version = "1.0.0"
name = "influx01"
data_instances = 4
meta_instances = 3
ami = "ami-6d48500b"
tags = "${map("Environment", "production")}"
subnet_ids = "${list("subnet-9d4a7b6c", "subnet-7d4a9b6c")}"
vpc_id = "vpc-6589ba03"
instance_type = "m4.large"
key_name = "deployer"
zone_id = "Z4RIKDGDIXUWGT"
security_groups = "${list("sg-fffa2187")}"
}
module "influxdb" {
source = "influxdata/influxdb/aws"
version = "1.0.0"
name = "influx02"
data_instances = 4
data_disk_size = 500
data_disk_iops = 6000
meta_instances = 3
ami = "ami-6d48500b"
tags = "${map("Environment", "production")}"
Expand Down
2 changes: 1 addition & 1 deletion variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ variable "name" {
default = "influx"
}
variable "ami" {
description = "The AMI ID to use"
description = "The AMI ID to deploy"
}

variable "data_instances" {
Expand Down

0 comments on commit 86a1cd0

Please sign in to comment.