This CloudFormation Stack provisions Rookout On-Prem Controller and Datastore on AWS ECS Fargate cluster. This nested stack includes:
- VPC
- ECS Cluster
- Application load-balancer
- Certificate issued by ACM (Amazon Certificate Manager) for rookout sub-domains
- Rookout ETL Controller https://docs.rookout.com/docs/etl-controller-intro/
- (Optional) Rookout On-Prem datastore component https://docs.rookout.com/docs/dop-intro/
- (Optional) Demo application https://github.com/Rookout/tutorial-python
For custom infrastructure deployment we are recommending our official terraform module https://registry.terraform.io/modules/rookout/rookout-deployment/aws/latest
- AWS account
- Rookout enterprise account token
- Route53 registered domain https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register-update.html
- Route53 public hosted zone associated with domain https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-working-with.html.
- Controller only
- Controller + Datastore
- Controller + Datastore + Demo application (default)
wss://controller.rookout.PROVIDED_DOMAIN - URL of the controller, used for SDK (rooks) .
https://datastore.rookout.PROVIDED_DOMAIN - URL to the datastore, used with rookout client (web browser application).
https://demo.rookout.PROVIDE_DOMAIN - Flask demo application for debuging.
aws cloudformation deploy \
--template-file rookout-stack.yaml \
--stack-name rookout-stack \
--parameter-overrides HostedZone=<HostedZoneID> \
Domain=<Domain> \
RookoutToken=<Rookout Token> \
DataStoreDeploy=true \
DemoDeploy=true \
ControllerCPU=2048 \
ControllerMemory=4096 \
DataStoreCPU=2048 \
DataStoreMemory=4096
aws cloudformation package --template-file rookout-template.yaml --output-template rookout-stack.yaml --s3-bucket <YOUR BUCKET NAME>
- (Optional)
aws s3 cp rookout-stack.yaml s3://<YOUR BUCKET NAME>
- Follow the cloudformation wizard or use AWS-CLI https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/index.html
ParameterName | Description | Default |
---|---|---|
HostedZone | Public Route53 HostedZone where DNS reccords will be created | |
Domain | Your domain assosiated with HostedZone | |
RookoutToken | Rookout token | |
DataStoreDeploy | Deploy Rookout On-Prem datastore true/false | true |
DemoDeploy | Deploy demo application true/false | true |
ControllerCPU | The number of cpu units used by the Controller task | 2048 |
ControllerMemory | The amount (in MiB) of memory used by the Controller task | 4096 |
DataStoreCPU | The number of cpu units used by the DataStore task | 2048 |
DataStoreMemory | The amount (in MiB) of memory used by the DataStore task | 4096 |
OutputName | Description |
---|---|
ControllerEndpoint | URL of the controller, used for SDK (rooks) |
DataStoreEndpoint | URL to the datastore, used with rookout client (web browser application) |
DemoAppURL | Flask demo application for debuging URL |