I am planning to use AWS Open Search and some AWS Open Search ingestion (AWS DataPrepper flavour).
So far we have been using aws_elasticsearch_domain terraform resource to create the AWS Open Search cluster and that works well.
However I notice there is also an aws_opensearch_domain terraform resource available. At simple surface way, the differences are mostly the naming of the attributes as the documentation states:
OpenSearch Domain configurations are similar in many ways to Elasticsearch Domain configurations. However, there are important differences including these:
- OpenSearch has
engine_version
while Elasticsearch haselasticsearch_version
- Versions are specified differently - e.g.,
Elasticsearch_7.10
with OpenSearch vs.7.10
for Elasticsearch.- instance_type argument values end in
search
for OpenSearch vs.elasticsearch
for Elasticsearch (e.g.,t2.micro.search
vs.t2.micro.elasticsearch
).- The AWS-managed service-linked role for OpenSearch is called
AWSServiceRoleForAmazonOpenSearchService
instead ofAWSServiceRoleForAmazonElasticsearchService
for Elasticsearch.
What is the difference between use one or another when it comes to working with OpenSearch?
The new Open Search provider is created for a reason right?