更新 elasticsearch.yml
network.host: _ec2:privateIpv4_
我们正在 AWS 云上运行多个版本的 elaticsearch 集群:
elasticsearch-2.4 集群 elasticsearch.yml(在经典 ec2 实例上 --i3.2xlarge )
cluster.name: ES-CLUSTER
node.name: ES-NODE-01
node.max_local_storage_nodes: 1
node.rack_id: rack_us_east_1d
index.number_of_shards: 8
index.number_of_replicas: 1
gateway.recover_after_nodes: 1
gateway.recover_after_time: 2m
gateway.expected_nodes: 1
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping.multicast.enabled: false
cloud.aws.access_key: ***
cloud.aws.secret_key: ***
cloud.aws.region: us-east-1
discovery.type: ec2
discovery.ec2.groups: es-cluster-sg
network.host: _ec2:privateIpv4_
elasticsearch-6.3 cluster elasticsearch.yml(Inside VPC & i3.2xlarge instance)
cluster.name: ES-CLUSTER
node.name: ES-NODE-01
gateway.recover_after_nodes: 1
gateway.recover_after_time: 2m
gateway.expected_nodes: 1
discovery.zen.minimum_master_nodes: 1
discovery.zen.hosts_provider: ec2
discovery.ec2.groups: vpc-es-eluster-sg
network.host: _ec2:privateIpv4_
path:
logs: /es-data/log
data: /es-data/data
discovery.ec2.host_type: private_ip
discovery.ec2.tag.es_cluster: staging-elasticsearch
discovery.ec2.endpoint: ec2.us-east-1.amazonaws.com
我建议不要对外开放端口 9300 和 9200。仅允许 EC2 实例与您的 elaticsearch 通信。
现在如何从我的本地盒子访问 elasticsearch?
使用以下命令从您的系统中使用隧道(端口转发):
$ ssh -i es.pem ec2-user@es-node-public-ip -L 9200:es-node-private-ip:9200 -N
就像,您在本地系统上运行 elasticsearch。