专有网络与交换机
专有网络VPC是您专有的云上私有网络,您可以完全掌控自己的专有网络。专有网络是地域级别的资源,您可以在专有网络中创建与使用阿里云产品资源,如云服务器ECS实例、云数据库RDS实例等。
交换机vSwitch是可用区级别的资源,您可以使用交换机来划分子网,同一VPC内的不同交换机之间内网互通。通过在多个不同可用区的交换机中同时部署云产品资源,可以避免应用受到单一可用区故障的影响。
网络规划
合理的网络规划需要避免网段冲突并保障网络的可扩展性,网络规划不当将会导致后期极高的重建成本。因此,建议在创建专有网络之前先进行网络规划。
创建/删除专有网络与交换机
控制台
创建专有网络和交换机
前往专有网络控制台的创建专有网络页面。
配置专有网络:
地域:选择您计划创建云资源的地域。
IPv4网段:选择控制台提供的建议网段,或根据需要输入自定义网段。在多VPC互通等场景下,建议您配置与已有VPC不重叠的网段来避免VPC互通时的网段冲突问题。为了避免网段冲突、保障网络的可扩展性,建议您结合IPAM创建专有网络。
1、建议您使用RFC1918中指定的私有IPv4地址作为VPC的网段,网络掩码使用16~28位。如10.0.0.0/16、172.16.0.0/16、192.168.0.0/16。
2、不能使用100.64.0.0/10、224.0.0.0/4、127.0.0.0/8或169.254.0.0/16网段作为VPC的IPv4网段。
配置交换机:
可用区:后续用于创建云资源的可用区。您应该根据所需资源在对应可用区的支持状态及库存情况(是否售罄)来选择可用区。
IPv4网段:选择控制台默认的网段,或根据需要调整网段范围。
添加更多交换机:为了避免应用受到单可用区故障的影响,您可以创建分布在不同可用区的多个交换机。您可以在创建专有网络的过程中,创建交换机;也可以后续在专有网络控制台-交换机中,添加更多交换机。
删除专有网络和交换机
在目标专有网络和交换机的操作列或详情页单击删除,系统将校验是否存在未删除的云产品资源或关联资源。如有依赖资源时,您需要完全释放资源后,才可删除专有网络和交换机。
1、删除交换机前,需要确保交换机未共享、未绑定自定义路由表和网络ACL并且交换机内的云产品资源已释放。
2、删除专有网络前,需要确保VPC内资源已释放完成,且已取消与云企业网等网络服务的关联。
API
与控制台逻辑不同的是,使用CreateVpc仅创建一个空的专有网络,您还需要使用CreateVSwitch创建交换机。
依次调用CreateVpc和CreateVSwitch创建专有网络和交换机。
依次调用DeleteVSwitch和DeleteVpc删除交换机和专有网络。
1、删除交换机前,需要确保交换机未共享、未绑定自定义路由表和网络ACL并且交换机内的云产品资源已释放。
2、删除专有网络前,需要确保VPC内资源已释放完成,且已取消与云企业网等网络服务的关联。
Terraform
Resources:alicloud_vpc、alicloud_vswitch
Data Sources:alicloud_zones
# 指定创建VPC的地域
provider "alicloud" {
region = "cn-hangzhou"
}
# 根据数据源自动获取可以创建交换机的可用区列表
data "alicloud_zones" "available_zones" {
available_resource_creation = "VSwitch" # 查询VPC内可创建的可用区
# available_instance_type = "ecs.g7.large" # 查询VPC内可创建ECS实例的可用区
# available_resource_creation = "slb" # 查询VPC内可创建SLB实例的可用区
}
# 创建VPC
resource "alicloud_vpc" "example_vpc" {
vpc_name = "example_vpc_name"
cidr_block = "10.0.0.0/16" #指定网段
}
# 创建交换机
resource "alicloud_vswitch" "example_vswitch" {
vswitch_name = "example_vswitch_name"
cidr_block = "10.0.0.0/24" # 指定网段
vpc_id = alicloud_vpc.example_vpc.id # 指定交换机所属VPC的实例ID
zone_id = data.alicloud_zones.available_zones.zones.0.id # 指定交换机所属可用区
}
开启/关闭IPv6
为专有网络和交换机开启IPv6后,系统将自动创建IPv6网关并分配IPv6网段,默认仅支持私网通信。如需公网通信,可开通IPv6公网带宽。
支持IPv4/IPv6双栈的地域。
控制台
开启IPv6
创建专有网络和交换机时,您可以在IPv6选项中,下拉选择分配BGP(多线)来开启IPv6功能。
针对已创建的专有网络,您可以在目标专有网络的IPv6网段列单击开通IPv6,选择IPv6网段的类型为分配BGP(多线)。您可以勾选自动开启专有网络内所有交换机IPv6功能;或者在目标交换机的IPv6网段列单击开通IPv6,来单独为交换机开启IPv6功能。
关闭IPv6
您可以在目标专有网络/交换机的IPv6网段列单击关闭IPv6,但关闭专有网络的IPv6,需要所有交换机关闭IPv6,并删除该专有网络下的IPv6网关。
API
创建专有网络和交换机时,调整CreateVpc和CreateVSwitch的
EnableIPv6
参数开启/关闭IPv6。针对已创建的专有网络和交换机,调整ModifyVpcAttribute与ModifyVSwitchAttribute的
EnableIPv6
参数开启/关闭IPv6。
Terraform
Resources:alicloud_vpc、alicloud_vswitch
Data Sources:alicloud_zones
# 指定创建VPC的地域
provider "alicloud" {
region = "cn-hangzhou"
}
# 根据数据源自动获取可以创建交换机的可用区列表
data "alicloud_zones" "available_zones" {
available_resource_creation = "VSwitch" # 查询VPC内可创建的可用区
# available_instance_type = "ecs.g7.large" # 查询VPC内可创建ECS实例的可用区
# available_resource_creation = "slb" # 查询VPC内可创建SLB实例的可用区
}
# 创建双栈VPC
resource "alicloud_vpc" "example_vpc" {
vpc_name = "example_vpc_name"
cidr_block = "10.0.0.0/16"
enable_ipv6 = true # 开启IPv6,false为关闭IPv6
ipv6_isp = "BGP" # 指定IPv6网段类型
}
# 创建双栈交换机
resource "alicloud_vswitch" "example_vswitch" {
vswitch_name = "example_vswitch_name"
cidr_block = "10.0.0.0/24"
vpc_id = alicloud_vpc.example_vpc.id
zone_id = data.alicloud_zones.available_zones.zones.0.id
enable_ipv6 = true # 开启IPv6,false为关闭IPv6
ipv6_cidr_block_mask = 1 # 指定交换机IPv6网段的最后8比特位
}
使用附加网段扩充网段地址
当您创建专有网络时,为其指定的IPv4网段是专有网络的主网段。您可以通过调整ModifyVpcAttribute接口的CidrBlock
参数,调整VPC的IPv4主网段范围。
当主网段的可用IP地址数不足以满足扩展的业务规模,或者前期网络规划不当导致地址不足时,您可以使用附加网段扩充VPC地址空间。
附加网段与主网段同时生效,可用于创建交换机、部署ECS等云产品资源。
1、不能使用100.64.0.0/10、224.0.0.0/4、127.0.0.0/8或169.254.0.0/16网段作为IPv4附加网段。
2、附加网段的地址块不能与主网段重叠。
3、每个专有网络默认支持添加5个IPv4附加网段,5个IPv6附加网段。
控制台
添加附加网段
在目标专有网络的基本信息页面,单击网段管理页签,您可以添加IPv4或IPv6附加网段。
针对IPv4附加网段,添加时有3种方式:
推荐网段:在10.0.0.0/16、172.16.0.0/16、192.168.0.0/16中选择其一快速添加。
高级配置网段:自定义配置附加网段。
IPAM分配的IPv4地址段:使用IPAM可以避免分配的网段出现冲突。如果您已有预置CIDR的IPAM地址池,建议您选择此项。配置时,首先选择地址池,再配置网络掩码。
针对IPv6附加网段:
如果专有网络未开通IPv6功能,请单击开通IPv6按钮,选择IPv6网段的类型为分配BGP(多线)。您可以勾选自动开启专有网络内所有交换机IPv6功能;或者在目标交换机的IPv6网段列单击开通IPv6,来单独为交换机开启IPv6功能。
针对已开通IPv6功能的专有网络,请单击添加IPv6网段,IPv6网段类型选择分配BGP(多线)。
删除附加网段
在目标专有网络的基本信息页面,单击网段管理>IPv4网段页签或IPv6网段页签,找到需要删除的附加网段,在操作列单击删除。
API
调用AssociateVpcCidrBlock添加附加网段。
调用UnassociateVpcCidrBlock删除附加网段。
Terraform
Terraform当前仅支持创建IPv4附加网段,暂不支持创建IPv6附加网段。
Resources:alicloud_vpc_ipv4_cidr_block
# 指定创建VPC的地域
provider "alicloud" {
region = "cn-hangzhou"
}
# 指定VPC的ID
variable "vpc_id" {
default = "vpc-xxx" # 修改为VPC的实际ID
}
# 在VPC中创建附加网段
resource "alicloud_vpc_ipv4_cidr_block" "example_secondary_cidr_block" {
vpc_id = var.vpc_id
secondary_cidr_block = "192.168.0.0/16" # 指定附加网段
}
预留网段
您可以在交换机中预留网段,确保此网段不被其他资源的创建所占用。预留的网段,当前仅用于给弹性网卡的辅助私网IP分配IP前缀。
1、预留网段内不能包含交换机的系统保留地址。
2、单个交换机IPv4、IPv6最大预留网段数目均为100个。
3、IPv4预留网段的掩码长度最大不超过28,IPv6网段掩码长度且最大不超过80。
控制台
创建预留网段
在目标交换机的基本信息页面,单击预留网段页签,您可以添加IPv4或者IPv6的预留网段。添加时有2种方式:
指定地址段:精确控制要预留的地址段。
指定掩码长度:系统自动从可用网段中划分预留网段。
针对IPv6网段,如果交换机未开通IPv6功能,请单击开通IPv6按钮。在弹出的开通IPv6对话框中设置交换机IPv6网段。
如果您的专有网络也未开通IPv6功能,请在弹出的开通IPv6对话框中,先将IPv6网段类型设为默认的分配BGP(多线),再设置交换机IPv6网段。
查看已占用IP段
在目标交换机的基本信息页面,单击预留网段>IPv4网段页签或IPv6网段页签,找到目标预留网段,在操作列单击查看已占用IP,您可以看到已占用的IP段及对应的弹性网卡。
删除预留网段
删除预留网段前,请确保预留网段已无IP段占用。
在目标交换机的基本信息页面,单击预留网段>IPv4网段页签或IPv6网段页签,找到需要删除的预留网段,在操作列单击删除。
API
调用CreateVSwitchCidrReservation创建预留网段。
调用GetVSwitchCidrReservationUsage查看已占用IP段。
调用DeleteVSwitchCidrReservation删除预留网段。
Terraform
Resources: alicloud_vpc_vswitch_cidr_reservation
# 指定创建VPC的地域
provider "alicloud" {
region = "cn-hangzhou" # 资源所在的地域
}
# 指定交换机的ID
variable "vsw_id" {
default = "vsw-xxx" # 修改为交换机的实际ID
}
# 创建预留网段
resource "alicloud_vpc_vswitch_cidr_reservation" "example_cidr_reservation" {
vswitch_id = var.vsw_id
ip_version = "IPv4"
cidr_reservation_cidr = "10.0.0.128/26" # 指定预留网段
}
结合IPAM创建专有网络
手动配置IPv4网段地址,可能存在配置效率低下、潜在地址冲突等问题。
IPAM 是云上 IP 地址管理的工具,可以帮助您自动化分配与管理 IP 地址,简化网络管理流程并避免地址冲突。您可以结合IPAM规划,创建IPAM和IPAM地址池后,从IPAM地址池为专有网络分配IPv4网段。
控制台
前往专有网络控制台的创建专有网络页面,使用IPAM分配的IPv4地址段,选择IPAM地址池并配置掩码,从IPAM地址池中为专有网络分配网段。
配置网络掩码后,系统会默认分配指定掩码范围内第一个可用的CIDR,您也可以在地址池预置CIDR内,调整IPv4网段。
创建专有网络前,请确保已通过IPAM控制台创建IPAM和IPAM地址池。
API
如已创建过IPAM地址池,可在调用CreateVpc时传入
Ipv4IpamPoolId
来指定IPAM地址池,同时传入Ipv4CidrMask
来指定掩码从IPAM地址池中分配地址作为新建VPC的网段。您也可以传入CidrBlock
来指定VPC使用的网段,而不是通过指定掩码自动分配网段。如未创建过IPAM地址池,可依次调用如下API来创建IPAM地址池,然后参考上述逻辑创建专有网络。
Terraform
Resources:vpc_ipam_ipam、alicloud_vpc_ipam_ipam_pool、alicloud_vpc_ipam_ipam_pool_cidr、alicloud_vpc
# 指定创建IPAM、IPAM 地址池、VPC的地域
provider "alicloud" {
region = "cn-hangzhou"
}
# 创建IPAM
resource "alicloud_vpc_ipam_ipam" "example_ipam" {
ipam_name = "example_ipam_name"
operating_region_list = ["cn-hangzhou"] # 指定IPAM的生效地域
}
# 创建IPAM地址池
resource "alicloud_vpc_ipam_ipam_pool" "example_parentIpamPool" {
ipam_scope_id = alicloud_vpc_ipam_ipam.example_ipam.private_default_scope_id # 指定IPAM地址池的作用范围
ipam_pool_name = "example_parentIpamPool_name"
pool_region_id = alicloud_vpc_ipam_ipam.example_ipam.region_id # 指定IPAM地址池的生效地域
ip_version = "IPv4" # 指定IPAM地址池的版本
}
# 为IPAM地址池分配CIDR
resource "alicloud_vpc_ipam_ipam_pool_cidr" "example_ipamPoolCidr" {
cidr = "10.0.0.0/16" # 指定CIDR
ipam_pool_id = alicloud_vpc_ipam_ipam_pool.example_parentIpamPool.id # 指定IPAM地址池的ID
}
# 创建VPC
resource "alicloud_vpc" "example_ipam_vpc" {
vpc_name = "example_ipam_vpc_name"
ipv4_ipam_pool_id = alicloud_vpc_ipam_ipam_pool.example_parentIpamPool.id # 指定IPAM地址池的ID
ipv4_cidr_mask = 24 # IPv4网络掩码
}
更多信息
默认专有网络与默认交换机
默认专有网络和交换机能帮助您快速实现业务验证与部署,但是如果您需要长期网络服务支撑或承载核心生产系统,建议根据业务架构需求,自定义创建专有网络和交换机,通过精细化网络规划实现资源隔离、安全管控及弹性扩展能力,从而构建符合业务需求的云上网络环境。
每个地域只能创建一个默认专有网络,每个可用区只能创建一个默认交换机。默认专有网络和交换机不占用阿里云为您分配的配额。
当您在尚未创建任何专有网络的地域创建ECS、CLB、RDS实例时,您可以选择由阿里云创建默认专有网络和交换机。此方式创建的默认专有网络网段固定为172.16.0.0/12。
您可以在尚未创建默认专有网络的地域,调用CreateDefaultVpc和CreateDefaultVSwitch创建默认专有网络和交换机。此方式创建的默认专有网络的网段为172.xx.0.0/16。
除上述方式外,您自行创建的专有网络和交换机均为非默认。您可以删除默认专有网络和交换机,但无法将默认专有网络和交换机和非默认专有网络和交换机互相转换。
系统保留地址
交换机网段的地址空间中存在系统保留地址,您无法将系统保留地址分配给ECS等云资源。
针对IPv4,每个交换机的第1个和最后3个IP地址为系统保留地址。
例如,交换机的网段为192.168.1.0/24,则192.168.1.0、192.168.1.253、192.168.1.254和192.168.1.255这4个地址是系统保留地址。
针对IPv6,每个交换机的第1个和最后9个IP地址为系统保留地址。
例如,交换机的IPv6网段为2408:xxxx:xxxx:6eff::/64,则第1个2408:xxxx:xxxx:6eff::和最后9个2408:xxxx:xxxx:6eff:ffff:ffff:ffff:fff7、2408:xxxx:xxxx:6eff:ffff:ffff:ffff:fff8、2408:xxxx:xxxx:6eff:ffff:ffff:ffff:fff9、2408:xxxx:xxxx:6eff:ffff:ffff:ffff:fffa、2408:xxxx:xxxx:6eff:ffff:ffff:ffff:fffb、2408:xxxx:xxxx:6eff:ffff:ffff:ffff:fffc、2408:xxxx:xxxx:6eff:ffff:ffff:ffff:fffd、2408:xxxx:xxxx:6eff:ffff:ffff:ffff:fffe和2408:xxxx:xxxx:6eff:ffff:ffff:ffff:ffff为系统保留IP。
跨账号授权
在将VPC连接到跨账号的云企业网CEN、边界路由器VBR、专线网关ECR之前,您需要先在VPC中进行跨账号授权。
授权操作您可参考:为跨账号云企业网实例授权、为跨账号边界路由器VBR实例授权、为跨账号专线网关ECR实例授权。
授权成功后,对方账号在创建VPC连接、创建VBR上连、将VPC关联到ECR时,才可以选择本账号的VPC实例。
1、此处的账号指的是阿里云账号(主账号),而非RAM用户(子账号)。
2、跨账号授权不支持跨站点,即不支持中国站和国际站之间跨账号。