According to information I found with a quick Google search (one, two), Cassandra supports dynamically adding and removing nodes to a running cluster. Netflix has an interesting article here.
Based on this you can probably find a way to use auto-scaling to change the number of nodes as demand changes. You may (or may not) need to create a custom metric based on some kind of Cassandra specific information and have it sent up to CloudWatch, but the process should be reasonably straightforward otherwise. You might for example set a threshold for average CPU utilization across the cluster before an extra node is added or removed. You probably need to be careful not to remove nodes too quickly, in case there's some rebalancing happening - auto-scaling does support this.
However, I have no experience with Cassandra, so I could be completely wrong, and if I am I'm sure someone will correct me. I hope that the thoughts give you some ideas that you can research and develop yourself.