Este documento describe cómo generar la infraestructura utilizando Terraform, tanto en el entorno de desarrollo (dev) como en el entorno de producción (prod). También se explica cómo realizar la conexión SSH a través del bastión y la copia de la clave a las instancias de la red privada.
- Terraform instalado.
- Acceso a las credenciales de la nube.
- Clave SSH configurada.
Asegúrate de definir las variables de entorno necesarias para cada entorno (dev y prod). Puedes utilizar un archivo .tfvars
para cada entorno:
envs/dev/dev.tfvars
envs/prod/prod.tfvars
Ejemplo de variables:
# dev.tfvars
vpc_cidr = "10.0.0.0/16"
public_subnet_cidrs = ["10.0.1.0/24", "10.0.2.0/24"]
# prod.tfvars
vpc_cidr = "10.0.0.0/16"
public_subnet_cidrs = ["10.0.1.0/24", "10.0.2.0/24"]
-
Inicializa el directorio de trabajo de Terraform:
terraform init
-
Aplica la configuración de Terraform para el entorno de desarrollo:
terraform apply -var-file="dev.tfvars"
-
Inicializa el directorio de trabajo de Terraform:
terraform init
-
Aplica la configuración de Terraform para el entorno de producción:
terraform apply -var-file="prod.tfvars"
Para conectarte a una instancia en la red privada a través del bastión, sigue estos pasos:
-
Conéctate al bastión:
ssh -i /path/to/your/private/key user@bastion-ip
-
Desde el bastión, conéctate a la instancia en la red privada:
ssh -i /path/to/your/private/key user@private-instance-ip
Para copiar la clave SSH a las instancias en la red privada, puedes usar el comando scp
a través del bastión:
-
Copia la clave desde tu máquina local al bastión:
scp -i /path/to/your/private/key /path/to/your/private/key user@bastion-ip:/tmp/
-
Conéctate al bastión:
ssh -i /path/to/your/private/key user@bastion-ip
-
Desde el bastión, copia la clave a la instancia en la red privada:
scp -i /tmp/private/key /tmp/private/key user@private-instance-ip:/home/user/.ssh/
Con esto podrías conecarte a la instancias de la red privada. Por defecto ya se instala docker en las instancias de la red privada.