If you use a container orchestration service (ECS, GKE) then you use that system to upgrade container image with new app versions.
If you use autoscaling groups / managed instance groups, then you use that to replace VMs with new ones running containers with the new app image.
Using rolling updates, the load balancer drains connections to a container and then it is replaced.
Ideally this is done using your IaC system. So a deployment just involves changing the container image (app version) and applying the update.
If you use a container orchestration service (ECS, GKE) then you use that system to upgrade container image with new app versions.
If you use autoscaling groups / managed instance groups, then you use that to replace VMs with new ones running containers with the new app image.
Using rolling updates, the load balancer drains connections to a container and then it is replaced.
Ideally this is done using your IaC system. So a deployment just involves changing the container image (app version) and applying the update.