Skip to main content

FactorFifty - AWS EC2 Module Documentation

Introduction

The AWS EC2 module in FactorFifty allows you to configure and deploy EC2 instances on AWS through an intuitive, user-friendly interface.

This guide walks you through the steps to configure, deploy, and manage EC2 instances within FactorFifty.


1. Getting Started

Once you log into FactorFifty, you will land on the Projects Dashboard. From here, you can manage your projects and environments.

1.1 Navigate to the EC2 Module

  1. Choose a Project to work on.
  2. Select the Environments tab to create a new environment or manage an existing one.
  3. Go to the Diagram tab to start designing your infrastructure.

2. Designing Your Infrastructure

In the Diagram tab, you can visually represent your infrastructure by adding modules.

Add the EC2 Module

  1. Click Edit diagram.
  2. Drag and drop the AWS EC2 Instance module into your diagram canvas.

EC2 Module

Once you drop the EC2 module, the configuration panel will open for further customization.


Configuring Your EC2 Instance

The EC2 Configuration Panel allows you to configure various properties for the EC2 instance, including its identifier, operating system, AMI ID, and instance type.

Key Configuration Fields

1. Factor Fifty Identifier

  • Description: A unique identifier for the EC2 instance, which will match the name in your diagram.
  • Example: ec2-instance-al2023

2. AMI ID

  • Description: Choose whether to use a default Amazon Machine Image (AMI) or provide your own custom AMI.
  • Type: Dropdown menu that dynamically fetches available AMIs based on the operating system chosen.
  • Example: ami-0e063707e9b2b63437

3. Operating System

  • Description: Select the operating system for your EC2 instance.
  • Options: al2023, ubuntu, rhel, windows

4. Instance Type

  • Description: Select the type of EC2 instance (e.g., t3.medium).
  • Type: Dropdown menu fetching instance types based on your region.

5. Public Key Name

  • Description: If you choose to use an existing key pair, provide the name of the public key.
  • Example: my-aws-key

Example Configuration

Here’s an example of what the configuration might look like for an EC2 instance:

  • Factor Fifty Identifier: ec2-instance-al2023
  • AMI ID: ami-0e063707e9b2b63437
  • Operating System: al2023
  • Instance Type: t3.medium
  • Public Key Name: my-aws-key

Once configured, click Update to apply the settings.


Finalizing and Deploying

After configuring the EC2 instance:

  1. Review the infrastructure in the Diagram view to ensure all settings are correct.
  2. If everything looks good, click Deploy to deploy the EC2 instance to AWS.

Troubleshooting

If you encounter issues during deployment, here are a few common troubleshooting steps:

  • EC2 Instance Not Starting:

    • Check your Security Groups and IAM Roles to ensure they are correctly set up.
  • Permission Errors:

    • Make sure your AWS account has the necessary permissions to manage EC2 instances and IAM roles.
  • Invalid AMI ID:

    • Double-check the AMI ID field to ensure it corresponds to the correct operating system and region.

Fields Configuration

The following table describes all the visible configuration fields for the AWS EC2 module in FactorFifty. Mandatory fields are emphasized, and dependencies (if applicable) are noted.

FieldDescriptionTypeDefault ValueMandatoryDependencies/Conditions
Factor Fifty IdentifierUnique identifier for the EC2 instance in FactorFifty.Inputec2-instanceYes-
Override AMI CheckWhether to provide your own custom AMI ID.Toggle (Boolean)falseYes-
Operating SystemSelect the operating system for the EC2 instance.Dropdownal2023YesRequired when Override AMI Check is false.
AMI IDThe AMI ID to use for the instance.Dropdown (API)-NoRequired when Override AMI Check is false and Operating System is set.
Override AMI IDProvide a custom AMI ID for the instance.Input-NoRequired when Override AMI Check is true.
Instance TypeSelect the EC2 instance type.Dropdown (API)-Yes-
Use Existing Key PairWhether to use an existing key pair.Toggle (Boolean)trueYes-
Public Key NameThe name of the public key for an existing key pair.Input-YesRequired when Use Existing Key Pair is true.
Public KeyThe public key to use if not using an existing key pair.Input-NoRequired when Use Existing Key Pair is false.
Subnet IDThe VPC Subnet ID to launch the instance in.Input{parent}.subnet_ids[0]Yes-
Security Group IDsList of security group IDs to associate with the instance.Input List[]No-
Root Volume SizeSize of the root volume in gigabytes.Number20No-
Root Volume TypeType of root volume (e.g., standard, gp2, gp3, io1).Dropdowngp3No-
Associate Public IPWhether to associate a public IP with the instance.Toggle (Boolean)falseNo-
TagsTags to apply to the resources.Input List{}No-
Additional Block DevicesAdditional EBS block devices to attach to the instance.JSON Input[{}]No-
Backup EnabledWhether to enable backup for the instance.Toggle (Boolean)falseNo-
Detailed MonitoringWhether to enable detailed monitoring for the instance.Toggle (Boolean)falseNo-
Get Password DataWhether to get password data for the instance.Toggle (Boolean)falseNo-
EBS OptimizedWhether the instance is EBS optimized.Toggle (Boolean)falseNo-
Availability ZoneThe availability zone to launch the instance in.Input-No-
Disable API StopWhether to disable the ability to stop the instance via API.Toggle (Boolean)falseNo-
Disable API TerminationWhether to disable the ability to terminate the instance via API.Toggle (Boolean)falseNo-
Network InterfaceThe network interface to associate with the instance.InputnullNo-
Private IPThe private IP to associate with the instance in a VPC.InputnullNo-
Source/Dest CheckWhether to enable source/destination checking for the instance.Toggle (Boolean)trueNo-
TenancyThe tenancy of the instance.InputdefaultNo-
Additional User DataAdditional user data to provide to the instance.Inputecho "No additional user data provided"No-
Volume TagsTags to apply to the root volume.Input List{}No-
HibernationWhether to enable hibernation for the instance.Toggle (Boolean)falseNo-
CPU CreditsThe credit option for CPU usage (e.g., standard, unlimited).InputunlimitedNo-