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.
- Área de trabajo de Azure Machine Learning
Sugerencia
Microsoft recomienda usar Redes virtuales administradas de Azure Machine Learning (versión preliminar) 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.
Para instalar las herramientas de línea de comandos, consulte Configuración de entornos de desarrollo e implementación de Bicep.
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
git
comando 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:
Para crear un nuevo grupo de recursos de Azure, use el siguiente comando. Reemplace
exampleRG
por el nombre del grupo de recursos yeastus
por la región de Azure que desea usar:az group create --name exampleRG --location eastus
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. Reemplacesecurepassword
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:
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.
En la sección Información general de la máquina virtual, seleccione Conectar y, a continuación, seleccione Bastion en la lista desplegable.
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.
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.