Configurar conexiones MySQL protegidas para configuraciones NLB

Es posible generar certificados de capa de sockets seguros (SSL) y archivos de claves para los dos nodos de balanceo de carga de red (NLB) a fin de proteger la comunicación entre SnapCenter Server y los servidores MySQL. Los certificados y los archivos de claves se deben configurar en las instancias de MySQL Server y en los nodos NLB.

Antes de empezar

Se debe instalar SnapCenter Server.

Acerca de esta tarea

Se generan los siguientes certificados:

Pasos

  1. Para el primer nodo NLB, configure los certificados de SSL y los archivos de claves para servidores y clientes MySQL en Windows con el comando openssl.

    MySQL versión 5.7: Creación de claves y certificados SSL mediante openssl

    Nota: El valor de nombre común que se usa para el certificado de servidor, el certificado de cliente y los archivos de claves debe ser distinto del valor de nombre común que se utiliza para el certificado de CA. Si los valores de nombre común son los mismos, el certificado y los archivos de claves producen errores en los servidores compilados con OpenSSL.
    Práctica recomendada: Se debe usar el nombre de dominio completo (FQDN) como nombre común para el certificado de servidor.
    1. Copie los certificados de SSL y los archivos de claves en la carpeta MySQL Data.
      La ruta predeterminada de la carpeta MySQL Data es C:\ProgramData\NetApp\SnapCenter\MySQL Data\Data\.
    2. Actualice las rutas del certificado de CA, del certificado público de servidor, del certificado público de cliente, de la clave privada de servidor y de la clave privada de cliente en el archivo de configuración del servidor MySQL (my.ini).
      La ruta predeterminada del archivo de configuración del servidor MySQL (my.ini) es C:\ProgramData\NetApp\SnapCenter\MySQL Data\my.ini.
      Nota: Debe especificar las rutas del certificado de CA, del certificado público de servidor y de la clave privada de servidor en la sección [mysqld] del archivo de configuración del servidor MySQL (my.ini).

      Debe especificar las rutas del certificado de CA, del certificado público de cliente y de la clave privada de cliente en la sección [client] el archivo de configuración del servidor MySQL (my.ini).

      Ejemplo
      En el siguiente ejemplo, se muestran los certificados y los archivos de claves copiados en la sección [mysqld] del archivo my.ini en la carpeta predeterminada C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data.
      ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
      ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-cert.pem"
      ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-key.pem"

      En el siguiente ejemplo, se muestran las rutas actualizadas en la sección [client] del archivo my.ini.

      ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
      ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-cert.pem"
      ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-key.pem"
  2. Para el segundo nodo NLB, copie el certificado de CA y genere un certificado público de servidor, archivos de claves privadas de servidor, un certificado público de cliente y archivos de claves privadas de cliente. Siga estos pasos:
    1. En la carpeta MySQL Data del segundo nodo NLB, copie el certificado de CA generado en el primer nodo NLB.
      La ruta predeterminada de la carpeta MySQL Data es C:\ProgramData\NetApp\SnapCenter\MySQL Data\Data\.
      Nota: No debe volver a crear un certificado de CA. Debe crear únicamente el certificado público de servidor, el certificado público de cliente, el archivo de claves privadas de servidor y el archivo de claves privadas de cliente.
    2. Para el primer nodo NLB, configure los certificados de SSL y los archivos de claves para servidores y clientes MySQL en Windows con el comando openssl.

      MySQL versión 5.7: Creación de claves y certificados SSL mediante openssl

      Nota: El valor de nombre común que se usa para el certificado de servidor, el certificado de cliente y los archivos de claves debe ser distinto del valor de nombre común que se utiliza para el certificado de CA. Si los valores de nombre común son los mismos, el certificado y los archivos de claves producen errores en los servidores compilados con OpenSSL.

      Se recomienda usar el nombre de dominio completo del servidor como nombre común para el certificado del servidor.

    3. Copie los certificados de SSL y los archivos de claves en la carpeta MySQL Data.
    4. Actualice las rutas del certificado de CA, del certificado público de servidor, del certificado público de cliente, de la clave privada de servidor y de la clave privada de cliente en el archivo de configuración del servidor MySQL (my.ini).
      Nota: Debe especificar las rutas del certificado de CA, del certificado público de servidor y de la clave privada de servidor en la sección [mysqld] del archivo de configuración del servidor MySQL (my.ini).

      Debe especificar las rutas del certificado de CA, del certificado público de cliente y de la clave privada de cliente en la sección [client] del archivo de configuración del servidor MySQL (my.ini).

      Ejemplo
      En el siguiente ejemplo, se muestran los certificados y los archivos de claves copiados en la sección [mysqld] del archivo my.ini en la carpeta predeterminada C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data.
      ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
      ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-cert.pem"
      ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-key.pem"

      En el siguiente ejemplo, se muestran las rutas actualizadas en la sección [client] del archivo my.ini.

      ssl-ca="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem"
      ssl-cert="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-cert.pem"
      ssl-key="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/server-key.pem"
  3. Detenga la aplicación web SnapCenter Server en Internet Information Server (IIS) en los dos nodos NLB.
  4. Reinicie el servicio MySQL en los dos nodos NLB.
  5. Actualice el valor de la clave MySQLProtocol del archivo web.config en los dos nodos NLB.
    Ejemplo
    En el siguiente ejemplo, se muestra el valor de la clave MySQLProtocol actualizada en el archivo web.config.
    <add key="MySQLProtocol" value="SSL" />
  6. Actualice el archivo web.config con las rutas especificadas en la sección [client] del archivo my.ini en los dos nodos NLB.
    Ejemplo

    En el siguiente ejemplo, se muestran las rutas actualizadas en la sección [client] de los archivos my.ini.

    <add key="ssl-client-cert" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-cert.pem" />
    <add key="ssl-client-key" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/client-key.pem" />
    <add key="ssl-ca" value="C:/ProgramData/NetApp/SnapCenter/MySQL Data/Data/ca.pem" />
  7. Inicie la aplicación web SnapCenter Server en IIS en los dos nodos NLB.
  8. Use el cmdlet Set-SmRepositoryConfig -RebuildSlave -Force de PowerShell con la opción -Force en uno de los nodos NLB para establecer la replicación de MySQL protegida en los dos nodos NLB.
    Aunque el estado de la replicación sea correcto, la opción -Force permite reconstruir el repositorio esclavo.