发现一种使用情况:
这是怎么实现的一个公网 IP 对应好几个 EC2 的机器?? 我查了 AWS 的路由表没有什么特别的实现,感觉一头雾水,谁给提点一下
1
binux 2016-09-07 06:08:11 +08:00
ELB?
|
2
jinbakei 2016-09-07 06:41:55 +08:00
outbound http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html
inbound 也许那个机子上有 load balancer 之类的 Proxy |
3
yaxin 2016-09-07 08:09:41 +08:00 via iPhone
这不是普通负载均衡的功能吗?
|
4
chinawrj 2016-09-07 08:15:22 +08:00
iptables 不就可以搞定的事情吗?
iptables -I PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.24.130.1:80 iptables -I PREROUTING -p tcp --dport 443 -j DNAT --to-destination 10.24.130.2:443 iptables -I PREROUTING -p tcp --dport 3306 -j DNAT --to-destination 10.24.130.12:3306 |
5
voostar 2016-09-07 09:27:27 +08:00
这个?
应用程序负载均衡器详细信息 应用程序负载均衡器是 Elastic Load Balancing 服务的一个负载均衡选项,在应用程序层运行,支持您在运行于一个或多个 Amazon Elastic Compute Cloud (Amazon EC2) 实例上的多个服务或容器之间基于内容定义路由规则。 |
6
SharkIng OP |
7
wzxjohn 2016-09-07 09:52:02 +08:00
你的描述有 N 多种方法可以做到。。。最简单的我在外网机器跑个 Nginx 反代,你说的这些就都能做到了。
|
8
wobuhuicode 2016-09-07 10:10:50 +08:00
Nginx 就能搞定啦
|
9
cevincheung 2016-09-07 10:34:14 +08:00
aws 现在一年多少银子
|
10
fookwood 2016-09-07 11:26:04 +08:00
虽然没搞过类似的东西,但是猜测是弹性 ip 对应的 ec2 运行了个 nginx ,然后有类似下面这样的配置
http { server { listen 80; server_name name1.name.com; location / { proxy_pass http://192.168.0.2; } } server { listen 80; server_name name2.name.com; location / { proxy_pass http://192.168.0.3; } } } |
11
kozora 2016-09-07 11:41:17 +08:00
vpc 里面子网是互通的,你拿一个 EIP 对外就可以做到负载均衡的
|
12
dzxx36gyy 2016-09-07 11:48:44 +08:00
不是 nat 吗……一堆内网机器配一个外网 ip 映射下不就行了
|
13
xderam 2016-09-07 16:15:05 +08:00
我也感觉是 NAT 或者 VPC 绑在路由器上之类的,或者和前面几位说的端口转发,均衡负载巴拉巴拉。楼主说的不太清楚。。
|
14
SharkIng OP @wzxjohn 嗯,我知道有很多方法,但是最简单的几个办法都看了都不是(什么 Nginx , iptables , route 之类的的)
@wobuhuicode @fookwood 没有 Nginx @cevincheung 看你使用多少了,我主要是公司这边在用,一个月大概 22 万美金 @kozora 只要是 VPC 都是互通的么?一个 EIP 就可以了?? @dzxx36gyy @xderam 感觉是,但是在哪里看呢? |
15
bruce 2016-09-08 00:54:05 +08:00
NAT Gateway
|