Skip to content

Verifying the Service

After terraform apply completes, run terraform output to retrieve the deployment endpoints and resource identifiers:

Terminal window
terraform output

Example output:

aws_region = "ap-southeast-2"
bedrock_max_tokens = 1024
bedrock_model_id = "au.anthropic.claude-sonnet-4-6"
cluster_name = "ecs-express-mode-demo-glm6pm-cluster"
container_image = "ghcr.io/platformfuzz/bedrock-image-analyzer:latest"
health_check_path = "/health"
health_check_url = "https://ec-04256d75ab0d4ba394bc90a351df08b0.ecs.ap-southeast-2.on.aws/health"
public_subnet_ids = [
"subnet-01068991d9e01116f",
"subnet-0b496507884f466e7",
]
service_access_type = "PUBLIC"
service_name = "ecs-express-mode-demo-glm6pm-web"
service_url = "https://ec-04256d75ab0d4ba394bc90a351df08b0.ecs.ap-southeast-2.on.aws"
vpc_id = "vpc-0ad6532587641ddce"
web_ui_url = "https://ec-04256d75ab0d4ba394bc90a351df08b0.ecs.ap-southeast-2.on.aws/docs"
OutputDescription
aws_regionAWS region where resources are deployed
service_url

Application URL
The unique Express-provisioned HTTPS URL on *.ecs.<region>.on.aws used for all normal application traffic.
for the web service on *.ecs.<region>.on.aws

service_access_type

Ingress access type — PUBLIC (internet-facing) or PRIVATE (VPC-internal only)

health_check_path

HTTP path the Express Mode load balancer uses for target health checks

health_check_urlFull URL the load balancer polls for target health checks
web_ui_url

Swagger UI for the image analysis API — open in a browser; the root URL returns 404

cluster_nameName of the ECS cluster hosting the web service
service_nameName of the ECS Express Mode web service
container_imageContainer image URI used by the web service
bedrock_model_idBedrock model or inference profile ID configured on the container
bedrock_max_tokensMaximum Bedrock response tokens configured on the container
vpc_idVPC ID created for ECS Express networking
public_subnet_idsPublic subnet IDs used by the web service and ALB

Confirm the service is responding by curling the health check URL:

Terminal window
curl -s -o /dev/null -w "%{http_code}" "$(terraform output -raw health_check_url)"

You should receive an HTTP 200 response indicating the container is healthy and serving traffic through the Shared ALB
The Application Load Balancer shared by up to 25 Express services in the same VPC using Host header routing rules.
.

Verify the ECS service has reached a steady state with desired count matching running count. Use the AWS CLI:

Terminal window
aws ecs describe-services \
--region "$(terraform output -raw aws_region)" \
--cluster "$(terraform output -raw cluster_name)" \
--services "$(terraform output -raw service_name)" \
--query "services[0].{desired:desiredCount,running:runningCount,pending:pendingCount}" \
--output table

The output should show desired equal to running and pending at zero. This confirms the Express Gateway Service
The aws_ecs_express_gateway_service Terraform resource that provisions an ECS service with managed ALB, auto scaling, and simplified configuration for HTTP/HTTPS web applications and APIs.
has launched successfully and all tasks passed the ALB health check.

The demo exposes three URLs derived from the same Express-provisioned endpoint:

OutputExample pathPurpose
service_url/Base HTTPS endpoint for API requests
health_check_url/healthURL the ALB polls to determine target health
web_ui_url/docsSwagger UI — use this to interact with the API in a browser

When viewing the ECS Tasks tab in the console, you may notice the Health status column shows Unknown for all tasks. This is normal and expected.

Express Mode does not define a container-level healthCheck in the task definition. Instead, operational health is determined entirely by the ALB target group health check configured via health_check_path. As long as the target group reports targets as healthy, the service is functioning correctly — the Application URL
The unique Express-provisioned HTTPS URL on *.ecs.<region>.on.aws used for all normal application traffic.
remains accessible.

ECS service Resources tab with application URL, ALB, and target groups EC2 Target Groups Targets tab showing healthy status