Пересылка трафика из экземпляра Windows EC2 в конечную точку ElasticSearch VPC - PullRequest
0 голосов
/ 19 октября 2018

У меня есть экземпляр Windows EC2, который я использую для своего общедоступного API C #.VPC (и связанный с ним интернет-шлюз, подсети и т. Д.) Используются по умолчанию.

Теперь я настроил сервис AWS ElasticSearch, используя более безопасный вариант конечной точки VPC (вместо общедоступного), и связалэто в той же подсети и vpc, что и мой вышеупомянутый экземпляр Windows EC2.

Я бы хотел, чтобы они общались друг с другом.

Чтение из https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html

Похоже, что вы бы сделали, это ssh туннель / порт, перенаправляющий трафик от localhost: 9200 на экземпляре EC2 к фактической службе Elastic Search (через эту конечную точку VPC).

Кажется, что эта команда - гдепроисходит волшебство: ssh -i ~ / .ssh / your-key.pem ec2-user @ your-ec2-instance-public-ip -N -L 9200: vpc-your-amazon-es-domain.region.es.amazonaws.com:443

но это для экземпляра Linux EC2.

Если я удаленно подключен к моему экземпляру Windows EC2 (API), как я могу сделать это, когда я идув браузер http://localhost:9200 отправит трафик на мою конечную точку VPC:

vpc-your-amazon-es-domain.region.es.amazonaws.com:443

Спасибо!

1 Ответ

0 голосов
/ 20 октября 2018

Хорошо, поэтому я отвечу на два моих вопроса:

Во-первых, это действительно довольно просто, просто RDP к вашему устройству и доступ к экземпляру напрямую через конечную точку VPC.Вам не нужно делать что-то дурацкое, например, переадресацию портов, используя команду netsh или что-то в этом роде.Просто убедитесь, что сервер (в моем случае мой API) находится на том же VPC, и все в порядке.У меня просто была ошибка в строке подключения, поэтому она не подключалась.Чтобы подтвердить, я RDP'D и смог подключиться к конечной точке непосредственно в браузере на порт 80. Хотя это правда, что Elasticsearch работает на порту 9200, вам не нужно перенаправлять на localhost: 9200 -> vpc:9200.

Теперь, что касается второго вопроса, касающегося его локального доступа, я думаю, что проблема заключается в том, что из-за того, что у этой службы нет общедоступного IP-адреса, и вы не можете получить к ней доступ, вы можете выполнить некоторые сложные настройки.на AWS, или проще, просто настройте его на локальный запуск, пока вы не будете готовы использовать VPC (и, следовательно, ваш код просто будет работать).Другой вариант - использовать группы безопасности и сделать общедоступный кластер на данный момент, а затем, когда ваш код готов, служба поиска / слой выполнены и т. Д., Вы можете начать заново с помощью службы VPC / secure Elasticsearch, и так и должно быть.

Еще одна вещь, о которой многие упоминают, это то, что она дешевле / у вас больше контроля над вещами, если вы устанавливаете свой Elasticsearch на локальном компьютере, а затем настраиваете его на EC2 (это просто чтение блогов и наблюдение за упоминанием людьми).сколько разочарований у них было)

...