Abiquo and AWS networks

 

This page contains technical notes about AWS networks

Abiquo virtual datacenter network options in AWS

When you create a virtual datacenter in Abiquo, you have the following options to create a network:

  1. Default private network

  2. None (Abiquo 6.1.2+)

  3. Custom private network

Abiquo will create an AWS VPC according to these options as described in the following sections.


How Abiquo creates a virtual private cloud

When you select Default private network or Custom private network, Abiquo configures VPC networking Scenario 2 as described in the AWS documentation. See https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html . 

 

Diagram of how Abiquo creates a VPC in AWS with a NAT gateway
Network diagram of AWS Scenario 2

 

Abiquo creates a VPC in AWS with one Availability zone only. When you create this in AWS using the wizard, it creates three routing tables, but Abiquo creates two and marks the private routing table as Main.

Abiquo creates a public subnet where the name is the AWS Subnet ID, in the format subnet-xxxx, which is the provider ID for the public subnet. The NAT gateway that AWS creates in a VPC uses a private IP in the public subnet.

The primary private IP of the NAT gateway is automatically assigned by AWS. In Abiquo we always set the first IP as the gateway, because according to the documentation, it is reserved for the VPC router. See https://docs.aws.amazon.com/vpc/latest/userguide/subnet-sizing.html.

In Abiquo the public IP of the NAT gateway enables access to the internet from the private subnet, but it does not allow incoming connections.

To connect from outside the VPC, you will need at least one VM with an IP address in the public subnet, and one public IP. To allow connections to your VM via the public IP, AWS automatically creates a DNAT rule using the internet gateway.

When you create a VPC in Abiquo, it does not onboard the IPs of the private subnets. You need to synchronize each network to onboard its IPs.


Abiquo can create a VPC with no network

In Abiquo 6.1.2+, the user can now choose not to create networks when they create a virtual datacenter. In this case, Abiquo will create an AWS VPC with no public subnet, internet gateway, or NAT gateway (and no expensive elastic IP!). Abiquo will still create an address range for the VPC, and the user should enter these details.

If you do not create the networks when you create the VDC, you cannot connect to your VMs or use NAT for outward internet connectivity.

To connect to a VM in an AWS VDC with the None option for networks:

  1. In your virtual datacenter, go to Network → Private

  2. Click + add and when you create the network, select the Internet gateway checkbox.

    Select the Internet gateway checkbox to create a public subnet in AWS
    Select the Internet gateway checkbox to create a public subnet in AWS
  3. Edit your VM and add an IP from the public subnet

  4. Connect to your VM as usual. For more details, see How to deploy a VM in AWS using Abiquo.

When you create a public subnet, if there is no internet gateway, the platform creates a new one and associates it with a new route table. If an internet gateway exists but it is not associated with a route table with a destination of 0.0.0.0/0, then the platform creates a new route table.

 

To allow outward NAT connectivity from VMs in an AWS VDC with the None option for networks:

  1. Create a public subnet in your VDC (as described above)

  2. Create a private network in your VDC

  3. Manually create the NAT gateway in the AWS console (see AWS documentation at Create a NAT gateway)

  4. Edit the main route table to add a new route with target = igw and destination 0.0.0.0/0.

 

 

Technical notes about AWS networks

The following notes describe how Abiquo manages AWS networks in virtual datacenters with a Default private network or Custom private network, where Abiquo configures VPC networking Scenario 2.

  • When creating a NAT gateway, Abiquo will reuse floating IPs that are not assigned to a VDC. 

  • VMs in private networks will have internet access through the public subnet.

  • Users can create public subnets and Abiquo will assign them to route tables with a route to the internet gateway. 

  • When Abiquo creates new public subnets, it will not create any new NAT gateways.

  • If users delete the original public subnet, this will also delete the original NAT gateway. But Abiquo will replace all the routes in the main route table that route traffic to the deleted NAT gateway with a new rule to route traffic to the internet gateway.

  • Abiquo users must attach Elastic IPs to VMs with a connection to a public subnet.

  • Note that AWS may charge for Elastic IPs when they are NOT in use, i.e. when they are not assigned to a VM or when the VM is not deployed in AWS.

  • The private subnet is a private connect network.

  • To deploy to different Availability zones, create a private networks (VPC subnet) for each zone.

  • The private subnets in the same availability zone as a public subnet will have internet access through the public subnet.

  • Abiquo creates a VPC with a minimum network size of /16 and a subnet of size /24, or with the sizes defined by the user.

  • You can set a custom private network in Abiquo and this network will be used to create the VPC and subnet in Abiquo.

  • You can create multiple address spaces (called Abiquo address ranges) and Abiquo private networks in different availability zones in the same VPC.

  • AWS reserves the first four IP addresses and the last IP address of a VPC private connect network.

  • For a network that is defined to start with address 0, the first available IP address will be address 4 and the gateway address is address 1.

  • You can synchronize existing VMs and create new IP addresses through Abiquo, including multiple Elastic IPs.

  • The maximum number of IP addresses is determined by the AWS hardware profile (instance type). See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI

  • Abiquo adds IPs in the same subnet to the same elastic network interface.

  • For information about Elastic Network Interfaces, see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html

Copyright © 2006-2024, Abiquo Holdings SL. All rights reserved