Create traffic routes
- Instead of randomly distributing traffic using weights among virtual nodes, direct the traffic to our canary only if the request header canary_fleet equals true.
# Define variables #
SPEC=$(cat <<-EOF
{
"httpRoute": {
"action": {
"weightedTargets": [
{
"virtualNode": "crystal-sd-epoch",
"weight": 1
}
]
},
"match": {
"prefix": "/",
"headers": [
{
"name": "canary_fleet",
"match": {
"exact": "true"
}
}
]
}
},
"priority": 1
}
EOF
); \
# Create app mesh route #
aws appmesh create-route \
--mesh-name appmesh-workshop \
--virtual-router-name crystal-router \
--route-name crystal-header-route \
--spec "$SPEC"