This module can be used to create a Target
Group and
Listener Rules for
a Load Balancer created with the load-balancer
module. You can use this
module to configure health checks and routing for InfluxDB data nodes.
The reason the load-balancer and load-balancer-target-group modules are separate is that you may wish to create
multiple target groups for a single load balancer.
module"influxdb_data_nodes" {
# TODO: replace <VERSION> with the latest version from the releases page: https://github.com/gruntwork-io/terraform-aws-influx/releases
source = "github.com/gruntwork/terraform-aws-influx//modules/influxdb-cluster?ref=<VERSION>"
cluster_name = "${var.cluster_name}"# ... (other params omitted) ...
}
module"load_balancer" {
# TODO: replace <VERSION> with the latest version from the releases page: https://github.com/gruntwork-io/terraform-aws-influx/releases
source = "github.com/gruntwork/terraform-aws-influx//modules/load-balancer?ref=<VERSION>"
name = "${var.cluster_name}"
http_listener_ports = [8086]
# ... (other params omitted) ...
}
Note the following:
http_listener_ports: This tells the Load Balancer to listen for HTTP requests on port 8091 and 4984.
To create Target Groups and Listener Rules for InfluxDB, you need to use the
load-balancer-target-group module as follows:
module"influxdb_target_group" {
# TODO: replace <VERSION> with the latest version from the releases page: https://github.com/gruntwork-io/terraform-aws-influx/releases
source = "github.com/gruntwork/terraform-aws-influx//modules/load-balancer-target-group?ref=<VERSION>"
target_group_name = "${var.cluster_name}-cb"
asg_name = "${module.influxdb_data_nodes.asg_name}"
port = 8086
health_check_path = "/ping"
listener_arns = ["${lookup(module.load_balancer.http_listener_arns, 8086)}"]
num_listener_arns = 1
listener_rule_starting_priority = 100# ... See variables.tf for the other parameters you must define for this module
}
Note the following:
asg_name: Use this param to attach the Target Group to the Auto Scaling Group (ASG) used under the hood in the
InfluxDB cluster so that each EC2 Instance automatically registers with the Target Group, goes
through health checks, and gets replaced if it is failing health checks.
listener_arns: Specify the ARN of the HTTP listener from the Load Balancer module. The InfluxDB Target Group uses
InfluxDB's port (8086).
Questions? Ask away.
We're here to talk about our services, answer any questions, give advice, or just to chat.
{"treedata":{"name":"root","toggled":true,"children":[{"name":".circleci","children":[{"name":"config.yml","path":".circleci/config.yml","sha":"f9f681ec70f1e06fb621f9909cea240061b82b07"},{"name":"publish-amis.sh","path":".circleci/publish-amis.sh","sha":"a6c7771129b46556d6863050b3b80abbb632eb36"}]},{"name":".gitignore","path":".gitignore","sha":"1d4e847f6ea857f7842d5d56048758497c58ef7c"},{"name":".pre-commit-config.yaml","path":".pre-commit-config.yaml","sha":"752f3f77602eb7f38ce57c5e6c6dfd8b7cb14367"},{"name":"CODEOWNERS","path":"CODEOWNERS","sha":"dfdf6835a2d12e903fea9ca392e0a986e9692813"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","sha":"d02a77a6cf6e01e82938efb4ea53caab2d09a948"},{"name":"LICENSE","path":"LICENSE","sha":"7a4a3ea2424c09fbe48d455aed1eaa94d9124835"},{"name":"NOTICE","path":"NOTICE","sha":"1cc6603154b36da82afb433b6de6ba6b40445e39"},{"name":"README.md","path":"README.md","sha":"29ecbaf4c2af37ea4d2264171d7163152f738709"},{"name":"_docs","children":[{"name":"influxdb-multi-cluster-architecture.png","path":"_docs/influxdb-multi-cluster-architecture.png","sha":"0a22215c9b16f627f97c29588de014d8c23030b3"},{"name":"influxdb-single-cluster-architecture.png","path":"_docs/influxdb-single-cluster-architecture.png","sha":"c5b73dc6575abb032a97d81dafdffeb0c332c26f"},{"name":"tick-multi-cluster-architecture.png","path":"_docs/tick-multi-cluster-architecture.png","sha":"32b8045f0cbcd463b3813e6942965950ad20cddd"}]},{"name":"examples","children":[{"name":"chronograf-ami","children":[{"name":"README.md","path":"examples/chronograf-ami/README.md","sha":"12219d95ac4f7748cc704123dcd1aaa56ae786da"},{"name":"chronograf.json","path":"examples/chronograf-ami/chronograf.json","sha":"0313d0bd477999509254a30b9b88a7b76eb15e40"},{"name":"config","children":[{"name":"chronograf","path":"examples/chronograf-ami/config/chronograf","sha":"8c33b68c638a13593023ad87b6a3dc907bce3a6f"}]}]},{"name":"influxdb-ami","children":[{"name":"README.md","path":"examples/influxdb-ami/README.md","sha":"d074c8d1e2d282b63916ccc52afa51a7e4258385"},{"name":"config","children":[{"name":"influxdb-meta.conf","path":"examples/influxdb-ami/config/influxdb-meta.conf","sha":"7ad2a20080cd748eda3ddf29c1841845a897374d"},{"name":"influxdb.conf","path":"examples/influxdb-ami/config/influxdb.conf","sha":"36f19e69835fadc72781f3f606a77c65225deb4b"}]},{"name":"influxdb.json","path":"examples/influxdb-ami/influxdb.json","sha":"1ea4373793061adaddb86809c58c4923e63c8642"}]},{"name":"influxdb-cluster-simple","children":[{"name":"README.md","path":"examples/influxdb-cluster-simple/README.md","sha":"19e78d2811355a2a89c232e71444ef4975d02f8c"},{"name":"local-test","children":[{"name":".env","path":"examples/influxdb-cluster-simple/local-test/.env","sha":"d94f35ff4c4d7003bed1fd96b1abd8e487326f4c"},{"name":"docker-compose.yml","path":"examples/influxdb-cluster-simple/local-test/docker-compose.yml","sha":"aceb84dad407fd0d42cdcb0d5a577c343c573046"}]},{"name":"user-data","children":[{"name":"user-data.sh","path":"examples/influxdb-cluster-simple/user-data/user-data.sh","sha":"0c0c204a6ef8d564e137898379ab8efff146f22c"}]}]},{"name":"kapacitor-ami","children":[{"name":"README.md","path":"examples/kapacitor-ami/README.md","sha":"ddb815351fe872d219134f4ab6d39e88511b2431"},{"name":"config","children":[{"name":"kapacitor.conf","path":"examples/kapacitor-ami/config/kapacitor.conf","sha":"c70c256d2fdbf953a7a5b65d0111817212e5fb41"}]},{"name":"kapacitor.json","path":"examples/kapacitor-ami/kapacitor.json","sha":"e89b486d399541454ebde7aa799c28f4de390cfa"}]},{"name":"local-mocks","children":[{"name":"README.md","path":"examples/local-mocks/README.md","sha":"1e4ccdc3830140359c5bc2a19259043c21fd82b5"},{"name":"aws.sh","path":"examples/local-mocks/aws.sh","sha":"2ff858b6ce486b5a39c78d5b6421f35032ccb3d8"},{"name":"entrypoint.sh","path":"examples/local-mocks/entrypoint.sh","sha":"dd4d5596ff45597ad2fa1d7158af36fef70dd9c4"},{"name":"influxdb-common.sh","path":"examples/local-mocks/influxdb-common.sh","sha":"8a67f9e1c37ae3753f95632285c2564a83a23161"},{"name":"mount-volume.sh","path":"examples/local-mocks/mount-volume.sh","sha":"c9fa0b283e7ce1a0b1652dc4565bfe2740dcc820"}]},{"name":"telegraf-ami","children":[{"name":"README.md","path":"examples/telegraf-ami/README.md","sha":"5088b7d28693aef395915c1f4a5ec4b4ab92f4fd"},{"name":"config","children":[{"name":"telegraf.conf","path":"examples/telegraf-ami/config/telegraf.conf","sha":"ef7ab46f69c9f543ed4194572fdc8fbad996fb47"}]},{"name":"telegraf.json","path":"examples/telegraf-ami/telegraf.json","sha":"3724bbc99ebc61eef8f0e9e5e231513a57c44ebf"}]},{"name":"tick-ami","children":[{"name":"README.md","path":"examples/tick-ami/README.md","sha":"3fae3c0c11cc2dce489d9b1198248ce429df7cc7"},{"name":"tick.json","path":"examples/tick-ami/tick.json","sha":"f01ee54c1abe4c9cac789f077a56ba440c21c675"}]},{"name":"tick-multi-cluster","children":[{"name":"local-test","children":[{"name":".env","path":"examples/tick-multi-cluster/local-test/.env","sha":"e8f0451b5ea9b681e2cecc7e23cc32cf27dae594"},{"name":"docker-compose.yml","path":"examples/tick-multi-cluster/local-test/docker-compose.yml","sha":"523f12abb9afa2ac4d44957f868b76bb6c58d5e6"}]},{"name":"main.tf","path":"examples/tick-multi-cluster/main.tf","sha":"e3820481b8a2c71c50960d584540c75159fc1ffe"},{"name":"outputs.tf","path":"examples/tick-multi-cluster/outputs.tf","sha":"cc36d3551216edcb0962884d8a8d9c6cc494c57e"},{"name":"user-data","children":[{"name":"chronograf","children":[{"name":"user-data.sh","path":"examples/tick-multi-cluster/user-data/chronograf/user-data.sh","sha":"edcce4a9467877075ef2d5a130f957cb5bb0d342"}]},{"name":"influxdb","children":[{"name":"data-node","children":[{"name":"user-data.sh","path":"examples/tick-multi-cluster/user-data/influxdb/data-node/user-data.sh","sha":"94be7d4ab9c4fbda493e2aaf56acb632ce1d5f83"}]},{"name":"meta-node","children":[{"name":"user-data.sh","path":"examples/tick-multi-cluster/user-data/influxdb/meta-node/user-data.sh","sha":"81ef63c6880d86ee2a2a1f87b41bd5624aea768c"}]}]},{"name":"kapacitor","children":[{"name":"user-data.sh","path":"examples/tick-multi-cluster/user-data/kapacitor/user-data.sh","sha":"85fa24bc49c3c129f3e67ae0f350455f8a0a5a4f"}]},{"name":"telegraf","children":[{"name":"user-data.sh","path":"examples/tick-multi-cluster/user-data/telegraf/user-data.sh","sha":"1f45737e928c4b4407c23eb6b4230ffc507135e2"}]}]},{"name":"variables.tf","path":"examples/tick-multi-cluster/variables.tf","sha":"d4a98c4c302739f19e49fcae0d8f83d8dd0790de"}]},{"name":"tick-single-cluster","children":[{"name":"README.md","path":"examples/tick-single-cluster/README.md","sha":"5af36831ea19f1607bad6b197b4fef9714f3fb81"},{"name":"local-test","children":[{"name":".env","path":"examples/tick-single-cluster/local-test/.env","sha":"9aab6b098221a61e5783ac141f52ab9c76c617f2"},{"name":"docker-compose.yml","path":"examples/tick-single-cluster/local-test/docker-compose.yml","sha":"1d533b6bc7808b216a21deeb6e4683be4aada216"}]},{"name":"main.tf","path":"examples/tick-single-cluster/main.tf","sha":"e76d85585578b446d4b9f4566d1678f0b1e6f6fa"},{"name":"outputs.tf","path":"examples/tick-single-cluster/outputs.tf","sha":"1f6582af089670a544838f8daf2d6b9443d714bf"},{"name":"user-data","children":[{"name":"user-data.sh","path":"examples/tick-single-cluster/user-data/user-data.sh","sha":"3761f7be138ac64ef9a23345791a45b6bae231f0"}]},{"name":"variables.tf","path":"examples/tick-single-cluster/variables.tf","sha":"766f1a00791ef7fd92728191d472349360ee4e5e"}]}]},{"name":"main.tf","path":"main.tf","sha":"7f83810cbd2d7b830a929660cc9adf014f7b0191"},{"name":"modules","children":[{"name":"chronograf-security-group-rules","children":[{"name":"README.md","path":"modules/chronograf-security-group-rules/README.md","sha":"ba653f803e7caeaa46d4d6205b59c5ca2f975ce4"},{"name":"main.tf","path":"modules/chronograf-security-group-rules/main.tf","sha":"c5b95770f9f478b91aa3025eb3bc6db52cfa4ed9"},{"name":"outputs.tf","path":"modules/chronograf-security-group-rules/outputs.tf","sha":"f7f3421d941f6323ac0d1c239c1944bafa558ccc"},{"name":"variables.tf","path":"modules/chronograf-security-group-rules/variables.tf","sha":"e836411856590178128294d05f0fc79899762765"}]},{"name":"chronograf-server","children":[{"name":"README.md","path":"modules/chronograf-server/README.md","sha":"e2110e93fb9b5eabfa4e1b6a5fcd9f6b61a3714e"},{"name":"main.tf","path":"modules/chronograf-server/main.tf","sha":"aa540886702bb8fc041ebb2c99a3cb4f19bf9722"},{"name":"outputs.tf","path":"modules/chronograf-server/outputs.tf","sha":"a290eaa88481cf8fdce21fee69e87f2a675d6b46"},{"name":"variables.tf","path":"modules/chronograf-server/variables.tf","sha":"412d27de9db1556050013a83398d31b96cc512b8"}]},{"name":"influxdb-cluster","children":[{"name":"README.md","path":"modules/influxdb-cluster/README.md","sha":"1377a05cc13f8f8c6155248e89760a91382141e0"},{"name":"main.tf","path":"modules/influxdb-cluster/main.tf","sha":"4baf70b04ff38d86987665819adc69b03f13f513"},{"name":"outputs.tf","path":"modules/influxdb-cluster/outputs.tf","sha":"a290eaa88481cf8fdce21fee69e87f2a675d6b46"},{"name":"variables.tf","path":"modules/influxdb-cluster/variables.tf","sha":"4b648c75401df28be3ebb92a61eaff61d32d56b5"}]},{"name":"influxdb-commons","children":[{"name":"influxdb-common.sh","path":"modules/influxdb-commons/influxdb-common.sh","sha":"1ced7551708487f10210c2e10eedcff4336fd4b6"},{"name":"mount-volume.sh","path":"modules/influxdb-commons/mount-volume.sh","sha":"ea92e25a009991796e13542117d9aeee2e77bdf3"}]},{"name":"influxdb-iam-policies","children":[{"name":"README.md","path":"modules/influxdb-iam-policies/README.md","sha":"114b98b4ee6bf2981b49f85b9f63ff265c22377a"},{"name":"main.tf","path":"modules/influxdb-iam-policies/main.tf","sha":"144c26257265c80b71ea2e6598a5fa588cab91a4"},{"name":"variables.tf","path":"modules/influxdb-iam-policies/variables.tf","sha":"52873644e20b4cafdcc0f33dc11db99f1fa9b586"}]},{"name":"influxdb-security-group-rules","children":[{"name":"README.md","path":"modules/influxdb-security-group-rules/README.md","sha":"128a40fe0e3de1dfec737e6f9e080b8662bc2bd2"},{"name":"main.tf","path":"modules/influxdb-security-group-rules/main.tf","sha":"3a87176e4e9b7d5e6ec43850606b9953ba8b1b21"},{"name":"outputs.tf","path":"modules/influxdb-security-group-rules/outputs.tf","sha":"5a6f6ae13dd2cd02c5afdfdf8a2986c4e8fd86bd"},{"name":"variables.tf","path":"modules/influxdb-security-group-rules/variables.tf","sha":"1f763c57fe0b502554d004fa112ac03726c8ad01"}]},{"name":"install-chronograf","children":[{"name":"README.md","path":"modules/install-chronograf/README.md","sha":"0265bb8199d0f8b167f88ff20102769e378adc28"},{"name":"install-chronograf","path":"modules/install-chronograf/install-chronograf","sha":"557b391c65eaf8de246f86b43c42a7515671aa6e"}]},{"name":"install-influxdb","children":[{"name":"README.md","path":"modules/install-influxdb/README.md","sha":"9cc3623cd4c79e2d75127f0b5702ae5a943487fe"},{"name":"install-influxdb","path":"modules/install-influxdb/install-influxdb","sha":"28dd51772da06991dcda7040bd7a4e3d41313979"}]},{"name":"install-kapacitor","children":[{"name":"README.md","path":"modules/install-kapacitor/README.md","sha":"94af4c0b91ab86cd35c7fafc1481750cb30f817e"},{"name":"install-kapacitor","path":"modules/install-kapacitor/install-kapacitor","sha":"ede4f4302b14ca8296f0b661244b5006193ba540"}]},{"name":"install-telegraf","children":[{"name":"README.md","path":"modules/install-telegraf/README.md","sha":"873f734214f00d7c45a3f034206811273980a78e"},{"name":"install-telegraf","path":"modules/install-telegraf/install-telegraf","sha":"c36216b7e173a55c0126d96ae5dc4b84f84799dd"}]},{"name":"kapacitor-security-group-rules","children":[{"name":"README.md","path":"modules/kapacitor-security-group-rules/README.md","sha":"7e70898738f0dd781e7b68e0e8d8fb33fdde91fc"},{"name":"main.tf","path":"modules/kapacitor-security-group-rules/main.tf","sha":"a4dabc6bcdfb9c421bdae37f8a0963e3f6ad9f23"},{"name":"outputs.tf","path":"modules/kapacitor-security-group-rules/outputs.tf","sha":"f7f3421d941f6323ac0d1c239c1944bafa558ccc"},{"name":"variables.tf","path":"modules/kapacitor-security-group-rules/variables.tf","sha":"f21b9ff1c047b37c63c24bbc9d1803b9fe02d492"}]},{"name":"kapacitor-server","children":[{"name":"README.md","path":"modules/kapacitor-server/README.md","sha":"609adbe9be1c5189e93c9d9869a05519d4afa9c9"},{"name":"main.tf","path":"modules/kapacitor-server/main.tf","sha":"2c6845d77e1b8d253bd22721277c331dafaf62ce"},{"name":"outputs.tf","path":"modules/kapacitor-server/outputs.tf","sha":"618d0987a275cd153cf22f7745369bfe749fe6b2"},{"name":"variables.tf","path":"modules/kapacitor-server/variables.tf","sha":"ab49dd73e22da2adf8de4c66d318fefc1524350a"}]},{"name":"load-balancer-target-group","children":[{"name":"README.md","path":"modules/load-balancer-target-group/README.md","sha":"561c66859086f8dd877312bb4cc9d05eaf23706e","toggled":true},{"name":"main.tf","path":"modules/load-balancer-target-group/main.tf","sha":"06d281d12ff069fe7a5c516d442823c7533410f6"},{"name":"outputs.tf","path":"modules/load-balancer-target-group/outputs.tf","sha":"cdf904445cf5099ccea5cc8820d198a1ffba4283"},{"name":"variables.tf","path":"modules/load-balancer-target-group/variables.tf","sha":"e249b8f633bed4ca941a7b5510d5e6f39805ff33"}],"toggled":true},{"name":"load-balancer","children":[{"name":"README.md","path":"modules/load-balancer/README.md","sha":"2748251533467ce849be4fbc6bb4868aea545313"},{"name":"main.tf","path":"modules/load-balancer/main.tf","sha":"271d8f729e6486b32501184448b3ac2a0172b837"},{"name":"outputs.tf","path":"modules/load-balancer/outputs.tf","sha":"26a741cce6b75f2c60339aefea93d5c99b862222"},{"name":"variables.tf","path":"modules/load-balancer/variables.tf","sha":"10f5715eba776610dd713ce1d59938c4fe6cb078"}]},{"name":"run-chronograf","children":[{"name":"README.md","path":"modules/run-chronograf/README.md","sha":"31ad5434745d5e4e05c289ded3ae85d5faaacd75"},{"name":"run-chronograf","path":"modules/run-chronograf/run-chronograf","sha":"29fe5710e71333e6aa3b7b37ab8ab812d5b3b53b"}]},{"name":"run-influxdb","children":[{"name":"README.md","path":"modules/run-influxdb/README.md","sha":"41fc1a499b85c3c8f29a8a051b9965de00048889"},{"name":"run-influxdb","path":"modules/run-influxdb/run-influxdb","sha":"47755e2a21f2453ba949092bd76c0c110b5076db"}]},{"name":"run-kapacitor","children":[{"name":"README.md","path":"modules/run-kapacitor/README.md","sha":"0aeb557ba7f4f6c904af560f5eefa4acacaa4373"},{"name":"run-kapacitor","path":"modules/run-kapacitor/run-kapacitor","sha":"3394dc6e702aeb78e168d81c433af48df70927c6"}]},{"name":"run-telegraf","children":[{"name":"README.md","path":"modules/run-telegraf/README.md","sha":"ac8d874e452929be5a4b4c00446568c10bd10de5"},{"name":"run-telegraf","path":"modules/run-telegraf/run-telegraf","sha":"724af683538e33ed4c51d0204202c04cf1cdc14f"}]}],"toggled":true},{"name":"outputs.tf","path":"outputs.tf","sha":"1d2464bda76ea8f452773ebc69b41e3b65b1c827"},{"name":"test","children":[{"name":"Gopkg.lock","path":"test/Gopkg.lock","sha":"99df58080a1f0db4565d214129c32b4e1a4769e2"},{"name":"Gopkg.toml","path":"test/Gopkg.toml","sha":"b6373bead7b213d542e3564e5915ac2ffde5f0b8"},{"name":"README.md","path":"test/README.md","sha":"819e790d15767c851bfc438f0a1413ed2bde7d3b"},{"name":"influxdb_single_cluster_test.go","path":"test/influxdb_single_cluster_test.go","sha":"4dc35665cb26dbecd2cb7f9d33d64319797f2305"},{"name":"test_helpers.go","path":"test/test_helpers.go","sha":"1bbda8373251e26156a8b3422bc338d19d56aa10"},{"name":"tick_multi_cluster_test.go","path":"test/tick_multi_cluster_test.go","sha":"cc48d14f53f7f6df04e8e441d33788c2ac575344"},{"name":"tick_single_cluster_test.go","path":"test/tick_single_cluster_test.go","sha":"97921520812154ba4198ea7f33fe38a5df49b77d"}]},{"name":"variables.tf","path":"variables.tf","sha":"c1aa8ee0980cb0fd3a83f90e67407a510420131d"}]},"detailsContent":"<h1 class=\"preview__body--title\" id=\"load-balancer-target-group-module\">Load Balancer Target Group Module</h1><div class=\"preview__body--border\"></div><p>This module can be used to create a <a href=\"https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html\" class=\"preview__body--description--blue\" target=\"_blank\">Target\nGroup</a> and\n<a href=\"https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html\" class=\"preview__body--description--blue\" target=\"_blank\">Listener Rules</a> for\na Load Balancer created with the <a href=\"/repos/v0.1.3/terraform-aws-influx/modules/load-balancer\" class=\"preview__body--description--blue\">load-balancer\nmodule</a>. You can use this\nmodule to configure health checks and routing for InfluxDB data nodes.</p>\n<p>The reason the <code>load-balancer</code> and <code>load-balancer-target-group</code> modules are separate is that you may wish to create\nmultiple target groups for a single load balancer.</p>\n<p>See the <a href=\"/repos/v0.1.3/terraform-aws-influx/examples\" class=\"preview__body--description--blue\">examples folder</a> for fully\nworking sample code.</p>\n<h2 class=\"preview__body--subtitle\" id=\"how-do-you-use-this-module\">How do you use this module?</h2>\n<p>Imagine you've deployed InfluxDB using the <a href=\"/repos/v0.1.3/terraform-aws-influx/modules/influxdb-cluster\" class=\"preview__body--description--blue\">influxdb-cluster\nmodule</a> and a Load Balancer\nusing the <a href=\"/repos/v0.1.3/terraform-aws-influx/modules/load-balancer\" class=\"preview__body--description--blue\">load-balancer module</a>:</p>\n<pre><span class=\"hljs-keyword\">module</span> <span class=\"hljs-string\">\"influxdb_data_nodes\"</span> {\n <span class=\"hljs-comment\"># <span class=\"hljs-doctag\">TODO:</span> replace <VERSION> with the latest version from the releases page: https://github.com/gruntwork-io/terraform-aws-influx/releases</span>\n source = <span class=\"hljs-string\">\"github.com/gruntwork/terraform-aws-influx//modules/influxdb-cluster?ref=<VERSION>\"</span>\n \n cluster_name = <span class=\"hljs-string\">\"<span class=\"hljs-variable\">${var.cluster_name}</span>\"</span>\n \n <span class=\"hljs-comment\"># ... (other params omitted) ...</span>\n}\n\n<span class=\"hljs-keyword\">module</span> <span class=\"hljs-string\">\"load_balancer\"</span> {\n <span class=\"hljs-comment\"># <span class=\"hljs-doctag\">TODO:</span> replace <VERSION> with the latest version from the releases page: https://github.com/gruntwork-io/terraform-aws-influx/releases</span>\n source = <span class=\"hljs-string\">\"github.com/gruntwork/terraform-aws-influx//modules/load-balancer?ref=<VERSION>\"</span>\n \n name = <span class=\"hljs-string\">\"<span class=\"hljs-variable\">${var.cluster_name}</span>\"</span>\n\n http_listener_ports = [<span class=\"hljs-number\">8086</span>]\n\n <span class=\"hljs-comment\"># ... (other params omitted) ...</span>\n}\n</pre>\n<p>Note the following:</p>\n<ul>\n<li><code>http_listener_ports</code>: This tells the Load Balancer to listen for HTTP requests on port 8091 and 4984.</li>\n</ul>\n<p>To create Target Groups and Listener Rules for InfluxDB, you need to use the\n<code>load-balancer-target-group</code> module as follows:</p>\n<pre><span class=\"hljs-keyword\">module</span> <span class=\"hljs-string\">\"influxdb_target_group\"</span> {\n <span class=\"hljs-comment\"># <span class=\"hljs-doctag\">TODO:</span> replace <VERSION> with the latest version from the releases page: https://github.com/gruntwork-io/terraform-aws-influx/releases</span>\n source = <span class=\"hljs-string\">\"github.com/gruntwork/terraform-aws-influx//modules/load-balancer-target-group?ref=<VERSION>\"</span>\n\n target_group_name = <span class=\"hljs-string\">\"<span class=\"hljs-variable\">${var.cluster_name}</span>-cb\"</span>\n asg_name = <span class=\"hljs-string\">\"<span class=\"hljs-variable\">${module.influxdb_data_nodes.asg_name}</span>\"</span>\n port = <span class=\"hljs-number\">8086</span>\n health_check_path = <span class=\"hljs-string\">\"/ping\"</span>\n\n listener_arns = [<span class=\"hljs-string\">\"<span class=\"hljs-variable\">${<span class=\"hljs-meta\">lookup(module.load_balancer.http_listener_arns, <span class=\"hljs-number\">8086</span>)</span>}</span>\"</span>]\n num_listener_arns = <span class=\"hljs-number\">1</span>\n listener_rule_starting_priority = <span class=\"hljs-number\">100</span>\n \n <span class=\"hljs-comment\"># ... See variables.tf for the other parameters you must define for this module</span>\n}\n</pre>\n<p>Note the following:</p>\n<ul>\n<li>\n<p><code>asg_name</code>: Use this param to attach the Target Group to the Auto Scaling Group (ASG) used under the hood in the\nInfluxDB cluster so that each EC2 Instance automatically registers with the Target Group, goes\nthrough health checks, and gets replaced if it is failing health checks.</p>\n</li>\n<li>\n<p><code>listener_arns</code>: Specify the ARN of the HTTP listener from the Load Balancer module. The InfluxDB Target Group uses\nInfluxDB's port (8086).</p>\n</li>\n</ul>\n","repoName":"terraform-aws-influx","repoRef":"v0.1.1","serviceDescriptor":{"serviceName":"InfluxDB","serviceRepoName":"terraform-aws-influx","serviceRepoOrg":"gruntwork-io","cloudProviders":["aws"],"description":"Deploy an InfluxDB cluster. Supports automatic bootstrapping and auto healing.","imageUrl":"tick.png","licenseType":"open-source","technologies":["Terraform","Bash"],"compliance":[],"tags":[""]},"serviceCategoryName":"NoSQL","fileName":"README.md","filePath":"/modules/load-balancer-target-group","title":"Repo Browser: InfluxDB","description":"Browse the repos in the Gruntwork Infrastructure as Code Library."}