es-cluster

egarbi/es-cluster/aws

Terraform Module HCL AWS

Create an elasticsearch domain with VPC support in AWS

Install
module "es-cluster" {
source = "egarbi/es-cluster/aws"
version = "0.2.0"
}
plain text: /constructs/tfmod-egarbi-es-cluster-aws/install.txt
⭐ Source on GitHub 📦 Registry page
README

AWS Elasticsearch Service Terraform Module ========================================== Usage: ``hcl data "aws_region" "current" {} data "aws_caller_identity" "current" {} module "es-cluster" { source = "git::https://github.com/egarbi/terraform-aws-es-cluster" name = "example" vpc_id = "vpc-xxxxx" subnet_ids = [ "subnet-one" ] zone_id = "ZA863HSKDDD9" itype = "m4.large.elasticsearch" ingress_allow_cidr_blocks = [ "10.20.0.0/16", "10.22.0.0/16" ] access_policies = AWS Supports up to 3 AZ's for a multi-az configuration. Understand that if you operate in more than 3 AZ's and you choose to deploy master nodes, only 3 AZ's will be supported and any more than that may result in TF returning AWS API errors. For more information see here Inputs | Name | Description | Type | Default | Required | |---

Inputs (23)
NameTypeDescriptionDefault
vpc_idstringVpc id where the Elastic Search Service cluster will be launched. required
namestringElastic Search Service cluster name. required
subnet_idslist(string)List of VPC Subnet IDs for the Elastic Search Service EndPoints will be created. required
create_iam_service_linked_rolestringControl the creation of the default service role, set it to false if you have altrue
indices_query_bool_max_clause_countstringMaximum number of clauses allowed in a Lucene boolean query.1024
elasticsearch_versionstringElastic Search Service cluster version number."5.5"
snapshot_startstringElastic Search Service maintenance/snapshot start time.0
access_policiesstringIAM policy document specifying the access policies for the domain.""
icountstringElastic Search Service cluster Ec2 instance number.1
indices_fielddata_cache_sizestringPercentage of Java heap space allocated to field data.""
ingress_allow_cidr_blockslist(string)Specifies the ingress CIDR blocks allowed.[]
ingress_allow_security_groupslist(string)Specifies the ingress security groups allowed.[]
itypestringElastic Search Service cluster Ec2 instance type."m4.large.elasticsearch"
rest_action_multi_allow_explicit_indexstringSpecifies whether explicit references to indices are allowed inside the body of "true"
volume_sizestringDefault size of the EBS volumes."35"
dedicated_masterstringIndicates whether our cluster have dedicated master nodes enabled.false
volume_typestringDefault type of the EBS volumes."gp2"
zone_idstringRoute 53 zone id where the DNS record will be created.""
encryption_enabledstringEnable encription in Elastic Search."false"
encryption_kms_key_idstringEnable encription in Elastic Search.""
mcountstringElastic Search Service cluster dedicated master Ec2 instance number.0
mtypestringElastic Search Service cluster dedicated master Ec2 instance type.""
zone_awarenessstringIndicates whether zone awareness is enabled.false
Outputs (7)
es_arn — Amazon Resource Name (ARN) of the domain
es_availability_zones_ids — If the domain was created inside a VPC, the names of the availability zones the configured subnet_id
es_domain_id — Unique identifier for the domain.
es_endpoint — Domain-specific endpoint used to submit index, search, and data upload requests.
es_kibana_endpoint — Domain-specific endpoint for kibana without https scheme.
es_sg — The SG id created to allow communication with ElasticSearch cluster.
es_vpc_ids — The VPC ID if the domain was created inside a VPC.
Resources (5)
aws_elasticsearch_domainaws_iam_service_linked_roleaws_route53_recordaws_security_groupaws_security_group_rule
Details
FrameworkTerraform Module
LanguageHCL
Version0.2.0
Cloud AWS
★ Stars15
Forks29
Total downloads15.0k
Inputs23
Outputs7
Resources5
Namespaceegarbi
Updated