Menu

Terraform

Follow

Comments

2 comments

  • Avatar
    Christopher Nielsen

    It is unclear how the following resources interact.

    • hot_ebs_volume
    • ebs_block_device
    • persistence

    For instance, if I am constructing a Cassandra cluster, and on node failure, I would like replacements to use the same EBS volumes as the terminated node, which, if any of the following should I do?

    1. Define ebs_block_device resources, then set persistence attributes to true.
    2. Create ebs volumes for all nodes, then define hot_ebs_volume entries, for them, and set persistence attributes to true.

     

  • Avatar
    Rom Hirsh (Edited )

    Hi Christopher,

    Thanks for bringing up these questions :) Perhaps checking out these articles will help to better understand the usage of the stateful feature

    As a quick clarification: 

    * Hot EBS Volumes - works as a "Group" pool of volumes that will be attached to an instance and will support cross AZ migration of the volumes. 

    * Persistence (stateful) - works by keeping each specific instances volume and root device to maintain a specific state, no need to supply a list of volumes.

    Specifically while using thePersistence (stateful) feature (option 1 as per your comment), if your Cassandra node is replaced we’ll clone the instance and bring it back. Your Cassandra cluster will behave as if the instance was down for some time. Bringing up a clone of the previous instance ensures that cluster IOPs are not wasted on bringing a new instance up.

Please sign in to leave a comment.