Compartir vía


Administración de reglas de firewall del servidor flexible de Azure Database for MySQL con la CLI de Azure

El servidor flexible de Azure Database for MySQL admite dos métodos de conectividad de red mutuamente excluyentes para conectarse a su servidor flexible. Las dos opciones son las siguientes:

  • Acceso público (direcciones IP permitidas)
  • Acceso privado (integración con red virtual)

En este artículo, nos centramos en la creación de una instancia de servidor flexible de Azure Database for MySQL con acceso público (direcciones IP permitidas) mediante la CLI de Azure. En este artículo se proporciona información general sobre los comandos de la CLI de Azure que puede usar para crear, actualizar, eliminar, enumerar y mostrar reglas de firewall después de crear un servidor. Con acceso público (direcciones IP permitidas), las conexiones a la instancia de servidor flexible de Azure Database for MySQL solo están restringidas a direcciones IP permitidas. Las direcciones IP del cliente se deben permitir en las reglas de firewall. Para obtener más información al respecto, vea Acceso público (direcciones IP permitidas). Las reglas de firewall se pueden definir en el momento de crear el servidor (recomendado), pero también se pueden agregar después.

Inicio de Azure Cloud Shell

Azure Cloud Shell es un shell interactivo gratuito que puede usar para ejecutar los pasos de este artículo. Tiene las herramientas comunes de Azure preinstaladas y configuradas para usarlas en la cuenta.

Para abrir Cloud Shell, seleccione Pruébelo en la esquina superior derecha de un bloque de código. También puede abrir Cloud Shell en una pestaña independiente acudiendo a https://shell.azure.com/bash. Seleccione Copiar para copiar los bloques de código, péguelos en Cloud Shell y, después, seleccione Entrar para ejecutarlos.

Si prefiere instalar y usar la CLI de forma local, en este inicio rápido se requiere la versión 2.0 o posterior de la CLI de Azure. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.

Requisitos previos

Debe iniciar sesión en la cuenta con el comando az login. Tenga en cuenta la propiedad id, que hace referencia al id. de suscripción de su cuenta de Azure.

az login

Seleccione la suscripción específica en su cuenta mediante el comando az account set. Anote el valor de ID de la salida de az login, ya que lo usará como valor del argumento subscription del comando. Si tiene varias suscripciones, elija la suscripción adecuada en la que se debe facturar el recurso. Para obtener todas las suscripciones, use az account list.

az account set --subscription <subscription id>

Crear una regla de firewall durante la creación de un servidor flexible mediante la CLI de Azure

Puede usar el comando az mysql flexible-server --public access para crear la instancia de servidor flexible de Azure Database for MySQL con acceso público (direcciones IP permitidas) y configurar las reglas de firewall durante la creación de un servidor. Puede usar el modificador -public-access para proporcionar las direcciones IP permitidas que pueden conectarse al servidor. Puede especificar una sola dirección IP o el intervalo de direcciones IP que se van a incluir en la lista de direcciones IP permitidas. El intervalo de direcciones IP debe estar separado por guiones y no contener espacios. Hay varias opciones para crear una instancia de servidor flexible de Azure Database for MySQL mediante la CLI de Azure, como se muestra en los ejemplos siguientes.

Consulte en la documentación de referencia de la CLI de Azure la lista completa de parámetros configurables de la CLI. Por ejemplo, en los siguientes comandos tiene la opción de especificar el grupo de recursos.

  • Cree una instancia de servidor flexible de Azure Database for MySQL con acceso público y agregue la dirección IP del cliente para tener acceso al servidor.

    az mysql flexible-server create --public-access <my_client_ip>
    
  • Cree una instancia de servidor flexible de Azure Database for MySQL con acceso público y agregue el intervalo de direcciones IP para tener acceso a este servidor.

    az mysql flexible-server create --public-access <start_ip_address-end_ip_address>
    
  • Cree una instancia de servidor flexible de Azure Database for MySQL con acceso público y permita que las aplicaciones de las direcciones IP de Azure se conecten al servidor.

    az mysql flexible-server create --public-access 0.0.0.0
    

    Importante

    Esta opción configura el firewall para permitir el acceso público desde los servicios y recursos de Azure a este servidor, incluidas las conexiones desde las suscripciones de otros clientes. Al seleccionar esta opción, asegúrese de que los permisos de usuario e inicio de sesión limiten el acceso solamente a los usuarios autorizados.

  • Cree una instancia de servidor flexible de Azure Database for MySQL con acceso público y permita todas las direcciones IP.

    az mysql flexible-server create --public-access all
    

    Nota:

    El comando anterior crea una regla de firewall con la dirección IP inicial 0.0.0.0 y la dirección IP final 255.255.255.255, y no se bloquea ninguna dirección IP. Cualquier host de Internet puede acceder a este servidor. Se recomienda encarecidamente usar esta regla solo temporalmente y en servidores de prueba que no contengan información confidencial.

  • Cree una instancia de servidor flexible de Azure Database for MySQL con acceso público y sin dirección IP.

    az mysql flexible-server create --public-access none
    

    Nota:

    No se recomienda crear un servidor sin ninguna regla de firewall. Si no agrega ninguna regla de firewall, ningún cliente podrá conectarse al servidor.

Creación y administración de una regla de firewall después de la creación del servidor

El comando az mysql flexible-server firewall-rule se utiliza desde la CLI de Azure para crear, eliminar, enumerar, mostrar y actualizar reglas de firewall.

Comandos:

  • create: crear una regla de firewall de servidor flexible de Azure Database for MySQL.
  • list: enumerar las reglas de firewall de servidor flexible de Azure Database for MySQL.
  • update: actualizar una regla de firewall de servidor flexible de Azure Database for MySQL.
  • show: mostrar los detalles de una regla de firewall de servidor flexible de Azure Database for MySQL.
  • delete: eliminar una regla de firewall de servidor flexible de Azure Database for MySQL.

Consulte en la documentación de referencia de la CLI de Azure la lista completa de parámetros configurables de la CLI. Por ejemplo, en los siguientes comandos tiene la opción de especificar el grupo de recursos.

Creación de una regla de firewall

Use el comando az mysql flexible-server firewall-rule create para crear una regla de firewall en el servidor. Para permitir el acceso a un intervalo de direcciones IP, proporcione las direcciones IP iniciales y finales, como en este ejemplo.

az mysql flexible-server firewall-rule create --resource-group testGroup --name mydemoserver --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.15

Para permitir el acceso a una única dirección IP, proporcione una sola dirección IP, como en este ejemplo.

az mysql flexible-server firewall-rule create --resource-group testGroup --name mydemoserver --start-ip-address 1.1.1.1

Para permitir que las aplicaciones de las direcciones IP de Azure se conecten a la instancia de servidor flexible de Azure Database for MySQL, proporcione la dirección IP 0.0.0.0 como dirección IP de inicio, como en este ejemplo.

az mysql flexible-server firewall-rule create --resource-group testGroup --name mydemoserver --start-ip-address 0.0.0.0

Importante

Esta opción configura el firewall para permitir el acceso público desde los servicios y recursos de Azure a este servidor, incluidas las conexiones desde las suscripciones de otros clientes. Al seleccionar esta opción, asegúrese de que los permisos de usuario y el inicio de sesión limiten el acceso solamente a los usuarios autorizados.

Si la operación se realiza correctamente, en la salida de cada comando create se mostrarán los detalles de la regla de firewall que ha creado, en formato JSON (de forma predeterminada). Si se produce un error, el resultado muestra un mensaje de error.

Enumerar reglas de firewall

Use el comando az mysql flexible-server firewall-rule list para mostrar las reglas de firewall de servidor existentes en el servidor. El atributo de nombre del servidor se especifica en el modificador -name.

az mysql flexible-server firewall-rule list --name mydemoserver

La salida enumera las reglas existentes, si existen, en formato JSON (de forma predeterminada). Puede usar el modificador -output table para que los resultados se generen en un formato de tabla más legible.

az mysql flexible-server firewall-rule list --name mydemoserver --output table

Actualización de una regla de firewall

Use el comando az mysql flexible-server firewall-rule update para actualizar una regla de firewall existente en el servidor. Proporcione el nombre de una regla de firewall existente como entrada, así como los atributos de dirección IP inicial y final que se van a actualizar.

az mysql flexible-server firewall-rule update --name mydemoserver --rule-name FirewallRule1 --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.1

Si la operación se realiza correctamente, la salida del comando muestra los detalles de la regla de firewall que ha actualizado, en formato JSON (de forma predeterminada). Si se produce un error, la salida muestra un mensaje de error.

Nota:

Si la regla de firewall no existe, el comando update la crea.

Mostrar los detalles de la regla de firewall

Use el comando az mysql flexible-server firewall-rule show para mostrar los detalles de la regla de firewall existente del servidor. Proporcione como entrada el nombre de una regla de firewall existente.

az mysql flexible-server firewall-rule show --name mydemoserver --rule-name FirewallRule1

Cuando la operación se realiza correctamente, la salida del comando muestra los detalles de la regla de firewall que ha especificado, en formato JSON (de forma predeterminada). Si se produce un error, la salida muestra un mensaje de error.

Eliminar una regla de firewall

Use el comando az mysql flexible-server firewall-rule delete para eliminar una regla de firewall existente del servidor. Proporcione el nombre de una regla de firewall actual.

az mysql flexible-server firewall-rule delete --name mydemoserver --rule-name FirewallRule1

Cuando la operación se realiza correctamente, no hay ninguna salida. En caso de error, se devuelve un mensaje de error.