diff --git a/src/how-tos/zilla-plus-aws-ecs-fargate.md b/src/how-tos/zilla-plus-aws-ecs-fargate.md
index 70c1a7cb..1b017157 100644
--- a/src/how-tos/zilla-plus-aws-ecs-fargate.md
+++ b/src/how-tos/zilla-plus-aws-ecs-fargate.md
@@ -38,85 +38,90 @@ This Guide will walk you through deploying your first service on AW
- Create the below `Dockerfile` with the container image using the version tag you got from the previous steps. Use the `COPY` instruction to add the `zilla.yaml` below to your container image.
-::: code-tabs
-@tab Dockerfile
+ ::: code-tabs
+
+ @tab Dockerfile
+
+ ```Dockerfile
+ FROM 709825985650.dkr.ecr.us-east-1.amazonaws.com/aklivity/zilla-plus-ecr:-alpine
+
+ COPY ./zilla.yaml /etc/zilla/zilla.yaml
+ ```
+
+ @tab zilla.yaml
+
+ ```yaml
+ ---
+ name: http-echo
+ bindings:
+ north_tcp_server:
+ type: tcp
+ kind: server
+ options:
+ host: 0.0.0.0
+ port:
+ - 7114
+ routes:
+ - when:
+ - port: 7114
+ exit: north_http_server
+ north_http_server:
+ type: http
+ kind: server
+ routes:
+ - when:
+ - headers:
+ :scheme: http
+ exit: north_echo_server
+ north_echo_server:
+ type: echo
+ kind: server
+ telemetry:
+ exporters:
+ stdout_logs_exporter:
+ type: stdout
+ ```
+
+ :::
+
+- Optionally add files, any other files used in your `zilla.yaml` can be added to the container in the same directory as the `zilla.yaml` config.
+
+ ```Dockerfile
+ COPY ./zilla.yaml /etc/zilla/zilla.yaml
+ COPY ./tls /etc/zilla/tls
+ COPY ./specs /etc/zilla/specs
+ ```
-```Dockerfile
-FROM 709825985650.dkr.ecr.us-east-1.amazonaws.com/aklivity/zilla-plus-ecr:-alpine
-
-COPY ./zilla.yaml /etc/zilla/zilla.yaml
-```
-
-@tab zilla.yaml
-
-```yaml
----
-name: http-echo
-bindings:
- north_tcp_server:
- type: tcp
- kind: server
- options:
- host: 0.0.0.0
- port:
- - 7114
- routes:
- - when:
- - port: 7114
- exit: north_http_server
- north_http_server:
- type: http
- kind: server
- routes:
- - when:
- - headers:
- :scheme: http
- exit: north_echo_server
- north_echo_server:
- type: echo
- kind: server
-telemetry:
- exporters:
- stdout_logs_exporter:
- type: stdout
-```
+- Build your image to be pushed to [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) or another registry.
-:::
+ ::: important Before you build
-::: note Adding other files
+ - Make sure you are logged in to the `Zilla Plus` registry to pull the base image. This is a separate log in action from any other registries (ex. If you are pushing the built image to Amazon ECR).
-Any other files used in your `zilla.yaml` can be added to the container in the same directory as the `zilla.yaml` config.
+ ```bash
+ aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 709825985650.dkr.ecr.us-east-1.amazonaws.com
+ ```
-```Dockerfile
-COPY ./zilla.yaml /etc/zilla/zilla.yaml
-COPY ./tls /etc/zilla/tls
-COPY ./specs /etc/zilla/specs
-```
+ - Confirm the CPU Architecture you need. Use the `docker build --platform` option to match the desired [cpuArchitecture](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RuntimePlatform.html#API_RuntimePlatform_Contents) that you can configure in your ECS task.
-:::
+ :::
-- Build your image to be pushed to [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) or another registry.
-
-```bash
-docker build -t zp-example/http-echo:v1 .
-```
-
-::: important Build with the correct Architecture
-Use the `docker build --platform` option to match the desired [cpuArchitecture](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RuntimePlatform.html#API_RuntimePlatform_Contents) that you can configure in your ECS task.
-:::
+ ```bash
+ docker build -t zp-example/http-echo:v1 .
+ ```
- Tag your image with the remote repository name and tag.
-```bash
-docker tag zp-example/http-echo:v1 [your-registry-url]/zp-example/http-echo:v1
-```
+ ```bash
+ docker tag zp-example/http-echo:v1 [your-registry-url]/zp-example/http-echo:v1
+ ```
- Push your image to your remote repository.
-```bash
-docker push [your-registry-url]/zp-example/http-echo:v1
-```
+ ```bash
+ docker push [your-registry-url]/zp-example/http-echo:v1
+ ```
## Create an AWS ECS Fargate Task for your service
@@ -124,93 +129,93 @@ docker push [your-registry-url]/zp-example/http-echo:v1
- Create an IAM role for the Task. This role will be used by the running container.
-::: tabs
+ ::: tabs
-@tab Task role
+ @tab Task role
-Name:
+ Name:
-```text
-ecsTaskRole_ZillaPlus
-```
+ ```text
+ ecsTaskRole_ZillaPlus
+ ```
-Policies:
+ Policies:
-```text
-AWSMarketplaceMeteringFullAccess
-AWSMarketplaceMeteringRegisterUsage
-```
+ ```text
+ AWSMarketplaceMeteringFullAccess
+ AWSMarketplaceMeteringRegisterUsage
+ ```
-:::
+ :::
- If you used the Amazon ECR as your image repository, create a role with the `AmazonECSTaskExecutionRolePolicy` permission and use it as the `Task execution role` when creating the Task.
-::: tabs
+ ::: tabs
-@tab Task execution role
+ @tab Task execution role
-Name:
+ Name:
-```text
-ecsTaskExecutionRole
-```
+ ```text
+ ecsTaskExecutionRole
+ ```
-Policies:
+ Policies:
-```text
-AmazonECSTaskExecutionRolePolicy
-```
+ ```text
+ AmazonECSTaskExecutionRolePolicy
+ ```
-:::
+ :::
- [Create a new Task Definition](https://us-east-1.console.aws.amazon.com/ecs/v2/create-task-definition-with-json) from JSON
- Substitute ``, ``, and `` for their respective values.
-::: code-tabs
-
-@tab Task Definition JSON
-
-```json
-{
- "family": "zilla-plus-http-echo-fargate",
- "networkMode": "awsvpc",
- "containerDefinitions": [
- {
- "name": "zp-http-echo",
- "image": "/zp-example/http-echo:v1",
- "portMappings": [
- {
- "name": "http",
- "containerPort": 7114,
- "hostPort": 7114,
- "protocol": "tcp",
- "appProtocol": "http"
- }
- ],
- "essential": true,
- "command": ["start", "-v", "-e"],
- "logConfiguration": {
- "logDriver": "awslogs",
- "options": {
- "awslogs-group": "/ecs/",
- "mode": "non-blocking",
- "awslogs-create-group": "true",
- "max-buffer-size": "25m",
- "awslogs-region": "us-east-1",
- "awslogs-stream-prefix": "ecs"
+ ::: code-tabs
+
+ @tab Task Definition JSON
+
+ ```json
+ {
+ "family": "zilla-plus-http-echo-fargate",
+ "networkMode": "awsvpc",
+ "containerDefinitions": [
+ {
+ "name": "zp-http-echo",
+ "image": "/zp-example/http-echo:v1",
+ "portMappings": [
+ {
+ "name": "http",
+ "containerPort": 7114,
+ "hostPort": 7114,
+ "protocol": "tcp",
+ "appProtocol": "http"
+ }
+ ],
+ "essential": true,
+ "command": ["start", "-v", "-e"],
+ "logConfiguration": {
+ "logDriver": "awslogs",
+ "options": {
+ "awslogs-group": "/ecs/",
+ "mode": "non-blocking",
+ "awslogs-create-group": "true",
+ "max-buffer-size": "25m",
+ "awslogs-region": "us-east-1",
+ "awslogs-stream-prefix": "ecs"
+ }
}
}
- }
- ],
- "requiresCompatibilities": ["FARGATE"],
- "taskRoleArn": "",
- "executionRoleArn": "",
- "cpu": "1 vCPU",
- "memory": "3 GB"
-}
-```
+ ],
+ "requiresCompatibilities": ["FARGATE"],
+ "taskRoleArn": "",
+ "executionRoleArn": "",
+ "cpu": "1 vCPU",
+ "memory": "3 GB"
+ }
+ ```
-:::
+ :::
## Create a Service from your AWS ECS Fargate Task
@@ -219,12 +224,14 @@ AmazonECSTaskExecutionRolePolicy
- [Create a Service](https://us-east-1.console.aws.amazon.com/ecs/v2/clusters/my-ecs-cluster/create-service) from your new task.
- Deployment configuration:
- Family: `zilla-plus-http-echo-fargate`
- - Service name: `Your Zilla Plus HTTP Echo service`
+ - Service name: `my_zilla_plus_service`
- Network configuration:
- Set the VPC to be the Same as your ECS Cluster.
- - Make sure the security group allows traffic over the ports defined `portMappings` of the service.
- Select the Public subnets.
- Make sure the `Public IP` flag to true.
+ ::: important Open Service Ports
+ Make sure the security group allows traffic over the ports defined in the `portMappings` of the service.
+ :::
- `Create` the Service.
## Verify your service is running
@@ -236,13 +243,13 @@ Once the service has started with all tasks succeeding, you will see the