Failed to update App Runner

0

Hi everyone! I m trying to update my App Runner instance with a new image. Deployments are set to be manual so we changed the image from the ECR and we saved it. This is the log from the update service.

07-28-2023 06:12:25 PM [AppRunner] Service status is set to RUNNING.
07-28-2023 06:12:24 PM [AppRunner] Service update failed. For details, see service logs.
07-28-2023 05:59:53 PM [AppRunner] Performing health check on path '/yyy/yyy/yyy' and port 'yyy'.
07-28-2023 05:59:51 PM [AppRunner] Provisioning instances and deploying image.
07-28-2023 05:59:51 PM [AppRunner] Successfully copied the image from ECR.
07-28-2023 05:58:30 PM [AppRunner] Service status is set to OPERATION_IN_PROGRESS.
07-28-2023 05:58:30 PM [AppRunner] Service update started.

Here are the logs from the application:

07-28-2023 06:03:18 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:03:18 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}
07-28-2023 06:03:08 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:03:08 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}
07-28-2023 06:02:58 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:02:58 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}
07-28-2023 06:02:48 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:02:48 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}
07-28-2023 06:02:38 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:02:38 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}
07-28-2023 06:02:28 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:02:28 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}
07-28-2023 06:02:18 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:02:18 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}
07-28-2023 06:02:08 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:02:08 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}
07-28-2023 06:01:58 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:01:58 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}
07-28-2023 06:01:48 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:01:48 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}
07-28-2023 06:01:38 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:01:38 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}
07-28-2023 06:01:28 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:01:28 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}
07-28-2023 06:01:18 PM {"level":"info","message":"::yyy:yyy.yyy.yyy.yyy - - [28/Jul/2023:17:01:18 +0000] \"GET /yyy/yyy/yyy HTTP/1.1\" 200 - \"-\" \"Go-http-client/1.1\"\n"}

Healthchecks are successful I mean while streaming the logs on Cloudwatch I m able to check out the app is working properly. I ve also done some queries against it while it s still trying to update and it responded as expected, but with no error and no reason it rolls back and does not update.

Any help is really appreciated. This worked some weeks ago, don t know if something has changed.

Thanks!

asked 9 months ago254 views
1 Answer
0
Accepted Answer

Hello there,

Based on the new information and documents provided, let's try to troubleshoot the issue you're facing with AWS App Runner service update.

  • Review Your Dockerfile or Build Specifications: Check if there are any changes or errors in your Dockerfile or build specifications that might cause the update to fail. The new image being pulled from ECR needs to be correctly configured for your service.

  • AWS Service Updates: Check if there have been recent updates to AWS App Runner or other AWS services you use, that could be affecting the update process.

  • Health Check Configuration: Ensure your health check path and port are correctly configured for your new image. Though your logs suggest successful health checks, a misconfiguration here might affect the update process.

  • Networking or Permissions: Verify if there have been any changes in the networking setup or permissions that might affect your service from being updated.

Further to these specific steps, you can also try the following general troubleshooting steps:

  • Host Header: Verify that your Host Header is correctly pointing to the service URL in the HTTP request, as per the documentation.

  • Custom Domain's CAA Records: If you're using a custom domain, ensure that the CAA records for the domain include 'amazon.com'. You can check this with the DiG tool. If 'amazon.com' is not included in the CAA records, you need to correct this in your domain records.

  • Service Status: Use the AWS CLI to verify the status of your service with the command: aws apprunner describe-service --service-arn <your-service-arn> replacing '<your-service-arn>' with your App Runner service ARN.

  • DNS Records & Certificates: In case you're using custom domains, make sure to check your CNAME records in your DNS server. If these CNAME records were removed, App Runner won't be able to validate your DNS records and renew the certificate for your custom domain. If the certificate has expired, you should disassociate and then reassociate your custom domain with your App Runner service.

If all of these don't resolve the issue, consider checking if you've reached a resource quota or if there are underlying issues with AWS services. Remember to delete the service after it fails, as it will still count towards your service quota even though it isn't usable.

I hope these steps help you in identifying the root cause and resolving the issue with your App Runner service update.

AWS
answered 9 months ago
  • Thanks for your response, I ll review every detail mentioned and let you know if anything else happens. Thanks!

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions