Running Cluster Neos on AWS

Hi ,

Was wondering what is required to run a Neos cluster in AWS ? Does it require an EFS volume or it can be configured to use S3 shared storage and EBS for local storage such file cache etc ?

Thanks

-Emily

Not tried it personally, but Flownative released this package for S3 and resource handling

Regarding cache, I would look at something like redis, there is a built in backend for that, that should be configurable to any redis like service from AWS

We are running Neos in AWS.

We use Elastic Beanstalk, Elastic Cache (Redis), ElasticSearch Service, S3, and RDS MariaDB, along with CloudFront.
You don’t need any EFS Volume as all your assets are stored in S3. So your EC2/Docker Container will only have the code. You will need some writeable space for some minimal files which might get still written, e.g. log files, but here you should use something like Sentry or Datadog to collect them.

Best,
Alex

The only reason to have an EFS volume that I see is to store/have access to the shared encryptionKey (Data/Persistent) without manually copying it over. Everything else can easily live on the EBS/S3.

In the end it’s a trade-off: keep e.g. the temporary data/caches in a shared volume means easier resolving of those occassional cache-issues (a single cache:flush will resolve it for all instances - though you could also solve that by a systems manager script), but has lower availability (a messed up cache will break all instances).

@kapale Do you have some best-practices regarding the log setup?

Good point with the encryptionKey, we store them in the AWS Parameter Store SSM.

@aberl do you talk about Neos configuration for logs or how we do the monitoring/logging in a big picture?

I haven’t changed the default Neos log settings so far as there was no need.

We are using Datadog with infrastructure, serverless, APM monitoring combined with log tracing, browser tests and so on. So we can exactly see, in a complete view, what’s the root cause of a problem.

If the customer doesn’t want such a big monitoring/logging concept, we use Sentry which is also quite cheap.

I was indeed aiming for a Neos specific configuration for logs, e.g. if you have a custom LoggingInterface implementation to direct logs to Sentry/Datadog.

I haven’t changed the default Neos log settings so far as there was no need.

So how do you get the logs to the analyzer service of choice?

Good point with the encryptionKey, we store them in the AWS Parameter Store SSM.

Interesting! Care to elaborate a bit more in depth? How do you get it out of the parameter store into Neos?