vpc.tf 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // Recurso principal para redes
  2. resource "aws_vpc" "tut-vpc" {
  3. assign_generated_ipv6_cidr_block = true
  4. cidr_block = "10.0.0.0/16"
  5. enable_dns_hostnames = true
  6. enable_dns_support = true
  7. tags = {
  8. Name = "Tutorial"
  9. }
  10. }
  11. // Puerta de enlace para salida a Internet
  12. // Se adjunta a la VPC
  13. resource "aws_internet_gateway" "tut-gateway" {
  14. vpc_id = aws_vpc.tut-vpc.id
  15. tags = {
  16. Name = "Tutorial"
  17. }
  18. }
  19. // Sub-red para instancias
  20. // Se adjunta a la VPC
  21. // Se definen sus direcciones
  22. resource "aws_subnet" "tut-subnet-1" {
  23. depends_on = [
  24. aws_vpc.tut-vpc
  25. ]
  26. assign_ipv6_address_on_creation = true
  27. availability_zone = "us-west-2a"
  28. cidr_block = cidrsubnet(aws_vpc.tut-vpc.cidr_block, 8, 1)
  29. ipv6_cidr_block = cidrsubnet(aws_vpc.tut-vpc.ipv6_cidr_block, 8, 1)
  30. map_public_ip_on_launch = true
  31. vpc_id = aws_vpc.tut-vpc.id
  32. tags = {
  33. Name = "Tutorial"
  34. }
  35. }
  36. // Rutas para salida a Internet
  37. // Toma por defecto la tabla predefinida en la VPC
  38. resource "aws_default_route_table" "tut-routes" {
  39. depends_on = [
  40. aws_vpc.tut-vpc,
  41. aws_internet_gateway.tut-gateway
  42. ]
  43. default_route_table_id = aws_vpc.tut-vpc.default_route_table_id
  44. route {
  45. cidr_block = "0.0.0.0/0"
  46. gateway_id = aws_internet_gateway.tut-gateway.id
  47. }
  48. route {
  49. ipv6_cidr_block = "::/0"
  50. gateway_id = aws_internet_gateway.tut-gateway.id
  51. }
  52. tags = {
  53. Name = "Tutorial"
  54. }
  55. }
  56. // Adjunta las rutas par salida a Internet en la sub-red
  57. resource "aws_route_table_association" "tut-route-1" {
  58. depends_on = [
  59. aws_subnet.tut-subnet-1,
  60. aws_default_route_table.tut-routes
  61. ]
  62. subnet_id = aws_subnet.tut-subnet-1.id
  63. route_table_id = aws_default_route_table.tut-routes.id
  64. }