Terraform ECS Fargate Advanced Template
It's expected that users who choose to use Terraform over the equivalent CloudFormation template will have working knowledge of infrastructure as code using Terraform in AWS. Users should familiarize themselves with the official documentation before continuing:
- AWS official documentation for using Terraform.
- HashiCorp official documentation for using Terraform on AWS.
Terraform template files can be found in the Downloads section of this article.
The template provides a blueprint for installation that you may use verbatim, but you may need to modify it to suit your own needs and rules governing your cloud infrastructure.
This template will create the following resources in your AWS account:
- ECS Task Definition.
- ECS Fargate Cluster.
- S3 Bucket.
- CloudWatch Log Group.
- IAM Roles with permissions for the following:
- Task Roles to your S3 bucket, ECS, EC2 and Secrets Manager (see "Task IAM Role" section).
- Task Execution Roles to pull from ECR Public repositories (see "Task Execution IAM Role" section).
Edit the template
Users should inspect the template in a text editor and ensure the values are as expected before proceeding. In particular, the
PLATFORM_WEBSOCKET_ENDPOINT environment variable should be edited to match the expected endpoint and region. See Environment Variables for more information.
The basic template assumes you have certain resources already set up in your AWS stack. You'll also be required to provide details on these resources such as names, paths, and ARNs.
- Subnet(s) within a customer private cloud with outbound access to the relevant data sources and destinations, as well as to ECR and to the Matillion CDC websocket endpoint.
- Security group controlling ingress/egress within the subnet(s).
- Secrets Manager entries for your Platform Key and database passwords.
Users are expected to have access to certain details and permissions:
- Access to a valid Terraform installation.
- Access to the Matillion Hub account and Matillion Data Loader.
- CDC Agent environment variables (generated in Matillion Data Loader when creating a new agent).
- Matillion Data Loader platform key (generated once per Matillion Data Loader account the first time you make an agent).
- Access to AWS with the ability to create a stack on a billable account. You may require an administrator from your organization to either give access or perform this process with you.