Bladeren bron

Consolidates VPC Endpoints back into the module

Better to break things now.

Note: When applying, terraform will error out on the first run (when
it's destroying the old endpoints), but if you run it again, it will
create the new ones successfully.

Not goign to be tagged yet, but will eventually be part of v0.9.4
Fred Damstra 4 jaren geleden
bovenliggende
commit
a51ea5034b
1 gewijzigde bestanden met toevoegingen van 40 en 94 verwijderingen
  1. 40 94
      base/standard_vpc/main.tf

+ 40 - 94
base/standard_vpc/main.tf

@@ -36,20 +36,54 @@ module "vpc" {
   enable_nat_gateway = false
   enable_vpn_gateway = false
   enable_dns_hostnames = true
-  enable_s3_endpoint = true
-  enable_dynamodb_endpoint = true
-  enable_sts_endpoint = true
-  enable_kms_endpoint = true
   enable_dhcp_options = true
 
+  
+  # Endpoints without a DNS setting
+  enable_dynamodb_endpoint = true
+  enable_s3_endpoint = true
+
+  # Endpoints with a dns setting
   enable_ec2_endpoint              = true
   ec2_endpoint_private_dns_enabled = true
-  kms_endpoint_private_dns_enabled = true
-  sts_endpoint_private_dns_enabled = true
   ec2_endpoint_security_group_ids  =  [ "${module.aws_endpoints_sg.this_security_group_id}" ]
+
+  enable_ec2messages_endpoint = true
+  ec2messages_endpoint_private_dns_enabled = true
+  ec2messages_endpoint_security_group_ids  =  [ "${module.aws_endpoints_sg.this_security_group_id}" ]
+
+  enable_ecr_api_endpoint = true
+  ecr_api_endpoint_private_dns_enabled = true
+  ecr_api_endpoint_security_group_ids  =  [ "${module.aws_endpoints_sg.this_security_group_id}" ]
+
+  enable_ecr_dkr_endpoint = true
+  ecr_dkr_endpoint_private_dns_enabled = true
+  ecr_dkr_endpoint_security_group_ids  =  [ "${module.aws_endpoints_sg.this_security_group_id}" ]
+
+  enable_kms_endpoint = true
+  kms_endpoint_private_dns_enabled = true
   kms_endpoint_security_group_ids  =  [ "${module.aws_endpoints_sg.this_security_group_id}" ]
+
+  enable_logs_endpoint = true
+  logs_endpoint_private_dns_enabled = true
+  logs_endpoint_security_group_ids  =  [ "${module.aws_endpoints_sg.this_security_group_id}" ]
+
+  enable_ssm_endpoint = true
+  ssm_endpoint_private_dns_enabled = true
+  ssm_endpoint_security_group_ids  =  [ "${module.aws_endpoints_sg.this_security_group_id}" ]
+
+  enable_ssmmessages_endpoint = true
+  ssmmessages_endpoint_private_dns_enabled = true
+  ssmmessages_endpoint_security_group_ids  =  [ "${module.aws_endpoints_sg.this_security_group_id}" ]
+
+  enable_sts_endpoint = true
+  sts_endpoint_private_dns_enabled = true
   sts_endpoint_security_group_ids  =  [ "${module.aws_endpoints_sg.this_security_group_id}" ]
 
+  enable_monitoring_endpoint = true
+  monitoring_endpoint_private_dns_enabled = true
+  monitoring_endpoint_security_group_ids  =  [ "${module.aws_endpoints_sg.this_security_group_id}" ]
+
   dhcp_options_domain_name = var.dns_info["private"]["zone"]
   dhcp_options_domain_name_servers = var.dns_servers
   dhcp_options_ntp_servers = [ "169.254.169.123" ]
@@ -71,91 +105,3 @@ resource "aws_flow_log" "flowlogs" {
   vpc_id          = module.vpc.vpc_id
   tags            = merge(var.standard_tags, var.tags)
 }
-
-
-resource "aws_vpc_endpoint" "ec2messages" {
-  vpc_id            = module.vpc.vpc_id
-  service_name      = "com.amazonaws.${var.aws_region}.ec2messages"
-  vpc_endpoint_type = "Interface"
-
-  subnet_ids = slice(module.vpc.public_subnets,0,3)
-  security_group_ids = [
-    module.aws_endpoints_sg.this_security_group_id
-  ]
-  private_dns_enabled = true
-}
-
-resource "aws_vpc_endpoint" "ssm" {
-  vpc_id            = module.vpc.vpc_id
-  service_name      = "com.amazonaws.${var.aws_region}.ssm"
-  vpc_endpoint_type = "Interface"
-
-  subnet_ids = slice(module.vpc.public_subnets,0,3)
-  security_group_ids = [
-    module.aws_endpoints_sg.this_security_group_id
-  ]
-  private_dns_enabled = true
-}
-data "aws_vpc_endpoint_service" "ecr_api_endpoint" {
-  service = "ecr.api"
-}
-
-data "aws_vpc_endpoint_service" "ecr_dkr_endpoint" {
-  service = "ecr.dkr"
-}
-
-resource "aws_vpc_endpoint" "ecr_api" {
-  vpc_id             = module.vpc.vpc_id
-  service_name       = data.aws_vpc_endpoint_service.ecr_api_endpoint.service_name
-  vpc_endpoint_type  = "Interface"
-
-  subnet_ids         = module.vpc.private_subnets
-  security_group_ids = [
-    module.aws_endpoints_sg.this_security_group_id
-  ]
-  private_dns_enabled = true
-}
-
-resource "aws_vpc_endpoint" "ecr_dkr" {
-  vpc_id             = module.vpc.vpc_id
-  service_name       = data.aws_vpc_endpoint_service.ecr_dkr_endpoint.service_name
-  vpc_endpoint_type  = "Interface"
-
-  subnet_ids         = module.vpc.private_subnets
-  security_group_ids = [
-    module.aws_endpoints_sg.this_security_group_id
-  ]
-  private_dns_enabled = true
-}
-
-data "aws_vpc_endpoint_service" "logs_endpoint" {
-  service = "logs"
-}
-
-resource "aws_vpc_endpoint" "logs" {
-  vpc_id             = module.vpc.vpc_id
-  service_name       = data.aws_vpc_endpoint_service.logs_endpoint.service_name
-  vpc_endpoint_type  = "Interface"
-
-  subnet_ids         = module.vpc.private_subnets
-  security_group_ids = [
-    module.aws_endpoints_sg.this_security_group_id
-  ]
-  private_dns_enabled = true
-}
-
-data "aws_vpc_endpoint_service" "monitoring_endpoint" {
-  service = "monitoring"
-}
-
-resource "aws_vpc_endpoint" "monitoring" {
-  vpc_id             = module.vpc.vpc_id
-  service_name       = data.aws_vpc_endpoint_service.monitoring_endpoint.service_name
-  vpc_endpoint_type  = "Interface"
-
-  subnet_ids         = module.vpc.private_subnets
-  security_group_ids = [
-    module.aws_endpoints_sg.this_security_group_id
-  ]
-  private_dns_enabled = true
-}