Scenario 1 using a source code:
a. Commit code to GitHub source repo.
b. Authorize access to source code in GitHub using AWS CodeStar.
c. Provide instructions for building and running the web service and specify a managed runtime environment supported by AWS App Runner. AWS CodeBuild then auto-packages the code and its dependencies and builds a new container image.
d. The container image is then pushed and stored into an Amazon Elastic Container Registry (Amazon ECR) repository, hosted within the AWS App Runner-owned account.
Scenario 2 using a source image:
a. Alternatively, start with a pre-built image stored in a customer-managed Amazon ECR repository, hosted within the customer-owned account.
b. By authorizing access to the container image using an AWS IAM Identity Center Role, the image is then pushed and stored into AWS App Runner-managed Amazon ECR repository.
App Runner Service creation:
The container image stored in Amazon ECR is then pulled for deployment as serverless AWS Fargate Tasks inside the AWS App Runner-owned Amazon Virtual Private Cloud, also know as AWS App Runner Service VPC. The AWS Fargate Tasks are deployed on an AWS Fargate cluster running across multiple Availability Zones for high availability in private subnets, and configured with AWS Application Auto Scaling.
A secure service URL is created/published after a successful deployment. The Secure Service URL maps to a public-facing AWS Network Load Balancer and is assigned a default domain name by AWS App Runner. Customers can also associate/map a custom domain name they own, but it must be publicly resolvable and can be registered with Amazon Route 53 Public Hosted Zone or with any DNS provider.