Reusable terraform modules. They are made for M3,Inc.'s internal use. But, anyone able to use them under LICENSE.
Setting up services:
| Module | Description |
|---|---|
| alb_template | ALB + SSL certificate. |
| ecr_repository_template | ECR repository with Lifecycle policy. |
| ecs_ec2_cluster_template | ECS nodes with EC2 + AutoScaling. |
| ecs_web_service_template | ECS service + ALB target/listener + Route53 record. |
Monitoring:
| Module | Description |
|---|---|
| guardduty_slack | GuardDuty alerts in Slack. |
| lambda_monitoring | CloudWatch monitoring (alarm) for AWS lambda. |
See README.md and variables.tf of each module for details.
We can use modules with module blocks:
module "esc_ec2_cluster_template" {
source = "github.com/m3dev/m3-terraform-modules//ecs_ec2_cluster_template?ref=495ff58"
// ... set input variables, see `variables.tf` of the module.
}
Note:
- You have to use double slash (
//) to split repository URL and path from repository root. - You should specify tag/branch/revision with
ref, or your code might be broken when themasterbranch changed.
See the official document) for details.