¿Existe algún estándar o especificación más o menos, neutral para el proveedor, para el lenguaje de configuración de red? Digamos que una VPC con redes y máquinas virtuales se convertiría en un archivo XML o JSON.
Algo como,
<deployment>
<vpc name="Test">
<appliances>
<vm id="1" />
</appliances>
</vpc>
</deployment>
network
architecture
J. Doe
fuente
fuente
Respuestas:
YANG es la respuesta aquí. Para citar de RFC8345, que define YANG:
Protocolos como NETCONF pueden usar YANG para representaciones de configuraciones de red.
fuente
Terraform de Hashicorp tiene un lenguaje de configuración neutral de proveedor (pero no de diagnóstico). Los VPC de AWS se ven así:
fuente
Ansible se puede usar para construir (parte de) una red como código. Utiliza la sintaxis YAML y puede leer JSON.
Existen roles ansibles existentes para los equipos de los principales proveedores, y puede crear sus propios roles.
Pero los roles existentes no siempre están actualizados y escritos, y el mantenimiento del suyo puede llevar mucho tiempo.
fuente
Para las VPC de AWS específicamente, puede usar CloudFormation para generar un archivo de "configuración", que se puede usar para recrear la VPC y todos los componentes relacionados. Creo que está en formato JSON.
Para las redes en general, no existe tal cosa. Descubre cómo hacerlo y podrás retirarte cómodamente.
fuente