当前位置: 首页 > 知识库问答 >
问题:

将流量从Windows EC2实例转发到ElasticSearch VPCendpoint

郜联
2023-03-14

我有Windows EC2实例,用于面向公共的C#API。专有网络(以及相关的互联网网关、子网等)都是默认的。

我现在已经使用他们更安全的VPCendpoint选项(而不是面向公众的)设置了AWS ElasticSearch服务,并将其关联到与我上面的Windows EC2实例相同的子网和VPC。

我想让他们互相交谈。

正在从读取https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-vpc.html

您要做的似乎是通过ssh隧道/端口将流量从EC2实例上的localhost:9200转发到实际的弹性搜索服务(通过VPCendpoint)。

似乎这个命令就是神奇发生的地方:ssh-i ~/。ssh/您的密钥。pem ec2-user@your-ec2-instance-public-ip-N-L 9200:vpc您的亚马逊es域。区域锿。amazonaws。通信:443

但这是针对LinuxEC2实例。

如果我是远程桌面到我的Windows EC2实例(API),当我进入浏览器时,我怎么能做到这一点,http://localhost:9200将向我的VPCendpoint发送流量:

vpc您的亚马逊es域。区域锿。amazonaws。通信:443

谢谢

共有1个答案

连文栋
2023-03-14

好的,我将回答我的两个问题:

首先,它实际上相当简单,只需RDP到您的机箱,并直接通过VPCendpoint访问实例。您不需要使用netsh命令或类似的命令来做任何奇怪的事情,比如端口转发。只要确保服务器(在我的例子中是我的API)在同一个VPC上,您就可以了。我只是在我的连接字符串中有一个错误,这就是为什么它没有连接。为了证实这一点,我加入了RDP,并能够在80端口的浏览器中直接命中endpoint。虽然Elasticsearch确实在端口9200上运行,但您不需要转发到localhost:9200--

现在,关于第二个问题,关于在本地访问它,我认为问题是,因为这个服务缺少公共IP地址,你不能访问它,所以你可以在AWS上进行一些复杂的设置,或者更简单的是将它设置为暂时在本地运行,直到你准备好使用VPC(因此你的代码就可以运行了)。另一个选择是使用安全组,暂时创建一个可公开访问的集群,然后当你的代码完成后,搜索服务/层完成后,等等,你可以用VPC/安全弹性搜索服务重新开始,就应该这样。

另一件很多人提到的事情是,如果你在本地机器上设置自己的Elasticsearch,然后在EC2上设置一个,那么它更便宜/你可以更好地控制事情(这只是阅读博客,看到人们提到他们对它有多么失望)。

 类似资料:
  • 我有一个IP摄像机(Foscam FI9800P)能够发送一个RTSP流(我已经确认使用VLC流工作)。我想把那个摄像头的视频流到YouTube上。 理想的情况下,我想这样做,而不是重新编码的过程中的视频。ffmpeg似乎能够做到这一点,但它有很多选项,我还没有弄清楚它的所有命令行选项。 有什么建议可以让我做这件事吗?

  • 问题内容: 我正在尝试将所有流量从端口6999转发到端口7000(我知道我可以使用iptables,但想法是使用Node.js进行某些数据包检查)。 这是我有沙发的代码: 它似乎似乎不起作用。当我在端口7000上执行tcpdump时,什么都没有显示。有人有什么建议吗? 提前谢谢了, 问题答案: 这是我的努力: 支持从命令行提供“从”和“到”,并支持远程计算机。 (另存为proxy.js) 从loc

  • 我编写了一个SOCKS代理,如果关闭链接,它可以同时处理HTTP和HTTPS流量。 如果链接已打开并且转发主机和端口属于过滤HTTP代理,则只有HTTP流量可以流动。HTTPS流量不流动并报告SSL错误。 请注意,当请求直接来自浏览器而不是SOCKS服务器时,HTTP代理会处理HTTPS流量。 例如,如果我向https://www.google.com出现以下情况: 1)客户端发送SOCKS 5问

  • SRS可以将送到SRS的流转发给其他RTMP服务器,实现简单集群/热备功能,也可以实现一路流热备(譬如编码器由于带宽限制,只能送一路流到RTMP服务器,要求RTMP服务器能将这路流也转发给其他RTMP备用服务器,实现主备容错集群)。 假设服务器的IP是:192.168.1.170 Forward就是SRS将流拷贝输出给其他的RTMP服务器,以SRS转发给SRS为例: 主SRS:Master, 编码

  • 我用头盔部署了格拉法纳,现在它正在吊舱中运行。我可以访问它,如果我代理端口3000到我的笔记本电脑。我试图指向一个域,以便我可以从外部访问该pod。我在route53中有一个域,可以连接到负载平衡器(应用程序负载平衡器、网络负载平衡器、经典负载平衡器)。该负载平衡器可以将流量从端口80转发到端口80,再转发到一组节点(让我们稍后保留端口443)。我真的很难设置这个。我肯定少了些什么,但我不知道是什

  • 我有一个使用Azure Kubernetes集群和AKS负载均衡器的服务。我想把一些HTTP(客户端)请求转发给所有实例。一般情况下有没有办法使用AKS或Kubernetes来配置这种行为? 假设我有XYZ API运行两个副本/实例。 XYZ-1 pod实例 XYZ-2 pod实例 目前,使用AKS负载均衡器,它以循环方式向XYZ-1和XYZ-2发送请求。我想看看,当请求endpoint为并且所有