AWS ECS Torture wrong IP addresses

To test the performance of Jitsi, I set up a Selenium Grid with Docker, as described in this guide → https://meetrix.io/blog/webrtc/jitsi/jitsi-meet-load-testing.html

But since I wanted to test the whole thing again on a larger scale, I set it up again at AWS in an ECS cluster.

My problem is, if I understand it correctly, that the nodes log into the hub with the local Docker Container IP addresses and the hub then tries to address the nodes without success. The logs from the hub look abbreviated as follows:

17:21:48.297 INFO [DefaultRemoteProxy.onEvent] - Unregistering the node

http:/ /169.254.172.2:5555 because it’s been down for 60013 milliseconds

17:21:48.298 WARN [DefaultGridRegistry.removeIfPresent] - Cleaning up stale test sessions on the unregistered node http /169.254.172.2:5555](http:/169.254.172.2:5555/)

17:21:48.329 INFO [DefaultGridRegistry.add] - Registered a node http:/169.254.172.2:5555](http: 169.254.172.2:5555/)

17:21:54.153 INFO [RequestHandler.process] - Got a request to create a new session: Capabilities {browserName: chrome, goog:chromeOptions: {args: [lang=en, allow-insecure-localhost, use-fake-ui-for-media-stream, use-fake-device-for-media-s…, disable-plugins, mute-audio, disable-infobars, autoplay-policy=no-user-ges…, auto-select-desktop-capture…, disable-gpu, use-file-for-fake-audio-cap…, use-file-for-fake-video-cap…, enable-logging, vmodule=*=3], extensions: }, loggingPrefs: org.openqa.selenium.logging…}

Can someone help me fix this error? Is it even possible to use torture with AWS ECS, if not are there other ways to use torture in AWS and scale it up?

log.txt (16.5 KB)

Ok, I was able to solve the problem.
As I suspected, the nodes at the hub registered with the wrong IP address because they didn’t know anything about the awsvpc IP address.
I was able to fix that now by changing the start command from the node container.
Previously:
["/opt/bin/entry_point.sh"]

After that:
["/ bin / bash", “-c”, "PRIVATE = (curl -s http://169.254.170.2/v2/metadata | jq -r '.Containers [1] .Networks [0] .IPv4Addresses [ 0] '); export REMOTE_HOST = \ "http: // PRIVATE: 5555 "; /opt/bin/entry_point.sh "]