⚡️ Features and enhancements
- Support extensible ephemeral task storage (#2219)
Previously, Fargate tasks were limited to 20GiB of storage space. Now, you can provision up to 200GiB of ephemeral task storage for workloads with large datasets or heavy ephemeral storage requirements.
storage: ephemeral: 100 // Size in GiB
This storage is shareable between containers and sidecars in the same task definition.
- Add managed EFS volume support (#2137)
You can now specify
efs: true
in volume configuration and Copilot will provision an EFS volume which all services can share.storage: volumes: managedEFSVolume: path: /var/efs read_only: false efs: true
You can also specify a custom UID and GID for the created access point:
efs: uid: 10000 gid: 100000
- Enable Fargate Spot in autoscaling config (#2188)
You can now specify autoscaling and
count
configurations which include Fargate Spot capacity! For example, you can specify that you want all your capacity to be placed on spot:count: spot: 2
Or, when you specify an autoscaling range, you can specify the
spot_from
field, which tells Copilot the threshold at which you want your service to start scaling into Spot capacity:count: range: min: 2 max: 10 spot_from: 4
In this example, your service will place 3 tasks on dedicated Fargate capacity. Copilot will attempt to place all tasks above this threshold on Spot capacity.
- Add
--secrets
and--cluster
flags tocopilot task run
(#2163, #2164) - Allow use of specific Codebuild images in pipelines (#2125)
//pipeline.yml build: image: aws/codebuild/standard:3.0
- Display AWS resources as architecture hints next to patterns (#2179)
- Add
labels
field to allow runtime labels on containers and sidecars (#2186)image: build: ./Dockerfile labels: com.amazonaws.ecs.copilot.description: Hello world! sidecars: myCoolSidecar: image: public.ecr.aws/my-image:abcde labels: com.amazonaws.ecs.copilot.sidecar.description: cool sidecar
- Use image digest instead of commit id when deploying (#2196)
Now you don't have to create a new commit to ensure that your service is deployed whenever you make a code change. This also streamlines workflows in directories which are not Git repositories, as we no longer require you to enter a tag on deployment.
🐛 Bug Fixes
- Clean up several minor bugs in
copilot pipeline status
(#2170) - Select from SSM when deleting services to allow selection of services not in local workspace (#2182)
- Create dedicated KMS keys for Aurora addons to resolve an issue with cross-account decrypt permissions (#2207)
- Bump version of Lambda runtimes to Node.js 12 from Node.js 10 (#2237)