Подключитесь к экземпляру AWS Lighsail через порт 9200 из AWS Lambda - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь настроитьasticsearch на своем экземпляре AWS lightsail и запустил его на порту 9200, однако я не могу подключиться с лямбды AWS к экземпляру на том же порту. Я обновил настройки сети на уровне экземпляра lightsail, чтобы разрешить порту 9200 принимать трафик, однако я не могу подключиться к порту 9200 через статический IP-адрес и не могу заставить свою лямбда-функцию AWS общаться с моим lightsail хост на порт 9200.

Я понимаю, что у AWS есть отдельное предложение Elasticsearch, которое я могу использовать, однако я делаю тестовую настройку и мне нужно запустить vanilla ES на том же хосте lightsail. ES запущен и работает, и я могу подключиться к нему через SSH-туннель, однако он не работает, когда я пытаюсь подключиться, используя статический IP-адрес или другую службу AWS.

Любые указатели приветствуются.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 24 марта 2019

Я могу опоздать на вечеринку, но для всех, кто все еще борется с подобной проблемой, следует знать, что новые версии упругого поиска по умолчанию привязываются к localhost, как упомянуто в этом ответе , чтобы отменить это поведение.должен установить:

network.bind_host: 0 

, чтобы разрешить доступ к узлу за пределами localhost

0 голосов
/ 14 сентября 2018

Обновлениеasticsearch.yml

  network.host: _ec2:privateIpv4_

Мы используем несколько версий кластера elaticsearch в облаке AWS:

ластикsesesearch-2.4 кластераasticsearch.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_

ластикsesesearch-6.3 кластераasticsearch.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.

Теперь, как получить доступ кasticsearch из моего локального ящика?

Используйте туннелирование (переадресацию портов) из вашей системы с помощью этой команды:

  $ ssh -i es.pem ec2-user@es-node-public-ip -L 9200:es-node-private-ip:9200 -N 

Это похоже на то, что вы работаете сasticsearch в своей локальной системе.

...