-
Notifications
You must be signed in to change notification settings - Fork 430
Description
Description:
copilot version: v1.34.1
When deploying to AppRunner, only a AWS::AppRunner::Service
resource is required. Copilot should still handle environments appropriately (aws account + region), but it shouldn't create the stack with the VPC + ECS cluster.
Details:
Copilot groups resources into Application
, Service
and Environment
... an Application
is a collection of Services
and Environments
.... it works great when using ECS on Fargate. Each Environment
contains the networking resources (VPC, subnets, etc.) + the ECS cluster + ALB (application load balancer). Each Service
contains the ECS resources for the workload: task definition, task role, service + ALB configuration to route traffic + log group.
When using AppRunner instead of ECS on Fargate, copilot provisions unused resources. You still have an Application
, a Service
and an Environment
, however the Environment
resources are no longer required. All you need is the Service, which now contains an AppRunner service definition. Copilot still deploys the environment, which means it creates the networking resources + an unused ECS cluster 👀
Observed result:
I have an unused VPC + ECS cluster in my aws account (per env).
Expected result:
I only require the AppRunner service.
Debugging:
Tried going through the process end-to-end simply using copilot init
. Also tried starting out with copilot init
, but then manually creating an environment & deploying the app. NOTE: creating an environment is not enough to be able to deploy the app, you must also deploy the environment! (which creates the unused resources)