Tutorial: Creación de un área de trabajo segura mediante una plantilla

Las plantillas proporcionan una manera cómoda de crear implementaciones de servicio reproducibles. La plantilla define lo que se creará, con información proporcionada por el usuario al usar la plantilla. Por ejemplo, especificar un nombre único para el área de trabajo de Azure Machine Learning trabajo.

En este tutorial, aprenderá a usar una plantilla de Microsoft Bicep y Hashicorp Terraform para crear los siguientes recursos de Azure:

  • Azure Virtual Network. Los siguientes recursos están protegidos detrás de esta red virtual:
    • Área de trabajo de Azure Machine Learning
      • Instancia de proceso de Azure Machine Learning
      • Clúster de proceso de Azure Machine Learning
    • Cuenta de Azure Storage
    • Azure Key Vault
    • Azure Application Insights
    • Azure Container Registry
    • Host de Azure Bastion
    • Máquina virtual de Azure Machine Learning (Data Science Virtual Machine)
    • La plantilla de Bicep también crea un clúster de Azure Kubernetes Service y un grupo de recursos independiente para él.

Sugerencia

Microsoft recomienda utilizar las redes virtuales administradas de Azure Machine Learning en lugar de los pasos de este artículo. Con una red virtual administrada, Azure Machine Learning se hace cargo del trabajo de aislamiento de red para el área de trabajo y los procesos administrados. También puede agregar puntos de conexión privados para los recursos necesarios para el área de trabajo, como la cuenta de Azure Storage. Para más información, consulte Aislamiento de red gestionada del área de trabajo.

Requisitos previos

Antes de seguir los pasos descritos en este artículo, debe tener una suscripción de Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita.

También debe tener una línea de comandos de Bash o de Azure PowerShell.

Sugerencia

Al leer este artículo, use las pestañas de cada sección para seleccionar si desea ver la información sobre el uso de plantillas de Bicep o Terraform.

  1. Para instalar las herramientas de línea de comandos, consulte Configuración de entornos de desarrollo e implementación de Bicep.

  2. La plantilla de Bicep usada en este artículo se encuentra en https://github.com/Azure/azure-quickstart-templates/blob/master/quickstarts/microsoft.machinelearningservices/machine-learning-end-to-end-secure. Use los siguientes comandos para clonar el repositorio GitHub en el entorno de desarrollo:

    Sugerencia

    Si no tiene el gitcomando en el entorno de desarrollo, puede instalarlo desde https://git-scm.com/.

    git clone https://github.com/Azure/azure-quickstart-templates
    cd azure-quickstart-templates/quickstarts/microsoft.machinelearningservices/machine-learning-end-to-end-secure
    

Descripción de la plantilla

La plantilla de Bicep se crea con los archivos main.bicep y .bicep del subdirectorio modules. En la tabla siguiente se describe de qué es responsable cada archivo:

Archivo Descripción
main.bicep Parámetros y variables Pasa los parámetros y variables a otros módulos del subdirectorio modules.
vnet.bicep Define las subredes de Azure Virtual Network.
nsg.bicep Define las reglas del grupo de seguridad de red para la red virtual.
bastion.bicep Define el host y la subred de Azure Bastion. Azure Bastion permite acceder fácilmente a una máquina virtual dentro de la red virtual mediante el explorador web.
dsvmjumpbox.bicep Define la instancia de Data Science Virtual Machine (DSVM). Se usa Azure Bastion para acceder a esta máquina virtual a través del explorador web.
storage.bicep Define la cuenta de Azure Storage que usa el área de trabajo para el almacenamiento predeterminado.
keyvault.bicep Define la instancia de Azure Key Vault utilizada por el área de trabajo.
containerregistry.bicep Define la instancia de Azure Container Registry utilizada por el área de trabajo.
applicationinsights.bicep Define la instancia de Azure Application Insights que usa el área de trabajo.
machinelearningnetworking.bicep Define los puntos de conexión privados y las zonas DNS para el área de trabajo de Azure Machine Learning.
Machinelearning.bicep Define el área de trabajo de Azure Machine Learning.
machinelearningcompute.bicep Define un clúster de proceso de Azure Machine Learning y una instancia de proceso.
privateaks.bicep Define una instancia del clúster de Azure Kubernetes Services.

Importante

Es posible que las plantillas de ejemplo no siempre usen la versión más reciente de la API para Azure Machine Learning. Antes de usar la plantilla, se recomienda modificarla para que use las versiones más recientes de la API. Para obtener más información sobre las versiones más recientes de la API para Azure Machine Learning, consulte la API REST de Azure Machine Learning.

Cada servicio de Azure tiene su propio conjunto de versiones de API. Para obtener información sobre la API de un servicio específico, compruebe la información del servicio en la referencia de la API REST de Azure.

Para actualizar la versión de la API, busque la entrada Microsoft.MachineLearningServices/<resource> del tipo de recurso y actualícela a la versión más reciente. El ejemplo siguiente es una entrada para el área de trabajo de Azure Machine Learning que usa una versión de API de 2022-05-01:

resource machineLearning 'Microsoft.MachineLearningServices/workspaces@2022-05-01' = {

Importante

DSVM y Azure Bastion se usan como una manera fácil de conectarse al área de trabajo protegida para este tutorial. En un entorno de producción, se recomienda usar una instancia de Azure VPN Gateway o Azure ExpressRoute para acceder a los recursos dentro de la red virtual directamente desde la red local.

Configuración de la plantilla

Para ejecutar la plantilla de Bicep, use los siguientes comandos desde machine-learning-end-to-end-secure donde se encuentramain.bicep el archivo:

  1. Para crear un nuevo grupo de recursos de Azure, use el siguiente comando. Reemplace exampleRG por el nombre del grupo de recursos y eastus por la región de Azure que desea usar:

    az group create --name exampleRG --location eastus
    
  2. Para ejecutar la plantilla, use el siguiente comando. Reemplace prefix por un prefijo único. El prefijo se usará al crear recursos de Azure necesarios para Azure Machine Learning. Reemplace securepassword por una contraseña segura para el jump box. La contraseña es para la cuenta de inicio de sesión del jump box (azureadmin en los ejemplos siguientes):

    Sugerencia

    prefix Debe tener 5 o menos caracteres. No puede ser solamente numérica ni contener los caracteres siguientes: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?.

    az deployment group create \
        --resource-group exampleRG \
        --template-file main.bicep \
        --parameters \
        prefix=prefix \
        dsvmJumpboxUsername=azureadmin \
        dsvmJumpboxPassword=securepassword
    

Conexión a un área de trabajo

Una vez completada la plantilla, siga estos pasos para conectarse a DSVM:

  1. En Azure Portal, seleccione el grupo de recursos de Azure que usó con la plantilla. A continuación, seleccione Data Science Virtual Machine que creó la plantilla. Si tiene problemas para encontrarlo, use la sección de filtros para filtrar el tipo por máquina virtual.

    Screenshot of filtering and selecting the vm.

  2. En la sección Información general de la máquina virtual, seleccione Conectar y, a continuación, seleccione Bastion en la lista desplegable.

    Screenshot of selecting to connect using Bastion.

  3. Cuando se le solicite, proporcione el nombre de usuario y la contraseña que especificó al configurar la plantilla y, a continuación, seleccione Conectar.

    Importante

    La primera vez que se conecta al escritorio de DSVM, se abre una ventana de PowerShell y comienza a ejecutar un script. Permita que se complete antes de continuar con el paso siguiente.

  4. En el escritorio de DSVM, inicie Microsoft Edge y escriba https://ml.azure.com como dirección. Inicie sesión en su suscripción de Azure y seleccione el área de trabajo creada por la plantilla. Se muestra el estudio para el área de trabajo.

Solución de problemas

Error: El nombre del equipo Windows no puede tener más de 15 caracteres, ser solamente numérico, ni contener los caracteres siguientes

Este error puede producirse cuando el nombre del jump box de DSVM tiene más de 15 caracteres o incluye uno de los siguientes caracteres: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?.

Al usar la plantilla de Bicep, el nombre del jump box se genera mediante programación con el valor de prefijo proporcionado a la plantilla. Para asegurarse de que el nombre no supera los 15 caracteres y que no contiene caracteres no válidos, use un prefijo que tenga como máximo 5 caracteres y ninguno de los siguientes caracteres: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?.

Cuando se usa la plantilla de Terraform, el nombre del jump box se pasa mediante el parámetro dsvm_name. Para evitar este error, use un nombre que no tenga más de 15 caracteres y que no use ninguno de los siguientes caracteres como parte del nombre: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?.

Pasos siguientes

Importante

Data Science Virtual Machine (DSVM) y los recursos de instancia de proceso le facturan por cada hora que se están ejecutando. Para evitar cargos excesivos, debe detener estos recursos cuando no estén en uso. Para más información, consulte los siguientes artículos:

Para seguir aprendiendo a usar el área de trabajo protegida desde DSVM, consulte Tutorial: Azure Machine Learning en un día.

Para más información sobre las configuraciones comunes de áreas de trabajo seguras y los requisitos de entrada y salida, consulte Flujo de tráfico del área de trabajo segura de Azure Machine Learning.