Subsections of fortigate-aws-ha-dualaz-cloudformation
Introduction
Welcome
The purpose of this site is to provide a quick start guide for using Infrastructure as Code (IaC) templates located in the repo fortigate-aws-ha-dualaz-cloudformation.
Reference the prerequisites and deployment sections on this site to get started.
For detailed documentation on FGCP in AWS, walk through of a post deployment failover, and additional use cases, please reference CSE Team FGCP in AWS.
For other documentation needs such as FortiOS administration, please reference docs.fortinet.com.
Prerequisites
Before attempting to create a stack with the templates, a few prerequisites should be checked to ensure a successful deployment:
An AMI subscription must be active for the FortiGate license type being used in the template.
The solution requires 3 EIPs to be created so ensure the AWS region being used has available capacity. Reference AWS Documentation for more information on EC2 resource limits and how to request increases.
If BYOL licensing is to be used, ensure these licenses have been registered on the support site.
Create a new S3 bucket in the same region where the template will be deployed. If the bucket is in a different region than the template deployment, bootstrapping will fail and the FGTs will be inaccessible.
If BYOL licensing is to be used, upload these licenses to the root directory of the same S3 bucket from the step above.
Ensure that an S3 gateway endpoint is deployed and assigned to both of the PublicSubnet’s AWS route table. If you are using the ‘NewVPC_FGCP_DualAZ.template.json’ template, then this will be deployed for you. Reference AWS Documentation for further information.
Ensure that all of the PublicSubnet’s and HAmgmtSubnet’s AWS route tables have a default route to an AWS Internet Gateway. Reference AWS Documentation for further information. Otherwise you must set the variable only_private_ec2_api to ‘yes’.
Deployment
Once the prerequisites have been satisfied proceed with the deployment steps below.
- To download the templates, you can either clone the repo with the git command below, or download the repo as a ZIP archive. The templates themselves are in the /cloudformation folder
git clone https://github.com/FortinetCloudCSE/fortigate-aws-ha-dualaz-cloudformation.gitLogin to your AWS account. In the AWS services page under All Services > Management Tools, select CloudFormation.
Select Create Stack then select with new resources.
On the Select Template page, under the Choose a Template section select Upload a template to Amazon S3 and browse to your local copy of the chosen deployment template.
On the Specify Details page, you will be prompted for a stack name and parameters for the deployment. We are using the ‘NewVPC_FGCP_DualAZ.template.json’ template which deploys a new VPC, gives options for TGW or CWAN integration, and deploys a FGCP cluster as well.
We are choosing to deploy TGW so we have set both ‘Attachment’ and ‘TgwCreation’ to ‘Yes’. We also set ‘CwanCreation’ to ‘NO’. Note you can also attach to an existing TGW by changing ‘TgwCreation’ to ‘No’ and providing the appropriate values for the ‘TgwExisting…’ parameters. The same applies for an existing CWAN using ‘CwanExisting…’ parameters.
In the FortiGate Instance Configuration parameters section, we have selected an Instance Type and Key Pair to use for the FortiGates, chose to encrypt both OS and Log disks, as well as BYOL licensing. Notice we are prompted the InitS3Bucket where the licenses are stored, License Types, FortiGate1LicenseFile, and FortiGate2LicenseFile parameters. For the values we are going to reference the S3 bucket and relevant information from the deployment prerequisite step 4.
Notice that the license files are in the root directory of the S3 bucket, so we did not need to specify a prefix in our values for FortiGate1LicenseFile and FortiGate2LicenseFile.
In the Interface IP Configuration for the FortiGates parameters section, we are going with the defaults in this example as the subnet addressing matches. These IPs will be the primary IPs assigned to the FortiGate ENIs. These values will also be used as the static IPs in the FortiOS configuration for both FortiGates.
On the Options page, you can scroll to the bottom and select Next.
On the Review page, scroll down to the capabilities section. As the template will create IAM resources, you need to acknowledge this by checking the box next to ‘I acknowledge that AWS CloudFormation might create IAM resources’ and then click Submit.
On the main AWS CloudFormation console, you will now see your stack being created. You can monitor the progress by selecting your stack and then select the Events tab.
Once the stack creation has completed successfully, select the Outputs tab to get the login information for the FortiGate instances and cluster. If you chose to deploy a new TGW as part of the deployment you will see the IDs of your Transit Gateway and relevant TGW Route Tables. These will be used as inputs for the ‘NewVPC_Spoke_DualAZ.template.json’ template.
- Here is an example of deploying a spoke VPC using the ‘NewVPC_Spoke_DualAZ.template.json’ template. Note we are referencing the relevant IDs for Transit Gateway and relevant TGW Route Tables created for us using the ‘NewVPC_FGCP_DualAZ.template.json’ template.
















