terraform-aws-ecs-free-tier uses AWS free tier to setup a ready-to-use cloud platform for running any kind of application on it. Since terraform-aws-ecs-free-tier uses AWS free tier, it wouldn't generate any cost. It will setup:
- a VPC including subnets, route tables and network acls.
- a MySQL RDS database inside the VPC.
- a ready-to-use ECS cluster with an EC2 free tier instance.
- ECR repositories to host your container images.
- ready-to-use task roles you can directly apply to your task definition.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1482712489000",
"Effect": "Allow",
"Action": [
"ssm:PutParameter",
"ssm:GetParameter",
"ssm:DescribeParameters",
"ssm:GetParameters",
"ssm:DeleteParameter",
"ssm:ListTagsForResource",
"iam:CreateRole",
"iam:GetRole",
"iam:PassRole",
"iam:ListRolePolicies",
"iam:ListAttachedRolePolicies",
"iam:ListInstanceProfilesForRole",
"iam:DeleteRole",
"iam:AttachRolePolicy",
"iam:DetachRolePolicy",
"iam:PutRolePolicy",
"iam:GetRolePolicy",
"iam:DeleteRolePolicy",
"iam:GetInstanceProfile",
"iam:CreateInstanceProfile",
"iam:DeleteInstanceProfile",
"iam:AddRoleToInstanceProfile",
"iam:RemoveRoleFromInstanceProfile",
"iam:CreateServiceLinkedRole",
"logs:ListTagsLogGroup",
"logs:DeleteLogGroup",
"logs:PutRetentionPolicy",
"elasticache:CreateCacheSubnetGroup",
"elasticache:CreateCacheCluster",
"elasticache:AddTagsToResource",
"elasticache:DescribeCacheSubnetGroups",
"elasticache:DescribeCacheClusters",
"elasticache:ListTagsForResource",
"elasticache:DeleteCacheSubnetGroup",
"elasticache:DeleteCacheCluster"
],
"Resource": [
"*"
]
}
]
}
(6) set variable "certificate_arn". you have to create a ssl certificate for your purchased domain name and validate the ssl certificate from AWS Certificate Maneger by yourself and then get a certificate arn value
export AWS_ACCESS_KEY_ID="your-access-key-id"
export AWS_SECRET_ACCESS_KEY="your-secret-access-key"
export AWS_REGION="us-east-2"