0% encontró este documento útil (0 votos)
2K vistas143 páginas

Contenido Renew Az-104

Este documento describe cómo crear una aplicación web en Azure App Service utilizando Azure Portal. Explica que Azure App Service es una plataforma totalmente administrada para hospedar aplicaciones web y que ofrece escalabilidad automática. A continuación, detalla los pasos para crear una aplicación web en Azure Portal, incluyendo seleccionar una suscripción, grupo de recursos, nombre, publicar el código o una imagen Docker, seleccionar una pila de tiempo de ejecución y un plan de App Service.

Cargado por

Daniel González
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2K vistas143 páginas

Contenido Renew Az-104

Este documento describe cómo crear una aplicación web en Azure App Service utilizando Azure Portal. Explica que Azure App Service es una plataforma totalmente administrada para hospedar aplicaciones web y que ofrece escalabilidad automática. A continuación, detalla los pasos para crear una aplicación web en Azure Portal, incluyendo seleccionar una suscripción, grupo de recursos, nombre, publicar el código o una imagen Docker, seleccionar una pila de tiempo de ejecución y un plan de App Service.

Cargado por

Daniel González
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

BLOQUE 1

Introducción

Completado100 XP

 2 minutos

Imagine que está compilando un sitio web para una nueva empresa o que está ejecutando una
aplicación web existente en un servidor local antiguo. Configurar un nuevo servidor puede
representar todo un desafío. Es necesario disponer del hardware adecuado, preferentemente
un sistema operativo de nivel de servidor, y una pila de hospedaje web.

Una vez que esté en ejecución, debe mantener el servidor. Y, ¿qué ocurre si aumenta el tráfico
del sitio web? Es posible que deba invertir en hardware adicional.

Hospedar la aplicación web con Azure App Service hace que la implementación y
administración de una aplicación web resulten mucho más fáciles en comparación con la
administración de un servidor físico. En este módulo, se implementará una aplicación web en
Azure App Service.

Objetivos de aprendizaje

En este módulo, aprenderá a:

 Use Azure Portal para crear una aplicación web de Azure App Service.

 Use herramientas de desarrollo para crear el código para una aplicación web de inicio.

 Implemente su código en App Service.

Requisitos previos

 Saber desplazarse por Azure Portal

 Capacidad de usar una interfaz de línea de comandos

Creación de una aplicación web en Azure Portal

Completado100 XP

 6 minutos

En esta unidad, aprenderá a crear una aplicación web de Azure App Service con Azure Portal.

¿Por qué usar Azure Portal?

El primer paso para hospedar la aplicación web consiste en crear una aplicación web
(aplicación de Azure App Service) dentro de la suscripción de Azure.

Hay varias maneras de crear una aplicación web. Puede utilizar Azure Portal, la interfaz de línea
de comandos (CLI) de Azure, un script o un entorno de desarrollo integrado (IDE) como
Visual Studio.
En la información de esta unidad se describe cómo usar Azure Portal para crear una aplicación
web y, en el siguiente ejercicio, usará esta información para ello. En este módulo, la
demostración se realizará con Azure Portal porque es una experiencia gráfica y lo convierte en
una excelente herramienta de aprendizaje. El portal ayuda a descubrir las características
disponibles, agregar recursos adicionales y personalizar los recursos existentes.

¿Qué es Azure App Service?

Azure App Service es una plataforma de hospedaje de aplicaciones web totalmente


administrada. Esta plataforma como servicio (PaaS) que ofrece Azure le permite centrarse en el
diseño y la compilación de la aplicación, mientras que Azure se encarga de la infraestructura
para ejecutar y escalar las aplicaciones.

Ranuras de implementación

Con Azure Portal, puede agregar fácilmente ranuras de implementación a una aplicación web
de App Service. Por ejemplo, puede crear un espacio de implementación de ensayo donde
puede insertar el código para probarlo en Azure. Cuando esté satisfecho con el código, le
resultará muy fácil intercambiar la ranura de implementación de almacenamiento provisional
con la de producción. Todo esto se hace con unos pocos clics del mouse en Azure Portal.
Compatibilidad con la integración e implementación continuas

Azure Portal proporciona integración e implementación continuas listas para usar con Azure
DevOps, GitHub, Bitbucket, FTP o un repositorio de GIT local en el equipo de desarrollo.
Conecte la aplicación web con cualquiera de los orígenes anteriores y App Service se encargará
del resto mediante la sincronización automática del código y los futuros cambios del código en
la aplicación web. Además, con Azure DevOps, puede definir un proceso propio de compilación
y publicación que compile el código fuente, ejecute las pruebas, cree una versión y, por último,
la implemente en la aplicación web cada vez que confirme el código. Todo eso tiene lugar de
forma implícita sin ninguna intervención por su parte.
Publicación de Visual Studio integrada y publicación FTP

Además de poder configurar la integración e implementación continuas de la aplicación web,


siempre se puede beneficiar de la estrecha integración con Visual Studio para publicar la
aplicación web en Azure mediante la tecnología Web Deploy. App Service también admite la
publicación basada en FTP para flujos de trabajo más tradicionales.

Compatibilidad integrada con la escalabilidad automática (escalabilidad horizontal


automática en función de la carga real)

La capacidad de escalar hacia arriba/abajo o hacia afuera está integrada en la aplicación web.
En función del uso de la aplicación web, se puede escalar o reducir verticalmente si se
aumentan o disminuyen los recursos de la máquina subyacente en la que se hospeda la
aplicación web. Los recursos pueden ser el número de núcleos o la cantidad de memoria RAM
disponible.

Por otro lado, el escalado horizontal es la capacidad de aumentar el número de instancias de


máquina que ejecutan la aplicación web.

Creación de una aplicación web

Cuando esté listo para ejecutar una aplicación web en Azure, puede visitar Azure Portal y crear
un recurso de aplicación web. Al crear una aplicación web se asigna un conjunto de recursos
de hospedaje en App Service, que se puede usar para hospedar cualquier aplicación basada en
web compatible con Azure, ya sea en ASP.NET Core, Node.js, Java, Python, etc.

En Azure Portal se proporciona un asistente para crear una aplicación web. Este asistente
requiere los campos siguientes:

Campo Descripción

Suscripción una suscripción a Azure válida y activa.

Grupo de recursos un grupo de recursos válido.

Nombre de la el nombre de la aplicación web. Este nombre se convierte en parte de la dirección URL de la a
aplicación único entre todas las aplicaciones web de Azure App Service.

Publicar puede implementar la aplicación en App Service como código o como una imagen de Docker
seleccionar la imagen de Docker se activará la pestaña Docker del asistente, donde proporcio
registro de Docker desde que App Service recuperará la imagen.

Pila del entorno en si elige implementar la aplicación como código, App Service necesita saber qué entorno de eje
tiempo de ejecución (entre los ejemplos se incluyen Node.js, Python, Java y .NET). Si implementa la aplicación com
tendrá que elegir una pila del entorno de ejecución, ya que la imagen la incluirá.

Sistema operativo App Service puede hospedar aplicaciones en servidores Windows o Linux. Consulte la sección
unidad para obtener información adicional.

Región la región de Azure desde la que se distribuirá la aplicación.

Plan de App Service Consulte la sección planes de App Service de esta unidad para obtener información sobre los p

Sistemas operativos
Si va a implementar la aplicación como código, muchas de las pilas de entorno de ejecución
disponibles están limitadas a un sistema operativo o a otro. Después de elegir una pila en
tiempo de ejecución, el botón de alternancia indicará si puede elegir un sistema operativo. Si la
pila en tiempo de ejecución de destino está disponible en ambos sistemas operativos,
seleccione el que use para desarrollar y probar la aplicación.

Si la aplicación está empaquetada como una imagen de Docker, elija el sistema operativo en el
que se ha diseñado la imagen para ejecutarse.

Al seleccionar Windows, se activa la pestaña Supervisión, donde tiene la opción de


habilitar Application Insights. Al habilitar esta característica, se configura la aplicación para que
envíe de forma automática telemetría de rendimiento detallada al servicio de supervisión de
Application Insights sin necesidad de realizar cambios en el código. Application Insights
también se puede usar desde aplicaciones hospedadas en Linux, pero esta opción inmediata
sin código solo está disponible en Windows.

Planes de App Service

Un plan de App Service es un conjunto de recursos de servidor virtual que ejecutan


aplicaciones de App Service. El tamañode un plan (que a veces se denomina SKU o plan de
tarifa) determina las características de rendimiento de los servidores virtuales que ejecutan las
aplicaciones asignadas al plan, así como las características de App Service a las que estas
aplicaciones tienen acceso. Todas las aplicaciones web de App Service que cree deben
asignarse a un único plan de App Service que las ejecute.

Un solo plan de App Service puede hospedar varias aplicaciones web de App Service. En la
mayoría de los casos, el número de aplicaciones que se pueden ejecutar en un solo plan está
limitado por las características de rendimiento de las aplicaciones y las limitaciones de recursos
del plan.

App Service planifica la unidad de facturación de App Service. El tamaño de cada plan de App
Service de la suscripción, además de los recursos de ancho de banda que usan las aplicaciones
implementadas en esos planes, determina el precio que se paga. El número de aplicaciones
web implementadas en los planes de App Service no tiene ningún efecto en la factura.

Puede usar cualquiera de las herramientas de administración de Azure disponibles para crear
un plan de App Service. Al crear una aplicación web a través de Azure Portal, el asistente le
ayudará a crear un plan al mismo tiempo si todavía no tiene uno.

Ejercicio: Creación de una aplicación web en Azure Portal

Completado100 XP

 5 minutos

Para completar este módulo, se necesita un espacio aislado.

Un espacio aislado te da acceso a recursos gratuitos. La suscripción personal no se te cobrará.


El espacio aislado solo se puede usar para realizar los cursos de Microsoft Learn. Está prohibido
el uso con cualquier otro fin y puede dar lugar a la pérdida permanente del acceso al espacio
aislado.

Microsoft proporciona esta experiencia de laboratorio y contenido relacionado con fines


educativos. Toda la información presentada es propiedad de Microsoft y está destinada
únicamente a aprender sobre los productos y servicios cubiertos en este módulo de Microsoft
Learn.

Activar espacio aislado

Elija el lenguaje de desarrollo

C# Java Node.js Python

En esta unidad, se usará Azure Portal para crear una aplicación web.

Creación de una aplicación web

Inicie sesión en Azure Portal con la misma cuenta que ha usado para activar el espacio aislado.

1. En el menú de Azure Portal o en la página de Inicio, seleccione Crear un recurso. Todo


lo que se crea en Azure es un recurso. Aparecerá el panel Crear un recurso.

Aquí, puede buscar el recurso que quiere crear o seleccionar uno de los recursos más
populares que se crean en Azure Portal.

2. En el menú Crear un recurso, seleccione Web.

3. Seleccione Aplicación web. Si no lo ve, busque y seleccione Aplicación web en el


cuadro de búsqueda. Aparece el panel de recursos Crear aplicación web.

4. En la pestaña Aspectos básicos, escriba los valores siguientes para cada opción.

Configuración Valor Detalles

Detalles del
proyecto

Subscription Suscripción de Concierge La aplicación web que va a crear debe pertenecer a un


la suscripción de Azure a la que pertenece el grupo de r
se crea en el asistente).

Grupo de En la lista desplegable, El grupo de recursos al que pertenecerá la aplicación w


recursos seleccione [Grupo de deben pertenecer a un grupo de recursos.
recursos de espacio
aislado].

Detalles de
instancia

Nombre Escriba un nombre único El nombre de la aplicación web. Este nombre formará p
aplicación: nombre_de_la_aplicación.azurewebsites.ne
entre todas las aplicaciones web de Azure.

Publicar Código El método que quiere usar para publicar la aplicación. A


Configuración Valor Detalles

también debe configurar Pila en tiempo de ejecución a


Service para ejecutar la aplicación.

Pila en tiempo Python 3.8 Plataforma en la que se ejecutará la aplicación. La elecc


de ejecución de una opción de sistema operativo: en algunas pilas en
solo admite un sistema operativo.

Sistema Linux Sistema operativo que se usa en los servidores virtuale


operativo

Region Este de EE. UU. Región geográfica desde la que se va a hospedar la apli

Panes de tarifa

Plan de Linux Acepte el valor Nombre del plan de App Service que respaldará la aplic
predeterminado. asistente creará un plan en la misma región que la aplic

Plan de precios F1 El plan de tarifa del plan de servicio que se va a crear. E


características de rendimiento de los servidores virtuale
características a las que tiene acceso. Seleccione Gratis
5.
5. Deje las demás opciones con los valores predeterminados. Seleccione Revisar y
crear para ir al panel de revisión y, después, seleccione Crear. En el portal se muestra el
panel de implementación, donde se puede ver el estado de la implementación.

Nota

La implementación puede tardar un momento en completarse.

Vista previa de la aplicación web

1. Una vez finalizada la implementación, seleccione Ir al recurso. En el portal se muestra


el panel Información general de App Service de la aplicación web.

2. Para obtener una vista previa del contenido predeterminado de la aplicación web,
seleccione la URL en Dominio predeterminado en la parte superior derecha. La página
de marcador de posición que se carga indica que la aplicación web está en
funcionamiento y lista para recibir la implementación del código de la aplicación.
Deje abierta la pestaña del explorador con la página de marcador de posición de la nueva
aplicación. Volverá a esa pestaña después de haber implementado la aplicación.

Preparación del código de la aplicación web

Completado100 XP

 3 minutos

Elija el lenguaje de desarrollo

C# Java Node.js Python

En esta unidad, aprenderá a crear el código para la aplicación web y a integrarlo en un


repositorio de control de código fuente.
Arranque de una aplicación web

Ahora que ha creado los recursos para implementar la aplicación web, tendrá que preparar el
código que quiere implementar. Hay muchas maneras de iniciar una nueva aplicación web, por
lo que es posible que lo que vea aquí sea diferente a lo que conoce. El objetivo es
proporcionarle rápidamente un punto de partida para completar un ciclo completo hasta la
implementación.

Nota

Todo el código y los comandos que se muestran en esta página solo se incluyen con fines
explicativos; no es necesario ejecutar ninguno de ellos. Se usarán en un ejercicio posterior.

Para crear una aplicación web de inicio con varias líneas de código, puede usar Flask, un marco
de trabajo de aplicación web de uso frecuente. Puede instalar Flask mediante el comando
siguiente:

BashCopiar

pip install flask

Después de que Flask esté disponible en el entorno, puede crear una aplicación web mínima
mediante este código:

PythonCopiar

from flask import Flask

app = Flask(__name__)

@app.route("/")

def hello():

return "Hello World!\n"

En este código de ejemplo se crea un servidor que responde a todas las solicitudes con un
mensaje "Hola mundo".

Adición del código al control de código fuente

Una vez que el código de la aplicación web está listo, el paso siguiente suele consistir en
incluirlo en un repositorio de control de código fuente, como Git. Si tiene Git instalado en el
equipo, al ejecutar estos comandos en la carpeta de código fuente se inicializará el repositorio.

BashCopiar

git init

git add .

git commit -m "Initial commit"

Estos comandos le permitirán inicializar un repositorio de Git local y crear una primera
confirmación con el código. Podrá aprovechar de inmediato la ventaja de mantener un historial
de los cambios con confirmaciones. Más adelante, también podrá sincronizar el repositorio
local con un repositorio remoto, por ejemplo, hospedado en GitHub. Así, podrá configurar la
integración continua y la implementación continua (CI/CD). Aunque se recomienda usar un
repositorio de control de código fuente para las aplicaciones de producción, no es necesario
para implementar una aplicación en Azure App Service.

Nota

El uso de CI/CD permite una implementación de código más frecuente de forma confiable,
mediante la automatización de las compilaciones, las pruebas y las implementaciones para
cada cambio de código. Permite ofrecer nuevas características y correcciones de errores para la
aplicación de forma más rápida y eficaz.

Ejercicio: Escritura de código para implementar una aplicación web

Completado100 XP

 5 minutos

Para completar este módulo, se necesita un espacio aislado.

Un espacio aislado te da acceso a recursos gratuitos. La suscripción personal no se te cobrará.


El espacio aislado solo se puede usar para realizar los cursos de Microsoft Learn. Está prohibido
el uso con cualquier otro fin y puede dar lugar a la pérdida permanente del acceso al espacio
aislado.

Microsoft proporciona esta experiencia de laboratorio y contenido relacionado con fines


educativos. Toda la información presentada es propiedad de Microsoft y está destinada
únicamente a aprender sobre los productos y servicios cubiertos en este módulo de Microsoft
Learn.

Activar espacio aislado

Elija el lenguaje de desarrollo

C# Java Node.js Python

En esta unidad, usará herramientas de desarrollo para crear el código de una aplicación web de
inicio.

Creación de un proyecto web

Para crear una aplicación web de inicio se usará el marco de trabajo de la aplicación web Flask.

1. Ejecute los comandos siguientes en Azure Cloud Shell para configurar un entorno
virtual e instalar Flask en el perfil:

BashCopiar

python3 -m venv venv

source venv/bin/activate

pip install flask


2. Ejecute estos comandos para crear y cambiar al nuevo directorio de la aplicación web:

BashCopiar

mkdir ~/BestBikeApp

cd ~/BestBikeApp

3. A fin de crear un archivo para la aplicación web, abra application.py en el editor


interactivo de Python:

BashCopiar

code application.py

4. Copie y pegue el siguiente código de Python para crear la funcionalidad principal de la


aplicación web:

PythonCopiar

from flask import Flask

app = Flask(__name__)

@app.route("/")

def hello():

return "<html><body><h1>Hello Best Bike App!</h1></body></html>\n"

5. Guarde el archivo y salga del editor. Para ello, seleccione el menú ... en la parte
superior derecha y elija Guardar>Cerrar editor o presione Ctrl+S y Ctrl+Q en Windows
y Linux.

6. Para implementar la aplicación en Azure, tendrá que guardar la lista de requisitos de la


aplicación que ha creado para ella en un archivo requirements.txt. Para ello, ejecute el
comando siguiente:

BashCopiar

pip freeze > requirements.txt

Prueba opcional de la aplicación web

Puede probar la aplicación localmente en Azure mientras se ejecuta.

1. Abra una segunda sesión del shell de comandos en una nueva pestaña del
explorador https://shell.azure.com/.

2. Desde la sesión de shell de comandos principal (a la derecha), ejecute los comandos


siguientes para activar el entorno virtual:

BashCopiar

cd ..

source venv/bin/activate
3. Desde la sesión de shell de comandos principal (a la derecha), ejecute los comandos
siguientes para iniciar la aplicación web:

BashCopiar

cd ~/BestBikeApp

export FLASK_APP=application.py

flask run

4. En la segunda sesión de shell de comandos, ejecute el comando siguiente para ir a la


aplicación web:

BashCopiar

curl http://127.0.0.1:5000/

Debería obtener la siguiente salida HTML:

HTMLCopiar

<html><body><h1>Hello Best Bike App!</h1></body></html>

5. Desde la sesión de shell de comandos principal, presione Ctrl+C para salir de la


aplicación web y, después, cierre la sesión de Azure Cloud Shell secundaria.

Implementación de código en App Service

Completado100 XP

 3 minutos

Ahora, veremos cómo se puede implementar la aplicación en App Service.

Implementación automatizada

La implementación automatizada, o la integración continua, es un proceso que se usa para


insertar nuevas características y correcciones de errores en un patrón repetitivo y rápido con
un impacto mínimo en los usuarios finales.

Azure admite la implementación automatizada directamente desde varios orígenes. Están


disponibles las opciones siguientes:

 Azure DevOps: puede insertar el código en Azure DevOps, compilar el código en la


nube, ejecutar las pruebas, generar una versión a partir del código y, por último,
insertar el código en una aplicación web de Azure.

 GitHub: Azure admite la implementación automatizada directamente desde GitHub.


Cuando conecte el repositorio de GitHub con Azure para la implementación
automatizada, cualquier cambio que inserte en la rama de producción en GitHub se
implementará de forma automática.
 Bitbucket: con sus similitudes con GitHub, puede configurar una implementación
automatizada con Bitbucket.

 OneDrive: es el almacenamiento basado en la nube de Microsoft. Debe tener una


cuenta de Microsoft vinculada a una de OneDrive para la implementación en Azure.

 Dropbox: Azure admite la implementación desde Dropbox, que es un conocido sistema


de almacenamiento basado en la nube parecido a OneDrive.

Implementación manual

Hay algunas opciones que puede usar para insertar el código en Azure de forma manual:

 Git: App Service Web Apps incluyen una dirección URL de Git que se puede agregar
como repositorio remoto. Al insertar en el repositorio remoto se implementará la
aplicación.

 az webapp up: webapp up es una característica de la interfaz de línea de


comandos az que empaqueta la aplicación y la implementa. A diferencia de otros
métodos de implementación, az webapp up puede crear una aplicación web de App
Service de forma automática si todavía no ha creado una.

 Implementación desde un archivo ZIP: puede usar az webapp deployment source


config-zip para enviar un archivo ZIP de los archivos de aplicación a App Service.
También se puede acceder a la implementación desde un archivo ZIP mediante
utilidades básicas de HTTP, como curl.

 Implementación desde un archivo WAR: se trata de un mecanismo de implementación


de App Service diseñado para implementar aplicaciones web de Java mediante
paquetes WAR. Se puede acceder a la implementación desde un archivo WAR
mediante la API HTTP Kudu, que se encuentra en http://<your-app-
name>.scm.azurewebsites.net/api/wardeploy. Si eso no funciona,
pruebe: https://<your-app-name>.scm.azurewebsites.net/api/wardeploy.

 Visual Studio: Visual Studio incluye un asistente para la implementación de App


Service que le guía a través del proceso de implementación.

 FTP/S: FTP o FTPS es una manera tradicional de insertar el código en muchos entornos
de hospedaje, incluido App Service.

Ejercicio: Implementación del código en App Service

Completado100 XP

 5 minutos

Compruebe su cuenta.

Elija el lenguaje de desarrollo

C# Java Node.js Python


En esta unidad, se implementará la aplicación web en App Service.

Implementación con az webapp up

A continuación se implementará la aplicación Python con az webapp up. Este comando


empaquetará la aplicación y la enviará a la instancia de App Service, donde se compilará e
implementará.

En primer lugar, es necesario recopilar información sobre el recurso de aplicación web. Ejecute
estos comandos para establecer las variables de shell que contienen el nombre de la
aplicación, el nombre del grupo de recursos, el nombre del plan, la SKU y la ubicación. Usan
otros comandos de az para solicitar la información de Azure; az webapp up necesita estos
valores para dirigirse a la aplicación web existente.

BashCopiar

export APPNAME=$(az webapp list --query [0].name --output tsv)

export APPRG=$(az webapp list --query [0].resourceGroup --output tsv)

export APPPLAN=$(az appservice plan list --query [0].name --output tsv)

export APPSKU=$(az appservice plan list --query [0].sku.name --output tsv)

export APPLOCATION=$(az appservice plan list --query [0].location --output tsv)

Ahora, ejecute az webapp up con los valores adecuados. Asegúrese de que está en el
directorio BestBikeApp antes de ejecutar este comando.

BashCopiar

cd ~/BestBikeApp

az webapp up --name $APPNAME --resource-group $APPRG --plan $APPPLAN --sku $APPSKU --


location "$APPLOCATION"

La implementación tardará unos minutos, periodo durante el que obtendrá la salida de estado.

Comprobación de la implementación

Ahora se examinará la aplicación. En el resultado, justo antes del bloque de código JSON, hay
una línea con una dirección URL. Seleccione ese vínculo para abrir la aplicación en una nueva
pestaña del explorador. La página puede tardar un momento en cargarse porque es la primera
vez que App Service inicializa la aplicación.

Una vez que se cargue el programa, obtendrá el mensaje de saludo de la aplicación. Se ha


implementado correctamente.

Resumen

Completado200 XP
 2 minutos

Ha creado e implementado correctamente una aplicación web en Azure App Service.

App Service simplifica la administración y el control de la aplicación web en comparación con


las opciones de hospedaje tradicionales. El plan de App Service puede ayudar a reducir el
tiempo y el esfuerzo empleados en ejecutar y administrar la aplicación web. Además,
proporciona características de nube avanzadas, como la escalabilidad automática y la
integración de Git.

Limpieza

El espacio aislado limpia los recursos automáticamente cuando haya terminado con este
módulo.

Al trabajar en una suscripción propia, se recomienda identificar al final de un proyecto si aún


necesita los recursos creados. Los recursos que deja en ejecución pueden costar dinero. Puede
eliminar los recursos de forma individual o eliminar el grupo de recursos para eliminar todo el
conjunto de recursos.

Más información

 Implementación continua en Azure App Service

 Configuración de entornos de ensayo en Azure App Service

 Preguntas más frecuentes sobre la implementación en Web Apps en Azure

 Introducción a Azure App Service y Azure Functions en Azure Stack Hub

 Configuración de orígenes de implementación para App Services en Azure Stack Hub

BLOQUE 2

Introducción

Completado100 XP

 3 minutos

La implementación rápida es clave para la agilidad empresarial. Las organizaciones modernas


deben ser capaces de publicar aplicaciones rápidamente para atraer y conservar el negocio. La
inclusión en contenedores ahorra tiempo y reduce los costos. No es necesario configurar
hardware ni malgastar tiempo en instalar sistemas de operativos y software para hospedar una
implementación. Varias aplicaciones se pueden ejecutar en sus contenedores aislados
correspondientes en el propio hardware. Se pueden escalar horizontalmente con rapidez
iniciando más instancias de contenedores. Las imágenes que se ejecutan en contenedores son
extensibles; así, puede empezar con una imagen base funcional y agregarle más
funcionalidades para crear otra.

Imagine que trabaja para un minorista de ropa en línea que está planeando el desarrollo de
una serie de aplicaciones internas, pero que todavía no ha decidido cómo hospedarlas. Busca
la máxima compatibilidad y las aplicaciones se pueden hospedar en el entorno local, en Azure
o en otro proveedor de nube. Es posible que algunas de las aplicaciones compartan una
infraestructura de IaaS. En estos casos, la empresa requiere que las aplicaciones estén aisladas
entre sí. Las aplicaciones pueden compartir los recursos de hardware, pero una aplicación no
debería ser capaz de interferir con los archivos, el espacio de memoria u otros recursos que
usen otras aplicaciones. La empresa valora la eficacia de sus recursos y quiere algo con una
historia convincente de desarrollo de aplicaciones. Docker parece una solución ideal para estos
requisitos. Con Docker, puede compilar e implementar una aplicación rápidamente y ejecutarla
en su entorno a medida, ya sea de forma local o en la nube.

En este módulo, empaquetará una aplicación existente como una imagen de Docker.
Automatizará el proceso de compilación de la imagen mediante la definición de los pasos de
compilación en un Dockerfile. Probará la aplicación de forma local mediante Docker para
Windows. Por último, cargará la imagen en Azure Container Registry y ejecutará la aplicación
en Azure mediante el servicio Instancia de Azure Container.

Al final de este módulo, podrá compilar imágenes de Docker y ejecutarlas desde Azure.

Objetivos de aprendizaje

En este módulo, aprenderá a:

 Crear un Dockerfile para una nueva imagen de contenedor en función de una imagen
de arranque desde Docker Hub.

 Agregar archivos a una imagen mediante comandos de Dockerfile.

 Configurar el comando de inicio de una imagen con comandos de Dockerfile.

 Compilar y ejecutar una aplicación web empaquetada en una imagen de Docker.

 Implementar una imagen de Docker mediante el servicio Instancia de Azure Container.

Requisitos previos

 Una suscripción de Azure activa

 Familiaridad con los conceptos básicos de desarrollo de aplicaciones web

Nota

Los ejercicios de este módulo requieren una instalación local de Docker y Git.

Recuperación e implementación local de una imagen de Docker existente

Completado100 XP

 10 minutos

Docker es una tecnología que permite implementar aplicaciones y servicios de forma rápida y
sencilla. Una aplicación de Docker se ejecuta con una imagen de Docker. Una imagen de Docker
es un entorno previamente empaquetado que contiene el código de la aplicación y el entorno
en el que se ejecuta el código.
En el escenario corporativo que se ha descrito antes, quiere investigar la viabilidad de
empaquetar y ejecutar una aplicación con Docker. Decide compilar e implementar una imagen
de Docker en la que se ejecuta una aplicación web de prueba.

En esta unidad, obtendrá información sobre los conceptos clave y los procesos implicados en la
ejecución de una aplicación en contenedores almacenada en una imagen de Docker.

Información general de Docker

Docker es una herramienta para ejecutar aplicaciones en contenedores. Una aplicación en


contenedores incluye la aplicación y el sistema de archivos que compone el entorno en el que
se ejecuta. Por ejemplo, una aplicación en contenedores podría constar de una base de datos y
de otra información relacionada de software y configuración necesaria para ejecutar la
aplicación.

Normalmente, una aplicación en contenedores tiene una superficie de memoria mucho menor
que una máquina virtual configurada para ejecutar la misma aplicación. Esta superficie de
memoria más reducida se debe a que una máquina virtual tiene que facilitar el sistema
operativo completo y el entorno de respaldo asociado. Un contenedor de Docker no tiene esta
sobrecarga, porque Docker usa el kernel del sistema operativo del equipo host para alimentar
el contenedor. La descarga y el inicio de una imagen de Docker son mucho más rápidos y más
eficaces en lo que al espacio respecta que la descarga y ejecución de una máquina virtual que
proporciona una funcionalidad similar.

Para crear una aplicación en contenedores, se compila una imagen que contiene un conjunto
de archivos y una sección de información de configuración que usa Docker. Para ejecutar la
aplicación, hay que pedir a Docker que inicie un contenedor basado en la imagen. Cuando el
contenedor se inicia, Docker usa la configuración de la imagen para determinar qué aplicación
se va a ejecutar dentro del contenedor. Docker proporciona los recursos del sistema operativo
y la seguridad necesaria. Garantiza que los contenedores se ejecutan simultáneamente y
permanecen relativamente aislados.

Importante

Docker no proporciona el nivel de aislamiento disponible con las máquinas virtuales. Una
máquina virtual implementa el aislamiento en el nivel de hardware. Los contenedores de
Docker comparten bibliotecas y recursos del sistema operativo subyacentes. Sin embargo,
Docker impide que un contenedor acceda a los recursos de otro si esos contenedores no están
configurados para ello.

Puede ejecutar Docker en el equipo de escritorio o portátil si realiza el desarrollo y las pruebas
de forma local. Para los sistemas de producción, Docker está disponible para entornos de
servidor, incluidas muchas variantes de Linux y Microsoft Windows Server 2016. Muchos
proveedores también admiten Docker en la nube. Por ejemplo, puede almacenar imágenes de
Docker en Azure Container Registry y ejecutar contenedores con Azure Container Instances.

En este módulo, usará Docker localmente para compilar y ejecutar una imagen.
Posteriormente, cargará la imagen en Azure Container Registry y la ejecutará en Azure
Container Instances. Esta versión de Docker es adecuada para el desarrollo local y las pruebas
de imágenes de Docker.

Imágenes de Docker de Windows y Linux


Docker se desarrolló en principio para Linux y se ha ampliado después para admitir Windows.
Las imágenes de Docker individuales se basan en Windows o Linux, pero no en ambos al mismo
tiempo. El sistema operativo de la imagen determina qué tipo de entorno del sistema operativo
se usa dentro del contenedor.

Los creadores de imágenes de Docker que quieran ofrecer una funcionalidad similar tanto en
las imágenes basadas en Linux como en Windows pueden crear esas imágenes por separado.
Por ejemplo, Microsoft ofrece imágenes de Docker para Windows y Linux con un entorno de
ASP.NET Core que se puede usar como base para las aplicaciones ASP.NET Core en
contenedores.

En los equipos Linux con Docker instalado solo se pueden ejecutar contenedores de Linux. En
los equipos Windows con Docker instalado se pueden ejecutar los dos tipos de contenedores.
Para ello, Windows usa una máquina virtual para ejecutar un sistema Linux y usa el sistema
virtual de Linux para ejecutar los contenedores de Linux.

En este módulo, compilará y ejecutará una imagen basada en Linux.

Registros de Docker y Docker Hub

Las imágenes de Docker se almacenan y se ofrecen en registros. Un registro es un servicio web


al que Docker se puede conectar para cargar y descargar imágenes de contenedor. El registro
más conocido es Docker Hub, que es un registro público. Muchos usuarios y organizaciones
publican imágenes en Docker Hub, y puede descargarlas y ejecutarlas con Docker si lo ejecuta
en el escritorio, en un servidor o en la nube. Puede crear una cuenta de Docker Hub y cargar
imágenes de forma gratuita.

Un registro se organiza como una serie de repositorios. Cada repositorio contiene varias
imágenes de Docker que comparten un nombre común (y, por lo general, la misma finalidad y
funcionalidad). Estas imágenes suelen tener versiones diferentes que se identifican con una
etiqueta. Este mecanismo permite publicar y mantener varias versiones de imágenes por
motivos de compatibilidad. Cuando descargue y ejecute una imagen, tendrá que especificar el
registro, el repositorio y la etiqueta de versión de la imagen. Las etiquetas son etiquetas de
texto, y puede usar su sistema de numeración (v1.0, v1.1, v1.2, v2.0, etc.).

Imagine que quiere usar la imagen de Docker de ASP.NET Core Runtime. Esta imagen está
disponible en dos versiones:

 mcr.microsoft.com/dotnet/core/aspnet:2.2

 mcr.microsoft.com/dotnet/core/aspnet:2.1

Ahora, imagine que quiere usar las imágenes de Docker de ejemplo de .NET Core. Aquí
tenemos cuatro versiones disponibles entre las que elegir:

 mcr.microsoft.com/dotnet/samples:dotnetapp

 mcr.microsoft.com/dotnet/samples:aspnetapp

Nota

Una sola imagen puede tener varias etiquetas asignadas. Por convención, a la versión más
reciente de una imagen se le asigna la etiqueta latest, además de otra que describe su número
de versión. Cuando publique una nueva versión de una imagen, puede volver a asignar la
etiqueta latest para hacer referencia a la nueva imagen.

Un repositorio también es la unidad de privacidad de una imagen. Si no quiere compartir una


imagen, puede convertir en privado el repositorio. Puede conceder acceso a otros usuarios con
los que quiera compartir la imagen.

Búsquedas en Docker Hub y extracción de una imagen

A menudo encontrará que en Docker Hub hay una imagen que coincide con el tipo de
aplicación que quiere incluir en contenedores. Puede descargar esa imagen y ampliarla con
código de la aplicación.

Docker Hub contiene varios miles de imágenes. Puede buscar y examinar un registro mediante
Docker desde la línea de comandos o desde el sitio web de Docker Hub. El sitio web permite
buscar, filtrar y seleccionar imágenes por tipo y por publicador. En la imagen siguiente se
muestra un ejemplo de la página de búsqueda.

Para recuperar una imagen, se usa el comando docker pull con el nombre de la imagen. Docker
descargará de forma predeterminada la imagen etiquetada con latest desde ese repositorio en
Docker Hub si solo se especifica el nombre del repositorio. Cabe decir que el comando se
puede modificar para obtener diferentes etiquetas y desde distintos repositorios. En este
ejemplo se captura la imagen con la etiqueta aspnetapp del
repositorio mcr.microsoft.com/dotnet/core/samples:aspnetapp. Esta imagen contiene una
aplicación web de ASP.NET Core sencilla.

Nota

Los ejemplos de esta unidad están diseñados para mostrar la sintaxis de los distintos comandos
de Docker. No es necesario que los ejecute mientras lee esta unidad. En los ejercicios que
siguen a esta unidad se le guiará por la forma de trabajar directamente con Docker.

BashCopiar

docker pull mcr.microsoft.com/dotnet/samples:aspnetapp

Al capturar una imagen, Docker la almacena de forma local y la pone a disposición de los
contenedores en ejecución. Puede ver las imágenes en el registro local con el comando docker
image list.

BashCopiar

docker image list

La salida se parece al ejemplo siguiente:

ConsolaCopiar

REPOSITORY TAG IMAGE ID CREATED SIZE

mcr.microsoft.com/dotnet/samples aspnetapp 6e2737d83726 6 days ago


263MB
Puede usar el identificador de nombre de imagen para hacer referencia a la imagen en otros
muchos comandos de Docker.

Ejecución de un contenedor de Docker

Use el comando docker run para iniciar un contenedor. Especifique la imagen que se va a
ejecutar con su nombre o identificador. Si todavía no ha aplicado docker pull a la imagen,
Docker lo hará de forma automática.

BashCopiar

docker run mcr.microsoft.com/dotnet/samples:aspnetapp

En este ejemplo, el comando responde con el mensaje siguiente:

ConsolaCopiar

warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]

No XML encryptor configured. Key {d8e1e1ea-126a-4383-add9-d9ab0b56520d} may be


persisted to storage in unencrypted form.

Hosting environment: Production

Content root path: /app

Now listening on: http://[::]:80

Application started. Press Ctrl+C to shut down.

Esta imagen contiene una aplicación web, por lo que ahora escucha las solicitudes que llegan
en el puerto HTTP 80. Pero si abre un explorador web y va a http://localhost:80, no verá la
aplicación.

Docker no permite de forma predeterminada que las solicitudes de red entrantes lleguen al
contenedor. Hay que indicar a Docker que asigne un número de puerto específico del equipo a
un número de puerto específico del contenedor, agregando para ello la opción -p a docker run.
Esta instrucción permite las solicitudes de red al contenedor en el puerto especificado.

Además, la aplicación web de esta imagen no está pensada para usarse de forma interactiva
desde la línea de comandos. Cuando se inicia, la intención es que Docker la inicie en segundo
plano y simplemente permita que se ejecute. Use la marca -d para indicar a Docker que inicie la
aplicación web en segundo plano.

Presione Ctrl+C para detener la imagen y, después, reiniciarla como se muestra en el siguiente
ejemplo:

BashCopiar

docker run -p 8080:80 -d mcr.microsoft.com/dotnet/samples:aspnetapp

El comando asigna el puerto 80 del contenedor al puerto 8080 del equipo. Si visita la
página http://localhost:8080 en un explorador, verá la aplicación web de ejemplo.

Contenedores y archivos
Si un contenedor en ejecución realiza cambios en los archivos de su imagen, esos cambios solo
existen en el contenedor donde se hayan realizado. A menos que realice pasos específicos para
conservar el estado de un contenedor, estos cambios se pierden cuando se quite el contenedor.
De forma similar, varios contenedores basados en la misma imagen que se ejecutan de forma
simultánea no comparten los archivos de la imagen. Cada contenedor tiene su propia copia
independiente. Los datos escritos por un contenedor en su sistema de archivos no son visibles
para el otro.

Es posible agregar volúmenes grabables a un contenedor. Un volumen representa un sistema


de archivos que puede montar el contenedor y está disponible para la aplicación que se ejecuta
en el contenedor. Los datos de un volumen se conservan cuando se detiene el contenedor, y
varios contenedores pueden compartir el mismo volumen. Los detalles para crear y usar
volúmenes están fuera del ámbito de este módulo.

Se recomienda soslayar la necesidad de realizar cambios en el sistema de archivos de imagen


de las aplicaciones implementadas con Docker. Úselo solo con archivos temporales que pueda
permitirse perder.

Administración de contenedores de Docker

Puede ver los contenedores activos con el comando docker ps.

BashCopiar

docker ps

La salida incluye el estado del contenedor (Up si se está ejecutando, Exited si ha finalizado)
entre otros valores, como las marcas de línea de comandos especificadas al iniciar la imagen y
otra información. Docker permite ejecutar varios contenedores de forma simultánea a partir la
misma imagen, por lo que a cada contenedor se le asigna un identificador único y un nombre
legible único. La mayoría de los comandos de Docker que se usan para administrar
contenedores individuales pueden utilizar el identificador o el nombre para hacer referencia a
un contenedor específico.

En la siguiente salida, puede ver dos contenedores. El campo PORTS muestra que el
contenedor con el identificador elegant_ramanujan es la imagen que se ejecuta con el puerto
80 en el host de Docker asignado al puerto 8080 del equipo. La instancia
de youthful_heisenberg es el contenedor de la ejecución anterior de la imagen. El
campo COMMAND muestra el comando que el contenedor ha ejecutado para iniciar la
aplicación en la imagen. En este caso, es dotnet aspnetapp.dll en ambos contenedores. El
identificador de imagen para los contenedores también es el mismo, ya que los contenedores
ejecutan la misma imagen.

ConsolaCopiar

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

57b9587583e3 mcr.microsoft.com/dotnet/core/samples:aspnetapp "dotnet


aspnetapp.dll" 42 seconds ago Up 41 seconds 0.0.0.0:8080->80/tcp
elegant_ramanujan

d27071f3ca27 mcr.microsoft.com/dotnet/core/samples:aspnetapp "dotnet aspnetapp.dll"


5 minutes ago Up 5 minutes 0.0.0.0:8081->80/tcp youthful_heisenberg
Nota

docker ps es un acceso directo para docker container ls. Los nombres de estos comandos se
basan en las utilidades de Linux ps y ls, que enumeran los procesos en ejecución y los archivos,
respectivamente.

Puede detener un contenedor activo con el comando docker stop y especificar el identificador
del contenedor.

BashCopiar

docker stop elegant_ramanujan

Si ejecuta docker ps de nuevo, verá que el contenedor elegant_ramanujan ya no aparece en la


salida. El contenedor todavía existe, pero ya no hospeda un proceso en ejecución. Puede incluir
los contenedores detenidos en la salida de docker ps si incluye la marca -a:

ConsolaCopiar

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

57b9587583e3 mcr.microsoft.com/dotnet/core/samples:aspnetapp "dotnet


aspnetapp.dll" 2 minutes ago Exited (0) 21 seconds ago elegant_ramanujan

d27071f3ca27 mcr.microsoft.com/dotnet/core/samples:aspnetapp "dotnet aspnetapp.dll"


7 minutes ago Up 7 minutes 0.0.0.0:8081->80/tcp youthful_heisenberg

Puede reiniciar un contenedor detenido con el comando docker start. El proceso principal del
contenedor se inicia de nuevo.

BashCopiar

docker start elegant_ramanujan

Normalmente, cuando se detiene un contenedor, también se debe quitar. Al quitar un


contenedor se limpian los recursos que deja. Una vez que quite un contenedor, los cambios
realizados dentro del sistema de archivos de su imagen se perderán definitivamente.

BashCopiar

docker rm elegant_ramanujan

No se puede quitar un contenedor en ejecución, pero se puede forzar la detención y


eliminación de un contenedor con la marca -f en el comando docker rm. Es una forma rápida
de detener y quitar un contenedor, pero solo se debe usar si la aplicación incluida en el
contenedor no tiene que realizar un cierre estable.

BashCopiar

docker container rm -f elegant_ramanujan

Eliminación de imágenes de Docker

Puede eliminar una imagen del equipo local con el comando docker image rm. Especifique el
identificador de imagen de la imagen que se va a eliminar. En el ejemplo siguiente se quita la
imagen de la aplicación web de ejemplo.
BashCopiar

docker image rm mcr.microsoft.com/dotnet/core/samples:aspnetapp

Los contenedores que ejecuten la imagen tendrán que terminarse antes de que se pueda
quitar la imagen. Si el contenedor sigue usando la imagen, obtendrá un mensaje de error como
el que se muestra a continuación. En este ejemplo, el error se produce porque el
contenedor youthful_heisenberg sigue usando la imagen.

ConsolaCopiar

Error response from daemon: conflict: unable to delete 575d85b4a69b (cannot be forced) -
image is being used by running container c13165988cfe

Ejercicio: Recuperación e implementación local de una imagen de Docker existente

Completado100 XP

 6 minutos

Un buen punto de partida para compilar y ejecutar imágenes de Docker propias consiste en
tomar una imagen existente de Docker Hub y ejecutarla de forma local en el equipo.

Como una prueba de concepto para las aplicaciones de la empresa, decide intentar ejecutar
una imagen de ejemplo desde Docker Hub. La imagen que ha seleccionado implementa una
aplicación web ASP.NET básica de .NET Core. Una vez que haya establecido un proceso para
implementar una imagen de Docker, podrá ejecutar una de las aplicaciones web de la empresa
mediante Docker.

En este ejercicio, extraerá una imagen de Docker Hub y la ejecutará. Examinará el estado local
de Docker para comprender los elementos que se implementan. Por último, quitará el
contenedor y la imagen del equipo.

Importante

Este ejercicio se realiza en el equipo, no en Azure. Necesita una instalación local de Docker para
continuar con el ejercicio. Descargue: https://hub.docker.com/editions/community/docker-
ce-desktop-windows/

Extracción y ejecución de una aplicación de ejemplo de Docker Hub

1. Inicie Docker en el equipo.

2. Abra una ventana del símbolo del sistema en el equipo local.

3. Escriba el código siguiente para extraer la imagen de aplicación ASP.NET Sample del
Registro de Docker Hub. Esta imagen contiene una aplicación web de ejemplo
desarrollada por Microsoft y se basa en la plantilla de ASP.NET predeterminada
disponible en Visual Studio.

BashCopiar

docker pull mcr.microsoft.com/dotnet/samples:aspnetapp


4. Escriba el código siguiente para comprobar que la imagen se ha almacenado
localmente.

BashCopiar

docker image ls

Debería ver un repositorio denominado mcr.microsoft.com/dotnet/samples con la


etiqueta aspnetapp.

5. Escriba el código siguiente para iniciar la aplicación de ejemplo. La marca -d sirve para
ejecutarla como una aplicación no interactiva en segundo plano. La marca -p es para
asignar el puerto 80 en el contenedor que se crea al puerto 8080 localmente. Esta
configuración está pensada para evitar conflictos con las aplicaciones web que ya se
ejecutan en el equipo. El comando responderá con un identificador hexadecimal largo
para la instancia.

BashCopiar

docker run -d -p 8080:80 mcr.microsoft.com/dotnet/samples:aspnetapp

6. Abra un explorador web y escriba la dirección URL de la aplicación web de


ejemplo: http://localhost:8080. Debe ver una página con un aspecto como la captura
de pantalla siguiente:

Examen del contenedor en el registro de Docker local

1. En el símbolo del sistema, ejecute el siguiente comando para ver los contenedores en
ejecución en el Registro local.

BashCopiar

docker ps

La salida debe tener una apariencia similar a la siguiente:

ConsolaCopiar

CONTAINER ID IMAGE COMMAND CREATED STATUS


PORTS NAMES

96c851831ade mcr.microsoft.com/dotnet/samples:aspnetapp "dotnet aspnetapp.dll" 22


minutes ago Up 22 minutes 0.0.0.0:8080->80/tcp eager_montalcini

En el campo COMMAND se muestra el contenedor iniciado al ejecutar el comando dotnet


aspnetapp.dll. Este comando invoca el runtime de .NET Core para iniciar el código del archivo
aspnetapp.dll (el código de la aplicación web de ejemplo). El campo PORTS indica que el
puerto 80 de la imagen se ha asignado al puerto 8080 del equipo. En el campo STATUS se
muestra que la aplicación se sigue ejecutando. Anote el valor NAME del contenedor.

2. Ejecute el comando siguiente para detener el contenedor de Docker y reemplace el


marcador de posición <NAME> por el nombre de salida del comando anterior.

BashCopiar
docker container stop <NAME>

3. Ejecute el comando siguiente para comprobar que el contenedor ya no se está


ejecutando. La marca -a indica que el comando muestra el estado de todos los
contenedores, no solo los que están en ejecución. La salida debe mostrar el estado del
contenedor como Cerrado.

BashCopiar

docker ps -a

4. En el explorador web, actualice la página de la aplicación web de ejemplo


(http://localhost:8080/).. Se debería producir un error de Conexión rechazada.

Eliminación de la imagen y el contenedor del registro local

1. Aunque se haya detenido el contenedor, sigue cargado y se puede reiniciar. Ejecute el


comando siguiente en la ventana del símbolo del sistema para quitarlo, reemplazando
el marcador de posición <NAME> por el nombre del contenedor.

BashCopiar

docker container rm <NAME>

2. Compruebe que se ha quitado el contenedor ejecutando el siguiente comando. El


comando ya no debería mostrar el contenedor.

BashCopiar

docker ps -a

3. Enumere las imágenes disponibles actualmente en el equipo. La salida debe mostrar el


repositorio de ejemplos.

BashCopiar

docker image ls

4. Quite la imagen del registro.

BashCopiar

docker image rm mcr.microsoft.com/dotnet/samples:aspnetapp

5. La salida debería mostrar que numerosos elementos que se han eliminado y están sin
etiquetar. Ejecute el comando siguiente para volver a mostrar las imágenes y
comprobar que la imagen para la aplicación web microsoft/dotnet-samples ha
desaparecido.

BashCopiar

docker image ls

Personalización de una imagen de Docker para ejecutar una aplicación web propia
Completado100 XP

 5 minutos

Docker Hub es una fuente excelente de imágenes que le permite comenzar a compilar
aplicaciones en contenedores propias. Puede descargar una imagen que proporcione la
funcionalidad básica que necesita y, luego, colocar la aplicación propia sobre ella para crear
una imagen personalizada. Puede automatizar los pasos para realizar este proceso mediante la
escritura de un Dockerfile.

En el escenario de la tienda de ropa en línea, la empresa ha decidido que Docker es una buena
idea. El siguiente paso consiste en determinar la forma óptima de incluir las aplicaciones web
en contenedores. La compañía pretende construir muchas de las aplicaciones mediante
ASP.NET Core. Ha observado que Docker Hub contiene una imagen base que incluye este
marco. Como una prueba de concepto, quiere comenzar con esta imagen base y agregar el
código de una de las aplicaciones web para crear una imagen personalizada. También quiere
que este proceso se pueda repetir con facilidad, para automatizarlo cada vez que se publique
una versión nueva de la aplicación web.

En esta unidad, obtendrá información sobre cómo crear una imagen de Docker personalizada y
cómo puede automatizar el proceso mediante la escritura de un Dockerfile.

Creación de una imagen personalizada con un Dockerfile

Para crear una imagen de Docker que contenga la aplicación, normalmente empezará
identificando una imagen base a la que agregar archivos e información de configuración. El
proceso de identificación de una imagen base adecuada normalmente comienza con una
búsqueda de imágenes en Docker Hub. Desea una imagen que ya contenga un marco de
aplicación y todas las utilidades y herramientas de una distribución de Linux, como Ubuntu o
Alpine. Por ejemplo, si tiene una aplicación ASP.NET Core que quiere empaquetar en un
contenedor, Microsoft publica una imagen llamada mcr.microsoft.com/dotnet/core/aspnet que
ya contiene el runtime de ASP.NET Core.

Puede personalizar una imagen si inicia un contenedor con la imagen base y lo modifica. En
general, los cambios implican actividades como la copia de archivos del sistema de archivos
local en el contenedor y la ejecución de varias herramientas y utilidades para compilar código.
Cuando haya terminado, use el comando docker commit para guardar los cambios en una
imagen nueva.

Completar el proceso anterior de forma manual es una operación lenta y propensa a errores.
Se podría incluir en script con un lenguaje de script como Bash, pero Docker ofrece una forma
más eficaz de automatizar la creación de imágenes a través de un Dockerfile.

Un Dockerfile es un archivo de texto sin formato que contiene todos los comandos necesarios
para compilar una imagen. Los Dockerfile se escriben en un lenguaje de scripting mínimo
diseñado para compilar y configurar imágenes. Documentan las operaciones necesarias para
crear una imagen a partir de una imagen base.

En el ejemplo siguiente se muestra un Dockerfile que crea una aplicación .NET Core 2.2 y la
empaqueta en una imagen nueva.

DockerfileCopiar
FROM mcr.microsoft.com/dotnet/core/sdk:2.2

WORKDIR /app

COPY myapp_code .

RUN dotnet build -c Release -o /rel

EXPOSE 80

WORKDIR /rel

ENTRYPOINT ["dotnet", "myapp.dll"]

En este archivo se llevan a cabo las siguientes operaciones:

Get-Help Acción

FROM Descarga la imagen especificada y crea un contenedor en función de esta imagen.

WORKDIR Establece el directorio de trabajo actual en el contenedor, que usan los comandos posteriores.

COPY Copia los archivos del equipo host al contenedor. El primer argumento (myapp_code) es un archivo o
segundo argumento (.) especifica el nombre del archivo o carpeta que va actuar como destino en el co
destino es el directorio de trabajo actual (/app).

EJECUTAR Ejecuta un comando en el contenedor. Los argumentos del comando RUN son argumentos de línea de

EXPOSE Crea la configuración de la nueva imagen que especifica qué puertos se van a abrir cuando se ejecute
contenedor ejecuta una aplicación web, es habitual exponer el puerto 80.

ENTRYPOINT Especifica la operación que debe ejecutar el contenedor cuando se inicie. En este ejemplo, ejecuta la a
Especifique el comando que desea ejecutar y cada uno de sus argumentos como una matriz de caden

Por convención, las aplicaciones diseñadas para empaquetarse como imágenes de Docker
normalmente tienen un Dockerfile ubicado en la raíz de su código fuente, y casi siempre se
denomina Dockerfile.

El comando docker build crea una imagen mediante la ejecución de un Dockerfile. La sintaxis
de este comando tiene varios parámetros:

 La marca -f indica el nombre del Dockerfile que se va a usar.

 La marca -t especifica el nombre de la imagen que se va a crear, myapp:v1 en este


ejemplo.

 El último parámetro, ., proporciona el contexto de compilación para los archivos de


origen para el comando COPY: es el conjunto de archivos del equipo host necesarios
durante el proceso de compilación.

BashCopiar

docker build -t myapp:v1 .

En segundo plano, el comando docker build crea un contenedor, ejecuta comandos en él y,


después, confirma los cambios en una imagen nueva.
Ejercicio: Personalización de una imagen de Docker para ejecutar una aplicación web propia

Completado100 XP

 12 minutos

Un Dockerfile contiene los pasos para compilar una imagen de Docker personalizada.

Decide implementar una de las aplicaciones web de su organización con Docker. Selecciona una
aplicación web sencilla que implementa una API web para un sitio web de reservas de hotel. La
API web expone operaciones POST y GET de HTTP para crear y recuperar las reservas del
cliente.

Nota

En esta versión de la aplicación web, las reservas no se conservan realmente y las consultas
devuelven datos ficticios.

En este ejercicio, creará un Dockerfile para una aplicación que no tiene uno. Después,
compilará la imagen y la ejecutará de forma local.

Creación de un Dockerfile para la aplicación web

1. Si aún no se está ejecutando, inicie Docker en el equipo.

2. En una ventana del símbolo del sistema en el equipo local, ejecute el comando
siguiente para descargar el código fuente de la aplicación web.

BashCopiar

git clone https://github.com/MicrosoftDocs/mslearn-hotel-reservation-system.git

3. Escriba el siguiente comando para abrir el directorio src.

BashCopiar

cd mslearn-hotel-reservation-system/src

4. En el directorio src, escriba los siguientes comandos para crear un archivo


denominado Dockerfile y abrirlo en el Bloc de notas:

BashCopiar

copy NUL Dockerfile

notepad Dockerfile

Nota

De forma predeterminada, el comando notepad abre un archivo de texto. Asegúrese de


guardarlo como tipo de archivo Todos los archivos sin extensión de archivo. Para comprobarlo,
abra la carpeta src en el Explorador de archivos y seleccione Ver > Mostrar> Extensiones de
nombre de archivo. Si es necesario, cambie el nombre del archivo y quite .txt del nombre.
5. Agregue el código siguiente al Dockerfile:

DockerfileCopiar

FROM mcr.microsoft.com/dotnet/core/sdk:2.2

WORKDIR /src

COPY ["/HotelReservationSystem/HotelReservationSystem.csproj", "HotelReservationSystem/"]

COPY ["/HotelReservationSystemTypes/HotelReservationSystemTypes.csproj",
"HotelReservationSystemTypes/"]

RUN dotnet restore "HotelReservationSystem/HotelReservationSystem.csproj"

Este código incluye comandos para capturar una imagen que contiene el SDK de .NET Core
Framework. Los archivo de proyecto para la aplicación web (HotelReservationSystem.csproj) y
el proyecto de biblioteca (HotelReservationSystemTypes.csproj) se copian en la carpeta /src del
contenedor. El comando dotnet restore descarga de NuGet las dependencias que requieren
estos proyectos.

6. Anexe el código siguiente al final del Dockerfile:

DockerfileCopiar

COPY . .

WORKDIR "/src/HotelReservationSystem"

RUN dotnet build "HotelReservationSystem.csproj" -c Release -o /app

Estos comandos copian el código fuente de la aplicación web en el contenedor y, después,


ejecutan el comando dotnet build para compilar la aplicación. Los archivos DLL resultantes se
escriben en la carpeta /app del contenedor.

7. Anexe el comando siguiente al final del Dockerfile.

DockerfileCopiar

RUN dotnet publish "HotelReservationSystem.csproj" -c Release -o /app

El comando dotnet publish copia los archivos ejecutables para el sitio web en una carpeta
nueva y quita todos los archivos intermedios. Después, los archivos de esta carpeta se pueden
implementar en un sitio web.

8. Anexe los comandos siguientes al final del Dockerfile.

DockerfileCopiar

EXPOSE 80

WORKDIR /app

ENTRYPOINT ["dotnet", "HotelReservationSystem.dll"]

El primer comando abre el puerto 80 del contenedor. El segundo comando se mueve a la


carpeta /app que contiene la versión publicada de la aplicación web. El último comando
especifica que cuando se ejecute el contenedor debe ejecutar el comando dotnet
HotelReservationSystem.dll. Esta biblioteca contiene el código compilado de la aplicación web.

9. Guarde el archivo y cierre el editor de texto. Asegúrese de guardarlo como tipo de


archivo Todos los archivos sin extensión de archivo.

Compilación e implementación de la imagen con el Dockerfile

1. En el símbolo del sistema, ejecute el comando siguiente para compilar la imagen para
la aplicación de ejemplo mediante el Dockerfile. No olvide . al final del comando. Este
comando compila la imagen y la almacena de forma local. A la imagen se le asigna el
nombre reservationsystem. Compruebe que la imagen se compila correctamente.
Cuando finalice el proceso, se mostrará una advertencia sobre los permisos de archivos
y directorios. Puede ignorar estas advertencias para los fines de este ejercicio. La
imagen puede tardar un momento en compilarse.

BashCopiar

docker build -t reservationsystem .

2. Ejecute el comando siguiente para comprobar que la imagen se ha creado y


almacenado en el Registro local:

BashCopiar

docker image list

La imagen tendrá el nombre reservationsystem. También tendrá una imagen


denominada microsoft/dotnet:

ConsolaCopiar

REPOSITORY TAG IMAGE ID CREATED SIZE

reservationsystem latest d2501f0f2ced About a minute ago 1.76GB

Prueba de la aplicación web

1. Escriba el código siguiente para ejecutar un contenedor en el que se use la


imagen reservationsystem. Docker devolverá una cadena larga de dígitos
hexadecimales. El contenedor se ejecuta en segundo plano sin ninguna interfaz de
usuario. El puerto 80 del contenedor se asigna al puerto 8080 del equipo host. El
nombre del contenedor es reservations.

BashCopiar

docker run -p 8080:80 -d --name reservations reservationsystem

2. Abra un explorador web y vaya a http://localhost:8080/api/reservations/1. Debería ver


un objeto JSON que contiene los datos de la reserva número 1 similar al siguiente
resultado:

Reemplace el "1" al final de la dirección URL de localhost por un número de reserva diferente
(como 2 o 20) para ver los detalles de la reserva correspondiente.
3. Ejecute el siguiente comando para ver el estado del contenedor:

BashCopiar

docker ps -a

La salida muestra lo siguiente para todos los contenedores disponibles:

 ID. DE CONTENEDOR

 IMAGEN

 COMANDO

 HORA DE CREACIÓN

 STATUS

 PUERTOS

 NAMES

Compruebe que el valor de STATUS del contenedor es Up.

ConsolaCopiar

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS


NAMES

07b0d1de4db7 reservationsystem "dotnet HotelReserva…" 5 minutes ago Up 5


minutes 0.0.0.0:8080->80/tcp reservations

4. Escriba el comando siguiente para detener el contenedor reservations:

BashCopiar

docker container stop reservations

5. Elimine el contenedor reservations del registro local.

BashCopiar

docker rm reservations

6. Mantenga reservationsystem en el registro local. Usará esta imagen en el siguiente


ejercicio.

¡Enhorabuena! Ha creado una imagen para la aplicación web y la ha ejecutado mediante un


contenedor de Docker.

Implementación de una imagen de Docker en una instancia de Azure Container

Completado100 XP

 5 minutos
Azure Container Instances es un servicio que carga y ejecuta imágenes de Docker a petición. El
servicio Azure Container Instances puede recuperar una imagen de un Registro, como Docker
Hub o Azure Container Registry.

Su organización quiere usar Azure para ejecutar sus aplicaciones web. Por este motivo, tiene
sentido almacenar las imágenes en Azure Container Registry y ejecutarlas mediante el servicio
Instancia de Azure Container.

En esta unidad, obtendrá información sobre cómo insertar una imagen de Docker en Azure
Container Registry. Posteriormente, ejecutará la imagen mediante el servicio Azure Container
Instances.

Uso de Azure Container Registry para almacenar un contenedor

Azure Container Registry es un servicio de hospedaje de registro proporcionado por Azure.


Cada recurso de Azure Container Registry que se crea es un registro independiente con una
dirección URL única. Estos Registros son privados, es decir, requieren autenticación para la
inserción o la extracción de las imágenes. Azure Container Registry se ejecuta en la nube y
proporciona niveles de escalabilidad y disponibilidad similares a los de otros servicios de Azure.

Puede crear un registro mediante Azure Portal o mediante la interfaz de la línea de comandos
(CLI) de Azure. Puede usar Azure Cloud Shell en Azure Portal o una instalación local de la CLI de
Azure. Tenga en cuenta que tendrá que crear un grupo de recursos antes de crear el Registro.
Al crear un grupo de recursos, se recomienda elegir la región más cercana. En este ejemplo, el
nombre del grupo de recursos es mygroup y la ubicación es Oeste de EE. UU.

No es necesario ejecutar ninguno de los siguientes comandos. Lo hará en el ejercicio siguiente.

Nota

Necesita un nombre único para el contenedor. Puede comprobar si un nombre ya está en


uso aquí.

Azure CLICopiar

az group create --name mygroup --location westus

Azure CLICopiar

az acr create --name <unique name> --resource-group mygroup --sku standard --admin-
enabled true

Cada SKU proporciona diversos niveles de escalabilidad y almacenamiento.

Los repositorios de Azure Container Registry son privados, es decir, no admiten el acceso no
autenticado. Para extraer imágenes de un repositorio de Azure Container Registry, use el
comando docker login y especifique la dirección URL del servidor de inicio de sesión para el
registro. La dirección URL del servidor de inicio de sesión para un registro de Azure Container
Registry tiene el formato <nombre_del_registro>.azurecr.io.

BashCopiar

docker login myregistry.azurecr.io


El inicio de sesión de Docker le pedirá un nombre de usuario y una contraseña. Para encontrar
esta información, vaya a Azure Portal y busque las claves de acceso para el registro o ejecute el
comando siguiente.

Azure CLICopiar

az acr credential show --name myregistry --resource-group mygroup

Para insertar una imagen desde el equipo local a un Registro de Docker, se usa el
comando docker push. Pero antes de insertar una imagen, debe crear un alias para la imagen
en el que se especifique el repositorio y la etiqueta que crea el Registro de Docker. El nombre
del repositorio debe tener el formato
*<servidor_de_inicio_de_sesión>/<nombre_de_la_imagen>:<etiqueta/>. Use el
comando docker tag para realizar esta operación. En el ejemplo siguiente se crea un alias para
la imagen reservationsystem.

BashCopiar

docker tag reservationsystem myregistry.azurecr.io/reservationsystem:v2

Si ejecuta docker image ls, verá dos entradas para la imagen: una con el nombre original y la
segunda con el nuevo alias.

Después de ejecutar el comando tag, puede cargar la imagen en el Registro en Azure Container
Registry mediante el comando siguiente.

BashCopiar

docker push myregistry.azurecr.io/reservationsystem:v2

Para comprobar que la imagen se ha cargado correctamente, enumere los repositorios del
Registro con el comando siguiente.

Azure CLICopiar

az acr repository list --name myregistry --resource-group mygroup

También puede enumerar las imágenes del Registro con el comando acr repository show.

Azure CLICopiar

az acr repository show --repository reservationsystem --name myregistry --resource-group


mygroup

Nota

Verá al menos dos etiquetas para cada imagen de un repositorio. Una etiqueta será el valor que
ha especificado en el comando acr build (v1 en el ejemplo anterior). La otra será latest. Cada
vez que recompile una imagen, Azure Container Registry crea automáticamente la
etiqueta latest como un alias para la versión más reciente de la imagen.

Uso de Instancia de Azure Container para ejecutar una imagen

El servicio Instancia de Azure Container puede cargar una imagen desde Azure Container
Registry y ejecutarla en Azure.
Puede crear una instancia de contenedor e iniciar la ejecución de la imagen con el comando az
container create. Proporcione el nombre de usuario y la contraseña para el registro en los
parámetros registry-username y registry-password. Se asignará una dirección IP a la instancia.
Con esta dirección IP se accede a la instancia. Opcionalmente, puede especificar un nombre
DNS si prefiere hacer referencia a la instancia a través de una etiqueta más fácil de usar. Tenga
en cuenta que la imagen se especifica como una dirección URL que hace referencia el registro
(myregistry) en el servicio Azure Container Registry (azurecr.io). Si usa Docker Hub o algún otro
registro, reemplace esta dirección URL por la URL de la imagen en ese registro.

Azure CLICopiar

az container create --resource-group mygroup --name myinstance --image


myregistry.azurecr.io/myapp:latest --dns-name-label mydnsname --registry-username
<username> --registry-password <password>

Azure hospeda la instancia con un nombre de dominio basado en la etiqueta DNS especificada.
Para buscar el nombre de dominio completo de la instancia, consulte la dirección IP de la
instancia.

Azure CLICopiar

az container show --resource-group mygroup --name myinstance --query ipAddress.fqdn

Puede acceder a la aplicación mediante un explorador web. Puede navegar a la dirección URL
devuelta por este comando; en la unidad siguiente se verá cómo.

Ejercicio: Implementación de una imagen de Docker en una instancia de Azure Container

Completado100 XP

 14 minutos

Instancia de Azure Container permite ejecutar una imagen de Docker en Azure.

En el ejercicio anterior, empaquetó y probó la aplicación web como una imagen de Docker
local. Ahora, quiere usar la salida de ese ejercicio y hacer que la aplicación web esté disponible
globalmente. Para ello, ejecute la imagen como una instancia de Azure Container Instances.

En este ejercicio, aprenderá a recompilar la imagen para la aplicación web y a cargarla en Azure
Container Registry. Usará el servicio Instancia de Azure Container para ejecutar la imagen.

Importante

Para realizar este ejercicio, se necesita una suscripción de Azure propia y puede que se
apliquen cargos. Si aún no tiene una suscripción de Azure, cree una cuenta gratuita antes de
comenzar.

Creación de un registro de contenedor

1. Inicie sesión en Azure Portal con la suscripción de Azure.


2. En el menú de recursos, o en la página Inicio, seleccione Crear un recurso. Aparecerá
el panel Crear un recurso.

3. En el menú, seleccione Contenedores y, luego, Registro de contenedor.

Aparece el panel Crear Registro de contenedor.

4. En la pestaña Aspectos básicos, escriba los valores siguientes para cada opción.

Configuración Value

Detalles del
proyecto

Suscripción Seleccione la suscripción de Azure en la que pueda crear y administrar recursos.

Resource group Seleccione Crear un grupo de recursos con el nombre learn-deploy-container-aci-r


seleccione, ya que lo usará en el resto de los ejercicios de este módulo. Además, re
termine el módulo.

Detalles de
instancia

Nombre de Seleccione el nombre que haya elegido. El nombre del registro debe ser único dent
registro caracteres alfanuméricos.

Ubicación Seleccione una ubicación cercana a la suya.

SKU Estándar

5. Seleccione Revisar + crear. Cuando aparezca la notificación Validación superada,


seleccione Crear. Antes de continuar, espere hasta que se haya implementado el
registro de contenedor.

6. Haga clic en Go to resource (Ir al recurso). El panel Registro de contenedor muestra


información esencial sobre el Registro de contenedor.

7. En el menú de recursos, en Configuración, seleccione Claves de acceso. Aparece el


panel Claves de acceso del Registro de contenedor.

8. Si la opción Usuario administrador está deshabilitada, seleccione el control deslizante


para habilitar la clave de acceso de Usuario administrador. Aparecen el nombre de
usuario y las contraseñas del Registro de contenedor.

9. Anote los valores de Nombre del Registro, Servidor de inicio de sesión, Nombre de
usuario y Contraseñas para el Registro de contenedor.

Nota

En este ejercicio, habilitaremos el acceso a la cuenta de administrador para poder cargar


imágenes y probar el Registro. En un entorno de producción, es importante deshabilitar el
acceso a la cuenta de Usuario administrador y usar Microsoft Entra ID Protection cuando se
tenga la certeza de que el Registro funciona según lo previsto.
Carga de la imagen para la aplicación del sistema de reservas de hotel en Azure Container
Registry

1. En el símbolo del sistema local, ejecute el comando siguiente, reemplazando <registry-


name> por el nombre de su Registro de contenedor para etiquetar la
imagen reservationsystem actual con el nombre de su Registro:

BashCopiar

docker tag reservationsystem:latest <registry-name>.azurecr.io/reservationsystem:latest

2. Ejecute el comando docker image ls para comprobar que la imagen se ha etiquetado


correctamente:

BashCopiar

docker image ls

Debería ver algo parecido a los siguiente:

ConsolaCopiar

REPOSITORY TAG IMAGE ID CREATED SIZE

reservationsystem latest a56281e7038f 4 minutes ago 1.76GB

<registry-name>.azurecr.io/reservationsystem latest a56281e7038f 4 minutes ago


1.76GB

3. En el símbolo del sistema, inicie sesión en su instancia de Azure Container Registry. Use
el comando docker login y especifique el servidor de inicio de sesión para el registro
que ha anotado antes. Escriba el nombre de usuario y la contraseña de sus claves de
acceso cuando se le solicite.

BashCopiar

docker login <login-server>

Nota

Podría recibir una respuesta de error de un demonio en la que se le indique que la aplicación
no está registrada con Microsoft Entra ID. Como se indicó anteriormente en este ejercicio, ha
habilitado la clave de acceso del Usuario administrador para probar la implementación.

4. Escriba el comando siguiente, reemplazando <registry-name> por el nombre de su


Registro para cargar la imagen en su Registro en Azure Container Registry:

BashCopiar

docker push <registry-name>.azurecr.io/reservationsystem:latest

Espere hasta que se complete la carga. Este proceso tardará unos minutos en insertar todos los
objetos de la imagen en el repositorio. Puede observar el progreso a medida que cada objeto
avanza del estado Esperando a Preparando, Insertando y, finalmente, Insertado.
Comprobación del contenido del registro

En el resto del ejercicio, volverá a Azure Portal.

1. En Azure Portal, vuelva al registro de contenedor.

2. En el menú de recursos, en Servicios, seleccione Repositorios. Aparece el


panel Repositorios del registro de contenedor.

3. Compruebe que aparece el repositorio reservationsystem. Seleccione el


repositorio reservationsystem y compruebe que contiene una imagen con la
etiqueta latest.

Carga y ejecución de una imagen mediante Instancia de Azure Container

1. En Azure Portal, haga clic en Crear un recurso. Aparecerá el panel Crear un recurso.

2. En el menú de recursos, seleccione Contenedores y, luego, Instancias de contenedor.

Aparecerá el panel Crear instancia de contenedor.

Hay varios pasos para configurar una instancia de contenedor. Empiece estableciendo la
información del grupo de recursos y los detalles del contenedor. Luego, configurare las
opciones de red del contenedor y reinicie la directiva.

3. En la pestaña Aspectos básicos, escriba los valores siguientes para cada opción.

Configuración Value

Detalles del proyecto

Suscripción Seleccione la suscripción de Azure predeterminada e


recursos

Resource group Reutilice el grupo de recursos existente learn-deplo

Detalles del contenedor

Nombre del contenedor hotelsysteminstance

Región Use la ubicación predeterminada.

Origen de la imagen Docker Hub u otro registro

Tipo de imagen Privada

Imagen <registry-name>.azurecr.io/reservationsystem:latest

Servidor de inicio de sesión del registro de Escriba el nombre del servidor de inicio de sesión pa
imágenes

Nombre de usuario del registro de imágenes Escriba el nombre de usuario para el registro
Configuración Value

Contraseña del registro de imágenes Escriba la contraseña del registro.

Tipo de SO Linux

Tamaño Deje la opción Tamaño predeterminada establecida


0 GPU

4. Seleccione Siguiente: Redes.

5. En la pestaña Redes, escriba los valores siguientes para cada opción.

Configuración Valor

Tipo de red Público

Etiqueta de nombre DNS Elija un nombre único, que se usará como parte de la dirección URL d

Puertos

Puertos 80

Protocolo de puertos TCP

6. Seleccione Siguiente: Opciones avanzadas.

7. En la pestaña Opciones avanzadas, escriba los valores siguientes para cada opción.

Configuración Valor

Directiva de reinicio Siempre

Variables de entorno deje todos los valores en blanco

Invalidación de comando déjelo en blanco

8. Seleccione Revisar + crear. Espere a que se complete la validación y corrija los errores,
si es necesario.

9. Seleccione Crear.

10. Cuando se haya creado la instancia de contenedor, seleccione Ir al recurso. Aparecerá


el panel de la instancia de contenedor.

11. En el panel Información general, busque el nombre de dominio completo (FQDN) de la


instancia de contenedor.

12. Mediante un explorador web, vaya a la URL http://FQDN/api/reservations/1,


reemplazando FQDN por el nombre de dominio completo de su instancia de
contenedor. Por ejemplo, si usa el FQDN visible de la captura de pantalla anterior,
tendría el aspecto siguiente:
ResultadosCopiar

http://hotel.southcentralus.azurecontainer.io/api/reservations/1

La aplicación web debería responder con un objeto JSON que contiene los detalles de la
reserva 1.

¡Enhorabuena! Ha cargado la imagen de Docker en Azure Container Registry y la ha ejecutado


mediante el servicio Azure Container Instances.

Resumen

Completado100 XP

 2 minutos

Empaquetar una aplicación en una imagen de Docker ofrece una manera cómoda de
implementar y ejecutar la aplicación. Puede automatizar el proceso de creación de una imagen
de Docker mediante la definición de los pasos en un Dockerfile. Una vez que haya creado una
imagen, puede cargarla en un registro como Azure Container Registry. A partir de ahí, puede
crear una instancia de contenedor en la que se ejecute la aplicación.

Limpieza de los recursos

En este módulo, ha creado recursos con su suscripción de Azure. Quiere limpiar estos recursos
para que no se le siga cobrando por ellos.

1. En Azure Portal, seleccione Inicio y, luego, Grupos de recursos.

2. Busque el grupo de recursos learn-deploy-container-aci-rg, o el nombre del grupo de


recursos que haya usado, y selecciónelo.

3. En la barra de comandos, seleccione Eliminar grupo de recursos. Aparece un panel de


diálogo en el que se le pide que escriba el nombre del grupo de recursos.

4. Escriba el nombre del grupo de recursos (learn-deploy-container-aci-rg o el nombre


que haya usado) y seleccione Eliminar. Todos los recursos que creó en este módulo se
eliminarán junto con el grupo de recursos.

Más información

 Información general de Docker

 Instalación de Docker Desktop en Windows

 Documentación de referencia de Docker

 Procedimientos recomendados para escribir Dockerfile

 Referencia de Dockerfile

 Azure Container Registry

 Azure Container Instances


TANDA 3

Introducción

Completado100 XP

 5 minutos

Las cuentas de Azure Storage proporcionan una gran cantidad de opciones de seguridad que
protegen los datos basados en la nube. Servicios de Azure como Blob Storage, recurso
compartido de Files, Almacenamiento de tablas y Data Lake Store se basan en Azure Storage.
Por eso, estos servicios se benefician de los controles de seguridad específicos de Azure
Storage.

Imagine que la administradora de red de Contoso está realizando una auditoría de la seguridad
de los recursos del dominio. Al final de la auditoría, debe estar segura de que todos los datos
almacenados en Azure cumplen estrictamente la directiva de seguridad de Contoso. Como
consultor de datos principal de Contoso, usted va a ayudar a la administradora de red a
comprender cómo Azure Storage puede contribuir a cumplir los requisitos de seguridad de
Contoso.

Objetivos de aprendizaje

En este módulo, aprenderá a:

 Investigue las formas en que Azure Storage protege los datos.

 Explore las opciones de autenticación para acceder a datos.

 Obtenga información sobre Advanced Threat Protection.

 Aprenda a controlar el acceso de red a datos.

 Explorará las características de seguridad de nivel empresarial de Azure Data Lake.

Exploración de las características de seguridad de Azure Storage

Completado100 XP

 10 minutos

Contoso depende en gran medida de grandes cantidades de datos de Azure Storage. Sus
muchas aplicaciones dependen de recursos compartidos de archivos basados en blobs,
almacenamiento de tablas no estructurado, Azure Data Lake y Bloque de mensajes del servidor
(SMB).

Después de que el competidor de Contoso haya sufrido una vulneración de datos, Contoso
encarga al administrador de red que compruebe la seguridad de los datos de la organización.
Como consultor de datos de Contoso, usted asegura al administrador de red que las cuentas de
Azure Storage proporcionan varias ventajas de seguridad de alto nivel para los datos en la
nube:

 Protección de los datos en reposo

 Protección de los datos en tránsito

 Compatibilidad con el acceso entre dominios del explorador

 Control de quién puede acceder a los datos

 Auditoría de acceso de almacenamiento

Cifrado en reposo

Todos los datos escritos en Azure Storage se cifran automáticamente mediante Storage Service
Encryption (SSE) con un cifrado Estándar de cifrado avanzado (AES) de 256 bits, ya que es
compatible con FIPS 140-2. SSE cifra automáticamente los datos cuando se escriben en Azure
Storage. Cuando se leen datos de Azure Storage, este descifra los datos antes de devolverlos.
Este proceso no supone ningún cargo adicional ni afecta al rendimiento. No se puede
deshabilitar.

En el caso de las máquinas virtuales (VM), Azure permite cifrar los discos duros virtuales (VHD)
mediante Azure Disk Encryption. Este cifrado usa imágenes de BitLocker para Windows y dm-
crypt para Linux.

Azure Key Vault almacena las claves automáticamente para ayudar a controlar y administrar los
secretos y las claves del cifrado de discos. Así, aunque alguien obtenga acceso a la imagen del
disco duro virtual y la descargue, no puede acceder a los datos que contiene.

Cifrado en tránsito

Mantenga los datos protegidos al habilitar la seguridad de nivel de transporte entre Azure y el
cliente. Use siempre HTTPS para proteger la comunicación a través de Internet. Cuando llame a
las API de REST para acceder a objetos de cuentas de almacenamiento, puede aplicar HTTPS al
exigir transferencia segura para la cuenta de almacenamiento. Después de habilitar la
transferencia segura, se rechazan las conexiones que usan HTTP. Esta marca también aplica la
transferencia segura a través de SMB al exigir SMB 3.0 para todos los montajes de recursos
compartidos de archivos.

Compatibilidad con CORS

Contoso almacena varios tipos de recursos de sitio web en Azure Storage. Estos tipos incluyen
imágenes y vídeos. Para proteger las aplicaciones de explorador, Contoso bloquea las
solicitudes GET a dominios concretos.

Azure Storage admite el acceso entre dominios mediante Uso compartido de recursos entre
orígenes (CORS). CORS usa encabezados HTTP para que una aplicación web en un dominio
pueda acceder a recursos de un servidor en otro dominio. Con CORS, las aplicaciones web se
aseguran de cargar únicamente contenido autorizado de fuentes autorizadas.

La compatibilidad con CORS es una marca opcional que se puede habilitar en las cuentas de
almacenamiento. La marca agrega los encabezados adecuados al usar solicitudes HTTP GET
para recuperar recursos de la cuenta de almacenamiento.
Control de acceso basado en rol

Para acceder a los datos de una cuenta de almacenamiento, el cliente realiza una solicitud a
través de HTTP o HTTPS. Cada solicitud a un recurso seguro debe autorizarse. El servicio
garantiza que el cliente tenga los permisos necesarios para acceder a los datos. Puede elegir
entre varias opciones de acceso. Posiblemente, la opción más flexible sea el acceso basado en
roles.

Azure Storage es compatible con Microsoft Entra ID y el control de acceso basado en rol (RBAC)
para operaciones de administración de recursos y de datos. Para las entidades de seguridad,
puede asignar roles de RBAC que se limiten a la cuenta de almacenamiento. Puede usar Active
Directory para autorizar operaciones de administración de recursos, como la configuración.
Active Directory se admite en las operaciones de datos de Blob y Queue Storage.

Puede asignar roles RBAC a una entidad de seguridad o una identidad administrada de recursos
de Azure limitados a una suscripción, un grupo de recursos, una cuenta de almacenamiento, un
contenedor individual o una cola.

Auditoría de acceso

La auditoría es otra parte del control de acceso. Puede auditar el acceso de Azure Storage
mediante el servicio Storage Analytics integrado.

Storage Analytics registra cada operación en tiempo real, lo que permite al usuario buscar
solicitudes específicas en los registros de Storage Analytics. Puede filtrar por el mecanismo de
autenticación, el éxito de la operación o el recurso al que se ha accedido.

Información sobre las claves de cuenta de almacenamiento

Completado100 XP

 5 minutos

Muchos de los datos de Contoso son generados o usados por aplicaciones personalizadas. Las
aplicaciones están escritas en distintos lenguajes.

Las cuentas de Azure Storage pueden crear aplicaciones autorizadas en Active Directory para
controlar el acceso a los datos de blobs y colas. Este método de autenticación es la mejor
solución para las aplicaciones que usan Blob Storage o Queue Storage.

Para otros modelos de almacenamiento, los clientes pueden usar una clave compartida o un
secreto compartido. Esta opción de autenticación es una de las más fáciles de usar y, además,
admite blobs, archivos, colas y tablas. El cliente inserta la clave compartida en el
encabezado Authorization HTTP de cada solicitud y la cuenta de almacenamiento la valida.

Por ejemplo, una aplicación puede emitir una solicitud GET en un recurso de blob:

Copiar

GET http://myaccount.blob.core.windows.net/?restype=service&comp=stats
Los encabezados HTTP controlan la versión de la API de REST, la fecha y la clave compartida
codificada:

Copiar

x-ms-version: 2018-03-28

Date: Wed, 23 Oct 2018 21:00:44 GMT

Authorization: SharedKey myaccount:CY1OP3O3jGFpYFbTCBimLn0Xov0vt0khH/E5Gy0fXvg=

Claves de cuenta de almacenamiento

En las cuentas de Azure Storage, las claves compartidas se denominan claves de cuenta de
almacenamiento. Azure crea dos de estas claves (principal y secundaria) para cada cuenta de
almacenamiento que se crea. Las claves dan acceso a todo lo que hay en la cuenta.

Las claves de cuenta de almacenamiento se encuentran en la vista de la cuenta de


almacenamiento de Azure Portal. En el panel de menús de la izquierda de la cuenta de
almacenamiento, seleccione Seguridad y redes>Claves de acceso.

Protección de claves compartidas

La cuenta de almacenamiento solo tiene dos claves que proporcionan acceso completo a la
cuenta. Dado el poder de estas claves, úselas solamente con aplicaciones internas de confianza
que controle por completo.

Si las claves están en peligro, cambie los valores de clave en Azure Portal. Estas son algunas
otras razones para volver a generar las claves de la cuenta de almacenamiento:

 Por motivos de seguridad, podría volver a generar las claves periódicamente.

 Si alguien piratea una aplicación y obtiene la clave codificada de forma rígida o


guardada en un archivo de configuración, vuelva a generar la clave. La clave en peligro
puede dar al hacker acceso completo a la cuenta de almacenamiento.

 Si el equipo usa una aplicación del Explorador de Storage que conserva la clave de la
cuenta de almacenamiento y uno de los miembros abandona el equipo, vuelva a
generar la clave. De lo contrario, la aplicación sigue funcionando, dando acceso a ese
antiguo miembro del equipo a la cuenta de almacenamiento.

Para actualizar claves:

 Cambie cada aplicación de confianza para usar la clave secundaria.

 Actualice la clave principal en Azure Portal. Este será el valor nuevo de clave
secundaria.

Importante
Una vez actualizadas las claves, se rechazará a cualquier cliente que intente usar el valor de
clave antiguo. Asegúrese de identificar a todos los clientes que usen la clave compartida y de
actualizarlos para mantenerlos operativos.

Descripción de las firmas de acceso compartido

Completado100 XP

 5 minutos

Se recomienda no compartir claves de cuenta de almacenamiento con aplicaciones de terceros


externas. Si estas aplicaciones necesitan acceso a los datos, debe proteger sus conexiones sin
usar claves de cuenta de almacenamiento.

En el caso de los clientes que no son de confianza, use una firma de acceso compartido (SAS).
Una SAS es una cadena que contiene un token de seguridad que se puede asociar a un URI.
Puede usar una SAS para delegar el acceso a objetos de almacenamiento y especificar
restricciones, como los permisos y el intervalo de tiempo de acceso.

Puede dar a un cliente un token de SAS, por ejemplo, para que pueda cargar imágenes en un
sistema de archivos en Blob Storage. Por otro lado, puede dar permiso a una aplicación web
para que lea esas imágenes. En ambos casos, solo permite el acceso que la aplicación necesita
para realizar la tarea.

Tipos de firmas de acceso compartido

Puede usar una SAS de nivel de servicio para permitir el acceso a recursos específicos de una
cuenta de almacenamiento. Este tipo de SAS se usaría, por ejemplo, para permitir que una
aplicación recuperara una lista de archivos de un sistema de archivos o para descargar un
archivo.

Use una SAS de nivel de cuenta para permitir el acceso a todo lo que puede permitir una SAS
de nivel de servicio, además de a otros recursos y capacidades. Por ejemplo, puede usar una
SAS de nivel de cuenta para permitir la creación de sistemas de archivos.

UnaSAS normalmente se usaría para un servicio en el que los usuarios leyeran y escribieran sus
datos en la cuenta de almacenamiento. Las cuentas que almacenan datos de usuario tienen
dos diseños típicos:

 Los clientes cargan y descargan datos mediante un servicio de proxy de front-end que
realiza la autenticación. Este servicio de proxy de front-end tiene la ventaja de permitir
la validación de reglas de negocio. Pero si el servicio debe controlar grandes cantidades
de datos o transacciones de gran volumen, es posible que le resulte complicado o
costoso escalarlo para satisfacer la demanda.

 Un servicio ligero autentica al cliente según necesidad. A continuación, genera una SAS.
Después de recibir la SAS, el cliente puede acceder a los recursos de la cuenta de
almacenamiento directamente. La SAS define los permisos y el intervalo de acceso del
cliente. Reduce la necesidad de enrutar todos los datos a través del servicio de proxy
de front-end.

Control de acceso de red a la cuenta de almacenamiento

Completado100 XP

 5 minutos

De forma predeterminada, las cuentas de almacenamiento aceptan conexiones de clientes en


cualquier red. Para limitar el acceso a redes seleccionadas, primero debe cambiar la acción
predeterminada. Puede restringir el acceso a determinadas direcciones IP, intervalos o redes
virtuales.

Importante

La modificación de reglas de red puede afectar a la capacidad de la aplicación de conectarse a


Azure Storage. Si establece la regla de red predeterminada en denegar, se bloquea todo el
acceso a los datos, a menos que reglas de red concretas concedan acceso. Antes de cambiar la
regla predeterminada para denegar el acceso, asegúrese de usar reglas de red para conceder
acceso a las redes permitidas.

Administración de reglas de acceso de red predeterminadas

Puede administrar las reglas predeterminadas de acceso a redes para las cuentas de
almacenamiento a través de Azure Portal, PowerShell o la CLI de Azure.

Siga estos pasos para cambiar el acceso de red predeterminado en Azure Portal.

1. Vaya a la cuenta de almacenamiento que quiere proteger.

2. Seleccione Redes en el panel izquierdo.

3. Para restringir el acceso solo a redes y direcciones IP seleccionadas, elija Habilitado


desde redes virtuales seleccionadas y direcciones IP. Para habilitar el acceso a la red
pública para todas las redes, incluida Internet, seleccione Habilitado desde todas las
redes.

4. Seleccione Guardar para aplicar los cambios.

Información sobre Advanced Threat Protection para Azure Storage

Completado100 XP

 5 minutos
Microsoft Defender para Storage proporciona una capa adicional de inteligencia de seguridad
que detecta intentos inusuales y potencialmente dañinos de acceso a cuentas de
almacenamiento o de aprovechar sus vulnerabilidades. Esta capa de protección le permite
afrontar las amenazas sin necesidad de ser un experto en seguridad ni administrar sistemas de
supervisión de la seguridad.

Las alertas de seguridad se desencadenan cuando se producen anomalías en una actividad.


Estas alertas de seguridad se integran con Microsoft Defender for Cloud y también se envían
por correo electrónico a los administradores de las suscripciones, con detalles de la actividad
sospechosa y recomendaciones sobre cómo investigar y solucionar las amenazas.

Microsoft Defender para Storage está disponible actualmente para Blob Storage, Azure Files y
Azure Data Lake Storage Gen2. Los tipos de cuenta que admiten Microsoft Defender for Cloud
incluyen cuentas de uso general v2, blob en bloques y Blob Storage. Microsoft Defender para
Storage está disponible en todas las nubes públicas y de la Administración pública
estadounidense, pero no en otras regiones de nubes soberanas o de Azure Government.

Puede activar Microsoft Defender para Storage en Azure Portal mediante la página de
configuración de la cuenta de Azure Storage, o bien en la sección de seguridad avanzada de
Azure Portal. Siga estos pasos.

1. Inicie Azure Portal.

2. Vaya a la cuenta de almacenamiento. En Seguridad + Redes,


seleccione Microsoft Defender for Cloud.

3. Seleccione Habilitar Microsoft Defender para Storage.

Exploración de anomalías de seguridad

Cuando se produzcan anomalías en la actividad de almacenamiento, recibirá una notificación


por correo electrónico con información acerca del evento de seguridad sospechoso. Los
detalles del evento incluyen:

 Naturaleza de la anomalía

 Nombre de la cuenta de almacenamiento

 Hora del evento

 Tipo de almacenamiento

 Posibles causas

 Pasos de investigación

 Pasos para la corrección

 El correo electrónico también incluye detalles sobre las posibles causas y las acciones
recomendadas para investigar y mitigar la posible amenaza.

Las alertas de seguridad vigentes se pueden revisar y administrar desde el icono Alertas de
seguridad de Microsoft Defender for Cloud. Al seleccionar una alerta específica, se
proporcionan detalles y acciones para investigar la amenaza actual y abordar las amenazas
futuras.

Exploración de las características de seguridad de Azure Data Lake Storage

Completado100 XP

 5 minutos

Azure Data Lake Storage Gen2 proporciona una solución de Data Lake de primera clase que
permite a las empresas consolidar sus datos. Se basa en Azure Blob Storage, así que hereda
todas las características de seguridad que se han visto en este módulo.

Junto con el control de acceso basado en rol (RBAC), Azure Data Lake Storage Gen2
proporciona listas de control de acceso (ACL) compatibles con POSIX que restringen el acceso a
los usuarios, los grupos o las entidades de servicio autorizados. Aplica las restricciones de una
manera flexible, específica y administrable. Azure Data Lake Storage Gen2 autentica mediante
tokens de portador de Microsoft Entra ID OAuth 2.0. Esto permite esquemas de autenticación
flexibles, lo que incluye la federación con Microsoft Entra Connect y la autenticación
multifactor, que proporciona una protección más potente que las meras contraseñas.

Lo más importante es que estos esquemas de autenticación están integrados en los servicios
de análisis principales que usan los datos. Estos servicios incluyen Azure Databricks, HDInsight
y Azure Synapse Analytics. También se incluyen herramientas de administración como el
Explorador de Azure Storage. Una vez que finaliza la autenticación, los permisos se aplican con
la mayor especificidad posible para garantizar el nivel adecuado de autorización para los
recursos de macrodatos de una empresa.

El cifrado de datos de un extremo a otro de Azure Storage y las protecciones de capa de


transporte completan el escudo de seguridad del data lake de una empresa. El mismo conjunto
de herramientas y motores de análisis puede sacar partido de estas capas adicionales de
protección, lo que resulta en una protección completa de las canalizaciones de análisis.

Resumen

Completado200 XP

 5 minutos

Azure Storage proporciona un modelo de seguridad por capas. Puede usar este modelo para
proteger las cuentas de almacenamiento en un conjunto específico de redes admitidas. Al
configurar reglas de red, solo las aplicaciones que solicitan datos a través de las redes
especificadas pueden acceder a la cuenta de almacenamiento.

La autorización es compatible con una versión preliminar pública de credenciales de Microsoft


Entra (para blobs y colas), una clave de acceso de cuenta válida o un token de firma de acceso
compartido (SAS). El cifrado de datos está habilitado de forma predeterminada, lo que permite
supervisar los sistemas de forma proactiva mediante Advanced Threat Protection.
BLOQUE 3

Introducción

Completado100 XP

 3 minutos

Imagine que es el arquitecto de soluciones de una empresa manufacturera. La empresa tiene


varios sitios y sus usuarios necesitan usar una aplicación de planeación de recursos de empresa
(ERP) para migrar a Azure. La empresa solo va a considerar la posibilidad de migrar los sistemas
clave a la plataforma si se pueden cumplir estrictos requisitos de seguridad, incluido un
estrecho control sobre qué equipos tienen acceso de red a los servidores que ejecutan la
aplicación. Como parte de la estrategia de seguridad de red de la empresa, quiere proteger
tanto las redes de máquinas virtuales (VM) como las de los servicios de Azure. El objetivo es
impedir que el tráfico de red no seguro o no deseado pueda llegar a los sistemas clave.

Va a usar grupos de seguridad de red para proteger el tráfico de red de las máquinas virtuales
que se ejecutan en Azure. Obtendrá información sobre cómo usar puntos de conexión de
servicio de red virtual para controlar el tráfico de red hacia y desde los servicios de Azure,
como servicios de almacenamiento o de base de datos.

Objetivos de aprendizaje

En este módulo, aprenderá a:

 Identificará las funciones y características de los grupos de seguridad de red.

 Identificará las funciones y características de los puntos de conexión de servicio de red


virtual.

 Usará grupos de seguridad de red para restringir la conectividad de red.

 Usará puntos de conexión de servicio de red virtual para controlar el tráfico de red
hacia y desde los servicios de Azure.

Requisitos previos

 Conocimientos de conceptos de red básicos, incluidas las subredes y las direcciones IP

 Conocimientos básicos de los servicios de Azure, en concreto, Azure SQL Database y


Azure Storage

 Familiaridad con las máquinas virtuales de Azure y las redes virtuales

Uso de grupos de seguridad de red para controlar el acceso a la red

Completado100 XP

 8 minutos
Como parte del proyecto para migrar el sistema de ERP a Azure debe asegurarse de que los
servidores tengan el aislamiento adecuado, de manera que solo los sistemas permitidos
puedan realizar conexiones de red. Por ejemplo, tiene servidores de bases de datos que
almacenan datos de la aplicación de ERP. Quiere evitar que sistemas prohibidos se comuniquen
con los servidores a través de la red, al tiempo que permite a los servidores de aplicaciones
comunicarse con los servidores de bases de datos.

Grupos de seguridad de red

Los grupos de seguridad de red filtran el tráfico de red hacia y desde recursos de Azure.
También contienen reglas de seguridad que se configuran para permitir o denegar el tráfico
entrante y saliente. Puede usar grupos de seguridad de red para filtrar el tráfico entre
máquinas virtuales o subredes, tanto dentro de una red virtual como desde Internet.

Asignación y evaluación de grupos de seguridad de red

Los grupos de seguridad de red se asignan a una interfaz de red o una subred. Al asignar un
grupo de seguridad de red a una subred, las reglas se aplican a todas las interfaces de red de
esa subred. Puede restringir aún más el tráfico si asocia un grupo de seguridad de red a la
interfaz de red de una máquina virtual.

Al aplicar grupos de seguridad de red a una subred y a una interfaz de subred, cada grupo de
seguridad de red se evalúa por separado. El tráfico entrante primero lo evalúa el grupo de
seguridad de red aplicado a la subred y, después, el grupo de seguridad de red aplicado a la
interfaz de red. A la inversa, el grupo de seguridad de red aplicado a la interfaz de red es el
primero en evaluar el tráfico que sale de una máquina virtual, y luego lo hace el grupo de
seguridad de red aplicado a la subred.
Aplicar un grupo de seguridad de red a una subred, en lugar de interfaces de red individuales,
puede reducir los esfuerzos de administración. Este enfoque también garantiza que todas las
máquinas virtuales dentro de la subred especificada estén protegidas con el mismo conjunto
de reglas.

Cada interfaz de red y subred puede tener un grupo de seguridad de red aplicado. Los grupos
de seguridad de red admiten TCP, UDP e ICMP, y operan en la capa 4 del modelo OSI.

En este escenario de la empresa manufacturera, los grupos de seguridad de red pueden


ayudarle a proteger la red. Puede controlar qué equipos se pueden conectar a los servidores de
aplicaciones. Puede configurar el grupo de seguridad de red para que solo un rango concreto
de direcciones IP pueda conectarse a los servidores. Esto se puede bloquear incluso más si solo
se permite el acceso a o desde puertos específicos o direcciones IP individuales. Estas reglas se
pueden aplicar a dispositivos que se conectan de forma remota desde redes locales o entre
recursos de Azure.

Reglas de seguridad

Un grupo de seguridad de red contiene una o varias reglas de seguridad. Puede configurar las
reglas de seguridad para permitir o denegar el tráfico.

Las reglas tienen varias propiedades:


Propiedad Explicación

Nombre Un nombre único dentro del grupo de seguridad de red

Priority Número comprendido entre 100 y 4096

Origen y destino Cualquiera, una dirección IP individual, un bloque de enrutamiento entre dominios sin clases (CID
una etiqueta de servicio o un grupo de seguridad de aplicaciones

Protocolo TCP, UDP o cualquiera

Direction Si la regla se aplica al tráfico entrante o al saliente

Intervalo de Un puerto individual o un intervalo de puertos


puertos

Acción Permitir o denegar el tráfico

Las reglas de seguridad de los grupos de seguridad de red se evalúan por prioridad mediante
información en tuplas de cinco elementos (origen, puerto de origen, destino, puerto de destino
y protocolo) para permitir o denegar el tráfico. Cuando las condiciones de una regla coinciden
con la configuración del dispositivo, se detiene el procesamiento de la regla.

Por ejemplo, imagine que la empresa ha creado una regla de seguridad para permitir el tráfico
entrante en el puerto 3389 (RDP) a los servidores web con una prioridad de 200. Después
imagine que otro administrador ha creado una regla para denegar el tráfico entrante en el
puerto 3389, con una prioridad de 150. La regla de denegación tiene prioridad porque se
procesa primero. La regla con prioridad 150 se procesa antes que la regla con prioridad 200.

Con los grupos de seguridad de red, las conexiones tienen estado. El tráfico de retorno se
permite de forma automática para la misma sesión TCP/UDP. Por ejemplo, una regla de entrada
que permite el tráfico en el puerto 80 también permite que la máquina virtual responda a la
solicitud (normalmente en un puerto efímero). No se necesita una regla de salida
correspondiente.

Respecto al sistema de ERP, los servidores web de la aplicación de ERP se conectan a los
servidores de bases de datos que se encuentran en sus propias subredes. Puede aplicar reglas
de seguridad para indicar que la única comunicación permitida desde los servidores web a los
de bases de datos sea el puerto 1433 para las comunicaciones de bases de datos de SQL Server.
Se denegará el resto del tráfico a los servidores de bases de datos.

Reglas de seguridad predeterminadas

Cuando sea crea un grupo de seguridad de red, Azure crea varias reglas predeterminadas. Estas
reglas predeterminadas no se pueden modificar, pero se pueden reemplazar por reglas propias.
Estas reglas predeterminadas permiten la conectividad dentro de una red virtual y de los
equilibradores de carga de Azure. También permiten la comunicación de salida a Internet y
deniegan el tráfico de entrada desde Internet.

Las reglas predeterminadas para el tráfico de entrada son las siguientes:

Prioridad Nombre de la regla Descripción

65000 AllowVnetInbound Permitir el tráfico entrante procedente de todas las máquinas virtuales
Prioridad Nombre de la regla Descripción

dentro de la subred

65001 AllowAzureLoadBalancerInboun Permitir el tráfico desde el equilibrador de carga predeterminado a cual


d de la subred

65500 DenyAllInBound Denegar el tráfico desde cualquier origen externo a cualquiera de las m

Las reglas predeterminadas para el tráfico de salida son las siguientes:

Prioridad Nombre de la regla Descripción

65000 AllowVnetOutbound Permitir el tráfico de salida desde cualquier máquina virtual a cualquier máquina

65001 AllowInternetOutbound Permitir el tráfico saliente a Internet desde cualquier máquina virtual

65500 DenyAllOutBound Denegar el tráfico desde cualquier máquina virtual interna al sistema situado fue

Reglas de seguridad aumentada

Las reglas de seguridad aumentada se pueden usar para los grupos de seguridad de red con el
fin de simplificar la administración de un gran número de reglas. Las reglas de seguridad
aumentada también son útiles cuando es necesario implementar conjuntos de reglas de red
más complejos. Las reglas aumentadas permiten agregar las opciones siguientes en una sola
regla de seguridad:

 Varias direcciones IP

 Varios puertos

 Etiquetas de servicio

 Grupos de seguridad de aplicaciones

Imagine que su empresa quiere restringir el acceso a los recursos del centro de datos,
repartidos en varios intervalos de direcciones de red. Con las reglas aumentadas, puede
agregar todos estos intervalos en una única regla, lo que reduce la sobrecarga administrativa y
la complejidad en los grupos de seguridad de red.

Etiquetas de servicio

Las etiquetas de servicio se pueden usar para simplificar todavía más la seguridad de los grupos
de seguridad de red. Puede permitir o denegar el tráfico a un servicio de Azure específico, ya
sea de forma global o por regiones.

Las etiquetas de servicio simplifican la seguridad de las máquinas virtuales y las redes virtuales
de Azure, ya que permiten restringir el acceso por recursos o servicios. Las etiquetas de
servicio representan un grupo de direcciones IP y ayudan a simplificar la configuración de las
reglas de seguridad. Para los recursos que se pueden especificar mediante una etiqueta, no es
necesario conocer los detalles del puerto o la dirección IP.

Puede restringir el acceso a muchos servicios. Microsoft administra las etiquetas de servicio, lo
cual significa que no puede crear las suyas propias. Algunos ejemplos de etiquetas:
 VirtualNetwork: Representa todas las direcciones de red virtual en cualquier lugar en
Azure, y en la red local si usa conectividad híbrida.

 AzureLoadBalancer: Denota el equilibrador de carga de la infraestructura de Azure. La


etiqueta se traduce en la dirección IP virtual del host (168.63.129.16) donde se
originan los sondeos de mantenimiento de Azure.

 Internet: Representa todo lo que está fuera de la dirección de red virtual y a lo que se
accede de forma pública, incluidos recursos que tienen direcciones IP públicas. Un
recurso de este tipo es la característica Web Apps de Azure App Service.

 AzureTrafficManager: Representa la dirección IP de Azure Traffic Manager.

 Almacenamiento: Representa el espacio de direcciones IP de Azure Storage. Puede


especificar si se permite o se deniega el tráfico. También puede especificar si solo se
permite el acceso a una región específica, pero no puede seleccionar cuentas de
almacenamiento individuales.

 SQL: Representa la dirección de los servicios Azure SQL Database, Azure Database for
MySQL, Azure Database for PostgreSQL y Azure Synapse Analytics. Puede especificar si
se permite o se deniega el tráfico, así como limitarlo a una región específica.

 AppService: Representa prefijos de dirección de Azure App Service.

Grupos de seguridad de aplicaciones

Los grupos de seguridad de aplicaciones permiten configurar la seguridad de red de los


recursos que se usan en aplicaciones específicas. Puede agrupar las máquinas virtuales de
forma lógica, con independencia de su dirección IP o asignación de subred.

Puede usar grupos de seguridad de aplicaciones dentro de un grupo de seguridad de red para
aplicar una regla de seguridad a un grupo de recursos. Es más fácil implementar y escalar
verticalmente cargas de trabajo de aplicaciones específicas; solo tiene que agregar una nueva
implementación de máquina virtual a uno o varios grupos de seguridad de aplicaciones y esa
máquina virtual recoge automáticamente las reglas de seguridad de esa carga de trabajo.

Un grupo de seguridad de aplicaciones permite agrupar interfaces de red. Luego se puede usar
ese grupo de seguridad de aplicaciones como regla de origen o destino dentro de un grupo de
seguridad de red.

Por ejemplo, su empresa tiene muchos servidores front-end en una red virtual. Los servidores
web deben ser accesibles a través de los puertos 80 y 8080. Los servidores de bases de datos
deben ser accesibles a través del puerto 1433. Las interfaces de red de los servidores web se
asignan a un grupo de seguridad de aplicaciones y las interfaces de red de los servidores de
bases de datos a otro grupo de seguridad de aplicaciones. Después, crea dos reglas de entrada
en el grupo de seguridad de red. Una regla permite el tráfico HTTP a todos los servidores del
grupo de seguridad de aplicaciones del servidor web. La otra regla permite el tráfico SQL a
todos los servidores del grupo de seguridad de aplicaciones del servidor de bases de datos.
Sin los grupos de seguridad de aplicaciones, deberá crear una regla independiente para cada
máquina virtual o agregar un grupo de seguridad de red a una subred y, posteriormente,
agregar todas las máquinas virtuales a esa subred.

La principal ventaja de los grupos de seguridad de aplicaciones es que facilitan la


administración. Puede agregar y quitar interfaces de red en un grupo de seguridad de
aplicaciones con facilidad mientras implementa o vuelve a implementar servidores de
aplicaciones. También puede aplicar de forma dinámica reglas nuevas a un grupo de seguridad
de aplicaciones, que después se aplican automáticamente a todas las máquinas virtuales de
ese grupo de seguridad de aplicaciones.

Cuándo usar grupos de seguridad de red

Como procedimiento recomendado, siempre debe usar grupos de seguridad de red para
ayudar a proteger los recursos de red contra el tráfico no deseado. Los grupos de seguridad de
red ofrecen control de acceso pormenorizado sobre el nivel de red, sin la complejidad
potencial de establecer reglas de seguridad para cada máquina virtual o red virtual.

Ejercicio: Creación y administración de grupos de seguridad de red

Completado100 XP

 15 minutos

Para completar este módulo, se necesita un espacio aislado.

Un espacio aislado te da acceso a recursos gratuitos. La suscripción personal no se te cobrará.


El espacio aislado solo se puede usar para realizar los cursos de Microsoft Learn. Está prohibido
el uso con cualquier otro fin y puede dar lugar a la pérdida permanente del acceso al espacio
aislado.

Microsoft proporciona esta experiencia de laboratorio y contenido relacionado con fines


educativos. Toda la información presentada es propiedad de Microsoft y está destinada
únicamente a aprender sobre los productos y servicios cubiertos en este módulo de Microsoft
Learn.

Activar espacio aislado

Como arquitecto de soluciones de la empresa manufacturera, ahora quiere empezar a migrar a


Azure los servidores de bases de datos y la aplicación de ERP. Como primer paso, va a probar el
plan de seguridad de red con dos de los servidores.

En esta unidad, configurará un grupo de seguridad de red y reglas de seguridad para restringir
el tráfico de red a servidores específicos. Quiere que el servidor de aplicaciones se pueda
conectar al servidor de bases de datos a través de HTTP. No quiere que el servidor de bases de
datos pueda usar HTTP para conectarse al servidor de aplicaciones.

Creación de una red virtual y un grupo de seguridad de red


En primer lugar, creará la red virtual y las subredes para los recursos de servidor. Después,
creará un grupo de seguridad de red.

1. En Azure Cloud Shell, ejecute el siguiente comando para asignar el grupo de recursos
del espacio aislado a la variable rg:

Azure CLICopiar

rg=[sandbox resource group name]

2. Para crear la red virtual ERP-servers y la subred Applications (Aplicaciones), ejecute el


comando siguiente en Cloud Shell:

Azure CLICopiar

az network vnet create \

--resource-group $rg \

--name ERP-servers \

--address-prefixes 10.0.0.0/16 \

--subnet-name Applications \

--subnet-prefixes 10.0.0.0/24

3. Ejecute el comando siguiente en Cloud Shell para crear la subred Databases (Bases de
datos):

Azure CLICopiar

az network vnet subnet create \

--resource-group $rg \

--vnet-name ERP-servers \

--address-prefixes 10.0.1.0/24 \

--name Databases

4. Ejecute el comando siguiente en Cloud Shell para crear el grupo de seguridad de


red ERP-SERVERS-NSG:

Azure CLICopiar

az network nsg create \

--resource-group $rg \

--name ERP-SERVERS-NSG

Creación de máquinas virtuales que ejecutan Ubuntu

Ahora va a crear dos máquinas virtuales denominadas AppServer y DataServer.


Implemente AppServer en la subred Applications y DataServer en la subred Databases.
Agregue las interfaces de red de máquina virtual al grupo de seguridad de red ERP-SERVERS-
NSG. Luego, para probar el grupo de seguridad de red, use estas máquinas virtuales.
1. Para compilar la máquina virtual AppServer, ejecute el comando siguiente en
Cloud Shell. Para la cuenta de administrador, reemplace <password> por una
contraseña compleja.

Azure CLICopiar

wget -N https://raw.githubusercontent.com/MicrosoftDocs/mslearn-secure-and-isolate-with-
nsg-and-service-endpoints/master/cloud-init.yml && \

az vm create \

--resource-group $rg \

--name AppServer \

--vnet-name ERP-servers \

--subnet Applications \

--nsg ERP-SERVERS-NSG \

--image Ubuntu2204 \

--size Standard_DS1_v2 \

--generate-ssh-keys \

--admin-username azureuser \

--custom-data cloud-init.yml \

--no-wait \

--admin-password <password>

2. Para compilar la máquina virtual DataServer, ejecute el comando siguiente en


Cloud Shell. Para la cuenta de administrador, reemplace <password> por una
contraseña compleja.

Azure CLICopiar

az vm create \

--resource-group $rg \

--name DataServer \

--vnet-name ERP-servers \

--subnet Databases \

--nsg ERP-SERVERS-NSG \

--size Standard_DS1_v2 \

--image Ubuntu2204 \

--generate-ssh-keys \

--admin-username azureuser \
--custom-data cloud-init.yml \

--no-wait \

--admin-password <password>

3. Las máquinas virtuales pueden tardar varios minutos en estar en estado de ejecución.
Ejecute el comando siguiente en Cloud Shell para confirmar que las máquinas virtuales
están en ejecución:

Azure CLICopiar

az vm list \

--resource-group $rg \

--show-details \

--query "[*].{Name:name, Provisioned:provisioningState, Power:powerState}" \

--output table

Una vez completada la creación de la máquina virtual, debería ver la salida siguiente:

ResultadosCopiar

Name Provisioned Power

---------- ------------- ----------

AppServer Succeeded VM running

DataServer Succeeded VM running

Comprobación de la conectividad predeterminada

Ahora va a intentar abrir una sesión de Secure Shell (SSH) para cada una de las máquinas
virtuales. Recuerde que hasta ahora ha implementado un grupo de seguridad de red con reglas
predeterminadas.

1. Para conectarse a las máquinas virtuales, use SSH directamente desde Cloud Shell. Para
ello, necesita las direcciones IP públicas que se han asignado a las máquinas virtuales.
Ejecute el comando siguiente en Cloud Shell para mostrar las direcciones IP que se van
a usar para conectarse a las máquinas virtuales:

Azure CLICopiar

az vm list \

--resource-group $rg \

--show-details \

--query "[*].{Name:name, PrivateIP:privateIps, PublicIP:publicIps}" \

--output table
2. Para facilitar la conexión a las máquinas virtuales durante el resto de este ejercicio,
asigne las direcciones IP públicas a variables. Ejecute el comando siguiente en Cloud
Shell para guardar la dirección IP pública de AppServer y DataServer en una variable:

BashCopiar

APPSERVERIP="$(az vm list-ip-addresses \

--resource-group $rg \

--name AppServer \

--query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \

--output tsv)"

DATASERVERIP="$(az vm list-ip-addresses \

--resource-group $rg \

--name DataServer \

--query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \

--output tsv)"

3. Ejecute el comando siguiente en Cloud Shell para comprobar si se puede conectar a la


máquina virtual AppServer:

BashCopiar

ssh azureuser@$APPSERVERIP -o ConnectTimeout=5

Aparecerá un mensaje Connection timed out.

4. Ejecute el comando siguiente en Cloud Shell para comprobar si se puede conectar a la


máquina virtual DataServer:

BashCopiar

ssh azureuser@$DATASERVERIP -o ConnectTimeout=5

Aparecerá el mismo mensaje de error de conexión.

Recuerde que las reglas predeterminadas deniegan todo el tráfico entrante en una red virtual,
a menos que proceda de la misma red virtual. La regla Denegar todo el tráfico entrante ha
bloqueado las conexiones SSH entrantes que acaba de intentar.

Entrada

Nombre Prioridad IP de origen IP de destino

Permitir el tráfico entrante de red virtual 65000 VIRTUAL_NETWORK VIRTUAL_NET

Denegar todo el tráfico entrante 65500 * *

Creación de una regla de seguridad para SSH


Como acaba de comprobar, las reglas predeterminadas del grupo de seguridad de red ERP-
SERVERS-NSG incluyen una regla Denegar todo el tráfico entrante. Ahora agregará una regla
para poder usar SSH para conectarse a AppServer y DataServer.

1. Ejecute el comando siguiente en Cloud Shell para crear una regla de seguridad de
entrada para habilitar el acceso SSH:

Azure CLICopiar

az network nsg rule create \

--resource-group $rg \

--nsg-name ERP-SERVERS-NSG \

--name AllowSSHRule \

--direction Inbound \

--priority 100 \

--source-address-prefixes '*' \

--source-port-ranges '*' \

--destination-address-prefixes '*' \

--destination-port-ranges 22 \

--access Allow \

--protocol Tcp \

--description "Allow inbound SSH"

2. Ejecute el comando siguiente en Cloud Shell para comprobar si se puede conectar


ahora a la máquina virtual AppServer:

BashCopiar

ssh azureuser@$APPSERVERIP -o ConnectTimeout=5

La regla del grupo de seguridad de red puede tardar uno o dos minutos en surtir efecto. Si
recibe un mensaje de error de conexión, espere un momento e inténtelo de nuevo.

3. Ahora debería poder conectarse. Después del mensaje Are you sure you want to
continue connecting (yes/no)?, especifique yes.

4. Escriba la contraseña que ha definido al crear la máquina virtual.

5. Para cerrar la sesión de AppServer, escriba exit.

6. Ejecute el comando siguiente en Cloud Shell para comprobar si se puede conectar


ahora a la máquina virtual DataServer:

BashCopiar

ssh azureuser@$DATASERVERIP -o ConnectTimeout=5


7. Ahora debería poder conectarse. Después del mensaje Are you sure you want to
continue connecting (yes/no)?, especifique yes.

8. Escriba la contraseña que ha definido al crear la máquina virtual.

9. Para cerrar la sesión de DataServer, especifique exit.

Creación de una regla de seguridad para impedir el acceso web

Ahora agregue una regla para que AppServer se pueda comunicar con DataServer a través de
HTTP, pero DataServer no se pueda comunicar con AppServer a través de HTTP. Estas son las
direcciones IP internas para estos servidores:

Nombre del servidor Dirección IP

AppServer 10.0.0.4

DataServer 10.0.1.4

1. Ejecute el comando siguiente en Cloud Shell para crear una regla de seguridad de
entrada para denegar el acceso HTTP a través del puerto 80:

Azure CLICopiar

az network nsg rule create \

--resource-group $rg \

--nsg-name ERP-SERVERS-NSG \

--name httpRule \

--direction Inbound \

--priority 150 \

--source-address-prefixes 10.0.1.4 \

--source-port-ranges '*' \

--destination-address-prefixes 10.0.0.4 \

--destination-port-ranges 80 \

--access Deny \

--protocol Tcp \

--description "Deny from DataServer to AppServer on port 80"

Prueba de la conectividad HTTP entre máquinas virtuales

Ahora, comprobará si la nueva regla funciona. AppServer debería poder comunicarse


con DataServer a través de HTTP. DataServer no debería poder comunicarse con AppServer a
través de HTTP.

1. Para conectarse a la máquina virtual AppServer, ejecute el comando siguiente en


Cloud Shell. Compruebe si AppServer puede comunicarse con DataServer a través de
HTTP.
BashCopiar

ssh -t azureuser@$APPSERVERIP 'wget http://10.0.1.4; exit; bash'

2. Escriba la contraseña que ha definido al crear la máquina virtual.

3. La respuesta debe incluir un mensaje 200 OK.

4. Para conectarse a la máquina virtual DataServer, ejecute el comando siguiente en


Cloud Shell. Compruebe si DataServer puede comunicarse con AppServer a través de
HTTP.

BashCopiar

ssh -t azureuser@$DATASERVERIP 'wget http://10.0.0.4; exit; bash'

5. Escriba la contraseña que ha definido al crear la máquina virtual.

6. Esto no se debería ejecutar de forma correcta porque ha bloqueado el acceso a través


del puerto 80. Después de varios minutos, debe obtener un mensaje Connection timed
out. Para detener el comando antes del tiempo de espera, presione Ctrl+C.

Implementación de un grupo de seguridad de aplicaciones

Ahora, cree un grupo de seguridad de aplicaciones para servidores de bases de datos de modo
que se pueda asignar la misma configuración a todos los servidores de este grupo. Está
planeando implementar más servidores de bases de datos y quiere evitar que estos accedan a
servidores de aplicaciones a través de HTTP. Si se asignan orígenes en el grupo de seguridad de
aplicaciones, no es necesario mantener de forma manual una lista de direcciones IP en el grupo
de seguridad de red, sino que se asignan las interfaces de red de las máquinas virtuales que se
quieren administrar al grupo de seguridad de aplicaciones.

1. Ejecute el comando siguiente en Cloud Shell para crear un grupo de seguridad de


aplicaciones denominado ERP-DB-SERVERS-ASG:

Azure CLICopiar

az network asg create \

--resource-group $rg \

--name ERP-DB-SERVERS-ASG

2. Ejecute el comando siguiente en Cloud Shell para asociar DataServer al grupo de


seguridad de aplicaciones:

Azure CLICopiar

az network nic ip-config update \

--resource-group $rg \

--application-security-groups ERP-DB-SERVERS-ASG \

--name ipconfigDataServer \
--nic-name DataServerVMNic \

--vnet-name ERP-servers \

--subnet Databases

3. Ejecute el comando siguiente en Cloud Shell para actualizar la regla HTTP en el grupo
de seguridad de red ERP-SERVERS-NSG. Debería hacer referencia al grupo de seguridad
de aplicaciones ERP-DB-Servers.

Azure CLICopiar

az network nsg rule update \

--resource-group $rg \

--nsg-name ERP-SERVERS-NSG \

--name httpRule \

--direction Inbound \

--priority 150 \

--source-address-prefixes "" \

--source-port-ranges '*' \

--source-asgs ERP-DB-SERVERS-ASG \

--destination-address-prefixes 10.0.0.4 \

--destination-port-ranges 80 \

--access Deny \

--protocol Tcp \

--description "Deny from DataServer to AppServer on port 80 using application security


group"

Prueba de la regla de seguridad HTTP actualizada

1. Ejecute el comando siguiente en Cloud Shell para conectarse a la máquina


virtual AppServer. Compruebe si AppServer puede comunicarse con DataServer a
través de HTTP.

BashCopiar

ssh -t azureuser@$APPSERVERIP 'wget http://10.0.1.4; exit; bash'

2. Escriba la contraseña que ha definido al crear la máquina virtual.

3. Como antes, la respuesta debe incluir un mensaje 200 OK. La configuración del grupo
de seguridad de aplicaciones puede tardar uno o dos minutos en aplicarse. Si
inicialmente no recibe el mensaje 200 OK, espere un minuto e inténtelo de nuevo.

4. Ejecute el comando siguiente en Cloud Shell para conectarse a DataServer. Compruebe


si DataServer puede comunicarse con AppServer a través de HTTP.
BashCopiar

ssh -t azureuser@$DATASERVERIP 'wget http://10.0.0.4; exit; bash'

5. Escriba la contraseña que ha definido al crear la máquina virtual.

6. Como antes, esto no se debería ejecutar de forma correcta porque ha bloqueado el


acceso a través del puerto 80. Después de varios minutos, debe obtener un
mensaje Connection timed out. Para detener el comando antes del tiempo de espera,
presione Ctrl+C.

Ya ha confirmado que la regla del grupo de seguridad de red funciona con un grupo de
seguridad de aplicaciones del mismo modo que cuando se ha usado una dirección IP de origen.
Si agregáramos más servidores de datos, se podría garantizar con facilidad que tienen la
seguridad de red correcta si se agregan a ERP-DB-SERVERS-ASG.

Protección del acceso de red a servicios PaaS mediante puntos de conexión de servicio de red
virtual

Completado100 XP

 5 minutos

Ha migrado la aplicación existente y los servidores de bases de datos del sistema de ERP a
Azure como máquinas virtuales. Ahora, para reducir los costos y los requisitos administrativos,
está planteándose la posibilidad de usar algunos servicios de plataforma como servicio (PaaS)
de Azure. Los servicios de almacenamiento contendrán algunos recursos de archivos grandes,
como diagramas de ingeniería. Estos diagramas de ingeniería tienen información de su
propiedad y deben permanecer protegidos frente a accesos no autorizados. Estos archivos solo
deben ser accesibles desde sistemas específicos.

En esta unidad, verá cómo se pueden usar los puntos de conexión de servicio de red virtual
para proteger servicios de Azure admitidos.

Puntos de conexión de servicio de red virtual

Use los puntos de conexión de servicio de red virtual para ampliar el espacio de direcciones
privadas en Azure proporcionando una conexión directa a los servicios de Azure. Los puntos de
conexión de servicio solo permiten proteger los recursos de Azure en la rede virtual. El tráfico
del servicio permanecerá en la red troncal de Azure y no pasa a Internet.

De forma predeterminada, todos los servicios de Azure están diseñados para el acceso directo
a Internet. Todos los recursos de Azure tienen direcciones IP públicas, incluidos los servicios
PaaS como Azure SQL Database y Azure Storage. Como estos servicios se exponen a Internet,
cualquiera puede acceder a los servicios de Azure.

Los puntos de conexión de servicio pueden conectar determinados servicios PaaS directamente
al espacio de direcciones privado de Azure, por lo que actúan como si estuvieran en la misma
red virtual. Use el espacio de direcciones privado para acceder directamente a los servicios
PaaS. La incorporación de puntos de conexión de servicio no quita el punto de conexión
público. Simplemente proporciona un redireccionamiento del tráfico.

Los puntos de conexión de servicio de Azure están disponibles para muchos servicios, como los
siguientes:

 Azure Storage

 Azure SQL Database

 Azure Cosmos DB

 Azure Key Vault

 Azure Service Bus

 Azure Data Lake

Para un servicio como SQL Database, al que no se puede acceder hasta que se agreguen
direcciones IP al firewall, debe seguir teniendo en cuenta los puntos de conexión de servicio
como una posibilidad. El uso de un punto de conexión de servicio para SQL Database restringe
el acceso a redes virtuales específicas, lo que proporciona mayor aislamiento y reduce la
superficie expuesta a ataques.

Funcionamiento de los puntos de conexión de servicio

Para habilitar un punto de conexión de servicio, debe:

1. Desactivar el acceso público al servicio.

2. Agregar el punto de conexión de servicio a una red virtual.

Cuando se habilita un punto de conexión de servicio, se restringe el flujo de tráfico y se permite


que las máquinas virtuales de Azure accedan directamente al servicio desde el espacio de
direcciones privado. Los dispositivos no pueden acceder al servicio desde una red pública. En
una vNIC de máquina virtual implementada, si examina Rutas eficaces, verá el punto de
conexión de servicio como Tipo del próximo salto.

Esta es una tabla de rutas de ejemplo, antes de habilitar un punto de conexión de servicio:

ORIGEN ESTADO PREFIJOS DE DIRECCIÓN TIPO DEL PRÓXIM

Predeterminado Activo 10.1.1.0/24 VNet

Predeterminado Activo 0.0.0.0./0 Internet

Valor predeterminado Activo 10.0.0.0/8 None

Valor predeterminado Activo 100.64.0.0./10 Ninguno

Valor predeterminado Activo 192.168.0.0/16 None

Y esta es una tabla de rutas de ejemplo después de agregar dos puntos de conexión de servicio
a la red virtual:
ORIGEN ESTADO PREFIJOS DE DIRECCIÓN TIPO DEL PRÓXIMO SA

Predeterminado Activo 10.1.1.0/24 VNet

Predeterminado Activo 0.0.0.0./0 Internet

Valor predeterminado Activo 10.0.0.0/8 None

Valor predeterminado Activo 100.64.0.0./10 Ninguno

Valor predeterminado Activo 192.168.0.0/16 None

Valor predeterminado Activo 20.38.106.0/23, 10 más VirtualNetworkService

Predeterminado Activo 20.150.2.0/23, 9 más VirtualNetworkService

Ahora, todo el tráfico del servicio se enruta a VirtualNetworkServiceEndpoint y sigue siendo


interno en Azure.

Puntos de conexión de servicio y redes híbridas

De forma predeterminada, los recursos de servicio que se han protegido mediante puntos de
conexión de servicio de red virtual no son accesibles desde redes locales. Para acceder a los
recursos desde una red local, use direcciones IP de NAT. Si usa ExpressRoute para la
conectividad desde el entorno local a Azure, tiene que identificar las direcciones IP de NAT que
ExpressRoute usa. De forma predeterminada, en cada circuito se usan dos direcciones IP de
NAT para conectarse a la red troncal de Azure. Después, tendrá que agregar estas direcciones
IP a la configuración del firewall IP del recurso de servicio de Azure (por ejemplo, Azure
Storage).

En el siguiente diagrama se muestra cómo usar una configuración de punto de conexión de


servicio y firewall para permitir que los dispositivos locales accedan a los recursos de
Azure Storage:

Ejercicio: Restricción del acceso a Azure Storage mediante puntos de conexión de servicio

Completado100 XP

 10 minutos

Para completar este módulo, se necesita un espacio aislado.

Un espacio aislado te da acceso a recursos gratuitos. La suscripción personal no se te cobrará.


El espacio aislado solo se puede usar para realizar los cursos de Microsoft Learn. Está prohibido
el uso con cualquier otro fin y puede dar lugar a la pérdida permanente del acceso al espacio
aislado.

Microsoft proporciona esta experiencia de laboratorio y contenido relacionado con fines


educativos. Toda la información presentada es propiedad de Microsoft y está destinada
únicamente a aprender sobre los productos y servicios cubiertos en este módulo de Microsoft
Learn.
Activar espacio aislado

Como arquitecto de soluciones, planea mover archivos de diagrama de ingeniería


confidenciales a Azure Storage. Los archivos solo deben ser accesibles desde equipos internos
de la red corporativa. Quiere crear un punto de conexión de servicio de red virtual para Azure
Storage con el fin de proteger la conectividad a las cuentas de almacenamiento.

En esta unidad, creará un punto de conexión de servicio y usará reglas de red para restringir el
acceso a Azure Storage. Creará un punto de conexión de servicio de red virtual para Azure
Storage en la subred Databases. Después, comprobará que la máquina
virtual DataServer puede acceder a Azure Storage. Por último, va a comprobar que la máquina
virtual AppServer, que se encuentra en otra subred, no puede acceder al almacenamiento.

Incorporación de reglas al grupo de seguridad de red

Aquí garantizará que las comunicaciones con Azure Storage transmiten el punto de conexión de
servicio. Agregará reglas de salida para permitir el acceso al servicio de Storage, pero
denegando el resto del tráfico de Internet.

1. Ejecute el siguiente comando en Cloud Shell para crear una regla de salida que permita
el acceso a Storage:

Azure CLICopiar

az network nsg rule create \

--resource-group $rg \

--nsg-name ERP-SERVERS-NSG \

--name Allow_Storage \

--priority 190 \

--direction Outbound \

--source-address-prefixes "VirtualNetwork" \

--source-port-ranges '*' \

--destination-address-prefixes "Storage" \

--destination-port-ranges '*' \

--access Allow \

--protocol '*' \

--description "Allow access to Azure Storage"

2. Ejecute el siguiente comando en Cloud Shell para crear una regla de salida para
denegar todo el acceso a Internet:

Azure CLICopiar
az network nsg rule create \

--resource-group $rg \

--nsg-name ERP-SERVERS-NSG \

--name Deny_Internet \

--priority 200 \

--direction Outbound \

--source-address-prefixes "VirtualNetwork" \

--source-port-ranges '*' \

--destination-address-prefixes "Internet" \

--destination-port-ranges '*' \

--access Deny \

--protocol '*' \

--description "Deny access to Internet."

Ahora debería tener las reglas siguientes en ERP-SERVERS-NSG:

Nombre de la regla Dirección Prioridad Propósito

AllowSSHRule Entrada 100 Permitir SSH de entrada

httpRule Entrada 150 Denegar desde DataServer a AppServer en 80

Allow_Storage Salida 190 Permitir el acceso a Azure Storage

Deny_Internet Salida 200 Denegar el acceso a Internet desde la red virtual

En este punto, tanto AppServer como DataServer tienen acceso al servicio Azure Storage.

Configuración de la cuenta de almacenamiento y el recurso compartido

En este paso, creará una cuenta de almacenamiento y, después, le agregará un recurso


compartido de archivos de Azure. Este recurso compartido de archivos es donde almacenará
los diagramas de ingeniería.

1. Ejecute el siguiente comando en Cloud Shell para crear una cuenta de almacenamiento
para los documentos de ingeniería:

BashCopiar

STORAGEACCT=$(az storage account create \

--resource-group $rg \

--name engineeringdocs$RANDOM \

--sku Standard_LRS \

--query "name" | tr -d '"')


2. Ejecute el siguiente comando en Cloud Shell para almacenar la clave principal de su
cuenta de almacenamiento en una variable:

BashCopiar

STORAGEKEY=$(az storage account keys list \

--resource-group $rg \

--account-name $STORAGEACCT \

--query "[0].value" | tr -d '"')

3. Ejecute el siguiente comando en Cloud Shell para crear un recurso compartido de


archivos de Azure con el nombre erp-data-share:

Azure CLICopiar

az storage share create \

--account-name $STORAGEACCT \

--account-key $STORAGEKEY \

--name "erp-data-share"

Habilitación del punto de conexión de servicio

Ahora tendrá que configurar la cuenta de almacenamiento para que sea accesible solamente
desde los servidores de bases de datos, mediante la asignación del punto de conexión de
almacenamiento a la subred Databases. Después, necesitará agregar una regla de seguridad a
la cuenta de almacenamiento.

1. Ejecute el siguiente comando en Cloud Shell para asignar el punto de


conexión Microsoft.Storage a la subred:

Azure CLICopiar

az network vnet subnet update \

--vnet-name ERP-servers \

--resource-group $rg \

--name Databases \

--service-endpoints Microsoft.Storage

2. Para denegar todo el acceso, ejecute el siguiente comando en Cloud Shell para cambiar
la acción predeterminada a Deny. Después de que se deniega el acceso a la red, no se
puede acceder a la cuenta de almacenamiento desde ninguna red.

Azure CLICopiar

az storage account update \

--resource-group $rg \

--name $STORAGEACCT \
--default-action Deny

3. Ejecute el siguiente comando en Cloud Shell para restringir el acceso a la cuenta de


almacenamiento. De forma predeterminada, las cuentas de almacenamiento están
abiertas para aceptar todo el tráfico. Quiere que solo el tráfico procedente de la
subred Databases pueda acceder al almacenamiento.

Azure CLICopiar

az storage account network-rule add \

--resource-group $rg \

--account-name $STORAGEACCT \

--vnet-name ERP-servers \

--subnet Databases

Prueba del acceso a los recursos de almacenamiento

En este paso, se conectará a los dos servidores y comprobará que solo DataServer tiene acceso
al recurso compartido de archivos de Azure en la cuenta de almacenamiento.

1. Ejecute el siguiente comando en Cloud Shell para guardar las direcciones IP públicas
de AppServer y DataServer en variables:

BashCopiar

APPSERVERIP="$(az vm list-ip-addresses \

--resource-group $rg \

--name AppServer \

--query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \

--output tsv)"

DATASERVERIP="$(az vm list-ip-addresses \

--resource-group $rg \

--name DataServer \

--query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \

--output tsv)"

2. Ejecute el siguiente comando en Cloud Shell para conectarse a la máquina


virtual AppServer e intentar montar el recurso compartido de archivos de Azure:

BashCopiar

ssh -t azureuser@$APPSERVERIP \

"mkdir azureshare; \
sudo mount -t cifs //$STORAGEACCT.file.core.windows.net/erp-data-share azureshare \

-o
vers=3.0,username=$STORAGEACCT,password=$STORAGEKEY,dir_mode=0777,file_mode=0777
,sec=ntlmssp; findmnt \

-t cifs; exit; bash"

3. Escriba la contraseña que ha usado al crear la máquina virtual.

4. La respuesta debe incluir un mensaje mount error. Esta conexión no se permite porque
no hay ningún punto de conexión de servicio para la cuenta de almacenamiento en la
subred Applications.

5. Ejecute el siguiente comando en Cloud Shell para conectarse a la máquina


virtual DataServer e intentar montar el recurso compartido de archivos de Azure:

BashCopiar

ssh -t azureuser@$DATASERVERIP \

"mkdir azureshare; \

sudo mount -t cifs //$STORAGEACCT.file.core.windows.net/erp-data-share azureshare \

-o
vers=3.0,username=$STORAGEACCT,password=$STORAGEKEY,dir_mode=0777,file_mode=0777
,sec=ntlmssp;findmnt \

-t cifs; exit; bash"

6. Escriba la contraseña que ha usado al crear la máquina virtual.

7. El montaje debe ser correcto y la respuesta debe incluir los detalles del punto de
montaje. Esto se permite porque ha creado el punto de conexión de servicio para la
cuenta de almacenamiento en la subred Databases.

Mediante el punto de conexión de servicio de almacenamiento de la subred Databases ya ha


comprobado que DataServer puede acceder al almacenamiento. También ha comprobado
que AppServer no puede acceder al almacenamiento. El motivo es que este servidor está en
otra subred y no tiene acceso al punto de conexión de servicio de red virtual.

Resumen

Completado100 XP

 2 minutos

Se ha obtenido información sobre cómo aislar y proteger los recursos de red en Azure. Ahora
sabe cómo usar los grupos de seguridad de red para proteger redes virtuales y máquinas
virtuales mediante la creación de reglas para controlar el tráfico de red. También ha obtenido
información sobre cómo usar puntos de conexión de servicio de red virtual para controlar el
tráfico hacia servicios como Azure Storage y Azure SQL Database.
Ahora puede usar los grupos de seguridad de red y los puntos de conexión de servicio para
garantizar que el acceso de red a los servicios y las máquinas virtuales de Azure esté
correctamente protegido.

Más información

Para obtener más información sobre los grupos de seguridad de red, vea la introducción a
los grupos de seguridad. Para obtener más información sobre los puntos de conexión de
servicio de red virtual, vea la introducción a los puntos de conexión de servicio de red virtual.

BLOQUE 5

Introducción

Completado100 XP

 2 minutos

Su empresa tiene varias cargas de trabajo críticas de máquinas virtuales (VM) que se ejecutan
en Azure. Como arquitecto principal de la solución, se le ha pedido que garantice que la
empresa puede recuperar estas máquinas virtuales en caso de pérdida o daños en los datos. Se
le ha pedido que use las funciones integradas de Azure Backup para ayudar a proteger estas
máquinas virtuales.

Azure Backup es un servicio que permite realizar copias de seguridad de máquinas virtuales de
Azure, servidores locales, recursos compartidos de archivos de Azure y SQL Server o SAP HANA
que se ejecutan en máquinas virtuales de Azure, y otras cargas de trabajo de aplicaciones.

En este módulo, obtendrá información sobre Azure Backup. Y verá cómo puede usar Azure
Portal para realizar una copia de seguridad de una máquina y restaurarla.

Objetivos de aprendizaje

En este módulo, aprenderá a:

 Identificar los escenarios para los que Azure Backup proporciona funciones de copia de
seguridad y restauración

 Realizar una copia de seguridad y restaurar una máquina virtual de Azure

Requisitos previos

 Conocimientos básicos sobre máquinas virtuales de Azure

 Conocimientos básicos sobre almacenamiento de disco para máquinas virtuales

Nota

En este módulo, tendrá que usar una suscripción propia para completar los ejercicios
opcionales. Para estos ejercicios servirá una suscripción de prueba gratuita o una suscripción a
la que ya tenga acceso.
Características y escenarios de Azure Backup

Completado100 XP

 5 minutos

El plan de continuidad empresarial y recuperación ante desastres (BCDR) de su empresa


requiere una funcionalidad de copia de seguridad y restauración completa para todos los
servidores de alto riesgo. Se le ha pedido que habilite y pruebe la función de copia de
seguridad y restauración de estos recursos críticos de Windows y Linux.

En esta unidad, verá cómo funciona Azure Backup y estudiará algunos de los casos de uso que
admite este servicio.

¿Qué es Azure Backup?

Azure Backup es un servicio integrado de Azure que proporciona una copia de seguridad segura
para todos los recursos de datos administrados por Azure. Utiliza soluciones de infraestructura
cero para habilitar copias de seguridad y restauraciones de autoservicio, con administración a
escala a un costo más bajo y predecible. Actualmente, Azure Backup ofrece soluciones de copia
de seguridad especializadas para máquinas virtuales (VM) de Azure y locales. Azure Backup
también ofrece a las cargas de trabajo como SQL Server o SAP HANA que se ejecutan en VM de
Azure opciones de copia de seguridad y restauración de clase empresarial.

A diferencia de las soluciones de copia de seguridad tradicionales que pueden suponer un


esfuerzo de configuración considerable, Azure Backup se administra fácilmente a través de
Azure Portal.

Diferencias entre Azure Backup y Azure Site Recovery

Tanto Azure Backup como Azure Site Recovery tienen como objetivo que el sistema sea más
resistente a los errores. Sin embargo, aunque el objetivo principal de Backup es mantener
copias de los datos con estado que permitan retroceder en el tiempo, Site Recovery replica los
datos casi en tiempo real y permite una conmutación por error.

En ese sentido, si hay problemas de red o de interrupción de energía, puede usar zonas de
disponibilidad. Para un desastre en toda una región (por ejemplo, desastres naturales), se usa
Site Recovery. Las copias de seguridad se usan en casos de pérdida accidental de datos, daños
en los datos o ataques de ransomware.

Además, la elección de un enfoque de recuperación depende de la criticidad de la aplicación,


los requisitos de objetivo de punto de recuperación (RPO) y de objetivo de tiempo de
recuperación (RTO) y las implicaciones de costo.

¿Por qué usar Azure Backup?

Las soluciones de copia de seguridad tradicionales, como las de disco y cinta, no ofrecen el
máximo nivel de integración con soluciones basadas en la nube. Azure Backup tiene varias
ventajas en comparación con las soluciones de copia de seguridad más tradicionales:

Copia de seguridad de infraestructura cero: Azure Backup elimina la necesidad de


implementar y administrar cualquier infraestructura o almacenamiento de copia de seguridad,
lo que significa que no hay ninguna sobrecarga en el mantenimiento de los servidores de copia
de seguridad ni el escalado o reducción vertical del almacenamiento a medida que las
necesidades cambian.

Retención a largo plazo: Satisfaga las rigurosas necesidades de cumplimiento y auditoría


conservando las copias de seguridad durante muchos años, después de lo cual la funcionalidad
integrada de administración del ciclo de vida elimina automáticamente los puntos de
recuperación.

Seguridad: Azure Backup proporciona seguridad al entorno de copia de seguridad, tanto si los
datos están en tránsito como en reposo:

 Control de acceso basado en rol de Azure: RBAC permite repartir las tareas dentro del
equipo y conceder a los usuarios únicamente el nivel de acceso necesario para realizar
su trabajo.

 Cifrado de copias de seguridad: Los datos de copia de seguridad se cifran


automáticamente mediante claves administradas por Microsoft. De manera
alternativa, puede cifrar los datos de los que se ha realizado una copia de seguridad
mediante claves administradas por el cliente almacenadas en Azure Key Vault.

 No se requiere conectividad a Internet: Cuando se usan máquinas virtuales de Azure,


todas las transferencias de datos tienen lugar solo en la red troncal de Azure sin
necesidad de acceder a la red virtual. Por lo tanto, no se necesita acceso a direcciones
IP o FQDN.

 Eliminación temporal: con la eliminación temporal, los datos de copia de seguridad se


conservan durante 14 días adicionales, incluso después de la eliminación del elemento
de copia de seguridad. Esto protege contra a escenarios de eliminación accidental o
eliminación malintencionada, lo que permite la recuperación de esas copias de
seguridad sin pérdida de datos.

Azure Backup también ofrece la capacidad de realizar copias de seguridad de máquinas


virtuales cifradas con Azure Disk Encryption.

Alta disponibilidad: Azure Backup ofrece tres tipos de replicación:

 Almacenamiento con redundancia local (LRS): esta es la opción de menor costo, con
protección básica frente a errores de bastidor y unidades en servidores. Se recomienda
para escenarios no críticos.

 Almacenamiento con redundancia geográfica (GRS): esta opción intermedia tiene


funcionalidad de conmutación por error en una región secundaria. Se recomienda para
escenarios de copias de seguridad.

 Almacenamiento con redundancia de zona (ZRS): Esta opción protege contra errores de
nivel de centro de datos mediante la replicación de la cuenta de almacenamiento de
forma sincrónica en tres zonas de disponibilidad de Azure. Se recomienda para
escenarios de alta disponibilidad.

Supervisión y administración centralizadas: Azure Backup proporciona funcionalidades de


supervisión y alerta integradas en un almacén de Recovery Services. Estas funcionalidades
están disponibles sin ninguna infraestructura de administración adicional.

Escenarios que admite Azure Backup


Azure Backup admite los siguientes escenarios:

 Máquinas virtuales de Azure: copia de seguridad de máquinas virtuales de Azure con


Windows o Linux.
Azure Backup proporciona copias de seguridad independientes y aisladas para impedir
la destrucción accidental de los datos en las máquinas virtuales. Las copias de
seguridad se almacenan en un almacén de Recovery Services con administración
integrada de puntos de recuperación. La configuración y la escalabilidad son sencillas,
las copias de seguridad están optimizadas y puede restaurarlas fácilmente cuando sea
necesario.

 Local: copia de seguridad de archivos, carpetas y el estado del sistema mediante


el agente Microsoft Azure Recovery Services (MARS). También puede
usar Microsoft Azure Backup Server (MABS) o el servidor Data Protection Manager
(DPM) para proteger las máquinas virtuales locales (Hyper-V y VMware) y otras cargas
de trabajo locales.

 Recursos compartidos de Azure Files: Azure Files proporciona administración de


instantáneas por parte de Azure Backup.

 SQL Server en máquinas virtuales de Azure y bases de datos de SAP HANA en


máquinas virtuales de Azure: Azure Backup ofrece soluciones especializadas basadas
en secuencias para realizar copias de seguridad de SQL Server o SAP HANA que se
ejecutan en máquinas virtuales de Azure. Estas soluciones toman copias de seguridad
con reconocimiento de la carga de trabajo que admiten diversos tipos de copia de
seguridad, como copia de seguridad completa, diferencial y de registro, RPO de
15 minutos y recuperación a un momento dado.

Copia de seguridad de una máquina virtual de Azure con Azure Backup

Completado100 XP

 5 minutos

Quiere asegurarse de que los trabajos de copia de seguridad y restauración que implemente
ofrezcan una forma de recuperar los servidores de la empresa. Teniendo en cuenta este
requisito, le interesa investigar la mejor manera de implementar copias de seguridad para las
máquinas virtuales (VM).

Las máquinas virtuales hospedadas en Azure pueden aprovechar las ventajas de Azure Backup.
Puede realizar copias de seguridad y restaurar fácilmente máquinas sin necesidad de instalar
software adicional.

En esta unidad, explorará todos los métodos de copia de seguridad de máquinas virtuales de
Azure que proporciona Azure Backup y tomará una decisión sobre cuál implementar.

Se realiza una copia de seguridad de las máquinas virtuales de Azure tomando instantáneas de
los discos subyacentes a intervalos definidos por el usuario y transfiriendo esas instantáneas al
almacén de Recovery Services según la directiva definida por el cliente.
Almacén de Recovery Services

Azure Backup usa un almacén de Recovery Services para administrar y almacenar los datos de
copia de seguridad. Un almacén es una entidad de administración del almacenamiento que
proporciona una experiencia sencilla para llevar a cabo y supervisar las operaciones de copia
de seguridad y restauración. Con Azure Backup, no es necesario preocuparse por la
implementación o administración de las cuentas de almacenamiento. De hecho, lo único que
necesita especificar es el almacén en el que desea realizar una copia de seguridad de la
máquina virtual. Los datos de la copia de seguridad se transfieren a las cuentas de
almacenamiento de Azure Backup (en un dominio de error independiente) en segundo plano.
El almacén también actúa como límite de RBAC para permitir el acceso seguro a los datos.
Instantáneas

Una instantánea es una copia de seguridad de todos los discos de la máquina virtual en un
momento dado. En el caso de las máquinas virtuales de Azure, Azure Backup usa extensiones
distintas para cada sistema operativo compatible:

Extensión SO Descripción

VMSnapshot Windows La extensión funciona con el Servicio de instantáneas de volumen (VSS) para realizar un
y en memoria.

VMSnapshotLinu Linux La instantánea es una copia del disco.


x

En función de cómo se tome la instantánea y lo que incluya, puede lograr diferentes niveles de
coherencia:

 Coherente con la aplicación

o La instantánea captura la máquina virtual en su conjunto. Usa escritores VSS


Writer para capturar el contenido de la memoria de la máquina y las
operaciones de E/S pendientes.

o En el caso de las máquinas Linux, tendrá que escribir scripts anteriores o


posteriores personalizados por aplicación para capturar el estado de la
aplicación.

o Puede obtener coherencia completa de la máquina virtual y de todas las


aplicaciones en ejecución.

 Coherente con el sistema de archivos

o Si se produce un error de VSS en Windows, o bien en los scripts anteriores y


posteriores de Linux, Azure Backup sigue creando una instantánea coherente
con el sistema de archivos.

o Durante una recuperación, no se produce ningún daño dentro de la máquina.


Pero las aplicaciones instaladas tendrán que realizar su propia limpieza durante
el inicio para que sean coherentes.

 Coherente frente a bloqueos

o Este nivel de coherencia se produce normalmente si la máquina virtual se


apaga en el momento de la copia de seguridad.

o Durante este tipo de copia de seguridad, no se capturan las operaciones de E/S


ni el contenido de la memoria. Este método no garantiza la coherencia de los
datos para el sistema operativo o la aplicación.

Directiva de copia de seguridad

Puede definir la frecuencia de las copias de seguridad y la duración de la retención de las


copias de seguridad. Actualmente, la copia de seguridad de máquinas virtuales se puede
desencadenar diaria o semanalmente y se puede almacenar durante varios años. La directiva
de copia de seguridad admite dos niveles de acceso: nivel de instantánea y nivel de almacén.
Nivel de instantánea: Todas las instantáneas se almacenan localmente durante un período
máximo de cinco días. Esto se conoce como el nivel de instantánea. En todas las operaciones
de restauración, se recomienda realizar la operación a partir de las instantáneas, ya que es más
rápido hacerlo. Esta funcionalidad se denomina Restauración instantánea.

Nivel de almacén: Además, todas las instantáneas se transfieren al almacén para obtener más
seguridad y una retención más larga. En este momento, el tipo de punto de recuperación
cambia a “instantánea y almacén”.

Proceso de copia de seguridad de una máquina virtual de Azure

Aquí se muestra cómo Azure Backup completa una copia de seguridad de las máquinas
virtuales de Azure:

1. En el caso de las máquinas virtuales de Azure seleccionadas para la copia de seguridad,


Azure Backup inicia un trabajo de copia de seguridad según la frecuencia de copia de
seguridad que especifique en la directiva de copia de seguridad.

2. Durante la primera copia de seguridad, se instala una extensión de copia de seguridad


en la máquina virtual, si esta está en ejecución:

 En el caso de las máquinas virtuales Windows, se instala la extensión


VMSnapshot.

 En el caso de las máquinas virtuales Linux, se instala la extensión


VMSnapshotLinux.

3. Una vez que se toma la instantánea, se almacena localmente y se transfiere al almacén.

 La copia de seguridad se optimiza al hacer una copia de seguridad de cada


disco de VM en paralelo.

 Para cada disco del que se hace una copia de seguridad, Azure Backup lee los
bloques en el disco e identifica y transfiere solo los bloques de datos que han
cambiado (delta) desde la copia de seguridad anterior.

 Es posible que los datos de las instantáneas no se copien inmediatamente en el


almacén. Puede tardar varias horas en momentos de máxima actividad. El
tiempo total de copia de seguridad de una máquina virtual es inferior a
24 horas para las directivas de copia de seguridad diaria.
Además, puede habilitar el cifrado del almacén con las claves administradas por el cliente
(CMK).

Ejercicio: Realización de una copia de seguridad de una máquina virtual de Azure

Completado100 XP

 10 minutos

En la empresa, se ejecuta una combinación de cargas de trabajo de Windows y Linux. Se le ha


pedido que demuestre que Azure Backup es una buena opción para ambos tipos de máquinas
virtuales (VM). Mediante una combinación de la CLI de Azure y Azure Portal, podrá proteger
ambos tipos de máquinas virtuales con Azure Backup.

Azure Backup se puede habilitar rápidamente para las máquinas virtuales en Azure. Puede
habilitar Azure Backup desde el portal, la CLI de Azure o mediante comandos de PowerShell.

En este ejercicio, creará una máquina virtual y configurará e iniciará una copia de seguridad.

Nota

Este ejercicio es opcional. Si no tiene una cuenta de Azure, puede leer las instrucciones para
saber cómo se realiza una copia de seguridad de máquinas virtuales mediante Azure Backup. Si
quiere completar este ejercicio pero no tiene una suscripción de Azure o prefiere no usar una
cuenta propia, cree una cuenta gratuita antes de empezar.

Creación de una copia de seguridad de máquinas virtuales de Azure

Configuración del entorno

1. Inicie sesión en Azure Portal y seleccione el icono para abrir Azure Cloud Shell.
2. Cree un grupo de recursos en el que se incluirán todos los recursos necesarios para
este ejercicio.

Azure CLICopiar

RGROUP=$(az group create --name vmbackups --location westus2 --output tsv --query name)

3. Use Cloud Shell para crear la red virtual NorthwindInternal y la


subred NorthwindInternal1.

Azure CLICopiar

az network vnet create \

--resource-group $RGROUP \

--name NorthwindInternal \

--address-prefixes 10.0.0.0/16 \

--subnet-name NorthwindInternal1 \

--subnet-prefixes 10.0.0.0/24

Creación de una máquina virtual Windows mediante la CLI de Azure

Use el comando siguiente para crear la máquina virtual NW-APP01.


Reemplace <password> con una contraseña de su elección, entre comillas dobles. Por
ejemplo, --admin-password "PassWord123!".

Azure CLICopiar

az vm create \

--resource-group $RGROUP \

--name NW-APP01 \

--size Standard_DS1_v2 \

--public-ip-sku Standard \

--vnet-name NorthwindInternal \

--subnet NorthwindInternal1 \

--image Win2016Datacenter \

--admin-username admin123 \

--no-wait \

--admin-password <password>

Creación de una máquina virtual Linux mediante la CLI de Azure

Use el comando siguiente para crear la máquina virtual NW-RHEL01.

Azure CLICopiar
az vm create \

--resource-group $RGROUP \

--name NW-RHEL01 \

--size Standard_DS1_v2 \

--image RedHat:RHEL:7-RAW:latest \

--authentication-type ssh \

--generate-ssh-keys \

--vnet-name NorthwindInternal \

--subnet NorthwindInternal1

Este comando puede tardar unos minutos en completarse. Espere a que finalice antes de
continuar con el siguiente paso.

Habilitación de la copia de seguridad de una máquina virtual mediante Azure Portal

1. En Azure Portal, busque y seleccione Máquinas virtuales.

Se mostrará el panel Máquinas virtuales.

2. En la lista, seleccione la máquina virtual NW-RHEL01 que se ha creado.


Se abre el panel de la máquina virtual NW-RHEL01.

3. En el panel de menú central, desplácese hacia abajo hasta Operaciones y


seleccione Copia de seguridad. Se abre el panel Copia de seguridad de la máquina
virtual NW-RHEL01.

4. En la sección Resumen, asegúrese de que existe la siguiente información para crear


una copia de seguridad.

 Almacén de Recovery Services: azure-backup como nombre.

 Directiva de copia de seguridad: DailyPolicy-xxxxxxxx, que crea una copia de


seguridad diaria a las 12:00 UTC, con un intervalo de retención de 180 días.
5. Para realizar la primera copia de seguridad de este servidor, en la barra de menús
superior, seleccione Hacer copia de seguridad ahora.

Aparece el panel Realizar copia de seguridad ahora de NW-RHEL01.

6. Seleccione Aceptar.

Habilitación de una copia de seguridad mediante la CLI de Azure

1. Con Cloud Shell, habilite una copia de seguridad para la máquina virtual NW-APP01.

Azure CLICopiar

az backup protection enable-for-vm \

--resource-group vmbackups \

--vault-name azure-backup \

--vm NW-APP01 \

--policy-name DefaultPolicy

2. Supervise el progreso de la instalación mediante la CLI de Azure.

Azure CLICopiar
az backup job list \

--resource-group vmbackups \

--vault-name azure-backup \

--output table

Siga ejecutando el comando anterior hasta que vea que ConfigureBackup se ha completado.

ResultadosCopiar

Name Operation Status Item Name Start Time UTC


Duration

------------------------------------ --------------- ---------- ----------- -------------------------------- --------------

a3df79b4-be4f-4cc9-8b2c-a5ead44a6a12 ConfigureBackup Completed NW-APP01 2019-


08-01T06:19:12.101048+00:00 0:00:31.305975

5e1531a9-8b3d-4983-a642-86ee982f7036 Backup InProgress NW-RHEL01 2019-08-


01T06:18:35.955118+00:00 0:01:22.734182

860d4dca-9603-4a4e-9f3b-93f242a0a64d ConfigureBackup Completed NW-RHEL01 2019-


08-01T06:13:33.860598+00:00 0:00:31.256773

3. Realice una copia de seguridad inicial de la máquina virtual, en lugar de esperar a que
la programación la ejecute.

Azure CLICopiar

az backup protection backup-now \

--resource-group vmbackups \

--vault-name azure-backup \

--container-name NW-APP01 \

--item-name NW-APP01 \

--retain-until 18-10-2030 \

--backup-management-type AzureIaasVM

No es necesario esperar a que se complete la copia de seguridad, ya que más adelante verá
cómo supervisar el progreso en el portal.

Supervisión de copias de seguridad en el portal

Vista del estado de una copia de seguridad de una sola máquina virtual

1. En el menú de Azure Portal o en la página Inicio, seleccione Todos los recursos.

2. Escriba Máquinas virtuales en el campo de búsqueda de la parte superior de la página


y seleccione Máquinas virtuales en los resultados.

3. Seleccione la máquina virtual NW-APP01. Aparece el panel de la máquina virtual NW-


APP01.
4. En el panel de menú central, desplácese hasta Operaciones y seleccione Copia de
seguridad. Aparece el panel Copia de seguridad para la máquina virtual NW-APP01.

En la sección Estado de copia de seguridad, el campo Estado de la última copia de


seguridad muestra el estado actual de la copia de seguridad.

Vista del estado de copias de seguridad en el almacén de Recovery Services

1. En el menú de Azure Portal o en la página Inicio, seleccione Todos los recursos.

2. Ordene la lista por Tipo y, después, seleccione el almacén de Recovery Services azure-
backup. Se abre el panel del almacén de Recovery Services azure-backup.

3. En el panel Información general, seleccione la pestaña Copia de seguridad interior


para ver un resumen de todos los elementos de copia de seguridad, el
almacenamiento que se usa y el estado actual de los trabajos de copia de seguridad.
Restauración de datos de la máquina virtual

Completado200 XP

 5 minutos

Las empresas que tienen un plan de continuidad empresarial y recuperación ante desastres
(BCDR) normalmente programan series de pruebas para garantizar que la empresa se pueda
recuperar correctamente frente a posibles desastres. Ahora que ha hecho correctamente una
copia de seguridad de las máquinas virtuales, desea explorar las opciones disponibles para
restaurarlas como parte de la prueba de BCDR.
En esta unidad, obtendrá información sobre las opciones para restaurar una máquina virtual de
Azure a partir de una copia de seguridad anterior.

Tipos de restauración

Azure Backup proporciona muchas maneras de restaurar una máquina virtual. Como se explicó
anteriormente, puede realizar una restauración instantánea desde el nivel de instantánea
(solución óptima para recuperaciones operativas) o desde el nivel de almacén.

Opción de Detalles
restauración

Crear una máquina Crea y pone en funcionamiento rápidamente una máquina virtual básica a partir de un punto d
virtual máquina virtual debe crearse en la misma región que la máquina virtual de origen.

Restaurar disco Restaura un disco de máquina virtual, que luego se puede usar para crear una máquina virtual.
grupo de recursos que especifique. Azure Backup proporciona una plantilla para ayudar a perso
máquina virtual. Como alternativa, puede asociar el disco a una máquina virtual existente o cre
virtual.

Esta opción es útil si desea personalizar la máquina virtual, agregar la configuración que no exis
copia de seguridad o agregar valores que deben configurarse mediante la plantilla o PowerShe

Reemplazar el Puede restaurar un disco y usarlo para reemplazarlo en la máquina virtual existente. Azure Bac
existente la máquina virtual existente antes de reemplazar el disco y la almacena en la ubicación de alma
especifique. Los discos existentes conectados a la máquina virtual se reemplazan por el punto d
La máquina virtual actual debe existir. Si se ha eliminado, esta opción no se puede usar.

Entre regiones La restauración entre regiones puede usarse para restaurar máquinas virtuales de Azure en la r
(región secundaria) región emparejada de Azure.
Esta característica está disponible para las opciones siguientes:

 Crear una máquina virtual

 Restaurar discos
Actualmente no se admite la opción de reemplazo de discos existentes.

Recuperación de archivos a partir de una copia de seguridad

También puede recuperar archivos individuales desde un punto de recuperación montando la


instantánea en el equipo de destino mediante el iniciador iSCSI de la máquina. Para obtener
más información, consulte Recuperación de archivos de la copia de seguridad de máquinas
virtuales de Azure.

Restauración de una máquina virtual cifrada

Azure Backup admite la copia de seguridad y restauración de máquinas cifradas mediante


Azure Disk Encryption. Disk Encryption funciona con Azure Key Vault para administrar los
secretos relevantes que están asociados con el disco cifrado. Para obtener una capa de
seguridad adicional, puede usar claves de cifrado de almacén de claves (KEK) para cifrar los
secretos antes de que se escriban en el almacén de claves.

Al restaurar máquinas virtuales cifradas, se aplican ciertas limitaciones:


 Azure Backup solo admite el cifrado de claves independiente. Actualmente no se
admiten las claves que formen parte de un certificado.

 Las restauraciones a nivel de archivo o carpeta no son compatibles con máquinas


virtuales cifradas. Para restaurar a ese nivel de granularidad, se debe restaurar toda la
máquina virtual. Después, el archivo o las carpetas se pueden copiar manualmente.

 La opción Reemplazar la máquina virtual existente no está disponible para las


máquinas virtuales cifradas.

Ejercicio: Restauración de datos de máquinas virtuales de Azure

Completado100 XP

 6 minutos

Unos días después de realizar la copia de seguridad de la primera máquina virtual (VM) de
Azure, el servidor ha tenido problemas. La máquina virtual debe restaurarse a partir de una
copia de seguridad. Quiere restaurar el disco de la máquina virtual y adjuntarlo al servidor
activo problemático y, después, realizar el seguimiento de la restauración para asegurarse de
que se ha completado correctamente.

En este ejercicio, se verá cómo restaurar una copia de seguridad correcta para reemplazar una
máquina virtual que se ha dañado y cómo supervisar su progreso.

Restauración de una máquina virtual en Azure Portal

Creación de una cuenta de almacenamiento para usarla como ubicación de almacenamiento


provisional

1. Si cerró Azure, inicie sesión en Azure Portal con la misma cuenta que ha usado en el
ejercicio anterior.

2. En Azure Portal, escriba cuentas de almacenamiento en la barra de búsqueda superior


y selecciónela.
Aparecerá el panel Cuenta de almacenamiento.

3. En la barra de menús, seleccione Crear. Aparece el panel Crear una cuenta de


almacenamiento.

4. En la pestaña Aspectos básicos, escriba los siguientes valores para cada opción para
crear una cuenta de almacenamiento.

Configuración Value

Resource group En la lista desplegable, seleccione vmbackups.

Detalles de instancia

Nombre de la cuenta de Escriba un nombre único como restorestagingYYYYMMDD, do


almacenamiento fecha de hoy.

Región En la lista desplegable, seleccione (EE. UU.) Oeste de EE. UU. 2


5.

6. Seleccione Revisar + crear.

7. Una vez pasada la validación, seleccione Crear.

Espere a que se implemente la cuenta de almacenamiento.

Detención de la máquina virtual para permitir la restauración


No se puede restaurar una copia de seguridad si la máquina virtual está asignada y en
ejecución. Si olvida detener la máquina virtual y trata de restaurarla, verá un error similar al del
siguiente ejemplo.

Para evitar este error, siga estos pasos:

1. En la esquina superior izquierda de Azure Portal, seleccione Inicio, Máquinas


virtuales y, por último, NW-APP01.
Aparece el panel de la máquina virtual NW-APP01.

2. En la barra de menús, seleccione Detener.

3. En el cuadro de diálogo Detener esta máquina virtual, seleccione Aceptar.


Restauración de la máquina virtual

Los almacenes de Recovery Services son accesibles en el nivel de suscripción. Cuando vea la
máquina virtual, Azure proporciona un vínculo rápido al almacén específico en Operaciones.

1. En el panel de menús, desplácese hasta Operaciones y seleccione Copia de seguridad.


2. Para restaurar la máquina virtual, en la barra de menús, seleccione Restaurar máquina
virtual. Se abre el panel Restaurar máquina virtual para NW-APP01.

3. En el cuadro de texto Punto de restauración, elija Seleccionar. Aparece el


panel Seleccionar punto de restauración.

4. Las fechas de inicio y finalización están establecidas de manera predeterminada en un


intervalo de dos semanas. Establezca Fecha de inicio en una fecha adecuada para
nuestros puntos de restauración (07/05/2021), seleccione el punto de restauración
que se usará para la recuperación y, después, seleccione Aceptar.
Se abre el panel Restaurar máquina virtual para NW-APP01.

5. Configure el punto de restauración con los siguientes valores de cada configuración.

Setting Value

Restaurar configuración

Reemplazar el existente Seleccione esta opción.


Setting Value

Ubicación de almacenamiento provisional En la lista desplegable, seleccione la cuenta de almacen

6.

7. Seleccione Restaurar. Aparece el panel Copia de seguridad para la máquina


virtual NW-APP01. Fíjese en las notificaciones de la parte superior derecha de la barra
de herramientas. La notificación más reciente muestra Desencadenando la
restauración de NW-APP01.

Seguimiento de una restauración

1. En la sección Alertas y trabajos, seleccione Ver todos los trabajos. Aparece el


panel Trabajos de copia de seguridad.

2. En la columna Detalles, seleccione Ver detalles del trabajo de restauración.


Se abre el panel Restauración para NW-APP01.

3. El progreso de restauración de la máquina virtual se puede supervisar:

 Detalles del trabajo: detalles del trabajo de restauración que se ha iniciado


para esta máquina virtual.

 Estado del trabajo: progreso en tiempo real del trabajo de restauración.

 Subtareas: nombre y estado de las tareas dentro del trabajo.


Resumen

Completado100 XP

 2 minutos

En este módulo, ha aprendido la importancia de tener una estrategia de copia de seguridad y


recuperación probada para su organización. Ha obtenido información sobre los diferentes tipos
de copias de seguridad de Azure y las razones por las que elegiría un tipo de copia de seguridad
en lugar de otro, en función de su escenario.
Ha visto que puede hacer copias de seguridad de máquinas virtuales de Azure o de máquinas
locales. Además, ha aprendido a realizar una copia de seguridad de una máquina virtual de
Azure. Después, la ha restaurado con las distintas opciones disponibles y ha podido supervisar
el progreso.

Ahora puede usar Azure Backup para ayudar a proteger el entorno contra la pérdida de datos o
daños en el disco. Puede restaurar los servicios de acuerdo a su plan de recuperación ante
desastres y continuidad empresarial.

Importante

En este módulo, ha creado recursos mediante su suscripción de Azure. Quiere limpiar estos
recursos para que no se le siga cobrando por ellos. Puede eliminar los recursos de forma
individual o eliminar el grupo de recursos para eliminar todo el conjunto de recursos.

Más información

Para obtener más información sobre Azure Backup, vea los artículos siguientes:

 Precios y disponibilidad de Azure Backup más recientes

 Documentación del servicio Azure Backup

 Matriz de compatibilidad para copia de seguridad de máquinas virtuales de Azure

 Características de seguridad de Azure Backup

 Funcionalidades de supervisión y alerta integradas

 Azure Files: administración de instantáneas por parte de Azure Backup

 Copia de seguridad de bases de datos de SQL Server que se ejecutan en máquinas


virtuales de Azure

 Copia de seguridad de bases de datos de SAP HANA que se ejecutan en máquinas


virtuales de Azure

 Azure Data Protection Manager (DPM) y Azure Backup Server (MABS)

BLOQUE 6

Introducción

Completado100 XP

 1 minuto

La administración de máquinas virtuales a escala puede resultar complicada, especialmente


cuando los patrones de uso varían y la demanda en las aplicaciones fluctúa. Los arquitectos de
Azure deben poder ajustar sus recursos de máquina virtual para que cumplan con las
demandas cambiantes. Al mismo tiempo, quieren mantener la coherencia de la configuración
de las máquinas virtuales para garantizar la estabilidad de las aplicaciones. Lograr estos
objetivos significa mantener el rendimiento y la capacidad de respuesta, a la vez que se
minimizan los costos de la ejecución continua de un gran número de máquinas virtuales.
En este módulo, el sitio web de la empresa usa máquinas virtuales y administra cargas de
trabajo de gran tamaño. El departamento de TI quiere asegurarse de que las máquinas
virtuales se puedan ajustar dinámicamente a los aumentos y reducciones de las cargas de
trabajo. También quieren asegurarse de que hay un plan de continuidad empresarial para
proporcionar máquinas de alta disponibilidad. Usted es responsable de implementar las
máquinas virtuales de alta disponibilidad. Decidió usar Azure Virtual Machine Scale Sets y la
característica de escalabilidad automática.

Objetivos de aprendizaje

En este módulo aprenderá a:

 Implementar conjuntos de disponibilidad y zonas de disponibilidad

 Implementar dominios de error y actualización

 Implemente Azure Virtual Machine Scale Sets.

 Escalar automáticamente máquinas virtuales

Aptitudes evaluadas

El contenido del módulo le ayuda a prepararse para el examen AZ-104: Administrador de


Microsoft Azure. Los conceptos del módulo tratan los siguientes aspectos:

Implementación y administración de recursos de procesos de Azure (20-25 %)

 Configuración de máquinas virtuales

o Configuración para alta disponibilidad

o Implementación y configuración de conjuntos de escalado

Prerrequisitos

Ninguno.

Planificación del mantenimiento y el tiempo de inactividad

Completado100 XP

 2 minutos

Los administradores de Azure deben estar preparados en caso de errores planeados y no


planeados. Vamos a explorar tres escenarios que pueden provocar que la máquina virtual de
Azure se vea afectada.

Aspectos que se deben conocer sobre el planeamiento del mantenimiento

Un plan de disponibilidad para máquinas virtuales de Azure debe incluir estrategias para el
mantenimiento de hardware no planeado, un tiempo de inactividad inesperado y el
mantenimiento planeado. Cuando revise los escenarios siguientes, piense en cómo estos
escenarios pueden afectar el sitio web de la empresa de ejemplo.
 Se produce un evento de mantenimiento de hardware no planeado cuando la
plataforma Azure predice que el hardware o cualquier componente de la plataforma
asociado a una máquina física está a punto de presentar un error. Cuando la
plataforma predice un error, emite un evento de mantenimiento de hardware no
planeado. Azure usa tecnología de migración en vivo para migrar las máquinas
virtuales del hardware en el que se producen errores a una máquina física en buen
estado. La migración en vivo es una operación de conservación de máquinas virtuales
que solo pausa la máquina virtual durante un breve período de tiempo, pero el
rendimiento se podría ver reducido antes o después del evento.

 El tiempo de inactividad inesperado ocurre cuando en el hardware o en la


infraestructura física de la máquina virtual se produce un error de manera imprevista.
El tiempo de inactividad inesperado puede incluir errores de la red local, errores de los
discos locales u otros errores de nivel de bastidor. Cuando se detecta, la plataforma
Azure migra (recupera) automáticamente la máquina virtual a una máquina física en
buen estado en el mismo centro de datos. Durante el procedimiento de recuperación,
las máquinas virtuales experimentan tiempos de inactividad (reinicio) y, en algunos
casos, pérdidas de la unidad temporal.

 Los eventos de mantenimiento planeado son actualizaciones periódicas que realiza


Microsoft en la plataforma Azure subyacente para mejorar en general la fiabilidad, el
rendimiento y la seguridad de la infraestructura de la plataforma sobre las que se
ejecutan las máquinas virtuales. La mayoría de estas actualizaciones se realizan sin que
las máquinas virtuales ni los servicios en la nube resulten afectados.

Nota

Microsoft no actualiza automáticamente el sistema operativo de la máquina virtual ni ningún


otro software. El usuario tiene el control total y la responsabilidad plena de realizar estas
actualizaciones. Pero el host de software y el hardware subyacentes se revisan periódicamente
para garantizar la fiabilidad y el alto rendimiento.

Creación de conjuntos de disponibilidad

Completado100 XP

 2 minutos

Un conjunto de disponibilidad es una característica lógica que puede usar para asegurarse de
que un grupo de máquinas virtuales relacionadas se implementen juntas. Esta agrupación
permite evitar que un único punto de error afecte a todas las máquinas. Agrupar las máquinas
virtuales garantiza que no todas se actualicen al mismo tiempo durante una actualización del
sistema operativo host en el centro de datos.

Aspectos que conviene saber sobre los conjuntos de disponibilidad

Vamos a revisar algunas características de los conjuntos de disponibilidad.


 Todas las máquinas virtuales de un conjunto de disponibilidad deben realizar el
conjunto idéntico de funcionalidades.

 Todas las máquinas virtuales de un conjunto de disponibilidad deben tener instalado el


mismo software.

 Azure garantiza que las máquinas virtuales de un conjunto de disponibilidad se


ejecuten en varios servidores físicos, grupos de proceso, unidades de almacenamiento
y conmutadores de red.

Si se produce un error de hardware o software de Azure, solo se ve afectado un subconjunto de


las máquinas virtuales del conjunto de disponibilidad. La aplicación permanece al día y sigue
estando disponible para los clientes.

 Puede crear una máquina virtual y un conjunto de disponibilidad al mismo tiempo.

Una máquina virtual solo se puede agregar a un conjunto de disponibilidad cuando se crea la
máquina virtual. Para cambiar el conjunto de disponibilidad de una máquina virtual, debe
eliminar la máquina y volver a crearla.

 Puede crear conjuntos de disponibilidad mediante Azure Portal, plantillas de Azure


Resource Manager (ARM), scripting o herramientas de API.

 Microsoft proporciona Acuerdos de Nivel de Servicio (SLA) sólidos para máquinas


virtuales y conjuntos de disponibilidad de Azure. Para información más detallada,
consulte SLA para Azure Virtual Machines.

Nota

Agregar las máquinas virtuales a un conjunto de disponibilidad no protegerá las aplicaciones


contra errores del sistema operativo ni específicos de las aplicaciones. Deberá explorar otras
técnicas de recuperación ante desastres y copia de seguridad para proporcionar protección en
el nivel de aplicación.

Aspectos que se deben tener en cuenta al usar conjuntos de disponibilidad

Los conjuntos de disponibilidad son una funcionalidad fundamental para compilar soluciones
en la nube confiables. Al planear conjuntos de disponibilidad, tenga en mente estos principios
generales:

 Considere la redundancia. Para alcanzar la redundancia en la configuración, coloque


varias máquinas virtuales en un conjunto de disponibilidad.

 Considere la posibilidad de separar las capas de aplicación. Cada capa de aplicación


que se ejerce en la configuración debe estar en un conjunto de disponibilidad
independiente. Esta separación ayuda a mitigar un único punto de error en todas las
máquinas.

 Tenga en cuenta el equilibrio de carga. Para lograr una alta disponibilidad y un gran
rendimiento de la red, cree un conjunto de disponibilidad de carga equilibrada
mediante Azure Load Balancer. Load Balancer distribuye el tráfico entrante entre
instancias de trabajo de servicios que se definen en el conjunto de disponibilidad de
carga equilibrada.
 Considere el uso de discos administrados. Puede usar discos administrados de Azure
con las máquinas virtuales de Azure en conjuntos de disponibilidad para el
almacenamiento en el nivel de bloque.

Revisión de dominios de actualización y dominios de error

Completado100 XP

 2 minutos

Azure Virtual Machine Availability Sets implementa dos conceptos de nodo para ayudar a Azure
a mantener la alta disponibilidad y la tolerancia a errores al implementar y actualizar
aplicaciones: dominios de actualización y dominios de error. Cada máquina virtual de un
conjunto de disponibilidad se coloca en un dominio de actualización y un dominio de error.

Aspectos que se deben conocer sobre los dominios de actualización

Un dominio de actualización es un grupo de nodos que se actualizan en conjunto durante el


proceso de actualización de un servicio (o lanzamiento). Un dominio de actualización permite a
Azure realizar actualizaciones incrementales o graduales en una implementación. Estas son
algunas otras características de los dominios de actualización.

 Cada dominio de actualización incluye un conjunto de máquinas virtuales y hardware


físico asociado que se puede actualizar y reiniciar al mismo tiempo.

 Durante el mantenimiento planeado solo se reinicia un dominio de actualización cada


vez.

 De manera predeterminada, hay cinco dominios de actualización (que el usuario no


puede configurar).

 Puede configurar hasta 20 dominios de actualización.

Aspectos que se deben conocer sobre los dominios de error

Un dominio de error es un grupo de nodos que representan una unidad física de error. Piense
en un dominio de error como nodos que pertenecen al mismo bastidor físico.

 Un dominio de error define un grupo de máquinas virtuales que comparten un


conjunto común de hardware (o conmutadores) que, a su vez, comparten un único
punto de error. Un ejemplo es un bastidor de servidor que recibe servicio de un
conjunto de conmutadores de alimentación o de red.

 Dos dominios de error trabajan en conjunto para mitigar los errores de hardware, las
interrupciones de red, las interrupciones de alimentación o las actualizaciones de
software.

Echemos un vistazo a un escenario con dos dominios de error que tienen dos máquinas
virtuales cada uno. Las máquinas virtuales de cada dominio de error están contenidas en
diferentes conjuntos de disponibilidad. El conjunto de disponibilidad web contiene dos
máquinas virtuales con una máquina de cada dominio de error. El conjunto de disponibilidad
SQL contiene dos máquinas virtuales con una máquina de cada dominio de error.

Revisión de zonas de disponibilidad

Completado100 XP

 2 minutos

Las zonas de disponibilidad son una oferta de alta disponibilidad que protege las aplicaciones y
datos de los errores del centro de datos. Una zona de disponibilidad de una región de Azure es
la combinación de un dominio de error y un dominio de actualización.

Piense en un escenario en el que se crean tres o más máquinas virtuales en tres zonas de una
región de Azure. Las máquinas virtuales se distribuyen eficazmente entre tres dominios de
error y tres dominios de actualización. La plataforma Azure reconoce esta distribución entre
dominios de actualización para asegurarse de que las máquinas virtuales de distintas zonas no
se actualicen al mismo tiempo.

Puede utilizar las zonas de disponibilidad para crear alta disponibilidad en la arquitectura de
sus aplicaciones si coloca sus recursos de proceso, almacenamiento, redes y datos en una zona
y los replica en otras.

Aspectos que conviene saber sobre las zonas de disponibilidad

Revise estas características de las zonas de disponibilidad.

 Las zonas de disponibilidad son ubicaciones físicas exclusivas dentro de una región de
Azure.

 Cada zona consta de uno o varios centros de datos equipados con alimentación,
refrigeración y redes independientes.
 Para garantizar la resistencia, hay un mínimo de tres zonas independientes en todas las
regiones habilitadas.

 La separación física de las zonas de disponibilidad dentro de una región protege las
aplicaciones y los datos frente a los errores del centro de datos.

 Los servicios con redundancia de zona replican las aplicaciones y los datos en zonas de
disponibilidad como protección ante los únicos puntos de error.

Aspectos que se deben tener en cuenta al usar zonas de disponibilidad

Los servicios de Azure que admiten zonas de disponibilidad se dividen en dos categorías.

Category Descripción E

Servicios de zona Los servicios de zona de Azure anclan cada recurso a una zona específica. -
-
A
-

Servicios con redundancia En el caso de los servicios de Azure con redundancia de zona, la plataforma se replica -
de zona automáticamente en todas las zonas. re
-

Sugerencia

Para lograr una continuidad empresarial integral en Azure, cree la arquitectura de aplicación
mediante la combinación de zonas de disponibilidad y pares de regiones de Azure.

Comparación entre el escalado vertical y horizontal

Completado100 XP

 2 minutos

Una configuración de máquina virtual sólida incluye compatibilidad con la escalabilidad. La


escalabilidad permite mejorar el rendimiento de una máquina virtual en proporción a la
disponibilidad de los recursos de hardware asociados. Una máquina virtual escalable puede
controlar los aumentos en las solicitudes sin afectar negativamente el tiempo de respuesta ni el
rendimiento. Para la mayoría de las operaciones de escalado, hay dos opciones de
implementación: vertical y horizontal.

Aspectos que hay que saber sobre el escalado vertical

El escalado vertical, también conocido como escalado y reducción vertical, implica aumentar o
disminuir el tamaño de la máquina virtual como respuesta a una carga de trabajo. El escalado
vertical hace que las máquinas virtuales sean más poderosas (escalado vertical) o menos
poderosas (reducción vertical).
Estos son algunos escenarios en los que puede ser ventajoso utilizar el escalado vertical:

 Si tiene un servicio basado en una máquina virtual infrautilizada (por ejemplo, los fines
de semana), puede usar el escalado vertical para disminuir el tamaño de la máquina
virtual y reducir los costos mensuales.

 Puede implementar el escalado vertical para aumentar el tamaño de la máquina virtual


a fin de responder ante una demanda mayor sin tener que crear máquinas virtuales
adicionales.

Aspectos que hay que saber sobre el escalado horizontal

El escalado horizontal, también denominado escalado horizontal y reducción horizontal, se usa


para ajustar el número de máquinas virtuales de la configuración a fin de responder a la carga
de trabajo cambiante. Al implementar el escalado horizontal, hay un aumento (escalado
horizontal) o una disminución (reducción horizontal) en el número de instancias de máquina
virtual.

Aspectos que se deben tener en cuenta al usar el escalado vertical y horizontal

Revise estas consideraciones respecto del escalado vertical y horizontal. Piense en qué
implementación podría necesitar para admitir el sitio web de la empresa.

 Tenga en cuenta las limitaciones. En términos generales, el escalado horizontal tiene


menos limitaciones que el vertical. Una implementación de escalado vertical depende
de la disponibilidad de hardware más grande, que alcanza rápidamente un límite
superior y puede variar según la región. El escalado vertical también suele requerir que
una máquina virtual se detenga y reinicie, lo que puede limitar temporalmente el
acceso a aplicaciones o datos.

 Tenga en cuenta la flexibilidad. Cuando se trabaja en la nube, el escalado horizontal


resulta más flexible. Una implementación de escalado horizontal permite ejecutar
potencialmente miles de máquinas virtuales para administrar los cambios en la carga
de trabajo y el rendimiento.

 Tenga en cuenta el reaprovisionamiento. El reaprovisionamiento es el proceso de


quitar una máquina virtual existente y reemplazarla por una nueva. Un plan de
disponibilidad sólido considera dónde es posible que se requiera el
reaprovisionamiento y los planes de interrupciones en el servicio. Si es posible que sea
necesario el reaprovisionamiento, determine si necesita mantener y migrar los datos a
la máquina nueva.

Implementación de Azure Virtual Machine Scale Sets

Completado100 XP

 2 minutos

Las instancias de Azure Virtual Machine Scale Sets son un recurso de Azure Compute que
puede utilizar para implementar y administrar un conjunto de máquinas virtuales idénticas. Al
implementar Virtual Machine Scale Sets y configurar todas las máquinas virtuales de la misma
manera, obtiene una escalabilidad automática verdadera. Virtual Machine Scale Sets aumenta
automáticamente el número de instancias de máquina virtual a medida que la demanda de la
aplicación aumenta, y reduce el número de instancias de máquina a medida que la demanda
disminuye.

Con Virtual Machine Scale Sets, no es necesario aprovisionar previamente las máquinas
virtuales. Esto facilita la creación de servicios a gran escala cuyo objetivo son las cargas de
trabajo en contenedores, de macroproceso y macrodatos. A medida que aumentan las cargas
de trabajo, se pueden agregar más instancias de máquina virtual. A medida que disminuyen las
cargas de trabajo, se pueden quitar instancias de máquina virtual. El proceso de agregar y
quitar máquinas puede ser manual, automatizado, o bien una combinación de ambos.

Aspectos que se deben saber sobre Azure Virtual Machine Scale Sets

Revise estas características de Azure Virtual Machine Scale Sets.

 Todas las instancias de máquina virtual se crean a partir de la misma imagen y


configuración del sistema operativo base. Este enfoque le permite administrar
fácilmente cientos de máquinas virtuales sin tareas adicionales de configuración o
administración de red.

 Virtual Machine Scale Sets admite el uso de Azure Load Balancer para la distribución de
tráfico de capa 4 básica y Azure Application Gateway para la distribución de tráfico
de capa 7 más avanzada, además de la terminación SSL.

 Puede usar Virtual Machine Scale Sets para ejecutar varias instancias de la aplicación.
Si una de las instancias de máquina virtual tiene un problema, los clientes siguen
accediendo a la aplicación a través de otra instancia de máquina virtual con una
interrupción mínima.
 La demanda de la aplicación por parte de los clientes puede cambiar a lo largo del día o
de la semana. A fin de satisfacer la demanda de los clientes, Virtual Machine Scale Sets
implementa la escalabilidad automática para aumentar y reducir automáticamente el
número de máquinas virtuales.

 Virtual Machine Scale Sets admite hasta 1000 instancias de máquina virtual. Si crea y
carga sus propias imágenes de máquina virtual personalizadas, el límite es de
600 instancias.

Creación de implementaciones de Virtual Machine Scale Sets

Completado100 XP

 2 minutos

Puede implementar Azure Virtual Machine Scale Sets en Azure Portal. Especifique el número
de máquinas virtuales y sus tamaños e indique las preferencias para usar instancias de Azure
Spot, discos administrados de Azure y directivas de asignación.

En Azure Portal, hay varias opciones que se deben configurar para crear una implementación
de Azure Virtual Machine Scale Sets.
 Modo de orquestación: elija cómo el conjunto de escalado administra las máquinas
virtuales. En modo de orquestación flexible, se crea y se agrega manualmente una
máquina virtual de cualquier configuración al conjunto de escalado. En modo de
orquestación uniforme, se define un modelo de máquina virtual y Azure generará
instancias idénticas basadas en ese modelo.

 Imagen: elija la aplicación o el sistema operativo base de la máquina virtual.

 Arquitectura de máquina virtual: Azure permite elegir máquinas virtuales basadas en


x64 o Arm64 para ejecutar las aplicaciones.

 Ejecución con descuento de Azure Spot: Azure Spot ofrece una tarifa con descuento
para la capacidad de Azure sin usar y no precios de pago por uso. Las cargas de trabajo
deben tolerar pérdidas de infraestructura, ya que Azure puede recuperar la capacidad.

 Tamaño: seleccione un tamaño de máquina virtual para admitir la carga de trabajo que
quiere ejecutar. El tamaño que elija determina factores tales como la capacidad de
almacenamiento, la memoria y la capacidad de procesamiento. Azure ofrece una
amplia variedad de tamaños para admitir muchos tipos de usos. Azure cobra un precio
por hora según el sistema operativo y el tamaño de la máquina virtual.

En la pestaña Opciones avanzadas, también puede seleccionar lo siguiente:

 Habilitar el escalado con más de 100 instancias: identifique la asignación de escalado


que prefiere. Si selecciona No, la implementación de Virtual Machine Scale Sets está
limitada a un grupo de selección de ubicación con una capacidad máxima de 100. Si
selecciona Sí, la implementación puede abarcar varios grupos de selección de
ubicación con capacidad de hasta 1000. Al seleccionar Sí, también se cambian las
características de disponibilidad de la implementación.

 Algoritmo de propagación: Microsoft recomienda asignar Propagación máxima para la


implementación. Este enfoque brinda una propagación óptima.

Implementación de la escalabilidad automática

Completado100 XP

 2 minutos

Una implementación de Azure Virtual Machine Scale Sets puede aumentar o disminuir
automáticamente el número de instancias de máquina virtual que ejecutan la aplicación. Este
proceso se denomina escalabilidad automática. La escalabilidad automática le permite escalar
dinámicamente la configuración a fin de satisfacer las cambiantes demandas de carga de
trabajo.

La escalabilidad automática minimiza el número de instancias de máquina virtual innecesarias


que ejecutan la aplicación cuando la demanda es baja. Los clientes siguen recibiendo un nivel
de rendimiento aceptable a medida que crece la demanda y se agregan automáticamente más
instancias de máquina virtual.

Aspectos que se deben tener en cuenta al usar la escalabilidad automática

Revise las consideraciones siguientes sobre la escalabilidad automática. Piense en cómo este
proceso puede ser una ventaja para la implementación del sitio web de la empresa.
 Considere la posibilidad de ajustar automáticamente la capacidad. Puede crear reglas
de escalabilidad automática que definan el rendimiento aceptable para una
experiencia positiva del cliente. Cuando se cumplen los umbrales definidos, las reglas
de escalabilidad automática actúan para ajustar la capacidad de la implementación de
Virtual Machine Scale Sets.

 Considere la escalabilidad horizontal. Si aumenta la demanda de la aplicación,


aumentará la carga en las instancias de máquina virtual de la implementación. Si el
aumento de la carga es continuado, en lugar de ser algo puntual, puede configurar
reglas de escalabilidad automática para aumentar el número de instancias de máquina
virtual en la implementación.

 Considere la reducción horizontal. La demanda de la aplicación puede reducirse por


las tardes o durante los fines de semana. Si la reducción de la carga es constante a lo
largo de un período, puede configurar reglas de escalabilidad automática a fin de
reducir el número de instancias de máquina virtual de la implementación. La acción de
reducción horizontal permite disminuir el costo de ejecutar la implementación de
Virtual Machine Scale Sets, ya que solo se ejecuta el número de instancias necesario
para satisfacer la demanda actual.

 Tenga en cuenta los eventos programados. Puede implementar la escalabilidad


automática y programar eventos para aumentar o reducir automáticamente la
capacidad de la implementación en momentos determinados.

 Tenga en cuenta la sobrecarga. Usar Azure Virtual Machine Scale Sets con la
escalabilidad automática reduce la sobrecarga de administración que implica
supervisar y optimizar el rendimiento de la aplicación.

Configuración de escalado automático

Completado100 XP

 2 minutos

Al crear una implementación de Azure Virtual Machine Scale Sets en Azure Portal, puede
habilitar la escalabilidad automática. Para lograr un rendimiento óptimo, debe definir un
número mínimo, máximo y predeterminado de instancias de máquina virtual que se usarán
durante el proceso de escalabilidad automática.

En Azure Portal, hay varias opciones que se deben configurar para implementar la escalabilidad
automática con Azure Virtual Machine Scale Sets.
Directiva de escalado: la escalabilidad manual mantiene un recuento fijo de instancias. La
escalabilidad automática personalizada escala la capacidad según cualquier programación, en
función de cualquier métrica.
 Número mínimo de VM: especifique el número mínimo de máquinas virtuales que
debe haber disponibles al aplicar la escalabilidad automática a la implementación de
Virtual Machine Scale Sets.

 Número máximo de VM: especifique el número máximo de máquinas virtuales que


puede haber disponibles al aplicar la escalabilidad automática a la implementación.

Escalado horizontal

 Umbral de CPU: especifique el umbral de porcentaje de uso de la CPU que va a


desencadenar la regla de escalabilidad horizontal automática.

 Duración en minutos: la duración en minutos es la cantidad de tiempo que el motor de


escalabilidad automática buscará las métricas. Por ejemplo, 10 minutos significa que,
cada vez que se ejecute la escalabilidad automática, se consultarán las métricas de los
últimos 10 minutos. Esta demora permite que las métricas se estabilicen e impide que
reaccionen a picos transitorios.

 Número de máquinas virtuales por las que incrementar: especifique el número de


máquinas virtuales que se van a agregar a la implementación de Virtual Machine Scale
Sets cuando se desencadene la regla de escalabilidad horizontal automática.

Reducción horizontal

 Umbral de CPU de reducción horizontal: especifique el umbral de porcentaje de uso


de la CPU que va a desencadenar la regla de reducción horizontal automática.

 Número de máquinas virtuales por las que disminuir: especifique el número de


máquinas virtuales que se van a quitar de la implementación cuando se desencadene
la regla de reducción horizontal automática.

Directiva de reducción horizontal: la característica de la directiva de reducción


horizontal proporciona a los usuarios una manera de configurar el orden en el que se reducen
horizontalmente las máquinas virtuales.

Simulación interactiva de laboratorio

Completado100 XP

 40 minutos

Escenario del laboratorio

La organización va a implementar máquinas virtuales en Azure. Como administrador de Azure,


debe hacer lo siguiente:

 Determinar las distintas opciones de proceso y almacenamiento de máquinas virtuales.

 Implementar Virtual Machine Scale Sets, incluidas las opciones de resistencia y


escalabilidad del almacenamiento.
 Explorar el uso de extensiones de script personalizado de máquina virtual de Azure
para configurar automáticamente las máquinas virtuales.

Diagrama de la arquitectura
Objetivos

 Tarea 1: Implementación de máquinas virtuales de Azure resistentes a zonas mediante


Azure Portal y una plantilla de Azure Resource Manager.

o Crear una máquina virtual en Azure Portal

o Revise la plantilla e implemente una segunda máquina virtual.

 Tarea 2: Configuración de máquinas virtuales de Azure mediante extensiones de


máquina virtual.

o Cree un contenedor de Blob Storage.

o Cargue un script de Azure PowerShell. Este script instalará el rol Servidor web
de Windows Server en una máquina virtual.

o Use la característica de extensión de script personalizado para ejecutar el script


en una máquina virtual. Exporte la plantilla.

o Configure la plantilla exportada para instalar el rol en otra máquina virtual.

 Tarea 3: Escalado de proceso y almacenamiento para máquinas virtuales de Azure. En


esta tarea, escalará el proceso de las máquinas virtuales de Azure cambiando su
tamaño y escalará su almacenamiento mediante la conexión y configuración de sus
discos de datos.

o Cambiar el tamaño de la máquina virtual.

o Cree y conecte un nuevo disco a la máquina virtual.

o Use Azure PowerShell para inicializar y particionar el nuevo disco.

o Personalice la plantilla para cambiar el tamaño de la máquina virtual y cambiar


la configuración del disco.

 Tarea 4: Registro de los proveedores de recursos Microsoft Insights y Microsoft Alerts


Management.

 Tarea 5: Implementación de conjuntos de escalado de máquinas virtuales de Azure con


resistencia de zona mediante Azure Portal.

o Use Azure Portal para crear un conjunto de escalado de máquinas virtuales.

o Configure la red virtual a fin de incluir una regla de entrada para permitir HTTP.

o Configure el equilibrio de carga y el escalado manual.

o Implemente el conjunto de escalado virtual.

 Tarea 6: Configuración de conjuntos de escalado de máquinas virtuales de Azure


mediante extensiones de máquina virtual.

o Cargue un script de Azure PowerShell para instalar el rol instalar servidor web
Windows Server.
o Ejecute el script en la máquina virtual mediante la característica de extensión
de script personalizado.

o Confirme que IIS ya está disponible en las máquinas virtuales.

 Tarea 7: Escalado de proceso y almacenamiento para conjuntos de escalado de


máquinas virtuales de Azure.

o Confirme que las máquinas virtuales del conjunto de escalado están en


regiones diferentes.

o Configure la escalabilidad automática en función de una métrica.

o Uso de Azure PowerShell para iniciar un bucle infinito que envíe las solicitudes
HTTP a los sitios web hospedados en las instancias de los conjuntos de
escalado de máquinas virtuales de Azure

o Compruebe que se ha aprovisionado un nuevo recurso.

Nota

Haga clic en la imagen en miniatura para iniciar la simulación de laboratorio. Cuando haya
terminado, asegúrese de volver a esta página para continuar con el aprendizaje.
Azure proporciona varias opciones de alta disponibilidad para máquinas virtuales. Puede lograr
una alta disponibilidad mediante conjuntos de disponibilidad, zonas de disponibilidad y Azure
Virtual Machine Scale Sets.

En este módulo, aprendió a configurar la disponibilidad de máquinas virtuales mediante


conjuntos de disponibilidad y zonas de disponibilidad con dominios de actualización y error.
Descubrió cómo escalar automáticamente máquinas virtuales y configurar el escalado vertical y
horizontal. Revisó cómo implementar Virtual Machine Scale Sets, incluidas las opciones de
resistencia y escalabilidad del almacenamiento. Exploró el uso de extensiones de script
personalizado de máquina virtual de Azure para configurar automáticamente las máquinas
virtuales.

Saber más

 Revise las opciones de disponibilidad para Azure Virtual Machines.

 Lea sobre la escalabilidad automática con Azure Virtual Machine Scale Sets.

 Implemente la aplicación en Azure Virtual Machine Scale Sets.

 Elija el número correcto de dominios de error para Azure Virtual Machine Scale Sets.

 Explore la extensión de script personalizado para máquinas virtuales Windows.

 Use la extensión de script personalizado de Azure, versión 2, con máquinas virtuales


Linux.

Más información con el aprendizaje autodirigido

 Compile una aplicación escalable con Azure Virtual Machine Scale Sets. Suscripción a
Azure obligatoria.

 Implemente la escala y alta disponibilidad con máquinas virtuales de Windows Server.

Más información con ejercicios prácticos opcionales

 Complete una introducción a las máquinas virtuales de Azure (espacio aislado).

BLOQUE 7

Introducción

Completado100 XP

 3 minutos

La transición de las cargas de trabajo a la nube conlleva algo más que mover servidores, sitios
web y datos. Las empresas deben pensar en cómo proteger esos recursos, identificar los
usuarios autorizados y asegurarse de que el acceso a los datos, los servicios creados y las
operaciones realizadas por esos usuarios son, todos ellos, factibles. La seguridad es un asunto
complicado que se plantea mal muy fácilmente, como pone de manifiesto la inmensa cantidad
de ataques a grandes empresas que vemos en las noticias.

Es necesario controlar el acceso de los usuarios a los datos de la empresa de forma


centralizada, proporcionar una identidad definitiva a cada usuario que una empresa usa para
cada servicio, y garantizar que los empleados y los proveedores tengan suficiente acceso para
realizar su trabajo. Cuando un empleado deja la empresa o el contrato de un proveedor
finaliza, más importante aún es asegurarse de quitar el acceso del que disfrutaban estos.

Azure intenta facilitar la solución de estos tipos de problemas con Microsoft Entra ID. Microsoft
Entra ID es el servicio de administración de acceso e identidades basado en la nube de
Microsoft que facilita el inicio de sesión único y la autenticación multifactor para ayudar a
proteger a los usuarios del 99,9 % de los ataques de ciberseguridad.

Objetivos de aprendizaje

Objetivos de este módulo:

 Obtenga información sobre la diferencia entre Microsoft Entra ID y Windows Server


Active Directory.

 Saber qué son los inquilinos, las suscripciones y los usuarios.

 Creación de una nueva instancia de Microsoft Entra ID.

 Agregar usuarios y grupos a una instancia de Microsoft Entra ID.

 Administración de roles en una instancia de Microsoft Entra ID.

 Obtenga información sobre cómo a crear una solución de identidad híbrida con
Microsoft Entra Connect.

Requisitos previos

 Conocimientos básicos de la identidad y el control de acceso basado en rol

 Experiencia en el uso de Azure Portal.

¿Qué es Microsoft Entra ID?

Completado200 XP

 10 minutos

Aunque comparten un nombre similar, Microsoft Entra ID no es una versión en la nube de


Windows Server Active Directory. Tampoco está pensada como una sustitución completa de
una instancia de Active Directory local. En su lugar, si ya usa un servidor de Windows AD, puede
conectarlo a Microsoft Entra ID para ampliar el directorio a Azure. Este método permite a los
usuarios utilizar las mismas credenciales para tener acceso a los recursos tanto locales y como
basados en la nube.
Un usuario también puede usar Microsoft Entra ID independientemente de Windows AD. Las
empresas más pequeñas pueden usar Microsoft Entra ID como único servicio de directorio para
controlar el acceso a sus aplicaciones y productos SaaS, como Microsoft 365, Salesforce y
Dropbox.

Nota

Tenga en cuenta que este método no proporciona un modelo administrativo completamente


centralizado (por ejemplo, los equipos locales de Windows se autenticarán con credenciales
locales). Los usuarios pueden escribir aplicaciones para usar Microsoft Entra ID y proporcionar
autenticación y autorización que un usuario administre en un solo lugar.

Directorios, suscripciones y usuarios

Microsoft ofrece hoy varias ofertas basadas en la nube, todas las cuales pueden usar Microsoft
Entra ID para identificar a los usuarios y controlar el acceso:

 Microsoft Azure

 Microsoft 365

 Microsoft Intune

 Microsoft Dynamics 365

Cuando una empresa u organización se suscribe para usar una de estas ofertas, se les asigna un
directorio de predeterminado, una instancia de Microsoft Entra ID. Este directorio contiene los
usuarios y grupos que accederán a cada uno de los servicios que la empresa ha comprado. Este
directorio predeterminado se conoce como inquilino. Un inquilino representa la organización y
el directorio predeterminado asignado.

La suscripción en Azure es al mismo tiempo una entidad de facturación y un límite de


seguridad. Los recursos, como las máquinas virtuales, los sitios web y las bases de datos, se
asocian con una sola suscripción. Cada suscripción tiene también un solo propietario de cuenta
responsable de los cargos en los que incurren los recursos de esa suscripción. Si su
organización quiere que la suscripción se facture a otra cuenta, se puede transferir la
suscripción. Una suscripción está asociada a un directorio de Microsoft Entra único. Varias
suscripciones pueden confiar en el mismo directorio, pero una suscripción confía solo en un
único directorio.

Puede agregar usuarios y grupos a varias suscripciones. Esto permite al usuario crear, controlar
y acceder a recursos en la suscripción. Al agregar un usuario a una suscripción, este debe
conocerse en el directorio asociado, tal y como se muestra en la siguiente imagen:

Si pertenece a varios directorios, puede cambiar el directorio actual en el que esté trabajando
con el botón Directorio + Suscripción del encabezado de Azure Portal.
También puede decidir cómo se selecciona el directorio predeterminado: por última visita o
por directorio específico. También puede establecer un filtro predeterminado de las
suscripciones que se muestran. Los filtros predeterminados resultan útiles si tiene acceso a
varias suscripciones, pero solo suelen funcionar en unas cuantas.

Crear un nuevo directorio

Una organización (inquilino) tiene un directorio predeterminado de Microsoft Entra asociado.


Sin embargo, los propietarios pueden crear más directorios para dar cabida a tareas de
desarrollo o pruebas, o bien porque quieren tener directorios independientes para
sincronizarlos con los bosques locales de Windows Server AD.

Importante

A continuación se muestran los pasos para crear un directorio, aunque esta opción no estará
disponible a menos que sea propietario de su cuenta de Azure. El espacio aislado de Azure no
permite crear nuevos directorios de Microsoft Entra.

1. Inicie sesión en Azure Portal.

2. En la página principal de Azure, en Servicios de Azure, seleccione Crear un recurso.

3. En el panel de menús de la izquierda, seleccione Identity (identidad) y, a continuación,


busque y seleccione Microsoft Entra ID.

4. Seleccione Crear.

5. Seleccione Microsoft Entra ID para el tipo de inquilino y, a continuación,


seleccione Next: Configuration (Siguiente: Configuración).

6. Escriba los valores siguientes para cada opción.

 Nombre de organización: escriba un nombre para el directorio que le ayude a


distinguirlo de los otros directorios. El directorio que se va a crear se usará en
producción; asígnele un nombre que los usuarios reconozcan como el nombre
de su organización. Si quiere, puede cambiar el nombre posteriormente.

 Nombre de dominio inicial: escriba un nombre de dominio asociado a su


organización. Azure generará un error de validación a menos que no se
conozca el dominio. El nombre de dominio predeterminado siempre tendrá el
sufijo .onmicrosoft.com. No se puede cambiar el dominio predeterminado. Si
decide hacerlo, puede agregar un dominio personalizado propiedad de su
organización para que los usuarios definidos puedan usar un correo electrónico
corporativo tradicional, como [email protected].

 País o región: seleccione el país o la región donde debe residir el directorio. El


país o región identificará la región y el centro de datos donde residirá la
instancia de Microsoft Entra; no se puede cambiar más adelante.

7. Seleccione Crear para crear el directorio. Se creará un directorio de nivel Gratis en el


que podrá agregar usuarios, crear roles, registrar aplicaciones y dispositivos, y
controlar las licencias.
Después de crear el directorio, seleccione Haga clic aquí para administrar el nuevo
inquilino para ir al panel Información general, que le permite controlar todos los aspectos del
directorio.

Vamos a explorar uno de los elementos principales con los que trabajará en Microsoft Entra
ID: usuarios.

Crear y administrar usuarios

Completado100 XP

 8 minutos

Cada usuario que necesita acceso a los recursos de Azure precisa una cuenta de usuario de
Azure. Una cuenta de usuario contiene toda la información necesaria para autenticar al usuario
durante el proceso de inicio de sesión. Una vez autenticado, Microsoft Entra ID crea un token
de acceso para autorizarle, determinar a qué recursos puede acceder y determinar lo que
puede hacer con esos recursos.

Puede usar el panel de Microsoft Entra ID en Azure Portal para trabajar con objetos de usuario.
Tenga en cuenta que solo se puede trabajar con un único directorio al mismo tiempo, pero
puede usar el panel Directorio + suscripción para cambiar de un directorio a otro. En la barra
de herramientas del panel también hay un botón Cambiar directorio que facilita el cambio a
otro directorio disponible.

Visualización de usuarios

Para ver los usuarios de Microsoft Entra, en el panel de menús izquierdo, en Administrar,
seleccione Usuarios. Aparece el panel Todos los usuarios. Dedique un minuto a acceder al
portal y ver los usuarios. Observe las columnas Tipo de usuario y Entidades, tal y como se
muestra en la captura de pantalla siguiente:

Normalmente, Microsoft Entra ID define a los usuarios de tres maneras:

 Identidades de nube: Estos usuarios solo existen en Microsoft Entra ID. Algunos
ejemplos son las cuentas de administrador y los usuarios que usted mismo administra.
El origen es Microsoft Entra ID o Microsoft Entra External ID si el usuario está definido
en otra instancia de Microsoft Entra, pero necesita acceso a los recursos de suscripción
controlados por este directorio. Cuando estas cuentas se quitan del directorio
principal, se eliminan.

 Identidades sincronizadas con Directory: estos usuarios existen en una instancia de


Active Directory local. Una actividad de sincronización que se produce
mediante Microsoft Entra Connect lleva estos usuarios a Azure. Su origen es Windows
Server AD.
 Usuarios invitados: estos usuarios se encuentran fuera de Azure. Algunos ejemplos son
las cuentas de otros proveedores de nube y cuentas de Microsoft, como una cuenta de
Xbox Live. Su origen es Usuario invitado. Este tipo de cuenta es útil cuando los
proveedores externos o los contratistas necesitan acceso a los recursos de Azure. Una
vez que se puede prescindir de ellos, la cuenta correspondiente y todo el acceso del
que disfrutan se puede quitar.

Agregar usuarios

Puede agregar identidades en la nube a Microsoft Entra ID de varias maneras:

 Mediante la sincronización de una instancia local de Windows Server Active Directory

 Uso de Azure Portal

 Uso de la línea de comandos

 Otras opciones

Sincronización de una instancia local de Windows Server Active Directory

Microsoft Entra Connect es un servicio independiente que permite sincronizar una instancia
tradicional de Active Directory con su instancia de Microsoft Entra. Así es como la mayoría de
los clientes empresariales agregan usuarios al directorio. La ventaja de este método es que los
usuarios pueden usar el inicio de sesión único (SSO) para acceder a los recursos tanto locales
como basados en la nube.

Mediante Azure Portal

Puede agregar nuevos usuarios manualmente a través de Azure Portal. Esta es la forma más
fácil de agregar un conjunto reducido de usuarios. Debe tener el rol Administrador de
usuarios para realizar esta función.

1. Para agregar un nuevo usuario a través de Azure Portal, en la barra de menús superior,
seleccione Nuevo usuario y, luego, Crear nuevo usuario.

2. Además de Nombre y Nombre de usuario, se puede agregar información de perfil


como, por ejemplo, Puesto y Departamento.

El comportamiento predeterminado es crear un usuario desde cero en la organización. El


usuario tendrá un nombre de usuario con el nombre de dominio predeterminado asignado al
directorio, como [email protected].

3. También puede invitar a un usuario a que acceda al directorio. En este caso, se envía
un correo electrónico a una dirección de correo electrónico conocida, tras lo cual una
cuenta se crea y se asocia a esa dirección de correo electrónico si el usuario acepta la
invitación.
El usuario invitado deberá crear una cuenta Microsoft (MSA) asociada si esa dirección de
correo electrónico específica no está asociada a una y la cuenta se agregará Microsoft Entra ID
como usuario invitado.

Mediante la línea de comandos

Si hay muchos usuarios que agregar, la mejor opción es usar una herramienta de línea de
comandos. Se puede ejecutar el comando New-AzureADUser de Azure PowerShell para agregar
usuarios basados en la nube.

PowerShellCopiar

# Create a password object

$PasswordProfile = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile

# Assign the password

$PasswordProfile.Password = "<Password>"

# Create the new user

New-AzureADUser -AccountEnabled $True -DisplayName "Abby Brown" -PasswordProfile


$PasswordProfile -MailNickName "AbbyB" -UserPrincipalName "[email protected]"

El comando devolverá el nuevo objeto de usuario que se creó.

ResultadosCopiar

ObjectId DisplayName UserPrincipalName UserType

-------- ----------- ----------------- --------

f36634c8-8a93-4909-9248-0845548bc515 Abby Brown [email protected] Member

Si prefiere una interfaz de la línea de comandos más estándar, puede usar la CLI de Azure:

Azure CLICopiar

az ad user create --display-name "Abby Brown" \

--password "<password>" \

--user-principal-name "[email protected]" \

--force-change-password-next-login true \

--mail-nickname "AbbyB"

Las herramientas de línea de comandos permiten agregar usuarios en bloque a través de


scripts. El método más común para ello consiste en usar un archivo de valores separados por
comas (CSV). Este archivo se puede crear manualmente o exportar desde un origen de datos
existente.

Si tiene previsto usar un archivo CSV, estos son algunos aspectos que hay que tener presentes:
 Convención de nomenclatura: establezca o implemente una convención de
nomenclatura para los nombres de usuarios, los nombres para mostrar y los alias. Por
ejemplo, un nombre de usuario podría consistir en el apellido, seguido de un punto (.)
y del nombre propio (por ejemplo, [email protected]).

 Contraseñas: implante una convención para la contraseña inicial de un usuario recién


creado. Determine la forma en que los nuevos usuarios recibirán sus contraseñas de
forma más segura. Un método muy habitual consiste en generar una contraseña
aleatoria y enviarla por correo electrónico al usuario nuevo o a su superior.

Para usar un archivo CSV con Azure PowerShell:

1. Use el comando Connect-AzureAD para crear una conexión de Azure PowerShell al


directorio. Conéctese con una cuenta de administrador que tenga privilegios en el
directorio.

2. Cree perfiles de contraseña para los nuevos usuarios. Las contraseñas de los usuarios
nuevos deben cumplir con las reglas de complejidad de contraseña que estableció para
el directorio.

3. Use Import-CSV para importar el archivo CSV. Debe especificar la ruta de acceso y el
nombre del archivo CSV.

4. Recorra los usuarios del archivo y cree los parámetros de usuario necesarios para cada
uno de ellos. Algunos parámetros de ejemplo son Nombre principal del usuario,
Nombre para mostrar, Nombre propio, Departamento y Puesto.

5. Ejecute el comando New-AzureADUser para crear cada usuario. Asegúrese de habilitar


cada cuenta.

Otras opciones

También puede agregar usuarios a Microsoft Entra ID mediante programación utilizando


Microsoft Graph API o mediante el Centro de administración de Microsoft 365 y la consola de
administración de Microsoft Intune si comparte el mismo directorio.

Creación y administración de grupos

Completado100 XP

 8 minutos

Un grupo de Microsoft Entra ayuda a organizar a los usuarios, lo que facilita la administración
de permisos. El uso de grupos permite al propietario del recurso (o al propietario del directorio
de Microsoft Entra), asignar un conjunto de permisos de acceso a todos los miembros del
grupo en lugar de tener que proporcionar los derechos uno a uno. Los grupos permiten definir
un límite de seguridad y, después, agregar y quitar usuarios concretos para concederles o
denegarles el acceso con una cantidad mínima de esfuerzo. Aún mejor, Microsoft Entra ID
admite la capacidad de definir la pertenencia en función de las reglas, como el departamento
en el que trabaja un usuario o el título de trabajo que tienen.
Microsoft Entra ID permite definir dos tipos diferentes de grupos.

1. Grupos de seguridad: son los más comunes y se usan para administrar el acceso de
miembros y del equipo a los recursos compartidos de un grupo de usuarios. Por
ejemplo, puede crear un grupo de seguridad relativo a una directiva de seguridad
específica. De esta forma, puede conceder una serie de permisos a todos los miembros
a la vez, en lugar de tener que agregarlos a cada miembro individualmente. Esta opción
requiere un administrador de Microsoft Entra.

2. Grupos de Microsoft 365: estos grupos brindan oportunidades de colaboración al


conceder acceso a los miembros a un buzón compartido, calendarios, archivos, un sitio
de SharePoint y mucho más. Esta opción también permite ofrecer acceso al grupo a
personas de fuera de la organización. Esta opción está disponible para los usuarios, así
como para los administradores.

Ver grupos disponibles

Puede ver todos los grupos seleccionando Grupos en la sección Administrar en el panel de
Microsoft Entra. Una nueva instalación de Microsoft Entra ID no tendrá ningún grupo definido.

Agregar grupos a Microsoft Entra ID

Las mismas opciones están disponibles para crear grupos en Microsoft Entra ID como vimos
con los usuarios. Azure Portal es la forma más fácil de crear grupos. Debe seleccionar el tipo de
grupo (Seguridad o Microsoft 365) y asignar un nombre de grupo único, una descripción y
un tipo de pertenencia.
El campo Tipo de pertenencia puede tener uno de tres valores:

1. Asignado (estático). El grupo contendrá los usuarios o grupos específicos que se hayan
seleccionado.

2. Usuario dinámico. Puede crear reglas basadas en peculiaridades para habilitar la


pertenencia dinámica basada en atributos de los grupos. así, por ejemplo, si el
departamento de un usuario es Ventas, ese usuario se asignará dinámicamente al
grupo Ventas.

Los grupos de seguridad se pueden usar con dispositivos o con usuarios, pero los grupos de
Office 365 solo pueden usarse con grupos de usuarios. Si el departamento del usuario cambia
en el futuro, dicho usuario se quitará del grupo automáticamente. Esta característica requiere
una licencia P1 de Microsoft Entra ID.

3. Dispositivo dinámico. Puede crear reglas basadas en peculiaridades para habilitar la


pertenencia dinámica basada en atributos de los grupos. Por ejemplo, si el dispositivo
de un usuario está asociado al departamento Servicio, ese dispositivo se asigna
dinámicamente al grupo Servicio.
Los grupos de seguridad se pueden usar con dispositivos o con usuarios, pero los grupos de
Office 365 solo pueden usarse con grupos de usuarios. Si la asociación del dispositivo con un
departamento determinado cambia en el futuro, se quita automáticamente del grupo. Esta
característica requiere una licencia P1 de Microsoft Entra ID.

Por último, puede seleccionar los propietarios del grupo que pueden administrar dicho grupo y
los miembros que van a pertenecer al grupo. Ambos pueden contener otros grupos, así como
usuarios individuales.

Creación de grupos mediante scripts

Azure PowerShell también puede servir para agregar un grupo mediante el comando New-
AzureADGroup, como se refleja aquí.

PowerShellCopiar

New-AzureADGroup -Description "Marketing" -DisplayName "Marketing" -MailEnabled $false -


SecurityEnabled $true -MailNickName "Marketing"

Cambio de la pertenencia de un grupo

Una vez creado el grupo, puede editar la pertenencia al grupo mediante la adición o
eliminación de usuarios (o grupos); para ello, hay que seleccionar el grupo y usar las opciones
de la sección Administrar.
Uso de roles para controlar el acceso a los recursos

Completado200 XP

 10 minutos

Roles integrados de recursos de Azure (uso de PowerShell)

Azure proporciona varios roles integrados para cubrir los escenarios de seguridad más
comunes. Para entender cómo funcionan los roles, vamos a examinar tres roles que son válidos
en cualquier tipo de recurso:

 Propietario, que tiene acceso total a todos los recursos, incluido el derecho a delegar
este acceso a otros.
 Colaborador, que puede crear y administrar todos los tipos de recursos de Azure, pero
no conceder acceso a otros.

 Lector, que puede ver los recursos existentes de Azure.

Definiciones de roles

Cada rol es un conjunto de propiedades definido en un archivo de notación de objetos


JavaScript (JSON). Esta definición de roles incluye un nombre, un identificador y
una descripción. También incluye los permisos que pueden concederse (Actions), los que no
(NotActions) y el ámbito del rol (por ejemplo, acceso de lectura).

Por ejemplo, el rol Propietario incluye todas las acciones, lo que se indica mediante un
asterisco (*); no se deniega ninguna acción, y se incluyen todos los ámbitos, lo cual se señala
mediante una barra diagonal (/).

Esta información se puede obtener mediante el cmdlet Get-AzRoleDefinition Owner de


PowerShell.

PowerShellCopiar

Get-AzRoleDefinition Owner

Este código debe generar la siguiente salida:

ResultadosCopiar

Name : Owner

Id : 8e3af657-a8ff-443c-a75c-2fe8c4bcb635

IsCustom : False

Description : Lets you manage everything, including access to resources.

Actions : {*}

NotActions : {}

DataActions : {}

NotDataActions : {}

AssignableScopes : {/}

Pruebe lo mismo con los roles Colaborador y Lector para ver las acciones permitidas y
denegadas.

Examen de los roles integrados

Ahora, vamos a explorar algunos otros roles integrados.

1. Abra Azure Portal.

2. En la página principal de Azure, en Inicio, seleccione Grupos de recursos.

3. Seleccione un grupo de recursos. Aparece el panel de su grupo de recursos.


4. En el panel del menú de la izquierda, seleccione Control de acceso (IAM). El
panel Control de acceso (IAM) aparece para su grupo de recursos.

5. En la barra de menús interior, seleccione la pestaña Roles, como se muestra a


continuación, para ver la lista de roles disponibles.

¿Qué es una definición de roles?

Una definición de roles es una colección de permisos. Una definición de roles enumera las
operaciones que se pueden realizar, por ejemplo, lectura, escritura y eliminación. También
puede enumerar las operaciones que no se pueden realizar u operaciones relacionadas con
datos subyacentes.

Como se ha descrito anteriormente, una definición de roles tiene la siguiente estructura:

Nombre Descripción

Id Identificador único del rol, asignado por Azure.

IsCustom True si se trata de un rol personalizado, False si es un rol integrado.

Description Descripción del rol que se puede leer.

Actions [] Permisos permitidos; * indica todos.

NotActions [] Permisos denegados.

DataActions [] Permisos específicos permitidos según se aplican a los datos, por


Nombre Descripción

ejemplo, Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read

NotDataActions [] Permisos específicos denegados según se aplican a los datos.

AssignableScopes Ámbitos en los que se aplica este rol; / indica global, pero puede llegar a un árbol jerárquico.
[]

Esta estructura se representa como JSON cuando se usa en el control de acceso basado en rol
(RBAC) o desde la API subyacente. Por ejemplo, esta es la definición de roles Colaborador en
formato JSON.

JSONCopiar

"Name": "Contributor",

"Id": "b24988ac-6180-42a0-ab88-20f7382dd24c",

"IsCustom": false,

"Description": "Lets you manage everything except access to resources.",

"Actions": [

"*"

],

"NotActions": [

"Microsoft.Authorization/*/Delete",

"Microsoft.Authorization/*/Write",

"Microsoft.Authorization/elevateAccess/Action"

],

"DataActions": [],

"NotDataActions": [],

"AssignableScopes": [

"/"

Actions y NotActions

Las propiedades Actions y NotActions se pueden personalizar para conceder y denegar


exactamente los permisos que se necesitan. Estas propiedades siempre se presentan con el
siguiente formato: {Company}.{ProviderName}/{resourceType}/{action}.

Por ejemplo, estas son las acciones de los tres roles que examinamos antes.
Rol integrado Actions NotActions

Propietario (se permiten todas las acciones) * -

Colaborador (se permiten todas las acciones, excepto * Microsoft.Authorization/*/Delete, Microsoft.Autho


escribir o eliminar asignaciones de roles) Microsoft.Authorization/elevateAccess/Action

Lector (se permiten todas las acciones de lectura) */read -

La operación de carácter comodín (*) en Actions indica que la entidad de seguridad asignada a
este rol puede realizar todas las acciones; o en otras palabras, este rol puede administrar todo,
incluidas las acciones definidas en el futuro, a medida que Azure agrega nuevos tipos de
recursos. Con el rol Lector, solo se permite la acción read.

Las operaciones en NotActions se quitan de Actions. Con el rol Colaborador, NotActions quita
la capacidad de este rol para administrar y asignar el acceso a los recursos.

DataActions y NotDataActions

Las operaciones de datos se especifican en las propiedades DataActions y NotDataActions. Las


operaciones de datos se pueden especificar de forma independiente de las operaciones de
administración. Con ello, se evita que las asignaciones de roles actuales con caracteres
comodín (*) tengan acceso a los datos de repente. A continuación se indican algunas
operaciones de datos que se pueden especificar en DataActions y NotDataActions:

 Leer una lista de blobs en un contenedor

 Escribir un blob de almacenamiento en un contenedor

 Eliminar un mensaje de una cola

Solo se pueden agregar operaciones de datos a las propiedades DataActions y NotDataActions.


Los proveedores de recursos identifican qué operaciones son operaciones de datos,
estableciendo para ello la propiedad isDataAction en true. Los roles que no tienen operaciones
de datos pueden omitir estas propiedades de la definición de roles.

Estas acciones funcionan exactamente como sus equivalentes de administración. Puede


especificar las acciones que quiere permitir (o *, si son todas) y, después, proporcionar una
lista de acciones específicas para quitarlas de la colección NotDataActions. Aquí mostramos
algunos ejemplos; puede encontrar la lista completa de acciones y acciones de datos en la
documentación del proveedor de recursos:

Operación de datos Descripción

Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete Elimina datos de blob.

Microsoft.Compute/virtualMachines/login/action Inicia sesión en una máquina virtual com

Microsoft.EventHub/namespaces/messages/send/action Envía mensajes a un centro de eventos.

Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read Devuelve un archivo o una carpeta, o b


carpetas.
Operación de datos Descripción

Microsoft.Storage/storageAccounts/queueServices/queues/messages/ Lee un mensaje de una cola.


read

Ámbitos asignables

La definición de las propiedades Actions y NotActions no basta para implementar un rol por
completo. También hay que especificar debidamente el ámbito del rol.

La propiedad AssignableScopes del rol especifica los ámbitos (suscripciones, grupos de


recursos o recursos) dentro de los que dicho rol está disponible para su asignación. Puede
permitir que el rol personalizado esté disponible para su asignación solamente en las
suscripciones o los grupos de recursos que lo necesiten, evitando así saturar la experiencia de
usuario con el resto de suscripciones o grupos de recursos.

Estos son algunos ejemplos.

Objetivo Ámbito que usar

Restringir a una suscripción "/subscriptions/{sub-id}"

Restringir a un grupo de recursos específico de una suscripción específica "/subscriptions/{sub-id}/resourceGroups

Restringir a un recurso específico "/subscriptions/{sub-id}/resourceGroups

Poner un rol disponible para su asignación en dos suscripciones "/subscriptions/{sub-id}", "/subscriptions

Crear roles

Microsoft Entra ID incluye roles integrados que probablemente cubran el 99 % de lo que todo
el mundo quiere hacer. Si es posible, es preferible usar un rol integrado. pero puede crear roles
personalizados si así lo precisa.

Nota

La creación de roles personalizados requiere Microsoft Entra ID P1 o P2 y no puede realizarse


en el nivel Gratis.

Puede crear un nuevo rol mediante varios mecanismos:

 Azure Portal: Puede usar Azure Portal para crear un rol personalizado:
seleccione Microsoft Entra ID>Roles y administradores>Nuevo rol personalizado.

 Azure PowerShell: puede usar el cmdlet New-AzRoleDefinition para definir un rol


nuevo.

 Azure Graph API: se puede usar una llamada de REST a Graph API para crear un rol
mediante programación.

En el resumen se incluyen vínculos a la documentación de los métodos.

Conexión de Active Directory a Microsoft Entra ID con Microsoft Entra Connect


Completado100 XP

 8 minutos

Las empresas que usan una solución local de Windows Server Active Directory pueden integrar
sus usuarios y grupos existentes con Microsoft Entra ID mediante Microsoft Entra Connect. Se
trata de una herramienta gratuita que se puede descargar e instalar para sincronizar su
instancia de AD local con su directorio de Azure.

Con Microsoft Entra Connect, puede proporcionar a los usuarios una identidad común para las
aplicaciones de Microsoft 365, Azure y SaaS integradas con Microsoft Entra ID en un entorno
de identidad híbrido.

¿Qué se incluye en Microsoft Entra Connect?

Microsoft Entra Connect proporciona varios componentes que se pueden instalar para crear un
sistema de identidades híbrido.

 Servicios de sincronización: este componente es responsable de la creación de


usuarios, grupos y otros objetos. así como de asegurar que la información de identidad
de los usuarios y los grupos del entorno local coincide con la de la nube.

 Seguimiento de estado: Microsoft Entra Connect Health proporciona una supervisión


sólida y una ubicación central en Azure Portal para ver esta actividad.

 AD FS: La federación es una parte opcional de Microsoft Entra Connect y puede


utilizarse para configurar un entorno híbrido mediante una infraestructura local de
AD FS. Las organizaciones pueden utilizar esto para abordar implementaciones
complejas, como un inicio de sesión único de unión a dominio, la aplicación de la
directiva de inicio de sesión de Active Directory y autenticación multifactor mediante
tarjeta inteligente o de terceros.

 Sincronización de hash de contraseña: Esta característica consiste en un método de


inicio de sesión que sincroniza el hash de la contraseña de un usuario de
Active Directory local con Microsoft Entra ID.

 Autenticación transferida: permite a los usuarios iniciar sesión en aplicaciones basadas


en la nube y en entornos locales con las mismas contraseñas. También reduce los
costos del departamento de soporte técnico, ya que es menos probable que olviden
cómo iniciar sesión. Esta característica supone una alternativa a la sincronización de
hash de contraseña con la que las organizaciones pueden aplicar sus directivas de
seguridad y complejidad de las contraseñas.

Ventajas

La integración de directorios locales con Microsoft Entra ID hace que los usuarios sean más
productivos, dado que se les proporciona una identidad común para tener acceso a recursos de
nube y locales. Los usuarios y las organizaciones obtienen las siguientes ventajas:

 Los usuarios pueden usar una única identidad para acceder tanto a aplicaciones locales
como a servicios en la nube, como Microsoft 365.
 Mediante una sola herramienta, se proporciona una experiencia de implementación
simplificada para la sincronización y el inicio de sesión.

 La integración facilita las funcionalidades más novedosas para sus escenarios.


Microsoft Entra Connect sustituye las versiones anteriores de las herramientas de
integración de identidades, como DirSync y Sincronización de Azure AD. Para obtener
más información, consulte Identidades híbridas: comparación de las herramientas para
la integración de directorios de identidades híbridas.

Instalación de

La instalación y configuración de Microsoft Entra Connect no son tareas triviales, y requieren


algunas decisiones y planeación iniciales antes de empezar. Microsoft cuenta con una guía
completa de instalación que puede servirle para preparar, instalar, configurar y probar la
instalación de AD Connect.

Resumen

Completado100 XP

 3 minutos

Microsoft Entra ID es el centro de administración de usuarios en la nube. Proporciona una


capacidad de inicio de sesión único que facilita la incorporación de nuevos empleados y que,
asimismo, garantiza la eliminación del acceso de empleados anteriores. Se integra
perfectamente con su instancia local de Active Directory de Windows Server, lo que permite
disfrutar de una experiencia de inicio de sesión fluida en todos los recursos locales y basados
en la nube, aparte de integrarse con otros entornos de nube como Salesforce, Microsoft 365,
Dropbox o Google. Por último, contribuye a reducir la carga de TI a través de su portal de
administración centralizada, la compatibilidad con los restablecimientos de contraseñas de
autoservicio, la autenticación multifactor para una mayor seguridad, una alta fiabilidad y la
compatibilidad con la administración de usuarios y grupos con roles.

Lecturas adicionales

Consulte las siguientes referencias para obtener más información sobre algunos de los temas
analizados en este módulo.

 Roles integrados en los recursos de Azure

 Protección de recursos de Azure con el acceso condicional

 Creación de roles personalizados en los recursos de Azure

 Identidad híbrida con Microsoft Entra ID

 Microsoft Entra Connect

 Transferencia de la propiedad de facturación de una suscripción de Azure a otra cuenta

También podría gustarte