Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →You can deploy a retrieval-augmented generation (RAG) API on AWS App Runner if your AWS account already has access to App Runner. AWS closed the service to new customers on March 31, 2026, but says existing customers can continue using it and create new services. App Runner hosts your HTTP API; it does not provide the documents, retrieval system, or answer-generation behavior. Those parts need to come from a separate RAG implementation, such as Amazon Bedrock Knowledge Bases.
This guide walks through the architecture and deployment choices, then explains how to test the live API and what an App Runner migration would involve.
As an Amazon Associate I earn from qualifying purchases.
Can you create a new App Runner service?
Only if your AWS account is eligible. AWS closed App Runner to new customers on March 31, 2026. Existing customers can continue to use it, including creating new resources and services, according to AWS’s App Runner availability change notice. If your account does not already have access, this deployment path is not available to you.
AWS recommends that existing App Runner customers explore Amazon ECS Express Mode when considering migration. That is a suggested direction for existing users, not a required part of deploying a RAG API on App Runner.
#1 Best Overall
What does App Runner do in a RAG API?
Think of the API as the front desk, not the library or the answer engine. A client sends a question to an HTTP endpoint; your API passes it to a retrieval-and-generation layer; that layer finds useful source material and uses it to help a model answer; your API returns the response, ideally with references to the material used.
- App Runner: runs and exposes your web service, which receives requests and calls the RAG components.
- The retrieval layer: searches your indexed material for chunks relevant to the question.
- The model: generates an answer using the question and retrieved context.
- Your API response: returns the answer and, where supported, citations or other source references.
App Runner can deploy an API, but it does not create or manage a RAG corpus by itself. Amazon Bedrock Knowledge Bases is one AWS-managed option for the retrieval and generation layer; a custom implementation can use different retrieval, storage, and model components. The right design depends on your data, latency needs, model choice, and budget, none of which are specified by the deployment pattern alone. AWS describes the managed option in its Knowledge bases for Amazon Bedrock guidance.
Rank #2
How does Bedrock Knowledge Bases fit in?
For a Bedrock knowledge base, source data is ingested, split into chunks, converted into embeddings, and made searchable. At query time, the system retrieves relevant chunks. The data source needs to be configured and synced before the knowledge base can be queried. Your App Runner API then calls the appropriate Bedrock runtime operation using an AWS identity with the necessary permissions.
Free tools Windows power users keep installed
One-click scans. No signup required.
| Operation | What it returns or does | When it fits |
|---|---|---|
Retrieve |
Returns relevant source chunks. | Use it when your application needs the retrieved material and will handle generation separately. |
RetrieveAndGenerate |
Retrieves relevant chunks and invokes a model to produce a natural-language response, with source citations. | Use it when you want Bedrock to handle retrieval and generation as a combined operation. |
AWS explains these operations in Retrieving information from data sources using Amazon Bedrock Knowledge Bases and describes testing the combined query flow in Query a knowledge base and generate responses based off the retrieved data. The API still needs to handle the client request and return the result in the format your application expects.
Should you deploy source code or a container image?
App Runner supports deployments from either source code or a container image. For a small Python API without an existing container pipeline, source deployment is often the simpler path to follow. If your team already builds and maintains images, image deployment may fit better.
| Choice | What you provide | Trade-off |
|---|---|---|
| Source code | A connected code repository, selected branch and source directory, plus build and run commands for a managed Python service. | App Runner builds and deploys the source; you do not need to supply a prebuilt image. |
| Container image | A container image for the service. | You control the image build and maintenance, and need an image workflow. |
For a new managed Python source deployment, use a currently supported runtime and the current build guidance. AWS’s Python platform guide identifies Python 3.11 with its revised build. AWS lists support for Python 3.7 and 3.8 as ending on December 1, 2025, so those versions are not appropriate choices for a new service. The general source-code service guide covers the source-based deployment model.
Rank #4
How do you deploy the API from a repository?
- Prepare the API. Put the application code and required configuration in a GitHub or Bitbucket repository. The service should expose an HTTP endpoint that accepts a question, calls your selected retrieval-and-generation layer, and returns its result. The API’s RAG behavior is application logic or a separate service integration; App Runner does not supply it.
- Create the App Runner service. In the AWS console, start creating an App Runner service and choose source code as the deployment source. Connect the repository, select the branch, and set the source directory if the application is not at the repository root. AWS’s service-creation guide describes the creation workflow.
- Configure the Python build and launch. Choose the supported Python runtime and provide the build and run commands that match your repository and application. The commands depend on the project, so use the values appropriate to its dependency and server setup rather than copying a command meant for a different framework.
- Choose how deployments are triggered. Select automatic deployment if App Runner should deploy when the configured source changes, or manual deployment if an operator should initiate each release. AWS documents the deployment choices in Deploying a new application version to App Runner.
- Create the service and wait for deployment. After creation or a later deployment, wait for the service status to become
Running. Then open its default domain and send a request to the API endpoint.
Should deployments be automatic or manual?
| Trigger | How it works | Best fit |
|---|---|---|
| Automatic | App Runner watches the configured source or image for changes and deploys updates. | Teams that prioritize a convenient path from a committed change to a deployment. |
| Manual | An operator starts each deployment. | Teams that want an explicit release step or tighter change control. |
The choice controls deployment timing; it does not validate API behavior or the quality of generated answers.
Recommended Free Tools
How do you check that the RAG API works?
A Running status means the service deployment completed, not that the whole RAG request path is healthy. Test the API from its default domain with a real request and check each handoff: the endpoint receives the question, the service can call the retrieval-and-generation layer, and the response includes the expected answer and references where applicable.
Best Value
- If the service is not Running: inspect the deployment details and verify that the configured source, runtime, build command, and run command match the application.
- If the endpoint responds but retrieval or generation fails: check that the knowledge base data source has been configured and synced, and verify the AWS identity and permissions used for the Bedrock call.
- If an answer returns without useful source context: check the retrieved chunks and the way the application handles the result. A successful HTTP response alone does not establish that retrieval is relevant.
For a managed knowledge base, AWS provides a guide to deploying it for an application in Deploy your knowledge base for your AI application.
What should you know about citations and trust?
Citations help a reader trace an answer to source material, but they are not a guarantee that the answer is correct. AWS describes RetrieveAndGenerate citations as corresponding to source material relevant to the query; relevance is useful evidence, not independent verification of every generated claim. Review how the API displays citations and ensure that retrieved content is appropriate for the requester to see.
AWS also states that guardrails apply to the input and generated response, but not to references retrieved from Knowledge Bases at runtime. Treat access control and handling of retrieved content as separate design responsibilities rather than assuming a guardrail protects every returned reference.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
What does migration from App Runner to ECS Express Mode involve?
AWS points existing App Runner customers toward ECS Express Mode when exploring migration. Express Mode requires a container image, so an API deployed from source code on App Runner needs an additional containerization step. The image can then be pushed to a registry such as Amazon ECR and deployed through ECS Express Mode.
AWS describes Express Mode as provisioning an ECS/Fargate service, an Application Load Balancer, autoscaling, and networking. This is a different deployment path with additional container and ECS resources; it is not a setting required to keep an eligible existing App Runner service running.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




