从AWS Lambda连接到端口9200上的AWS Lighsail实例

时间:2018-09-13 05:03:17

标签: amazon-web-services elasticsearch aws-lambda amazon-lightsail

我试图在我的AWS lightail实例上设置elasticsearch,并使其在端口9200上运行,但是我无法从AWS lambda连接到同一端口上的实例。我已经更新了lightail实例级别的网络设置以允许端口9200接受流量,但是我既不能通过静态IP连接到端口9200,也无法让我的AWS lambda函数与我的lightail进行通信主机在端口9200上。

我了解AWS可以使用单独的Elasticsearch产品,但是我正在进行测试设置,需要在同一lightail主机上运行vanilla ES。 ES已启动并正在运行,我可以通过SSH隧道连接到它,但是当我尝试使用静态IP或通过另一个AWS服务进行连接时,它不起作用。

任何指针都应受到赞赏。

谢谢。

2 个答案:

答案 0 :(得分:0)

更新elasticsearch.yml

  network.host: _ec2:privateIpv4_

我们正在AWS Cloud上运行多个版本的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群集elasticsearch.yml(在VPC和i3.2xlarge实例内部)

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一样。

答案 1 :(得分:0)

我可能迟到了聚会,但是对于仍在努力解决此类问题的任何人,应该知道默认情况下,如this answer中所述,新版本的弹性搜索默认绑定到localhost来覆盖此行为,您应该设置:

network.bind_host: 0 

允许在本地主机之外访问该节点