Launching an Instance

Here are instructions on how to launch a new instance of the pfSense® firewall/VPN appliance from the Amazon EC2 Management Console.

  1. Select the region for the instance to run in using the region tab at the upper right corner of the page.

    ../_images/aws-vpn-appliance-1.jpg
  2. Navigate to the AWS Management Console Main Page and select EC2 under the Compute section in the All services dropdown.

    ../_images/aws-vpn-appliance-1a.jpg
  3. Launch a new instance by clicking on the Launch Instance button under the Create Instance section of the EC2 dashboard.

    ../_images/aws-vpn-appliance-2.jpg
  4. Select AWS Marketplace in the left-hand Navigation Menu. Type Netgate pfSense in the search box and press enter.

    ../_images/aws-vpn-appliance-3.jpg
  5. Click the Select button for the Netgate pfSense Firewall/VPN/Router listing in the search result.

    ../_images/aws-vpn-appliance-4.jpg
  6. Review pricing and other helpful information, then click Continue.

    ../_images/aws-vpn-appliance-4a.jpg
  7. Choose the instance type to run by clicking the checkbox next to the desired type. Click Next: Configure Instance Details.

    ../_images/aws-vpn-appliance-10.jpg
  8. Choose the desired Network and Subnet that the instance will be deployed in. Choose any other instance-specific settings that may be required in your environment. Optionally expand the Advanced Details section and set parameters as text in the User Data field. The available options are:

    • password - setting a value via a directive like password=abcdefg will set the password for the administrative account to the value you specify - abcdefg in this example. If no value is set here, a random password will be assigned in order to keep administrative access from being exposed to the Internet with a default password.

    • mgmtnet - setting a value via a directive like mgmtnet=10.0.1.0/24 will restrict management access (http, https, ssh) to the network you specify - 10.0.1.0/24 in this example. This will cause the firewall rules on the instance (not on Amazon’s access lists, but on the Netgate pfSense appliance’s own firewall) to restrict management traffic for the instance to the specified source network. The default behavior is to allow management from any host.

    These directives can be set by placing them on a single line in the User Data field and separating them with colons. To specify both parameters, type a statement similar to this one:

    password=abcdefg:mgmtnet=10.0.1.0/24
    

    Note

    If a password is set using the password parameter listed above, the password is retrieved by the instance via an unencrypted HTTP request when the system is configured the first time it boots. The request is made to an Amazon Web Services-operated server on the local LAN that stores metadata about each instance running. The data for an instance is only made available to that instance, but is available to be queried from the instance without providing any authentication credentials.

    It is advised to change the admin password via the pfSense web GUI after the instance comes up to avoid any security risks associated with the unencrypted request. Otherwise it is possible to choose not to set the password at all and let a random password be set.

  9. Choose the desired Network and Subnet to which the Instance will be deployed. Scroll down to configure the network interface(s) with a Static or DHCP-assigned IP address.

    ../_images/aws-vpn-appliance-11.jpg

    Once the Network Interface(s) are configured, select Next: Add Storage.

    ../_images/aws-vpn-appliance-11a.jpg
  10. Click Next: Add Tags to accept the Storage Device Configuration.

    ../_images/aws-vpn-appliance-12.jpg
  11. It is recommended to set a tag that can be used to differentiate this instance from other instances by entering a value for the Name tag. Click Next: Configure Security Group after setting any desired tags.

    Press the Add Tag button. Input Name under the Key field and the desired Instance Tag Name under the Value field (e.g. Netgate Firewall/Router).

    ../_images/aws-vpn-appliance-13.jpg
  12. Select a security group to launch the instance with. The Security group name and Description can be left at the default, or replaced with the desired values. The recommended settings for a security group should allow at least the following traffic:

    • TCP port 443 from 0.0.0.0/0

      • HTTPS - This is the port that the management web GUI listens on.

    • TCP port 22 from 0.0.0.0/0

      • SSH - This port can be used to connect to a command prompt with an ssh client.

    • UDP port 1194 from 0.0.0.0/0

      • OpenVPN - The OpenVPN server that is configured by default is bound to this port.

    • UDP port 500 from 0.0.0.0/0

      • IKE for IPsec VPN.

    • UDP port 4500 from 0.0.0.0/0

      • IPsec/NAT-T for IPsec VPN.

    Note

    If there is an existing security group that includes this access, click Select an existing security group, then select the desired group(s) to use and click Continue. Otherwise, select Create a new security group, and add rules for this access by filling in the form for each rule and clicking the Add Rule button. When all of the rules have been added, click Review and Launch.

    ../_images/aws-vpn-appliance-14.jpg
  13. Review any AWS warnings and make note of recommendations. Scroll down to review the remaining instance details and click Launch after making any needed adjustments.

    ../_images/aws-vpn-appliance-15.jpg
  14. Select an existing key pair or create a new key pair to connect to the instance with. Click the checkbox that indicates acknowledgment of access to the selected private key file and then click Launch Instances.

    Important

    Do NOT select the Proceed Without a Key Pair option.

    ../_images/aws-vpn-appliance-16.jpg