Type object
Schema URL https://catalog.lintel.tools/schemas/schemastore/aws-copilot-manifest/_shared/latest--backend-service.json
Parent schema aws-copilot-manifest
Type: object

Properties

name string required

The name of your service.

pattern=^[a-zA-Z][a-zA-Z0-9-]*$
type string required

The architecture type for your service. Backend Services are not reachable from the internet, but can be reached with service discovery from your other services.

Constant: "Backend Service"
http object

The http section contains parameters related to integrating your service with an internal Application Load Balancer.

12 nested properties
path string required

Requests to this path will be forwarded to your service. Each Backend Service should listen on a unique path.

pattern=^/.*$
target_port port-value

Optional. The container port that receives traffic. By default, this will be image.port if the target container is the main container, or sidecars..port if the target container is a sidecar.

alb string

The ARN or name of an existing internal ALB to import. Listener rules will be added to your listener(s). Copilot will not manage DNS-related resources like certificates.

healthcheck string | http-healthcheck
deregistration_delay duration

The amount of time to wait for targets to drain connections during deregistration. The default is 60s. Setting this to a larger value gives targets more time to gracefully drain connections, but increases the time required for new deployments. Range 0s-3600s.

target_container string

A sidecar container that requests are routed to instead of the main service container. If the target container's port is set to 443, then the protocol is set to HTTPS so that the load balancer establishes TLS connections with the Fargate tasks using certificates that you install on the target container.

stickiness boolean

Indicates whether sticky sessions are enabled.

allowed_source_ips string[]

CIDR IP addresses permitted to access your service.

alias string | string[] | object[]

HTTPS domain alias of your service.

hosted_zone string

ID of existing private hosted zone, into which Copilot will insert the alias record once the internal load balancer is created, mapping the alias name to the LB's DNS name. Must be used with alias.

version string

The HTTP(S) protocol version. Must be one of 'grpc', 'http1', or 'http2'. If omitted, then 'http1' is assumed. If using gRPC, please note that a domain must be associated with your application.

Values: "grpc" "http1" "http2"
additional_rules http-additional-rule[]

Configure multiple ALB listener rules.

image image-config

The image section contains parameters relating to the Docker build configuration or referring to an existing container image.

cpu cpu
memory memory
platform platform
count count
exec boolean

Enable running commands in your container. The default is false. Required for $ copilot svc exec.

deployment deployment

The deployment section contains parameters to control how many tasks run during the deployment and the ordering of stopping and starting tasks.

entrypoint entrypoint
command command
sidecars sidecars
network network

The network section contains parameters for connecting to AWS resources in a VPC.

Key-value pairs that represent environment variables that will be passed to your service. Copilot will include a number of environment variables by default for you.

env_file string

The path to a file from the root of your workspace containing the environment variables to pass to the main container. For more information about the environment variable file, see Considerations for specifying environment variable files.

secrets secrets

Key-value pairs that represent secret values from AWS Systems Manager Parameter Store or AWS Secrets Manager that will be securely passed to your service as environment variables.

storage storage

The Storage section lets you specify external EFS volumes for your containers and sidecars to mount. This allows you to access persistent storage across availability zones in a region for data processing or CMS workloads. For more detail, see the storage page. You can also specify extensible ephemeral storage at the task level.

publish publish

The publish section allows services to publish messages to one or more SNS topics.

logging logging

The logging section contains log configuration. You can also configure parameters for your container's FireLens log driver in this section.

observability observability

The observability section lets you configure ways to measure your service's current state. Currently, only tracing configuration is supported.

taskdef_overrides taskdef-override[]

The taskdef_overrides section allows users to apply overriding rules to their ECS Task Definitions.

environments environments

The environment section lets you override any value in your manifest based on the environment you're in.