Skip to content

Ensure domain is deployed across three or more availability zones


To prevent data loss and minimize cluster downtime in the event of a service disruption, you can distribute nodes across three Availability Zones in the same region.


In the event of an Availability Zone disruption in a three-zone configuration, two-thirds as many data nodes have to process just as many requests to the cluster. As they process these requests, the remaining nodes are also replicating shards onto new nodes as they come online, which can further impact performance. If availability is critical to your workload, consider adding resources to your cluster to alleviate this concern.

Applies To

  • Databases


This rule is applied when the following tags are present:

Tag With Value
secureclouddb/provider aws
secureclouddb/service elasticsearch

Default Rule

 * @param {Object} awsElasticsearchDomainStatus - Elasticsearch Domain Status
 * @returns {boolean} true if the domain is deployed across three or more availability zones
function validate(databaseSettings) {

    const success =
        databaseSettings.awsDatabaseInstance &&
        databaseSettings.awsDatabaseInstance.elasticsearchDomain &&
        databaseSettings.awsDatabaseInstance.elasticsearchDomain.elasticsearchClusterConfig &&
        databaseSettings.awsDatabaseInstance.elasticsearchDomain.elasticsearchClusterConfig.zoneAwarenessEnabled &&
        databaseSettings.awsDatabaseInstance.elasticsearchDomain.elasticsearchClusterConfig.zoneAwarenessConfig &&
        databaseSettings.awsDatabaseInstance.elasticsearchDomain.elasticsearchClusterConfig.zoneAwarenessConfig.availabilityZoneCount >= 3

    return {

// invoke