π‘οΈ AWS OpenSearch Domain Instance Count is fewer than threeπ’
- Contextual name: π‘οΈ Domain Instance Count is fewer than threeπ’
- ID:
/ce/ca/aws/opensearch/domain-instance-count - Tags:
- π’ Policy with categories
- π’ Policy with type
- π’ Production policy
- Policy Type:
COMPLIANCE_POLICY - Policy Categories:
RELIABILITY
Logicβ
- π§ prod.logic.yamlπ’
Similar Policiesβ
- AWS Security Hub: [Opensearch.6] OpenSearch domains should have at least three data nodes
- AWS Security Hub: [ES.6] Elasticsearch domains should have at least three data nodes
Descriptionβ
Descriptionβ
This policy identifies AWS OpenSearch Domains that do not adhere to high-availability best practices, specifically the requirement for a minimum of three data nodes and the use of Zone Awareness.
Rationaleβ
High availability in AWS OpenSearch Service is achieved through redundancy and fault isolation across Availability Zones:
- Zone Awareness: When enabled, OpenSearch distributes nodes and their associated shards across two or three Availability Zones (AZs). This design ensures that the failure of a single AZ does not result in data loss or a complete service outage.
- Instance Count: A minimum of three data nodes is recommended for production environments. This configuration supports quorum-based master elections and ensures that the cluster remains operational with adequate capacity if a node or an Availability Zone becomes unavailable.
Impactβ
If Zone Awareness is disabled or the instance count is insufficient, the OpenSearch domain becomes a single point of failure. Hardware issues, node failures, or Availability Zone disruptions may cause the cluster to enter a Red state, resulting in partial or complete loss of data availability.
... see more
Remediationβ
Remediationβ
Enable High Availability for OpenSearch Domainβ
To meet high-availability best practices, configure the OpenSearch Service domain with a minimum of three data nodes and enable Zone Awareness.
From Command Lineβ
Use the
update-domain-configcommand to enable Zone Awareness and set the instance count to three data nodes. This configuration distributes nodes across three Availability Zones.aws opensearch update-domain-config \
--domain-name {{domain-name}} \
--cluster-config '{
"InstanceCount": 3,
"ZoneAwarenessEnabled": true,
"ZoneAwarenessConfig": {
"AvailabilityZoneCount": 3
}
}'Additional Considerationsβ
- The
AvailabilityZoneCountvalue must match the number of Availability Zones supported in the selected AWS Region.- For smaller regions that support only two Availability Zones, set
AvailabilityZoneCountto2while maintaining a minimum of three data nodes.- Changes to cluster configuration may trigger a rolling update and can temporarily impact cluster performance.