跳转到: 导航, 搜索

Heat/VPC 资源支持

OpenStack Networking 在 Folsom 版本中集成,并且由于 OS Networking 和 Virtual Private Cloud 之间存在良好的契合度,Heat 团队决定在 Grizzly 版本中实现 AWS VPC 资源。

下表描述了 Heat 中 VPC 的当前支持情况,但请注意,由于 Heat 团队正在弥补差距,它可能已过时 :-)

CloudFormation 资源 Heat 实现 备注
AWS::EC2::VPC 部分 创建一个网络和一个路由器。

网络的内部 ID 用于 VpcId 属性。

不支持 CidrBlock 属性,它被接受但未使用。

不支持 InstanceTenancy 属性。它定义了在 VPC 中启动的实例的租户模式:默认(=共享或专用硬件)或专用(=仅专用硬件)。

AWS::EC2::Subnet 部分 创建一个子网并将子网与网络的路由器关联。

Networking 中不支持 AvailabilityZone 属性。

AWS::EC2::NetworkInterface 部分 创建一个端口。

GroupSet 属性映射到 OpenStack Networking 中的现有安全组。

OpenStack Networking 中不支持 Description 属性。

OpenStack Networking 中不支持 SourceDestCheck 属性。默认情况下,EC2 实例不会接收未发送到其任何私有 IP 地址的流量。必须关闭此标志才能用于 NAT 实例。

AWS::EC2::InternetGateway 正常 将网络的全部路由器与外部网络关联。

创建不会生成额外的 Networking 资源,但必须先存在一个(且仅有一个)具有属性 'router:external' 的网络。

AWS::EC2::CustomerGateway 尚未有等效项。
AWS::EC2::VPNGateway 尚未有等效项。
AWS::EC2::VPNConnection 尚未有等效项。
AWS::EC2::VPCGatewayAttachment 部分 AWS::EC2::VPCGatewayAttachment 创建将 VPC 网络的所有路由器与外部网络关联。

尚未支持 VpnGatewayId 属性。

AWS::EC2::RouteTable 部分 创建一个新的路由器,该路由器将添加到与 VpcId 关联的 Neutron 网络。
AWS::EC2::SubnetRouteTableAssocation 部分 将子网(SubnetId 属性)与给定的路由器(RouteTableId 属性)关联。
AWS::EC2::Route 尚未有等效项。
AWS::EC2::DHCPOptions 不支持,但子网具有“DNS nameservers”属性。
AWS::EC2::VPCDHCPOptionsAssociation OpenStack Networking(DHCP 选项应用于子网)和 VPC(DHCP 选项应用于网络)之间存在不匹配。
AWS::EC2::NetworkAcl 尚未有等效项。
AWS::EC2::NetworkAclEntry 尚未有等效项。
AWS::EC2::SubnetNetworkAclAssocation 尚未有等效项。
AWS::EC2::SecurityGroup 部分 映射到 Nova 安全组。如果不存在具有相同名称的组,则创建一个安全组。

应更新为在传递 VpcId 属性时创建/修改 Neutron 安全组(请参阅 https://blueprints.launchpad.net/heat/+spec/quantum-security-group)。

AWS::EC2::SecurityGroupIngress 部分 部分资源封装在 AWS::EC2::SecurityGroup 资源中。应为完全支持而成为一个独立的资源。
AWS::EC2::SecurityGroupEgress 尚未有等效项。
AWS::EC2::EIP 部分 浮动 IP 地址的创建依赖于 Nova,Nova 将请求代理到 OpenStack Networking。

定义分配浮动 IP 地址的网络名称由 nova.conf 中的 default_floating_pool 参数定义(默认值:“nova”)

AWS::EC2::EIPAssociation 部分 参见下文

与 Heat 中公开的所有 AWS 资源一样,不支持 Tags 属性,但这首先是 Nova 和 Networking 的限制,但有一个 蓝图 用于跟踪该问题。

现有的 VPC/Heat 差距


最后请记住,在 Heat 模板中使用 AWS 资源不是必需的,因为您仍然有机会使用 Networking 资源(目前在 OS::Neutron::* 命名空间中)。如果您不关心 AWS CloudFormation 兼容性,甚至建议坚持使用这些本机资源,因为它们与 Neutron 组件完美匹配。