From fc407a24c3bccb0735047b010677d436f9a29648 Mon Sep 17 00:00:00 2001 From: gabriel becker Date: Thu, 31 Aug 2023 14:40:52 +1000 Subject: [PATCH] Working parametrized fargate ecs template --- aws_fargate/alb.tf | 4 - aws_fargate/ecs.tf | 32 +- aws_fargate/iam.tf | 11 +- aws_fargate/network.tf | 5 +- aws_fargate/outputs.tf | 7 +- aws_fargate/terraform.tfstate.backup | 1370 ++++++++++++++++++++++++++ aws_fargate/variables.tf | 6 +- 7 files changed, 1399 insertions(+), 36 deletions(-) create mode 100644 aws_fargate/terraform.tfstate.backup diff --git a/aws_fargate/alb.tf b/aws_fargate/alb.tf index 1f9549e..37d8f4d 100644 --- a/aws_fargate/alb.tf +++ b/aws_fargate/alb.tf @@ -34,7 +34,3 @@ resource "aws_alb_listener" "api_http_listener" { target_group_arn = aws_lb_target_group.api_lb_target.arn } } - -output "alb_url" { - value = "http://${aws_alb.api_lb.dns_name}" -} diff --git a/aws_fargate/ecs.tf b/aws_fargate/ecs.tf index 9fd7586..1a75ed6 100644 --- a/aws_fargate/ecs.tf +++ b/aws_fargate/ecs.tf @@ -35,25 +35,23 @@ resource "aws_ecs_task_definition" "api_task" { requires_compatibilities = ["FARGATE"] network_mode = "awsvpc" - container_definitions = jsonencode([ - { - name = local.api_name, - image = var.container_image, - portMappings = [ - { - containerPort = 3000 - } - ], - logConfiguration = { - logDriver = "awslogs", - options = { - awslogs-region = var.region, - awslogs-group = "/ecs/${local.api_name}", - awslogs-stream-prefix = "ecs" - } + container_definitions = jsonencode([{ + name: "${local.api_name}", + image: "${var.container_image}", + portMappings : [ + { + containerPort : 3000 + } + ], + logConfiguration : { + logDriver : "awslogs", + options : { + awslogs-region : "${var.region}", + awslogs-group : "/ecs/${local.api_name}", + awslogs-stream-prefix : "ecs" } } - ]) + }]) } resource "aws_cloudwatch_log_group" "log_group" { diff --git a/aws_fargate/iam.tf b/aws_fargate/iam.tf index 68c20e0..432953c 100644 --- a/aws_fargate/iam.tf +++ b/aws_fargate/iam.tf @@ -29,12 +29,13 @@ data "aws_iam_policy_document" "ecs_exec_policy_statement" { } } -resource "aws_iam_policy" "ecs_exec_policy" { - name = "${var.project}-ecs_exec_policy" - policy = data.aws_iam_policy_document.ecs_exec_policy_statement.json +data "aws_iam_policy" "ecs_exec_policy" { +# name = "${var.project}-ecs_exec_policy" +# policy = data.aws_iam_policy_document.ecs_exec_policy_statement.json +# } + arn = "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy" } - resource "aws_iam_role_policy_attachment" "ecs_exec_iam_attach_rules" { role = aws_iam_role.api_exec_role.name - policy_arn = aws_iam_policy.ecs_exec_policy.arn + policy_arn = data.aws_iam_policy.ecs_exec_policy.arn } diff --git a/aws_fargate/network.tf b/aws_fargate/network.tf index b020da2..a79e661 100644 --- a/aws_fargate/network.tf +++ b/aws_fargate/network.tf @@ -44,12 +44,11 @@ resource "aws_route_table_association" "public_subnet" { } resource "aws_route_table_association" "private_subnet" { - subnet_id = aws_subnet.private_subnet[0].id + subnet_id = aws_subnet.private_subnet[1].id route_table_id = aws_route_table.private.id } resource "aws_eip" "nat" { - vpc = true } resource "aws_internet_gateway" "igw" { @@ -57,7 +56,7 @@ resource "aws_internet_gateway" "igw" { } resource "aws_nat_gateway" "ngw" { - subnet_id = aws_subnet.private_subnet[0].id + subnet_id = aws_subnet.public_subnet[0].id allocation_id = aws_eip.nat.id depends_on = [aws_internet_gateway.igw] } diff --git a/aws_fargate/outputs.tf b/aws_fargate/outputs.tf index b1d1d1f..2a08e5f 100644 --- a/aws_fargate/outputs.tf +++ b/aws_fargate/outputs.tf @@ -1,4 +1,3 @@ -# output "ecs-ip" { -# description = "ecs-ip" -# value = [for s in aws_eip.nat.map : s.public_ip] -# } \ No newline at end of file +output "alb_url" { + value = "http://${aws_alb.api_lb.dns_name}" +} diff --git a/aws_fargate/terraform.tfstate.backup b/aws_fargate/terraform.tfstate.backup new file mode 100644 index 0000000..cefcfb0 --- /dev/null +++ b/aws_fargate/terraform.tfstate.backup @@ -0,0 +1,1370 @@ +{ + "version": 4, + "terraform_version": "1.5.4", + "serial": 469, + "lineage": "e3f58444-3edf-7d0e-2773-8806af1fe833", + "outputs": { + "alb_url": { + "value": "http://template-api-lb-1867263378.ap-southeast-2.elb.amazonaws.com", + "type": "string" + } + }, + "resources": [ + { + "mode": "data", + "type": "aws_iam_policy", + "name": "ecs_exec_policy", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy", + "description": "Provides access to other AWS service resources that are required to run Amazon ECS tasks", + "id": "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy", + "name": "AmazonECSTaskExecutionRolePolicy", + "path": "/service-role/", + "path_prefix": null, + "policy": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ecr:GetAuthorizationToken\",\n \"ecr:BatchCheckLayerAvailability\",\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:BatchGetImage\",\n \"logs:CreateLogStream\",\n \"logs:PutLogEvents\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}", + "policy_id": "ANPAJG4T4G4PV56DE72PY", + "tags": {} + }, + "sensitive_attributes": [] + } + ] + }, + { + "mode": "data", + "type": "aws_iam_policy_document", + "name": "api_exec_assume_role_policy_statement", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "id": "320642683", + "json": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"ecs-tasks.amazonaws.com\"\n }\n }\n ]\n}", + "override_json": null, + "override_policy_documents": null, + "policy_id": null, + "source_json": null, + "source_policy_documents": null, + "statement": [ + { + "actions": [ + "sts:AssumeRole" + ], + "condition": [], + "effect": "Allow", + "not_actions": [], + "not_principals": [], + "not_resources": [], + "principals": [ + { + "identifiers": [ + "ecs-tasks.amazonaws.com" + ], + "type": "Service" + } + ], + "resources": [], + "sid": "" + } + ], + "version": "2012-10-17" + }, + "sensitive_attributes": [] + } + ] + }, + { + "mode": "data", + "type": "aws_iam_policy_document", + "name": "ecs_exec_policy_statement", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "id": "1420726984", + "json": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"logs:PutLogEvents\",\n \"logs:CreateLogStream\",\n \"ecr:GetDownloadUrlForLayer\",\n \"ecr:GetAuthorizationToken\",\n \"ecr:BatchGetImage\",\n \"ecr:BatchCheckLayerAvailability\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}", + "override_json": null, + "override_policy_documents": null, + "policy_id": null, + "source_json": null, + "source_policy_documents": null, + "statement": [ + { + "actions": [ + "ecr:BatchCheckLayerAvailability", + "ecr:BatchGetImage", + "ecr:GetAuthorizationToken", + "ecr:GetDownloadUrlForLayer", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "condition": [], + "effect": "Allow", + "not_actions": [], + "not_principals": [], + "not_resources": [], + "principals": [], + "resources": [ + "*" + ], + "sid": "" + } + ], + "version": "2012-10-17" + }, + "sensitive_attributes": [] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb", + "name": "api_lb", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "access_logs": [ + { + "bucket": "", + "enabled": false, + "prefix": "" + } + ], + "arn": "arn:aws:elasticloadbalancing:ap-southeast-2:036735757210:loadbalancer/app/template-api-lb/b079d17b96abe699", + "arn_suffix": "app/template-api-lb/b079d17b96abe699", + "customer_owned_ipv4_pool": "", + "desync_mitigation_mode": "defensive", + "dns_name": "template-api-lb-1867263378.ap-southeast-2.elb.amazonaws.com", + "drop_invalid_header_fields": false, + "enable_cross_zone_load_balancing": true, + "enable_deletion_protection": false, + "enable_http2": true, + "enable_tls_version_and_cipher_suite_headers": false, + "enable_waf_fail_open": false, + "enable_xff_client_port": false, + "id": "arn:aws:elasticloadbalancing:ap-southeast-2:036735757210:loadbalancer/app/template-api-lb/b079d17b96abe699", + "idle_timeout": 60, + "internal": false, + "ip_address_type": "ipv4", + "load_balancer_type": "application", + "name": "template-api-lb", + "name_prefix": null, + "preserve_host_header": false, + "security_groups": [ + "sg-0084f1020b114ae07", + "sg-04ad0781fac2285c2", + "sg-0a3adce306f547569", + "sg-0de74c4c6bc56f9a7" + ], + "subnet_mapping": [ + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-02486041e7e27e3b4" + }, + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-05b69c76ca5338e5f" + }, + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-06c49291b7c24a675" + } + ], + "subnets": [ + "subnet-02486041e7e27e3b4", + "subnet-05b69c76ca5338e5f", + "subnet-06c49291b7c24a675" + ], + "tags": {}, + "tags_all": {}, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb", + "xff_header_processing_mode": "append", + "zone_id": "Z1GM3OXH4ZPM65" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19", + "dependencies": [ + "aws_internet_gateway.igw", + "aws_security_group.egress_all", + "aws_security_group.http", + "aws_security_group.https", + "aws_security_group.ingress_api", + "aws_subnet.public_subnet", + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_listener", + "name": "api_http_listener", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "alpn_policy": null, + "arn": "arn:aws:elasticloadbalancing:ap-southeast-2:036735757210:listener/app/template-api-lb/b079d17b96abe699/6c240fd6762fc3a8", + "certificate_arn": null, + "default_action": [ + { + "authenticate_cognito": [], + "authenticate_oidc": [], + "fixed_response": [], + "forward": [], + "order": 1, + "redirect": [], + "target_group_arn": "arn:aws:elasticloadbalancing:ap-southeast-2:036735757210:targetgroup/my-api/e9c779ad8e72298d", + "type": "forward" + } + ], + "id": "arn:aws:elasticloadbalancing:ap-southeast-2:036735757210:listener/app/template-api-lb/b079d17b96abe699/6c240fd6762fc3a8", + "load_balancer_arn": "arn:aws:elasticloadbalancing:ap-southeast-2:036735757210:loadbalancer/app/template-api-lb/b079d17b96abe699", + "port": 80, + "protocol": "HTTP", + "ssl_policy": "", + "tags": {}, + "tags_all": {}, + "timeouts": null + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsicmVhZCI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "aws_alb.api_lb", + "aws_internet_gateway.igw", + "aws_lb_target_group.api_lb_target", + "aws_security_group.egress_all", + "aws_security_group.http", + "aws_security_group.https", + "aws_security_group.ingress_api", + "aws_subnet.public_subnet", + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_cloudwatch_log_group", + "name": "log_group", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:logs:ap-southeast-2:036735757210:log-group:/ecs/template-api", + "id": "/ecs/template-api", + "kms_key_id": "", + "name": "/ecs/template-api", + "name_prefix": "", + "retention_in_days": 0, + "skip_destroy": false, + "tags": {}, + "tags_all": {} + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_ecs_cluster", + "name": "my_cluster", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:ecs:ap-southeast-2:036735757210:cluster/my_cluster", + "capacity_providers": [], + "configuration": [], + "default_capacity_provider_strategy": [], + "id": "arn:aws:ecs:ap-southeast-2:036735757210:cluster/my_cluster", + "name": "my_cluster", + "service_connect_defaults": [], + "setting": [ + { + "name": "containerInsights", + "value": "disabled" + } + ], + "tags": {}, + "tags_all": {} + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_ecs_service", + "name": "api_ecs", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "alarms": [], + "capacity_provider_strategy": [], + "cluster": "arn:aws:ecs:ap-southeast-2:036735757210:cluster/my_cluster", + "deployment_circuit_breaker": [ + { + "enable": false, + "rollback": false + } + ], + "deployment_controller": [ + { + "type": "ECS" + } + ], + "deployment_maximum_percent": 200, + "deployment_minimum_healthy_percent": 100, + "desired_count": 1, + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "force_new_deployment": null, + "health_check_grace_period_seconds": 0, + "iam_role": "/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS", + "id": "arn:aws:ecs:ap-southeast-2:036735757210:service/my_cluster/template-api", + "launch_type": "FARGATE", + "load_balancer": [ + { + "container_name": "template-api", + "container_port": 3000, + "elb_name": "", + "target_group_arn": "arn:aws:elasticloadbalancing:ap-southeast-2:036735757210:targetgroup/my-api/e9c779ad8e72298d" + } + ], + "name": "template-api", + "network_configuration": [ + { + "assign_public_ip": false, + "security_groups": [ + "sg-0084f1020b114ae07", + "sg-0de74c4c6bc56f9a7" + ], + "subnets": [ + "subnet-00cab0bde3ca180c2", + "subnet-0595ce5ab737e9c25", + "subnet-0a176e124d979d260" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraints": [], + "platform_version": "LATEST", + "propagate_tags": "NONE", + "scheduling_strategy": "REPLICA", + "service_connect_configuration": [], + "service_registries": [], + "tags": {}, + "tags_all": {}, + "task_definition": "arn:aws:ecs:ap-southeast-2:036735757210:task-definition/template-api:12", + "timeouts": null, + "triggers": {}, + "wait_for_steady_state": false + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", + "dependencies": [ + "aws_ecs_cluster.my_cluster", + "aws_ecs_task_definition.api_task", + "aws_iam_role.api_exec_role", + "aws_lb_target_group.api_lb_target", + "aws_security_group.egress_all", + "aws_security_group.ingress_api", + "aws_subnet.private_subnet" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_ecs_task_definition", + "name": "api_task", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:ap-southeast-2:036735757210:task-definition/template-api:12", + "arn_without_revision": "arn:aws:ecs:ap-southeast-2:036735757210:task-definition/template-api", + "container_definitions": "[{\"cpu\":0,\"environment\":[],\"essential\":true,\"image\":\"mohitmutha/simplefastifyservice:1.0\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/template-api\",\"awslogs-region\":\"ap-southeast-2\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"template-api\",\"portMappings\":[{\"containerPort\":3000,\"hostPort\":3000,\"protocol\":\"tcp\"}],\"volumesFrom\":[]}]", + "cpu": "256", + "ephemeral_storage": [], + "execution_role_arn": "arn:aws:iam::036735757210:role/template-exec-role", + "family": "template-api", + "id": "template-api", + "inference_accelerator": [], + "ipc_mode": "", + "memory": "512", + "network_mode": "awsvpc", + "pid_mode": "", + "placement_constraints": [], + "proxy_configuration": [], + "requires_compatibilities": [ + "FARGATE" + ], + "revision": 12, + "runtime_platform": [], + "skip_destroy": false, + "tags": null, + "tags_all": {}, + "task_role_arn": "", + "volume": [] + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", + "dependencies": [ + "aws_iam_role.api_exec_role" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_eip", + "name": "nat", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "address": null, + "allocation_id": "eipalloc-053b14a9ac9f49df0", + "associate_with_private_ip": null, + "association_id": "eipassoc-005266a5d1b15ebdb", + "carrier_ip": "", + "customer_owned_ip": "", + "customer_owned_ipv4_pool": "", + "domain": "vpc", + "id": "eipalloc-053b14a9ac9f49df0", + "instance": "", + "network_border_group": "ap-southeast-2", + "network_interface": "eni-099fbdef0cfb15c33", + "private_dns": "ip-10-0-1-98.ap-southeast-2.compute.internal", + "private_ip": "10.0.1.98", + "public_dns": "ec2-3-105-180-61.ap-southeast-2.compute.amazonaws.com", + "public_ip": "3.105.180.61", + "public_ipv4_pool": "amazon", + "tags": {}, + "tags_all": {}, + "timeouts": null, + "vpc": true + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjoxODAwMDAwMDAwMDAsInJlYWQiOjkwMDAwMDAwMDAwMCwidXBkYXRlIjozMDAwMDAwMDAwMDB9fQ==" + } + ] + }, + { + "mode": "managed", + "type": "aws_iam_role", + "name": "api_exec_role", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:iam::036735757210:role/template-exec-role", + "assume_role_policy": "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"ecs-tasks.amazonaws.com\"},\"Sid\":\"\"}],\"Version\":\"2012-10-17\"}", + "create_date": "2023-08-31T04:23:26Z", + "description": "", + "force_detach_policies": false, + "id": "template-exec-role", + "inline_policy": [], + "managed_policy_arns": [ + "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy" + ], + "max_session_duration": 3600, + "name": "template-exec-role", + "name_prefix": "", + "path": "/", + "permissions_boundary": null, + "role_last_used": [ + { + "last_used_date": "", + "region": "" + } + ], + "tags": {}, + "tags_all": {}, + "unique_id": "AROAQRDM7FONN6ZEQO2YB" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "data.aws_iam_policy_document.api_exec_assume_role_policy_statement" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_iam_role_policy_attachment", + "name": "ecs_exec_iam_attach_rules", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "id": "template-exec-role-20230831042327956600000002", + "policy_arn": "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy", + "role": "template-exec-role" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_iam_role.api_exec_role", + "data.aws_iam_policy.ecs_exec_policy", + "data.aws_iam_policy_document.api_exec_assume_role_policy_statement" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_internet_gateway", + "name": "igw", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:internet-gateway/igw-0313f1e3117c5e94d", + "id": "igw-0313f1e3117c5e94d", + "owner_id": "036735757210", + "tags": {}, + "tags_all": {}, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjoxMjAwMDAwMDAwMDAwLCJkZWxldGUiOjEyMDAwMDAwMDAwMDAsInVwZGF0ZSI6MTIwMDAwMDAwMDAwMH19", + "dependencies": [ + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_lb_target_group", + "name": "api_lb_target", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:elasticloadbalancing:ap-southeast-2:036735757210:targetgroup/my-api/e9c779ad8e72298d", + "arn_suffix": "targetgroup/my-api/e9c779ad8e72298d", + "connection_termination": false, + "deregistration_delay": "300", + "health_check": [ + { + "enabled": true, + "healthy_threshold": 3, + "interval": 30, + "matcher": "200", + "path": "/health", + "port": "traffic-port", + "protocol": "HTTP", + "timeout": 5, + "unhealthy_threshold": 3 + } + ], + "id": "arn:aws:elasticloadbalancing:ap-southeast-2:036735757210:targetgroup/my-api/e9c779ad8e72298d", + "ip_address_type": "ipv4", + "lambda_multi_value_headers_enabled": false, + "load_balancing_algorithm_type": "round_robin", + "load_balancing_cross_zone_enabled": "use_load_balancer_configuration", + "name": "my-api", + "name_prefix": null, + "port": 3000, + "preserve_client_ip": null, + "protocol": "HTTP", + "protocol_version": "HTTP1", + "proxy_protocol_v2": false, + "slow_start": 0, + "stickiness": [ + { + "cookie_duration": 86400, + "cookie_name": "", + "enabled": false, + "type": "lb_cookie" + } + ], + "tags": {}, + "tags_all": {}, + "target_failover": [ + { + "on_deregistration": null, + "on_unhealthy": null + } + ], + "target_type": "ip", + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb.api_lb", + "aws_internet_gateway.igw", + "aws_security_group.egress_all", + "aws_security_group.http", + "aws_security_group.https", + "aws_security_group.ingress_api", + "aws_subnet.public_subnet", + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_nat_gateway", + "name": "ngw", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "allocation_id": "eipalloc-053b14a9ac9f49df0", + "association_id": "eipassoc-005266a5d1b15ebdb", + "connectivity_type": "public", + "id": "nat-06ad83b6a38bc34e1", + "network_interface_id": "eni-099fbdef0cfb15c33", + "private_ip": "10.0.1.98", + "public_ip": "3.105.180.61", + "subnet_id": "subnet-05b69c76ca5338e5f", + "tags": {}, + "tags_all": {} + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_eip.nat", + "aws_internet_gateway.igw", + "aws_subnet.public_subnet", + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_route", + "name": "igw", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "carrier_gateway_id": "", + "core_network_arn": "", + "destination_cidr_block": "0.0.0.0/0", + "destination_ipv6_cidr_block": "", + "destination_prefix_list_id": "", + "egress_only_gateway_id": "", + "gateway_id": "igw-0313f1e3117c5e94d", + "id": "r-rtb-03a134dadc5af557a1080289494", + "instance_id": "", + "instance_owner_id": "", + "local_gateway_id": "", + "nat_gateway_id": "", + "network_interface_id": "", + "origin": "CreateRoute", + "route_table_id": "rtb-03a134dadc5af557a", + "state": "active", + "timeouts": null, + "transit_gateway_id": "", + "vpc_endpoint_id": "", + "vpc_peering_connection_id": "" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAsImRlbGV0ZSI6MzAwMDAwMDAwMDAwLCJ1cGRhdGUiOjEyMDAwMDAwMDAwMH19", + "dependencies": [ + "aws_internet_gateway.igw", + "aws_route_table.public", + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_route", + "name": "ngw", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "carrier_gateway_id": "", + "core_network_arn": "", + "destination_cidr_block": "0.0.0.0/0", + "destination_ipv6_cidr_block": "", + "destination_prefix_list_id": "", + "egress_only_gateway_id": "", + "gateway_id": "", + "id": "r-rtb-0d90ce94fb5ed8f111080289494", + "instance_id": "", + "instance_owner_id": "", + "local_gateway_id": "", + "nat_gateway_id": "nat-06ad83b6a38bc34e1", + "network_interface_id": "", + "origin": "CreateRoute", + "route_table_id": "rtb-0d90ce94fb5ed8f11", + "state": "active", + "timeouts": null, + "transit_gateway_id": "", + "vpc_endpoint_id": "", + "vpc_peering_connection_id": "" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAsImRlbGV0ZSI6MzAwMDAwMDAwMDAwLCJ1cGRhdGUiOjEyMDAwMDAwMDAwMH19", + "dependencies": [ + "aws_eip.nat", + "aws_internet_gateway.igw", + "aws_nat_gateway.ngw", + "aws_route_table.private", + "aws_subnet.public_subnet", + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_route_table", + "name": "private", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:route-table/rtb-0d90ce94fb5ed8f11", + "id": "rtb-0d90ce94fb5ed8f11", + "owner_id": "036735757210", + "propagating_vgws": [], + "route": [ + { + "carrier_gateway_id": "", + "cidr_block": "0.0.0.0/0", + "core_network_arn": "", + "destination_prefix_list_id": "", + "egress_only_gateway_id": "", + "gateway_id": "", + "instance_id": "", + "ipv6_cidr_block": "", + "local_gateway_id": "", + "nat_gateway_id": "nat-06ad83b6a38bc34e1", + "network_interface_id": "", + "transit_gateway_id": "", + "vpc_endpoint_id": "", + "vpc_peering_connection_id": "" + } + ], + "tags": { + "Name": "private" + }, + "tags_all": { + "Name": "private" + }, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAsImRlbGV0ZSI6MzAwMDAwMDAwMDAwLCJ1cGRhdGUiOjEyMDAwMDAwMDAwMH19", + "dependencies": [ + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_route_table", + "name": "public", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:route-table/rtb-03a134dadc5af557a", + "id": "rtb-03a134dadc5af557a", + "owner_id": "036735757210", + "propagating_vgws": [], + "route": [ + { + "carrier_gateway_id": "", + "cidr_block": "0.0.0.0/0", + "core_network_arn": "", + "destination_prefix_list_id": "", + "egress_only_gateway_id": "", + "gateway_id": "igw-0313f1e3117c5e94d", + "instance_id": "", + "ipv6_cidr_block": "", + "local_gateway_id": "", + "nat_gateway_id": "", + "network_interface_id": "", + "transit_gateway_id": "", + "vpc_endpoint_id": "", + "vpc_peering_connection_id": "" + } + ], + "tags": { + "Name": "public" + }, + "tags_all": { + "Name": "public" + }, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAsImRlbGV0ZSI6MzAwMDAwMDAwMDAwLCJ1cGRhdGUiOjEyMDAwMDAwMDAwMH19", + "dependencies": [ + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_route_table_association", + "name": "private_subnet", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "gateway_id": "", + "id": "rtbassoc-00f9e95fe1d7aacc0", + "route_table_id": "rtb-0d90ce94fb5ed8f11", + "subnet_id": "subnet-0a176e124d979d260", + "timeouts": null + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAsImRlbGV0ZSI6MzAwMDAwMDAwMDAwLCJ1cGRhdGUiOjEyMDAwMDAwMDAwMH19", + "dependencies": [ + "aws_route_table.private", + "aws_subnet.private_subnet", + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_route_table_association", + "name": "public_subnet", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "gateway_id": "", + "id": "rtbassoc-027f5a6df14cc51b2", + "route_table_id": "rtb-03a134dadc5af557a", + "subnet_id": "subnet-05b69c76ca5338e5f", + "timeouts": null + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAsImRlbGV0ZSI6MzAwMDAwMDAwMDAwLCJ1cGRhdGUiOjEyMDAwMDAwMDAwMH19", + "dependencies": [ + "aws_route_table.public", + "aws_subnet.public_subnet", + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_security_group", + "name": "egress_all", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:security-group/sg-0084f1020b114ae07", + "description": "Allow all outbound traffic", + "egress": [ + { + "cidr_blocks": [ + "0.0.0.0/0" + ], + "description": "", + "from_port": 0, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "-1", + "security_groups": [], + "self": false, + "to_port": 0 + } + ], + "id": "sg-0084f1020b114ae07", + "ingress": [], + "name": "egress-all", + "name_prefix": "", + "owner_id": "036735757210", + "revoke_rules_on_delete": false, + "tags": {}, + "tags_all": {}, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=", + "dependencies": [ + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_security_group", + "name": "http", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:security-group/sg-0a3adce306f547569", + "description": "HTTP traffic", + "egress": [], + "id": "sg-0a3adce306f547569", + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0" + ], + "description": "", + "from_port": 80, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 80 + } + ], + "name": "http", + "name_prefix": "", + "owner_id": "036735757210", + "revoke_rules_on_delete": false, + "tags": {}, + "tags_all": {}, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=", + "dependencies": [ + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_security_group", + "name": "https", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:security-group/sg-04ad0781fac2285c2", + "description": "HTTPS traffic", + "egress": [], + "id": "sg-04ad0781fac2285c2", + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0" + ], + "description": "", + "from_port": 443, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 443 + } + ], + "name": "https", + "name_prefix": "", + "owner_id": "036735757210", + "revoke_rules_on_delete": false, + "tags": {}, + "tags_all": {}, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=", + "dependencies": [ + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_security_group", + "name": "ingress_api", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:security-group/sg-0de74c4c6bc56f9a7", + "description": "Allow ingress to API", + "egress": [], + "id": "sg-0de74c4c6bc56f9a7", + "ingress": [ + { + "cidr_blocks": [ + "0.0.0.0/0" + ], + "description": "", + "from_port": 3000, + "ipv6_cidr_blocks": [], + "prefix_list_ids": [], + "protocol": "tcp", + "security_groups": [], + "self": false, + "to_port": 3000 + } + ], + "name": "ingress-api", + "name_prefix": "", + "owner_id": "036735757210", + "revoke_rules_on_delete": false, + "tags": {}, + "tags_all": {}, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=", + "dependencies": [ + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_subnet", + "name": "private_subnet", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:subnet/subnet-0595ce5ab737e9c25", + "assign_ipv6_address_on_creation": false, + "availability_zone": "ap-southeast-2a", + "availability_zone_id": "apse2-az1", + "cidr_block": "10.0.2.0/25", + "customer_owned_ipv4_pool": "", + "enable_dns64": false, + "enable_lni_at_device_index": 0, + "enable_resource_name_dns_a_record_on_launch": false, + "enable_resource_name_dns_aaaa_record_on_launch": false, + "id": "subnet-0595ce5ab737e9c25", + "ipv6_cidr_block": "", + "ipv6_cidr_block_association_id": "", + "ipv6_native": false, + "map_customer_owned_ip_on_launch": false, + "map_public_ip_on_launch": false, + "outpost_arn": "", + "owner_id": "036735757210", + "private_dns_hostname_type_on_launch": "ip-name", + "tags": { + "Name": "private | ap-southeast-2a" + }, + "tags_all": { + "Name": "private | ap-southeast-2a" + }, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "aws_vpc.app_vpc" + ] + }, + { + "index_key": 1, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:subnet/subnet-0a176e124d979d260", + "assign_ipv6_address_on_creation": false, + "availability_zone": "ap-southeast-2b", + "availability_zone_id": "apse2-az3", + "cidr_block": "10.0.2.128/25", + "customer_owned_ipv4_pool": "", + "enable_dns64": false, + "enable_lni_at_device_index": 0, + "enable_resource_name_dns_a_record_on_launch": false, + "enable_resource_name_dns_aaaa_record_on_launch": false, + "id": "subnet-0a176e124d979d260", + "ipv6_cidr_block": "", + "ipv6_cidr_block_association_id": "", + "ipv6_native": false, + "map_customer_owned_ip_on_launch": false, + "map_public_ip_on_launch": false, + "outpost_arn": "", + "owner_id": "036735757210", + "private_dns_hostname_type_on_launch": "ip-name", + "tags": { + "Name": "private | ap-southeast-2b" + }, + "tags_all": { + "Name": "private | ap-southeast-2b" + }, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "aws_vpc.app_vpc" + ] + }, + { + "index_key": 2, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:subnet/subnet-00cab0bde3ca180c2", + "assign_ipv6_address_on_creation": false, + "availability_zone": "ap-southeast-2c", + "availability_zone_id": "apse2-az2", + "cidr_block": "10.0.3.128/25", + "customer_owned_ipv4_pool": "", + "enable_dns64": false, + "enable_lni_at_device_index": 0, + "enable_resource_name_dns_a_record_on_launch": false, + "enable_resource_name_dns_aaaa_record_on_launch": false, + "id": "subnet-00cab0bde3ca180c2", + "ipv6_cidr_block": "", + "ipv6_cidr_block_association_id": "", + "ipv6_native": false, + "map_customer_owned_ip_on_launch": false, + "map_public_ip_on_launch": false, + "outpost_arn": "", + "owner_id": "036735757210", + "private_dns_hostname_type_on_launch": "ip-name", + "tags": { + "Name": "private | ap-southeast-2c" + }, + "tags_all": { + "Name": "private | ap-southeast-2c" + }, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_subnet", + "name": "public_subnet", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "index_key": 0, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:subnet/subnet-05b69c76ca5338e5f", + "assign_ipv6_address_on_creation": false, + "availability_zone": "ap-southeast-2a", + "availability_zone_id": "apse2-az1", + "cidr_block": "10.0.1.0/25", + "customer_owned_ipv4_pool": "", + "enable_dns64": false, + "enable_lni_at_device_index": 0, + "enable_resource_name_dns_a_record_on_launch": false, + "enable_resource_name_dns_aaaa_record_on_launch": false, + "id": "subnet-05b69c76ca5338e5f", + "ipv6_cidr_block": "", + "ipv6_cidr_block_association_id": "", + "ipv6_native": false, + "map_customer_owned_ip_on_launch": false, + "map_public_ip_on_launch": false, + "outpost_arn": "", + "owner_id": "036735757210", + "private_dns_hostname_type_on_launch": "ip-name", + "tags": { + "Name": "public | ap-southeast-2a" + }, + "tags_all": { + "Name": "public | ap-southeast-2a" + }, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "aws_vpc.app_vpc" + ] + }, + { + "index_key": 1, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:subnet/subnet-02486041e7e27e3b4", + "assign_ipv6_address_on_creation": false, + "availability_zone": "ap-southeast-2b", + "availability_zone_id": "apse2-az3", + "cidr_block": "10.0.1.128/25", + "customer_owned_ipv4_pool": "", + "enable_dns64": false, + "enable_lni_at_device_index": 0, + "enable_resource_name_dns_a_record_on_launch": false, + "enable_resource_name_dns_aaaa_record_on_launch": false, + "id": "subnet-02486041e7e27e3b4", + "ipv6_cidr_block": "", + "ipv6_cidr_block_association_id": "", + "ipv6_native": false, + "map_customer_owned_ip_on_launch": false, + "map_public_ip_on_launch": false, + "outpost_arn": "", + "owner_id": "036735757210", + "private_dns_hostname_type_on_launch": "ip-name", + "tags": { + "Name": "public | ap-southeast-2b" + }, + "tags_all": { + "Name": "public | ap-southeast-2b" + }, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "aws_vpc.app_vpc" + ] + }, + { + "index_key": 2, + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:subnet/subnet-06c49291b7c24a675", + "assign_ipv6_address_on_creation": false, + "availability_zone": "ap-southeast-2c", + "availability_zone_id": "apse2-az2", + "cidr_block": "10.0.3.0/25", + "customer_owned_ipv4_pool": "", + "enable_dns64": false, + "enable_lni_at_device_index": 0, + "enable_resource_name_dns_a_record_on_launch": false, + "enable_resource_name_dns_aaaa_record_on_launch": false, + "id": "subnet-06c49291b7c24a675", + "ipv6_cidr_block": "", + "ipv6_cidr_block_association_id": "", + "ipv6_native": false, + "map_customer_owned_ip_on_launch": false, + "map_public_ip_on_launch": false, + "outpost_arn": "", + "owner_id": "036735757210", + "private_dns_hostname_type_on_launch": "ip-name", + "tags": { + "Name": "public | ap-southeast-2c" + }, + "tags_all": { + "Name": "public | ap-southeast-2c" + }, + "timeouts": null, + "vpc_id": "vpc-079a75f9c5dbee4cb" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", + "dependencies": [ + "aws_vpc.app_vpc" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_vpc", + "name": "app_vpc", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ec2:ap-southeast-2:036735757210:vpc/vpc-079a75f9c5dbee4cb", + "assign_generated_ipv6_cidr_block": false, + "cidr_block": "10.0.0.0/16", + "default_network_acl_id": "acl-083c7dafe6a3ff7fd", + "default_route_table_id": "rtb-0fa31ed7a29ede70e", + "default_security_group_id": "sg-00af174417ab192c3", + "dhcp_options_id": "dopt-0c18439408991e4d3", + "enable_classiclink": false, + "enable_classiclink_dns_support": false, + "enable_dns_hostnames": false, + "enable_dns_support": true, + "enable_network_address_usage_metrics": false, + "id": "vpc-079a75f9c5dbee4cb", + "instance_tenancy": "default", + "ipv4_ipam_pool_id": null, + "ipv4_netmask_length": null, + "ipv6_association_id": "", + "ipv6_cidr_block": "", + "ipv6_cidr_block_network_border_group": "", + "ipv6_ipam_pool_id": "", + "ipv6_netmask_length": 0, + "main_route_table_id": "rtb-0fa31ed7a29ede70e", + "owner_id": "036735757210", + "tags": {}, + "tags_all": {} + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" + } + ] + } + ], + "check_results": null +} diff --git a/aws_fargate/variables.tf b/aws_fargate/variables.tf index 7b51b5b..0217983 100644 --- a/aws_fargate/variables.tf +++ b/aws_fargate/variables.tf @@ -11,7 +11,7 @@ variable "project" { } variable "container_image" { - default = "ghcr.io/jimmysawczuk/sun-api:latest" + default = "mohitmutha/simplefastifyservice" } variable "zones" { @@ -28,7 +28,7 @@ variable "public_subnets" { type = map(any) default = { "ap-southeast-2a" = "10.0.1.0/25" - "ap-southeast-2b" = "10.0.2.0/25" + "ap-southeast-2b" = "10.0.1.128/25" "ap-southeast-2c" = "10.0.3.0/25" } } @@ -37,7 +37,7 @@ variable "private_subnets" { description = "Availability zone for instance associated with ip ranges" type = map(any) default = { - "ap-southeast-2a" = "10.0.1.128/25" + "ap-southeast-2a" = "10.0.2.0/25" "ap-southeast-2b" = "10.0.2.128/25" "ap-southeast-2c" = "10.0.3.128/25" }