Important: All agents in an agent pool should have the same operating system and hardware resources available. If the agents are using different resources, run performance can vary significantly between each agent in the pool.
Ensure your system meets the following requirements before installing and configuring Terraform Cloud Agents. Refer to Terraform Cloud Agents on TFE for additional Terraform Enterprise requirements.
Agents support Terraform versions 0.12 and above. Workspaces configured to use Terraform versions below 0.12 cannot select the agent-based execution mode.
The host running the agent has varying resource requirements depending on the workspace. A host can be a dedicated or shared cloud instance, virtual machine, bare metal server, or a container. You should monitor and adjust memory, CPU, and disk space based on each workspace's usage and performance. The name of your instance type may vary depending on your deployment environment.
Use the following specifications as a reference:
- At least 4GB of free disk space
- Each run requires the agent to temporarily store local copies of the tarred repository, extracted repository, state file, any providers or modules, and the Terraform binary itself.
- At least 2GB of system memory
In order for an agent to function properly, it must be able to make outbound requests over HTTPS (TCP port 443) to the Terraform Cloud application APIs. These requests may require perimeter networking as well as container host networking changes, depending on your environment. Refer to the Terraform Cloud IP Ranges documentation for more details on the IP ranges.
Additionally, the agent must also be able to communicate with any services required by the Terraform code it is executing. This includes the Terraform releases distribution service, releases.hashicorp.com (supported by Fastly), as well as any provider APIs. The following services run on these IP ranges:
|app.terraform.io||tcp/443, HTTPS||Outbound||Polling for new workloads, providing status updates, and downloading private modules from Terraform Cloud's Private Module Registry|
|registry.terraform.io||tcp/443, HTTPS||Outbound||Downloading public modules from the Terraform Registry|
|releases.hashicorp.com||tcp/443, HTTPS||Outbound||Updating agent components and downloading Terraform binaries|
|archivist.terraform.io||tcp/443, HTTPS||Outbound||Blob Storage|