This is by far the best way to deploy compute into AWS in containerized workloads.
The abstraction you want is Jobs: https://aws.github.io/copilot-cli/docs/concepts/jobs/
Building this any other way on AWS would require provisioning multiple artifacts. The Copilot Jobs abstraction basically encapsulates the provisioning of those artifacts into one repeatable pattern.
Fully extensible with CDK and CF if the out-of-the-box workload abstractions aren't enough or you need deeper customization. I have found that the OOB abstractions are "right-sized" for most common workloads and rarely require extension aside from occasionally IAM when integrating with other AWS services.