Jmeter-Terraform - Dealing with AWS ELB IP changes during load testing
We ran into an issue when trying to load test our 'new' production environment - the ELB IP addresses change as it silently auto-scales. And since you're throwing load at it, of course those IPs will change! When we started the tests, we had updated the hosts file on the master/slave Jmeter nodes, but of course at some point during the day the IPs changed and we got a pile of timeouts. After much gnashing of teeth, we found the DNS Cache Manager in Jmeter, and figured there were two solutions: Use the DNS Cache Manager to point to a custom DNS server (that we set up), and have that DNS server deal with keeping the IPs up to date. Write a cron job to run on each node that updates the hosts file, then use the DNS Cache Manager to 'clear cache on each iteration' We elected to do #2 (since our Jmeter infra is built/destroyed a lot, it didn't make sense to have another server in the mix), and here's what we ended up with. Terraform applies userdata...