vpc.tf 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. resource "aws_vpc" "this" {
  2. count = var.create_vpc ? 1 : 0
  3. cidr_block = var.vpc_cidr
  4. enable_dns_hostnames = true
  5. enable_dns_support = true
  6. tags = merge(
  7. local.common_tags,
  8. {
  9. Name = "${var.name}-vpc"
  10. }
  11. )
  12. }
  13. resource "aws_subnet" "public" {
  14. for_each = var.create_vpc ? {
  15. for index, az in local.azs : az => {
  16. cidr_block = local.public_subnet_cidrs[index]
  17. az = az
  18. }
  19. } : {}
  20. vpc_id = aws_vpc.this[0].id
  21. availability_zone = each.value.az
  22. cidr_block = each.value.cidr_block
  23. map_public_ip_on_launch = true
  24. tags = merge(
  25. local.common_tags,
  26. {
  27. Name = "${var.name}-public-${each.value.az}"
  28. "kubernetes.io/cluster/${var.name}" = "shared"
  29. "kubernetes.io/role/elb" = "1"
  30. }
  31. )
  32. }
  33. resource "aws_subnet" "private" {
  34. for_each = var.create_vpc ? {
  35. for index, az in local.azs : az => {
  36. cidr_block = local.private_subnet_cidrs[index]
  37. az = az
  38. }
  39. } : {}
  40. vpc_id = aws_vpc.this[0].id
  41. availability_zone = each.value.az
  42. cidr_block = each.value.cidr_block
  43. tags = merge(
  44. local.common_tags,
  45. {
  46. Name = "${var.name}-private-${each.value.az}"
  47. "kubernetes.io/cluster/${var.name}" = "shared"
  48. "kubernetes.io/role/internal-elb" = "1"
  49. }
  50. )
  51. }