Estos son los provedores de nube que vamos a probar en este repositorio, se va a ir armando la intraestructura en cada uno de ellos. Los archivos de configuracion de cada provedor se encuentran en la carpeta terraform/providers.
- Amazon Web Services - β
- Microsoft Azure - β
- Digital Ocean - β
- Oracle Cloud
- Google Cloud
- IBM Cloud
- Terraform es una herramienta de infraestructura como cΓ³digo (IaC) desarrollada por HashiCorp.
- Terraform puede administrar proveedores de servicio existentes y soluciones de automatizaciΓ³n de configuraciΓ³n.
- Permite a los usuarios definir y provisionar una infraestructura de centro de datos mediante un lenguaje de alto nivel.
- Ansible es una herramienta de automatizaciΓ³n de TI que implementa la administraciΓ³n de configuraciΓ³n, la administraciΓ³n de aplicaciones, la implementaciΓ³n de la plataforma y la orquestaciΓ³n de tareas.
- Ansible se ejecuta en muchos sistemas operativos diferentes, incluidos los sistemas operativos Unix, GNU/Linux y Microsoft Windows.
- En este repositorio voy a explicando como levantar una infraestructura en AWS con Terraform y Ansible.
- Utilizando los free tier podemos alojar nuestra infraestructura sin costo.
- Una vez terminado nuestro free tier, podemos borrar la infraestructura creada y nos crearemos otra cuenta para seguir utilizando el free tier, ahorrando toda la configuracion manual que se requiere para levantar una infraestructura.
- Aprendemos sobre infraestructura como codigo, automatizacion y orquestacion de tareas.
π³ infra/
β£ π ansible/
β β£ π inventory/
β β β π hosts ----> Aca configuramos nuestras maquinas
β β£ π playbooks/ ----> Aca van nuestros playbooks
β β β π prepare.yml
β β π .gitkeep
β£ π design/
β β£ π Infra_Club_Devops.excalidraw ----> Design de la infra para modificar
β β£ π Infra_Club_Devops.png
β£ π terraform/
β β£ π providers/ ----> Terraform files para diferentes provedores
β β β£ π amazon-aws.tf
β β β£ π digital-ocean.tf
β β β π oracle-cloud.tf
β β£ π scripts/
β β β π .gitkeep
β β£ π Makefile
β β£ π main.tf
β β£ π secret.tfvars ----> Variables de entorno esto no se sube al repo
β β π variables.tf
β£ π .gitignore
β£ π Makefile
β π README.md
- Work in progress
Si, utilizamos variables de entorno para no subir a nuestro repositorio las credenciales de AWS. Esto es una practica de seguridad que se hace en cualquier entorno donde trabajemos con repositorios remotos.
Las siguientes variables en esta tabla son necesarias para la configuraciΓ³n de AWS:
Variable | DescripciΓ³n |
---|---|
access_key | AWS Access Key ID |
secret_key | AWS Secret Access Key |
aws_key_pair_public_key | SSH Public Key |
subscription_id | Azure Subscription ID |
client_id | Azure Client ID |
client_secret | Azure Client Secret |
tenant_id | Azure Tenant ID |
azure_key_pair_public_key | SSH Public Key |