qualityPancakes
qualityPancakes

Reputation: 23

AWS AppRunner with Python 3.11.x failing health check when same config with Python 3.8.16 passes

I've been trying to deploy a django web app on AWS AppRunner. I followed an AWS tutorial here which works to deploy an app running on python 3.8.16. I tried to follow the same procedure but use python 3.11.9 which is supported by AppRunner, but I ran into a connectivity error where the deploy fails health check:

The AppRunner Event Log would output:

The Application Logs would output:

I made sure the change references to pip and python to pip3 and python3 respectively in startup.sh, and changed 'python3' to 'python311' and runtime version to '3.11.9' in apprunner.yaml. I tried changing the TCP port (tried 8000 and 8080), and tried changing the health check protocol to HTTP and the port to 80 to no avail. I also tried changing security group arrangement extensively (including allowing connection from any ip address on the respective ports), and employing django-health-check 3.18.2. When I retried with the same settings but changed the build and run environment to python 3.8, everything worked smoothly.

I spent a couple days on this problem, so partially posting for others to find, but also asking: is there something fundamentally different about the 3.11.x health check that makes it different than 3.8? Or is this a bug with AppRunner?

Upvotes: 1

Views: 172

Answers (0)

Related Questions