aws / copilot-cli

The AWS Copilot CLI is a tool for developers to build, release and operate production ready containerized applications on AWS App Runner or Amazon ECS on AWS Fargate.
https://aws.github.io/copilot-cli/
Apache License 2.0
3.53k stars 417 forks source link

[Feature Request]: Support ARM64 FARGATE_SPOT #5934

Open interu opened 2 months ago

interu commented 2 months ago

Describe your idea/feature/enhancement

Amazon ECS now supports AWS Graviton-based Spot compute with AWS Fargate https://aws.amazon.com/jp/about-aws/whats-new/2024/09/amazon-ecs-graviton-based-spot-compute-fargate/

I would like to see official support for this. I searched the source code but could not find any code that restricts it to x86 only. If you already support it, please rewrite the docs.

Proposal

Additional Details

KollaAdithya commented 2 months ago

Hello @interu !

To get started, just configure your task definition just like you do today with cpu-architecture = ARM64 and choose FARGATE_SPOT as the capacity provider to run your Amazon ECS service or a standalone task. Amazon ECS will leverage spare AWS Graviton-based compute capacity available in the AWS cloud for running your service or task.

As mentioned from the blogpost you should be able to configure these two fields in the manifest to have ARM64/ FARGATE_SPOT.

  1. platform as linux/arm64 which is ARM64 based cpu arvhitecture. 2.count.spot to use FARGATE_SPOT as capacity provider.

Action item: update the docs to remove this below info section

Fargate Spot is not supported for containers running on ARM architecture.

interu commented 2 months ago

Hello @KollaAdithya I actually tried it. However, an error occurred in the following validation. https://github.com/aws/copilot-cli/blob/mainline/internal/pkg/manifest/validate.go#L2397-L2402

iamhopaul123 commented 2 months ago

Hello @interu thank you for diving deep into the codebase. Sounds like we should remove the validation since it's supported now.

interu commented 1 month ago

When will it be release? I am eagerly awaiting its release.