1.创建自定义vpc
1.1流程图
1.2相关代码
//host集群创建vpc
func (
vs
*
VpcService)
CreateVpc(
db
*
sql
.
DB)
error {
//数据库不存则插入vpc记录
_,
err :
=
vs
.
createVpcDb(
db)
if
err
!=
nil {
return
err
}
//host集群创建vpc
hostName :
=
config
.
Config
.
GetString(
"HOST_NAME")
err
=
vs
.
createVpcCluster(
hostName)
return
err
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
2.创建子网
2.1流程图
2.2相关代码
func (
ss
*
SubnetService)
CreateSubnet(
db
*
sql
.
DB)
error {
//创建vpc
vpcService :
=
NewVpcService(
ss
.
ClusterName,
ss
.
VpcName,
ss
.
VpcNetwork,
ss
.
Token,
ss
.
UserName,
ss
.
Namespace,
)
//数据库不存则插入vpc记录
vpcId,
err :
=
vpcService
.
createVpcDb(
db)
ss
.
SetVpcId(
vpcId)
if
err
!=
nil {
return
err
}
//普通集群创建
err
=
vpcService
.
createVpcCluster(
ss
.
ClusterName)
if
err
!=
nil {
return
err
}
//数据库插入subnet
err
=
ss
.
createSubnetDb(
db)
if
err
!=
nil {
return
err
}
err
=
ss
.
createSubnetCluster(
ss
.
ClusterName)
//集群创建subnet
return
err
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
3.ER图
4.vpc子网是否可以通信
5.vpc相关概念
VPC组成部分
每个虚拟私有云VPC由一个私网网段、路由表和至少一个子网组成。
- 私网网段:用户在创建虚拟私有云VPC时,需要指定虚拟私有云VPC使用的私网网段。当前虚拟私有云VPC支持的网段有
10.0.0.0/24 172.16.0.0/12-24和192.168.0.0/16~24。
- 子网:云资源(例如云服务器、云数据库等)必须部署在子网内。所以,虚拟私有云VPC创建完成后,您需要为虚拟私有云VPC划分一个或多个子网,子网网段必须在私网网段内。更多信息请参考子网。
- 路由表:在创建虚拟私有云VPC时,系统会自动生成默认路由表,默认路由表的作用是保证了同一个虚拟私有云VPC下的所有子网互通。当默认路由表中的路由策略无法满足应用(比如未绑定弹性公网IP的云服务器需要访问外网)时,您可以通过创建自定义路由表来解决。更多信息请参考VPC内自定义路由示例和VPC外自定义路由示例。
- 安全
安全组与网络ACL(Access Control List)用于保障虚拟私有云VPC内部署的云资源的安全。安全组类似于虚拟防火墙,为同一个VPC内具有相同安全保护需求并相互信任的云资源提供访问策略,更多信息请参考安全组简介;您可以为具有相同网络流量控制的子网关联同一个网络ACL,通过设置出方向和入方向规则,对进出子网的流量进行精确控制,更多信息请参考网络ACL简介。
- VPC连接
华为云提供了多种VPC连接方案,以满足用户不同场景下的诉求。具体应用场景及连接方案请参见应用场景。
通过VPC对等连接功能,实现同一区域内不同VPC下的私网IP互通。
通过EIP或NAT网关,使得VPC内的云服务器可以与公网Internet互通。
通过虚拟专用网络VPN、云连接、云专线及VPC二层连接网关功能将VPC和您的数据中心连通。