elasticsearch

cloudposse/elasticsearch/aws

Terraform Module HCL AWS

Terraform module to provision an Elasticsearch cluster with built-in integrations with Kibana and Logstash.

Install
module "elasticsearch" {
source = "cloudposse/elasticsearch/aws"
version = "2.1.0"
}
plain text: /constructs/tfmod-cloudposse-elasticsearch-aws/install.txt
⭐ Source on GitHub 📦 Registry page
README

Terraform module to provision an Elasticsearch cluster with built-in integrations with Kibana and Logstash. > [!TIP] > #### 👽 Use Atmos with Terraform > Cloud Posse uses atmos to easily orchestrate multiple environments using Terraform. > Works with Github Actions, Atlantis, or Spacelift. > > > Watch demo of using Atmos with Terraform > > Example of running atmos to manage infrastructure from our Quick Start tutorial. > Introduction This module will create: - Elasticsearch cluster with the specified node count in the provided subnets in a VPC - Elasticsearch domain policy that accepts a list of IAM role ARNs from which to permit management traffic to the cluster - Security Group to control access to the Elasticsearch domain (inputs to the Security Group are other Security Groups or CIDRs b

Inputs (50)
NameTypeDescriptionDefault
iam_role_permissions_boundarystringThe ARN of the permissions boundary policy which will be attached to the Elasticnull
iam_irsa_service_accountslist(string)Kubernetes ServiceAccounts to allow to access the Elastic Domain via IRSA[]
zone_awareness_enabledboolEnable zone awareness for Elasticsearch clustertrue
availability_zone_countnumberNumber of Availability Zones for the domain to use.2
cognito_identity_pool_idstringThe ID of the Cognito Identity Pool to use""
iam_actionslist(string)List of actions to allow for the user IAM roles, _e.g._ `es:ESHttpGet`, `es:ESHt[]
log_publishing_search_enabledboolSpecifies whether log publishing option for SEARCH_SLOW_LOGS is enabled or notfalse
elasticsearch_subdomain_namestringThe name of the subdomain for Elasticsearch in the DNS zone (_e.g._ `elasticsear""
label_orderlist(string)The order in which the labels (ID elements) appear in the `id`. Defaults to ["nanull
environmentstringID element. Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'stnull
create_elasticsearch_user_roleboolWhether to create an IAM role for Users/EC2 to assume to access the Elasticsearctrue
ingress_port_range_startnumberStart number for allowed port range. (e.g. `443`)0
vpc_enabledboolSet to false if ES should be deployed outside of VPC.true
iam_irsa_openid_connect_provider_urlstringURL of the OpenID connect provider to allow usage of IRSA""
dedicated_master_countnumberNumber of dedicated master nodes in the cluster0
create_security_groupboolWhether to create a dedicated security group for the Elasticsearch domain. Set itrue
ebs_iopsnumberThe baseline input/output (I/O) performance of EBS volumes attached to data node0
log_publishing_audit_cloudwatch_log_group_arnstringARN of the CloudWatch log group to which log for AUDIT_LOGS needs to be publishe""
advanced_security_options_master_user_arnstringARN of IAM user who is to be mapped to be Kibana master user (applicable if adva""
labels_as_tagsset(string)Set of labels (ID elements) to include as tags in the `tags` output. Default is [ "default" ]
… and 10 more inputs
Outputs (10)
domain_arn — ARN of the Elasticsearch domain
domain_id — Unique identifier for the Elasticsearch domain
domain_endpoint — Domain-specific endpoint used to submit index, search, and data upload requests
kibana_endpoint — Domain-specific endpoint for Kibana without https scheme
elasticsearch_user_iam_role_arn — The ARN of the IAM role to allow access to Elasticsearch cluster
security_group_id — Security Group ID to control access to the Elasticsearch domain
domain_name — Name of the Elasticsearch domain
domain_hostname — Elasticsearch domain hostname to submit index, search, and data upload requests
kibana_hostname — Kibana hostname
elasticsearch_user_iam_role_name — The name of the IAM role to allow access to Elasticsearch cluster
Resources (8)
aws_elasticsearch_domainaws_elasticsearch_domain_policyaws_iam_roleaws_iam_service_linked_roleaws_opensearch_domainaws_opensearch_domain_policyaws_security_groupaws_security_group_rule
Details
FrameworkTerraform Module
LanguageHCL
Version2.1.0
Cloud AWS
★ Stars223
Forks235
Total downloads1.2M
Inputs50
Outputs10
Resources8
Examples5
LicenseApache-2.0
Namespacecloudposse
Updated