AWS App Runner FAQs

General

AWS App Runner is the easiest way to run your web application (including API services, backend web services, and websites) on AWS. With App Runner, there is no infrastructure or container orchestration required. You can go from an existing container image, container registry, source code repository, or existing CI/CD workflow to a fully running containerized web application on AWS in minutes.

App Runner seamlessly integrates with your development workflow to provide the right level of automation to deploy your code or container image without the need for you to understand, provision, scale, or manage any AWS compute, networking, and routing resources. You get the simplicity to run thousands of applications that automatically scale based on your traffic needs. Your applications also run on infrastructure that is maintained and operated by AWS, providing security and compliance best practices such as automated security patches and encryption.

You can deploy an AWS App Runner application on AWS by going to the App Runner console or using the AWS CLI and creating an App Runner application. When creating the App Runner application, you can provide a container image, connect your container registry, or connect your source code repository, and enter any optional build and start commands. App Runner will automatically create the service with a corresponding secure URL.

Yes. AWS App Runner supports automatically building a container image on curated App Runner platforms that contain supported runtimes and frameworks. When you associate your existing source code repository and optionally provide App Runner with your runtime build and start commands, App Runner automatically containerizes your web application and provides a running web application. 

Yes. You can use the same container image deployed to App Runner on Amazon ECS or Amazon EKS. This gives you the flexibility to move to different services as your needs change. You can deploy your code or containers directly to the new AWS service you choose using the tools and onboarding workflow provided by that service. 

Amazon VPC support on App Runner enables your service to access database engines like Amazon Aurora, MySQL, PostgreSQL, and MariaDB in Amazon Relational Database Service (RDS) instances that run in a VPC. This support also enables your service to access Redis caches hosted on Amazon ElastiCache nodes in a VPC; push messages to a message broker such as Amazon Managed Streaming for Apache Kafka or Amazon MQ in a VPC; and talk to a backend service running on AWS Fargate, supported in Amazon Elastic Container Service and Amazon Elastic Kubernetes Service, or Amazon Elastic Compute Cloud in a VPC. Finally, you can also enable your service to talk to an on-premises database that can be connected via an AWS Direct Connect network connection set up in a VPC.

Developers

AWS App Runner supports full stack development, including both frontend and backend web applications that use HTTP and HTTPS protocols. These applications include API services, backend web services, and websites. App Runner supports container images as well as runtimes and web frameworks including Node.js, Python, Corretto, .NET, PHP, Ruby and Go.

AWS App Runner supports multiple deployment options including the ability to immediately deploy a container image using the App Runner console or AWS CLI. If you have an existing CI/CD workflow that uses AWS CodePipeline, Jenkins, Travis CI, CircleCI, or another CI/CD toolchain, you can easily add App Runner as your deployment target using the App Runner API or AWS CLI. If you want App Runner to automatically provide continuous deployment for you, you can easily connect to your existing container registry or source code repository and App Runner will automatically provide a continuous deployment pipeline for you. 

With App Runner, you can have a unique application for each of your container images or source code branches with separate environment variables, deployment types (such as a development application or production application), and build and start commands. Once deployed, you get all the benefits of running your web application on App Runner including default security, automatic scaling, and monitoring.

AWS App Runner monitors the number of concurrent requests sent to your application and automatically adds additional instances based on request volume. If your application receives no incoming requests, App Runner will scale the containers down to a provisioned instance, a CPU-throttled instance ready to serve incoming requests within milliseconds. You can also optionally configure the number of concurrent requests sent to an instance in the autoscaling settings of your application.

Simply add your custom domain to your AWS App Runner application using the App Runner console or AWS CLI. After you add your custom domain name, App Runner provides instructions to help you update your DNS records with your DNS provider. App Runner supports custom sub domains (www.example.com), custom root domains (example.com), and wildcard domain (*.example.com). 

AWS App Runner does not restrict your ability to connect an application to other storage, database, or application integration services. Customers can easily configure their applications or containers with the necessary code and connection instructions, and their application is able to communicate with these external services over the network securely.

AWS App Runner fully integrates with Amazon CloudWatch Logs and provides you with runtime logs and deployment logs aggregated from the output streams of all of the system components, web frameworks, runtimes, build and deployment commands, and application/web servers. App Runner aggregates these into a single comprehensive channel available through the App Runner console, CloudWatch console, and AWS CLI. 

Yes. If you need to run other applications such as content management systems that need a persistent file system or machine learning jobs, you can use AWS Fargate with an orchestrator that is capable of multiple resources such as graphics acceleration or persistent volumes. You can also use Amazon CloudWatch as your single pane of glass to monitor applications running across App Runner, Amazon ECS tasks running on Fargate, and Amazon EKS pods running on Fargate.

AWS Copilot is a command line interface (CLI) that enables customers to quickly launch and easily manage containerized applications on AWS. You can use Copilot to quickly get up and running on AWS App Runner. You can also use Copilot as your standard CLI to operate across AppRunner and/or ECS/Fargate.

While creating an App Runner application, you can pass VPC ID, subnets, and security groups. This information will be used to create network interfaces that allow communication to a VPC. If you pass multiple subnets, App Runner will create multiple network interfaces—one for each subnet. For better availability, we recommend you specify at least two subnets.

Pricing and Billing

You are charged for the compute and memory resources used by your application. You can also pay for additional App Runner features like building your deployment from source code or automating your deployments. For information, see our pricing page.

You can set a maximum limit on the number of active container instances your application uses so that costs do not exceed your budget.

No. You only pay for data transfer costs—for example, you will pay for the communication between your App Runner application and your Amazon Relational Database Service instances if they are in different Availability Zones.