阿里云虚拟ip(阿里云虚拟主机可以放几个网站)
221
2022-11-12
本文目录一览:
弹性公网IP是可以独立申请的公网IP地址,只能绑定在同一地域内虚拟专有网络类型的ECS实例,支持动态绑定和解绑。
阿里云云服务器(Elastic Compute Service, ECS)是一种处理能力可弹性伸缩的计算服务,其管理方式比物理服务器更简单高效。 阿里云云服务器帮助您快速构建更稳定、安全的应用,降低开发运维的难度和整体IT成本,使您能够更专注于核心业务创新。
1、产品功能
对云服务器的操作系统(Linux和Windows)拥有完全控制权及基本云管理操作,如启动、停止、重启、重置、修改密码以及更换操作系统等;对云服务器的磁盘数据生成快照,用快照恢复磁盘数据;针对已经安装了应用软件包的云服务器生成自定义镜像,并采用镜像来启动其他云服务器;服务器通过安全组功能对一台或多台云服务器设定访问权限。
2、服务器PING值
PING测试在一定程度上可以代表服务器的宽带速度。 使用站长工具提供的Ping服务,来测试各个地区的速度,以便做一个直观的了解。左图为阿里云服务器PING值测试结果,右图为百度PING值测试结果。从ping测试结果可以看浙江地区的最快,这是由于机房在上海的原因,福建移动稍微慢一点。
3、应用场景及案例
在云服务器上安装各种应用软件,譬如Apache/Nginx、企业ERP/CRM管理软件、游戏软件、教育软件等,负载均衡服务SLB和多个云服务器连接成应用服务集群, 后端数据库采用高性能的关系型数据库服务RDS,此结构下应用系统的服务能力可以水平扩展,云服务器与开放存储服务OSS, 开放结构化数据服务OTS结合使用以提供更大的存储和访问能力。
4、如何使用
登录阿里云管理控制台进行云服务器的基本管理,如修改密码、重启、更换操作系统等,您还可以通过API的方式来管理云服务器,远程登录到云服务器后运行程序或脚本,Linux系统可以使用SSH,Windows系统可以使用远程桌面登录,登录后的管理方式和物理服务器没有差别,通过管理控制台查看云服务器的基本运行性能指标(CPU利用率、网络带宽、磁盘读写速率等),强烈建议您通过云监控部署更多的性能监控指标。
5、操作禁忌
云服务器是部署在物理机上的,底层物理机性能出现异常或者其他原因都会导致物理机宕机,当检测到云服务器所在的物理机机发生故障,系统会启动保护性迁移,将您的服务器迁移到性能正常的宿主机上 ,一旦发生宕机迁移,您的服务器就会被重启,如果您希望您的服务器重启以后应用服务器自动恢复,需要您把应用程序设置成开机自动启动,如果应用服务连接的数据库,需要在程序中设置成自动重连机制。
使用MySQL双master+keepalived是一种非常好的解决方案,在MySQL-HA环境中,MySQL互为主从关系,这样就保证了两台MySQL数据的一致性,然后用keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换。
下面,我把即将上线的一个生产环境中的架构与大家分享一下,看一下这个架构中,MySQL-HA是如何实现的,环境拓扑如下
MySQL-VIP:10.10.10.21
MySQL-master1:10.10.10.17
MySQL-master2:10.10.10.18
OS版本:Redhat6.2
MySQL版本:mysql-5.1.59
Keepalived版本:keepalived-1.1.20
一、MySQL master-master配置
1、修改MySQL配置文件
两台MySQL均如要开启binlog日志功能,开启方法:在MySQL配置文件[MySQLd]段中加上log-bin=MySQL-bin选项
两台MySQL的server-ID不能一样,默认情况下两台MySQL的serverID都是1,需将其中一台修改为2即可
Master1配置:
#vim /etc/my.cnf
log-bin=mysql-bin //开启binlog日志功能
log =/usr/local/mysql/var/mysql.log //会打印mysql的所以sql语句
server-id= 1 //
binlog-do-db =mysql //需要同步的库名称
auto-increment-increment= 2
auto-increment-offset= 2
Master2配置:
#vim /etc/my.cnf
log-bin=mysql-bin //开启binlog日志功能
log =/usr/local/mysql/var/mysql.log //会打印mysql的所以sql语句
server-id= 2
binlog-do-db =mysql //需要同步的库名称
auto-increment-increment= 2
auto-increment-offset= 2
2、建授权用户
在10.10.10.17上新建授权用户
grant replicationslave on *.* to test@’10.10.10.%’ identified by ‘123456’;
在10.10.10.18服务器上建授权用户
grant replicationslave on *.* to test@’10.10.10.%’ identified by ‘123456’;
3、将10.10.10.17设为10.10.10.18的主服务器
在10.10.10.18上将10.10.10.17设为自己的主服务器
mysql show master status;(17服务器配置)
1+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000027| 106|mysql | |
+------------------+----------+--------------+------------------+
1 row in set (0.01 sec)
MySQL change master to master_host='10.10.10.17',master_user=’test’,master_password='123456',master_log_file='MySQL-bin.000027',master_log_pos=106;
Query OK, 0 rows affected (0.05 sec)
MySQL start slave;
Query OK, 0 rows affected (0.00 sec)
mysql show slave status \G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes \\如果此2项都为yes,master-master配置即成功
将10.10.10.18设为10.10.10.17的主服务器 方法与上面设置一致只需将
在10.10.10.17上将10.10.10.18设为自己的主服务器
mysql show master status;(18服务器配置)
1+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000027| 106|mysql | |
+------------------+----------+--------------+------------------+
1 row in set (0.01 sec)
MySQL change master to master_host='10.10.10.18',master_user=’test’,master_password='123456',master_log_file='MySQL-bin.000027',master_log_pos=106;
Query OK, 0 rows affected (0.05 sec)
MySQL start slave;
Query OK, 0 rows affected (0.00 sec)
mysql show slave status \G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes \\如果此2项都为yes,master-master配置即成功
测试是否成功:
如上述均正确配置,现在在任何一台MySQL上更新数据都会同步到另一台MySQL(仅限mysql库)
二、keepalived安装及配置
1、10.10.10.17服务器上keepalived安装及配置
安装keepalived
#tar zxvfkeepalived-1.1.20.tar.gz
#cdkeepalived-1.1.20
#./configure--prefix=/usr/local/keepalived--with-kernel-dir=/usr/src/kernels/2.6.32-220.el6.x86_64
#make make install
配置keepalived
我们自己在新建一个配置文件,默认情况下keepalived启动时会去/etc/keepalived目录下找配置文件
#mkdir/etc/keepalived
#vi/etc/keepalived/keepalived.conf
global_defs {
notification_email {
}
smtp_server 127.0.0.1 (如果本机配置的话)
smtp_connect_timeout 30
router_id MySQL-ha
}
vrrp_instance VI_1{
state BACKUP #两台配置此处均是BACKUP
interface p4p1 #注意网卡接口
virtual_router_id 51
priority 100 #优先级,另一台改为90
advert_int 1
nopreempt #不主动抢占资源,只在优先级高的机器上设置即可,优先级低的机器不设置
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.10.10.21
}
}
virtual_server10.10.10.21 3306 {
delay_loop 2 #每个2秒检查一次real_server状态
lb_algo wrr #LVS算法
lb_kind DR #LVS模式
persistence_timeout 60 #会话保持时间
protocol TCP
real_server 10.10.10.17 3306 {
weight 3
notify_down /usr/local/my/my.sh #检测到服务down后执行的脚本
TCP_CHECK {
connect_timeout 10 #连接超时时间
nb_get_retry 3 #重连次数
delay_before_retry 3 #重连间隔时间
connect_port 3306 #健康检查端口
}
}
编写检测服务down后所要执行的脚本
#vi/usr/local/MySQL/bin/MySQL.sh
#!/bin/sh
pkillkeepalived
#chmod +x/usr/local/MySQL/bin/MySQL.sh
注:此脚本是上面配置文件notify_down选项所用到的,keepalived使用notify_down选项来检查real_server的服务状态,当发现real_server服务故障时,便触发此脚本;我们可以看到,脚本就一个命令,通过pkill keepalived强制杀死keepalived进程,从而实现了MySQL故障自动转移。另外,我们不用担心两个MySQL会同时提供数据更新操作,因为每台MySQL上的keepalived的配置里面只有本机MySQL的IP+VIP,而不是两台MySQL的IP+VIP
启动keepalived
#/usr/local/keepalived/sbin/keepalived–D
#ps -aux | grepkeepalived
测试
找一台局域网PC,然后去ping MySQL的VIP,这时候MySQL的VIP是可以ping的通的
停止MySQL服务,看keepalived健康检查程序是否会触发我们编写的脚本
1、10.10.10.18服务器上keepalived安装及配置
安装keepalived
#tar zxvfkeepalived-1.1.20.tar.gz
#cdkeepalived-1.1.20
#./configure--prefix=/usr/local/keepalived--with-kernel-dir=/usr/src/kernels/2.6.32-220.el6.x86_64
#make make install
配置keepalived
我们自己在新建一个配置文件,默认情况下keepalived启动时会去/etc/keepalived目录下找配置文件
#mkdir/etc/keepalived
#vi/etc/keepalived/keepalived.conf
global_defs {
notification_email {
}
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id MySQL-ha
}
vrrp_instance VI_1{
state BACKUP #两台配置此处均是BACKUP
interface p4p1 #注意网卡接口
virtual_router_id 51
priority 90 #优先级,另一台改为90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.10.10.21
}
}
virtual_server10.10.10.21 3306 {
delay_loop 2 #每个2秒检查一次real_server状态
lb_algo wrr #LVS算法
lb_kind DR #LVS模式
persistence_timeout 60 #会话保持时间
protocol TCP
real_server 10.10.10.18 3306 {
weight 3
notify_down /usr/local/my/my.sh #检测到服务down后执行的脚本
TCP_CHECK {
connect_timeout 10 #连接超时时间
nb_get_retry 3 #重连次数
delay_before_retry 3 #重连间隔时间
connect_port 3306 #健康检查端口
}
}
启动keepalived
#/usr/local/keepalived/sbin/keepalived–D
#ps -aux | grepkeepalived
测试
停止MySQL服务,看keepalived健康检查程序是否会触发我们编写的脚本
三、测试
两台MySQL服务器都要授权允许从远程登录
MySQL grantall privileges on *.* to andyguo@'%' identified by '123456';
Query OK, 0 rowsaffected (0.00 sec)
MySQL flushprivileges;
Query OK, 0 rowsaffected (0.00 sec)
keepalived故障转移测试:
在windows客户端一直去ping VIP,然后关闭10.10.10.17上的keepalived,正常情况下VIP就会切换到10.10.10.18上面去
开启10.10.10.17上的keepalived,关闭10.10.10.18上的keepalived,看是否能自动切换,正常情况下VIP又会属于10.10.10.17
注:keepalived切换速度还是非常块的,整个切换过程只需1-3秒
MySQL故障转移测试:
在10.10.10.17上关闭MySQL服务,看VIP是否会切换到10.10.10.18上
开启10.10.10.17上的MySQL和keepalived,然后关闭10.10.10.18上的MySQL,看VIP是否会切换到10.10.10.17上
如果都没问题,到此整个配置即已完成。
备注(在测试的过程中遇到了一些问题,解决方法)
Keepalived_healthcheckers:IPVS: Can't initialize ipvs: Protocol not available
起初重装了ipvsadm和keepalived,但故障依旧,随后突然想到是否lvs模块加载异常,于是lsmod|grep ip_vs发现果然没有相应的模块,而正常情况下应该是有的
e、手动加载ip_vs模块
modprobe ip_vs
modprobe ip_vs_wrr
f、重启keepalived服务,故障排除,此时转发正常,从服务器的ip_vs加载正常,主从切换也正常
g、将modprobeip_vs、modprobe ip_vs_wrr添加进/etc/rc.local开机自动加载
根据我所知道的回答一下这个问题。
利用公有云(比如阿里云、腾讯云、华为云等)部署了应用之后,为了访问申请的云服务器,需要使用公网IP,公有云服务商不仅提供了固定的公网IP,更多采用的是弹性公网IP。
弹性公网IP的基础是:NAT
弹性公网IP
申请了弹性公网IP之后,可以将期绑定到云服务器实例,用于通过公网访问自己申请的云主机。
总结
腾讯云、阿里云、华为云均支持弹性公网IP。随着公有云业务的不断发展,云服务提供商的公网资源是远远不够的,目前通过运营商上网也采用了运营商级别的NAT。将来有可能所有的云主机均得采用弹性公网IP。
对于公有云服务商提供的云服务器的公网IP,大家有什么看法呢,欢迎在评论区,留言讨论。
如需更多帮助,请私信关注。谢谢
瞎回答的很多。实质上,并没有魔术。阿里云的ip就是买的,是一大段一大段ip范围买下的。
那些说类似专线独立ip的人,都是瞎掰,专线实质上是电信买下的ip范围里租一个给你用,电信那端通过调整路由表把对应的ip报文转发到你那根物理线路上。
阿里云的技术方式完全不一样。
首先阿里和电信一样,都是购买巨大的一段ip地址范围,它的地址范围不比电信小多少。ipv4的地址范围就是这些大佬买光的,国外aws,google,微软的ip范围更大。
其次,阿里云内部,不是简单的改路由器,而是当有bgp能力的核心路由把全网络里属于阿里云的ip报文导入数据中心后,通过服务器进行报文数据软交换,也就是常说的sdn(软件定义的网络)技术把ip分配给具体的虚拟机。这样确保虚拟机绑ip可轻松的自动绑定。当你在界面上点一下申请弹性ip的时候,阿里云就从它的ip池里空余的ip中,分一个给你,注意,这个ip池比阿里的机器数量,甚至虚拟机数量要大很多。当你分配了弹性ip后,如果要绑定弹性ip到具体某个虚拟机时候,背地里,阿里云就简单的把这个ip和虚拟机的路由关系告诉它的软交换服务器集群,然后所有进入阿里云中的报文里,属于这个ip的报文被投递给这台虚拟机。
下面有很多瞎回答的,NAT是可以减少公网IP地址的使用,但还是需要公网IP。
公网IP只可能是云服务商自己向电信或移动等运营商买的。
阿里云有很多服务器,但是并不是所有服务器都需要公网IP,比如数据库服务器,负载均衡服务器等,只需要内网IP就够了。实际需要使用公网IP的服务器就是直接面对用户的那几台而已。
借助内网IP和弹性公网IP,以及IP回收等,实际需要使用的公网IP数量是可控的。
那么,阿里云到底有多少公网IP呢?可以看下这里的不精确统计
大概是 860万个公网IP。
这里面包含了阿里在国内、美国、新加坡的IP地址统计,应该还不完整。
一句话回答:就是买的。
通过BGP自治号(AS)查询,阿里云大约有3千万个公网IP,AS名称为“CNNIC-ALIBABA-CN-NET-AP”,有兴趣的可以自己去查。
另外这么多IP当然不可能是运营商分配的,事实上运营商的公网IP还没阿里云多,这些IP是阿里云向CNNIC申请,APNIC审核并最终由ICANN分配的。
在逻辑上阿里实际就是一个运营商,它和移动联通电信的网络连接,和移动联通电信三网互通原理完全一样,都是基于边界网关协议BGP,搞一次地址广播的花费至少就要花好几百万
没啥特别的实现方法,就是大批量买IP地址,通过广域网路由协议发布。
原来IPV4地址还不值钱,阿里早就大段大段地买,囤积了非常多的IPV4地址资源。
国内的BAT,从IPV4资源来看,阿里比腾讯多一个数量级,腾讯比百度多一个数量级,百度比其他厂商多一个数量级。
查了下阿里的AS信息,大概有十来个B段地址。
现在的IPV4地址,基本上已经分配完了,现在要拿到新的IP网段,基本上只能找ISP买,或者收购其他有IPV4资源的公司。
全世界所有的公网IP地址都源自ICANN这个组织,这个组织掌握着全球“互联网地址簿”
互联网协议(IP)地址的空间分配、协议标识符的指派、通用顶级域名(gTLD)、国家和地区顶级域名(ccTLD)系统的管理、根服务器系统的管理等都是由ICANN负责管理。
ICANN先分配给亚太互联网信息中心(APNIC)、欧洲IP资源网络协调中心(PIPE NCC)、美洲互联网号码注册机构(ARIN)、拉丁美洲和加勒比地区互联网信息中心(LACNIC)、非洲互联网络信息中心(AfriNIC),再由这些地域性的组织分配给所在区域的ISP。
IPV4最多可以提供约42.9亿个IP地址,这么多年过去了,用着用着就发现不够用了。虽然全世界的各个分配机构都相继宣告了IPV4地址已经耗尽,但还是有大量的ISP私藏了大量的IPV4的IP地址。
绝大多数人对IPV4地址枯竭这件事都理解有偏差
宣告枯竭的对象是IPV4地址分配组织,它只是告诉大家我手里所有的IPV4地址已经全部发放完毕了,至于已经从分配组织获得的IP地址,分配组织才不管你用还是不用。假如还想从分配组织手里申请新的IPV4地址就必须要等别人不用归还,稀缺的资源往往需要排队走关系。
所以但凡稍微有点实力的ISP运营商都不会傻傻地将IPV4地址退回去,而是大批量的囤货,即使不用也会攥着手里。假如真有那些坚持不下去的ISP运营商,退了多少IPV4地址立马就会被瓜分掉。IPV6在不断的普及当中,当简短的IPV4地址注定会变成一种稀缺资源。
ISP手里囤积的IPV4地址是完全足够日常使用
IPV4地址就像海绵里的水,你挤挤它就会出来。这也就是为什么很多服务器的运营商和网络运营商能够保证公网IP地址的供应。
IPV4地址到目前为止还能游刃有余,很大程度上归功于NAT技术,即网络地址转换。
NAT技术能够将当前地址空间中的IP地址映射到另一个地址空间,可以理解成一个转换表,其中存储着外部地址/端口到内部地址/端口的转换关系。通过NAT技术就无需每台设备都拥有一个独立唯一的IP地址,可以很多台设备共用一个公网IP地址,而局域网内使用私网不重复的IP地址即可。
NAT技术不仅可以缓解IP地址短缺的问题,还可以有效地保护私有网络。现在申请宽带已经很难再申请到公网IP地址了,甚至于运营商可以实现一个地区都使用内网IP地址。那么问题就来了,绝大多数人并不喜欢NAT转换技术,希望设备能够获得公网的IP,便于远程管理。所以很多“攻城狮们”会尝试通过各种NAT穿透技术来解决NAT转换技术所带来的问题,比如:SOCKS、UPNP、ALG等等。
实际上服务器对于公网IP地址的需求量也并没有那么大,比如:很多网站、域名可以存放在一台服务器上,共用一个公网IP地址。理论上服务器的配置足够、带宽足够可以同时存放N多个网站,应用类的APP服务器也是同样的道理。
公网IP地址的配置和局域网的IP地址配置并无二致
互联网内很多组织都共同维护着一本类似“114”的地址查询薄,IP地址由分配组织分配给ISP后,分配组织就会更新地址簿,其他组织就会同步更新。
这就好比快递,收快递的人也许并不知道送到具体哪个地方,他只需要将包裹收好贴上地址后统一放到快递站点,再由快递站点送到区域中转站,再由区域中转站送到市级以上的大型中转站,大型中转站就知道如何层层下发,最终有派件员送到收快递的人手中。
IP地址分配组织会标识每个IP地址具体是属于哪个ISP运营商,至于ISP运营商是想很多个网站或者应用用一个公网IP地址、还是一个服务器用多个公网IP地址、还是一个服务器使用弹性的公网IP地址,就不是IP地址分配组织会管的事情了。
阿里云服务器是如何实现每台服务器都是公网IP的呢?服务器那么多,不应该每台服务器都去运营商购买公网IP吧。难道是使用NAT转换的吗?
阿里云的ip就是买的,是一大段一大段ip范围买下的。
那些说类似专线独立ip的人,都是瞎掰,专线实质上是电信买下的ip范围里租一个给你用,电信那端通过调整路由表把对应的ip报文转发到你那根物理线路上。
阿里云的技术方式完全不一样。
首先阿里和电信一样,都是购买巨大的一段ip地址范围,它的地址范围不比电信小多少。ipv4的地址范围就是这些大佬买光的,国外aws,google,微软的ip范围更大。
其次,阿里云内部,不是简单的改路由器,而是当有bgp能力的核心路由把全网络里属于阿里云的ip报文导入数据中心后,通过服务器进行报文数据软交换,也就是常说的sdn(软件定义的网络)技术把ip分配给具体的虚拟机。这样确保虚拟机绑ip可轻松的自动绑定。当你在界面上点一下申请弹性ip的时候,阿里云就从它的ip池里空余的ip中,分一个给你,注意,这个ip池比阿里的机器数量,甚至虚拟机数量要大很多。当你分配了弹性ip后,如果要绑定弹性ip到具体某个虚拟机时候,背地里,阿里云就简单的把这个ip和虚拟机的路由关系告诉它的软交换服务器集群,然后所有进入阿里云中的报文里,属于这个ip的报文被投递给这台虚拟机。
阿里云有很多服务器,但是并不是所有服务器都需要公网IP,比如数据库服务器,负载均衡服务器等,只需要内网IP就够了。实际需要使用公网IP的服务器就是直接面对用户的那几台而已。
借助内网IP和弹性公网IP,以及IP回收等,实际需要使用的公网IP数量是可控的。
人家阿里有自己的as号好吧,bgp互联的,有自己ip段,nat个锤子
很正常,开过专线的就知道,给钱,一条线路,所有内网电脑全可以分配外网ip。
当然是向运营商买ip了,不可能是NAT,至于为什么不是,你需要了解NAT的工作原理,NAT其中一个必要条件是NAT转换必须有一方是公网地址
外网IP,就是公网IP,可以给外面人用的,例如做网站,或给其它人下载等。
肉网IP,就是局网IP,如果你有几台以上的云主机,可以局网传输数据,局网传输数据不占用外部带宽限制,传输大文件速度会快很多很多。
弹性公网IP购买须知
一、 弹性公网IP介绍:
弹性公网IP是可以独立申请的公网IP地址,只能绑定在同一地域内虚拟专有网络类型的ECS实例,支持动态绑定和解绑。
二、计费规则:
弹性公网IP采用按量付费方式进行计费,以小时为单位,按实际消费金额从账户余额中进行扣费。弹性公网IP计费项包括:弹性公网IP使用费用、公网带宽费用,每小时扣费总费用=弹性公网IP使用费用+公网带宽费用(分按固定带宽、按使用流量两种方式),其中
1) 弹性公网IP使用费按固定每小时费用为单位整点结算扣费。
2) 公网带宽费用分为按照固定带宽和按照流量计费两种,固定带宽计费按固定带宽实际使用小时数计费,按照自然日为单位结算扣费,流量计费按照实际使用流量每小时扣费。
3)结算时间以系统自动结算时间为准 ,为避免您超出预期开通使用时长,在不使用时请及时释放。
4)开通时间建议: 整点开通费用最划算,非整点开通和释放,会按照按整点扣费。比如您在1点20分开通弹性IP,如果2点释放,算做1小时计费周期(不足1小时按照1个小时计算)。建议您在整点后几分钟内开通,在整点前几分钟释放。
发表评论
暂时没有评论,来抢沙发吧~