

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Mejores prácticas para los módulos comunitarios
<a name="community"></a>

El uso eficaz de los módulos es clave para gestionar las configuraciones complejas de Terraform y promover la reutilización. Esta sección proporciona las mejores prácticas en torno a los módulos, las dependencias, las fuentes, la abstracción y las contribuciones de la comunidad.

**Topics**
+ [Descubra los módulos comunitarios](#discovery)
+ [Comprenda las dependencias](#dependencies)
+ [Utilice fuentes confiables](#trusted-sources)
+ [Contribuya a los módulos comunitarios](#contribute-community)

## Descubra los módulos comunitarios
<a name="discovery"></a>

Busque en el [registro de Terraform](https://registry.terraform.io/namespaces/terraform-aws-modules) y en otras fuentes los AWS módulos existentes que puedan resolver su caso de uso antes de crear un módulo nuevo. [GitHub](https://github.com/terraform-aws-modules) Busca opciones populares que tengan actualizaciones recientes y que se mantengan activamente.

### Usa variables para la personalización
<a name="customization"></a>

Cuando utilice módulos comunitarios, transfiera las entradas a través de las variables en lugar de bifurcar o modificar directamente el código fuente. Anule los valores predeterminados cuando sea necesario en lugar de cambiar las partes internas del módulo.

La bifurcación debe limitarse a aportar correcciones o funciones al módulo original para beneficiar a la comunidad en general.

## Comprenda las dependencias
<a name="dependencies"></a>

Antes de usar el módulo, revise su código fuente y su documentación para identificar las dependencias:
+ **Proveedores obligatorios**: anote las versiones de AWS Kubernetes u otros proveedores que requiere el módulo.
+ **Módulos anidados**: compruebe si hay otros módulos utilizados internamente que introduzcan dependencias en cascada.
+ **Fuentes de datos externas**: anote las API, los complementos personalizados o las dependencias de infraestructura en las que se basa el módulo.

Al trazar el árbol completo de dependencias directas e indirectas, puede evitar sorpresas al utilizar el módulo.

## Utilice fuentes confiables
<a name="trusted-sources"></a>

Adquirir módulos de Terraform de editores desconocidos o no verificados implica un riesgo significativo. Utilice módulos únicamente de fuentes confiables.
+ Prefiera los módulos certificados del [Registro de Terraform](https://registry.terraform.io/namespaces/terraform-aws-modules) publicados por creadores AWS o HashiCorp socios verificados.
+ Para los módulos personalizados, revisa el historial del editor, los niveles de soporte y la reputación de uso, incluso si el módulo pertenece a tu propia organización.

Al no permitir módulos de fuentes desconocidas o no examinadas, puede reducir el riesgo de introducir vulnerabilidades o problemas de mantenimiento en su código.

### Suscribirse a las notificaciones de
<a name="subscribe"></a>

Suscríbase a las notificaciones de nuevos lanzamientos de módulos de editores de confianza:
+ Mire los repositorios de GitHub módulos para recibir alertas sobre las nuevas versiones del módulo.
+ Supervise los blogs y registros de cambios de los editores para ver si hay actualizaciones.
+ Recibe notificaciones proactivas sobre las nuevas versiones de fuentes verificadas y altamente valoradas, en lugar de incluir las actualizaciones de forma implícita.

Consumir módulos únicamente de fuentes confiables y monitorear los cambios proporcionan estabilidad y seguridad. Los módulos aprobados mejoran la productividad y minimizan el riesgo de la cadena de suministro.

## Contribuya a los módulos comunitarios
<a name="contribute-community"></a>

Envíe correcciones y mejoras para los módulos de la comunidad que están alojados en GitHub:
+ Abre solicitudes de cambios en los módulos para corregir los defectos o limitaciones que encuentres en su uso.
+ Solicita nuevas configuraciones recomendadas para añadirlas a los módulos OSS existentes creando problemas.

La contribución a los módulos comunitarios mejora los patrones codificados y reutilizables para todos los profesionales de Terraform.