Deploy the Assembler in AWS (Terraform)
This guide is only for V2 assemblers being deployed with a virtual machine in AWS EC2 by using Terraform. The V1 assembler is no longer supported as of June 30, 2024.
Each assembler you created must be deployed via a virtual machine, and then you can add your technology as a security device in Workbench to complete the full integration. For more information about the Expel Assembler or how it works, see the About the Expel Assembler guide.
Prerequisites
You must have completed all of the steps in Add a New Assembler for each assembler you wish to deploy.
You must have Terraform installed.
Step 1: Download the Ignition File
The ignition file enables the virtual machine to read a configuration file, and to provision the Fedora CoreOS system based on the contents of that file. You will use this file when you configure the virtual machine in GCP.
In the side menu, navigate to Organization Settings > Assemblers.
Find the assembler you created, leave the file format as JSON, and select Download the CoreOS Ignition File. This action will download a JSON file that you will need in the next section.

Move your ignition file to a remote, secure location such as Google's Cloud Storage. The contents of the ignition file will be stored in plaintext (unencrypted) wherever your Terraform state files are located.
Repeat this process for any additional assemblers.
Step 2: Set Up the Terraform Config File for AWS
Terraform will use the AWS provider (use this link if you need help with authentication) to configure your infrastructure. You will need to create a Terraform config file if you do not have one, and make sure the file has the following configuration.
The
awsprovider block is used to configure your AWS authentication credentials.The
regionis your AWS region.Optional: You may add an
access_keyandsecret_keyif needed for authentication
Step 3: Set the User Data for the VM
Use the template_file data source and set the source attribute to the URL where you stored your ignition file. For example, this could be a pre-signed S3 object link if the ignition file is stored in S3.
Step 4: Configure and Spin Up the Virtual Machine
Use the aws_instance resource to configure your virtual machine with the minimum requirements.
Go to the Fedora CoreOS downloads page and scroll to the Cloud Launchable section, and click the button for AWS.
On the screen that displays, copy the Amazon Machine Image (AMI) ID for the region you would like to deploy to, and use it in the code below.
amiis the AMI ID you just copied.machine_typeis “t2.medium”, which has the minimum CPU and RAM requirements for an assembler.volume_sizeis "20", which indicates the 20GB minimum disk size required for an assembler.
Step 5: Verify a “Connected” Status in Workbench
In the side menu, navigate to Organization Settings > Assemblers (or, refresh the page if you never logged out).
Find your newly created assembler(s) and verify that the status has changed from “Not Yet Connected” to “Connected.”
If your assembler(s) still do not show as connected after waiting at least 15 minutes and refreshing the page, see the Troubleshooting section for help.
Step 6: Connect Your Technology
You can now set up your vendor technology in Workbench.
Troubleshooting
If your assembler is still not showing as “Connected” after 15 minutes:
Make sure your chosen connection has the proper firewall configurations to allow our outbound ports.
Make sure your config file includes the correct region (Step 2).
Make sure your ignition file is at the path specified, and that you are referencing the correct ignition file for your assembler (Step 3).
Make sure your chosen machine’s size meets the required minimums (2 virtual CPUs, 8 GB RAM, and 20 GB disk space).
If all firewall, config file, and resource definitions settings are correct and you are still unable to connect the assembler, contact Support for help.
Reference
Full Code Examples
Last updated
Was this helpful?

