I wonder, lets say I have chef-server setup on ec2 instance and Postgres in RDS.Chef server manages around 10 Application nodes.
One day ec2 with chef server gets terminated and no way to restore. If I install a new chef server and point to old Postgres which is RDS with all data from old Chef server, will I be able to recover Chef at state it was prior termination or not?
Are you storing your Chef Bookshelf on S3? I can’t answer authoritatively,
but I think most state exists in Postgres and the Bookshelf. There’s data
in Redis and RabbitMQ as well, but I think that data is meant to be
short-lived and may be okay to lose if you’re not worried about a
I’ll have to ping some of the server maintainers to find the exact current state of things, but what I know is this:
In the past, there were two sources of persistent data, the postgres db and the filesystem store for cookbook files. In addition there is a search index based on Solr which can be rebuilt from data in the database. If you’re going all-in on AWS, you can use RDS for the database, and S3 for the file store. If you do that, you can create a new server and at least all of your data will be there.
I know there was also some work done to let you use AWS elastic search (forget the brand name) instead of Solr, which would mean that you wouldn’t need to regenerate any data after recovering from a disaster and the Chef Server would be totally stateless. But I don’t recall if that work made it into a release yet.
There’s been a lot of work on this kind of stuff over the past few Chef Server releases so you may find more specific answers by reading the release notes for the past few Chef Server versions.
Thank you for your reply, it did help to clear things and I did make it work using S3 and PostgreSQL on AWS. Also I found in docs, that I can point VIP for rabbitmq as-well (https://docs.chef.io/config_rb_server.html#rabbitmq). Does it mean that I can separate Queueing as-well?
@kallistec Have you find out about ElasticSearch instead of Solr? That would help as-well, as I am using ElasticSearch for logs, and can dedicate some of it power for Chef.
chef-server-ctl reconfigure should create the required index in elasticsearch.
Also I found in docs, that I can point VIP for rabbitmq as-well (chef-server.rb Settings). Does it mean that I can separate Queueing as-well?
While I believe it is possible to run RabbitMQ externally, we don't test this confirmation and thus it likely isn't well supported by chef-server-ctl reconfigure and chef-server-ctl upgrade. If you are using ElasticSearch as your search backend and aren't using Chef Analytics, then it is possible to turn off RabbitMQ completely with the following configuration item:
If I put things onto RDS and S3 and rest on server, how CCR's will be calculated?
Also in reference that I provided above, it showed on RAM extensive node, what about node with 4 CPU and 4 RAM, what CCR it will have?
Is there a formula to calculate CCR?
If you are using S3 for cookbook storage, RDS for Postgresql, and ElasticSearch for the search index, I would expect that fewer resources would be needed on the chef-server VM itself. This is especially true if you offload search to ElasticSearch as a good deal of RAM is used by Solr. Unfortunately, I can't give you hard numbers for what you can expect to see.
If you do use ElasticSearch for your search backend, please do not hesitate to report issues either on GitHub or here. The ElasticSearch support is rather new and we welcome feedback on it.
Thank you @kdoonan your way did work for me as-well. The reason is that I add bucket name to vip and external_url, the reason for that, is that I had bucket name with periods, and it was complaining that I have to include bucket name into hostname as-well or something like that.
https can be in vip as-well, at least it worked for server 12.4.1