Customizing the cluster nodes easily using bootstrap actions
EMR offers the freedom to control all aspects of the cluster nodes. You can provide your own Amazon Machine Images (AMIs) and run your own choice of OS (within reason) and configuration.
However, if you create or even branch your AMIs, you will create a maintenance burden for the future such as patching for vulnerabilities or fixes. In practice, you rarely need to deviate so much as to justify this effort. In most cases, you just need to do small customizations, such as installing a system package, changing some OS configuration, or running some special service.
For such cases, bootstrap actions provide a straightforward way of running these customizations just by running a shell script as root
during setup. In most cases, this means that you can run the same actions on newer versions of the OS and EMR, reducing the operational burden. If new nodes are added to the cluster, they will also run the same bootstrap actions...