Skip to content

[Bug]: When deploying to AppRunner, Copilot still provisions VPC + ECS (Environment) #6040

@ColdFire87

Description

@ColdFire87

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    type/bugIssues that are bugs.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions