This is a very simple AWS CDK project to deploy a 3 node Orbital Cluster into AWS ECS Fargate.
There are 2 important settings to setup an Orbital Cluster in ECS Fargate.
- Turn on the Clustered Schema Distribution:
This can either be setting the following environment variable in Orbital task setting:
VYNE_SCHEMA_SERVER_CLUSTERED: true
alternatively, you can enable the clustered schema distribution with in options with:
--vyne.schema.server.clustered=true
- Configure Hazelcast Discovery
Orbital uses Hazelcast in clustered mode for schema distribution and hence the hazelcast discovery mechanism needs to be setup accordingly. Here is the hazelcast documentation for ECS Fargate Discovery
If you check the sample CDK Stack implementation., you will see that container start command creates the required Hazelcast configuration file at
/opt/service/aws_hazelcast.xml
and sets the VYNE_HAZELCAST_CONFIGXMLPATH
environment variable as:
VYNE_HAZELCAST_CONFIGXMLPATH: "/opt/service/aws_hazelcast.xml"
instead of the environment variable, you can use the following options value:
--vyne.hazelcast.configXmlPath=/opt/service/aws_hazelcast.xml
With these settings, you should have a 3 node Orbital ECS Fargate cluster. To Verify that your individual Orbital tasks formed a 3 node cluster, you can send a simple GET
request to
/api/config/cluster
which should give you a response like:
{
"members": [
"10.0.203.143",
"10.0.212.6",
"10.0.176.250"
]
}