Configuración del almacenamiento para la herramienta Azure Application Consistent Snapshot
Artículo
En este artículo se proporciona una guía para configurar el almacenamiento de Azure que se usará con la herramienta Azure Application Consistent Snapshot (AzAcSnap).
Seleccione el almacenamiento que usa con AzAcSnap.
Configure una identidad administrada por el sistema (recomendada) o genere el archivo de autenticación de la entidad de servicio.
Cuando valida la comunicación con Azure NetApp Files, se puede producir un error o agotarse el tiempo de espera. Asegúrese de que las reglas de firewall no bloqueen el tráfico de salida del sistema que ejecuta AzAcSnap en las siguientes direcciones y puertos TCP/IP:
(https://)management.azure.com:443
(https://)login.microsoftonline.com:443
Tendrá que generar su propio certificado autofirmado y, a continuación, compartir el contenido del archivo PEM (correo con privacidad mejorada) con Microsoft Operations para que se pueda instalar en el almacenamiento de back-end para permitir que AzAcSnap se autentique de forma segura con ONTAP.
Combine PEM y KEY en un único archivo PKCS12 que AzAcSnap necesita para la autenticación basada en certificados en ONTAP.
Pruebe el archivo PKCS12 mediante curl para conectarse a uno de los nodos.
Microsoft Operations proporciona el nombre de usuario de almacenamiento y la dirección IP de almacenamiento en el momento del aprovisionamiento.
Habilitación de la comunicación con el almacenamiento
En esta sección se explica cómo habilitar la comunicación con el almacenamiento. Use las pestañas siguientes para seleccionar correctamente el back-end de almacenamiento que está usando.
Hay dos maneras de autenticarse en Azure Resource Manager mediante una identidad administrada por el sistema o un archivo de entidad de servicio. Aquí se describen las opciones.
Identidad administrada por el sistema de Azure
Desde AzAcSnap 9, es posible usar una identidad administrada por el sistema en lugar de una entidad de servicio para la operación. El uso de esta característica evita la necesidad de almacenar credenciales de entidad de servicio en una máquina virtual (VM). Para configurar una identidad administrada de Azure mediante Azure Cloud Shell, siga estos pasos:
En una sesión de Cloud Shell con Bash, use el ejemplo siguiente para establecer las variables de shell de forma adecuada y aplicarlas a la suscripción en la que desea crear la identidad administrada de Azure. Establezca SUBSCRIPTION, VM_NAME y RESOURCE_GROUP en los valores específicos del sitio.
Establezca Cloud Shell en la suscripción correcta:
az account set -s "${SUBSCRIPTION}"
Cree la identidad administrada para la máquina virtual. El comando siguiente establece (o muestra, si ya está establecido) la identidad administrada de la máquina virtual de AzAcSnap:
az vm identity assign --name "${VM_NAME}" --resource-group "${RESOURCE_GROUP}"
Obtenga el id. de entidad de seguridad para asignar un rol:
PRINCIPAL_ID=$(az resource list -n ${VM_NAME} --query [*].identity.principalId --out tsv)
Asigne el rol Colaborador al id. de entidad de seguridad:
az role assignment create --assignee "${PRINCIPAL_ID}" --role "${ROLE}" --scope "${SCOPE}"
RBAC opcional
Es posible limitar los permisos de la identidad administrada mediante una definición de rol personalizado en el control de acceso basado en rol (RBAC). Cree una definición de roles adecuada para que la máquina virtual pueda administrar instantáneas. Puede encontrar la configuración de permisos de ejemplo en Sugerencias y trucos para usar la herramienta Azure Application Consistent Snapshot.
A continuación, asigne el rol al id. de entidad de seguridad de máquina virtual de Azure (también se muestra como SystemAssignedIdentity):
az role assignment create --assignee ${PRINCIPAL_ID} --role "AzAcSnap on ANF" --scope "${SCOPE}"
Generación de un archivo de entidad de servicio
En una sesión de Cloud Shell, asegúrese de que ha iniciado sesión en la suscripción donde desee que se le asocie la entidad de servicio de manera predeterminada:
az account show
Si la suscripción no es correcta, use el comando az account set:
az account set -s <subscription name or id>
Cree una entidad de servicio mediante la CLI de Azure, como se muestra en este ejemplo:
az ad sp create-for-rbac --name "AzAcSnap" --role Contributor --scopes /subscriptions/{subscription-id} --sdk-auth
El comando debe generar una salida similar a la de este ejemplo:
Este comando asigna automáticamente el rol Colaborador de RBAC a la entidad de servicio en el nivel de suscripción. Puede restringir el ámbito al grupo de recursos específico donde las pruebas crearán los recursos.
Corte y pegue el contenido de salida en un archivo denominado azureauth.json que se almacena en el mismo sistema que el comando azacsnap. Proteja el archivo con los permisos del sistema adecuados.
Asegúrese de que el formato del archivo JSON es exactamente como se describe en el paso anterior, con las direcciones URL entre comillas dobles (").
Importante
Desde AzAcSnap 10, la comunicación con el almacenamiento de Azure (instancias grandes) usa la API REST a través de HTTPS. Las versiones anteriores a AzAcSnap 10 usan la CLI a través de SSH.
API de REST de Azure (instancias grandes) a través de HTTPS
La comunicación con el back-end de almacenamiento se produce a través de un canal HTTPS cifrado mediante la autenticación basada en certificados. En los pasos de ejemplo siguientes se proporcionan instrucciones sobre la configuración del certificado PKCS12 para esta comunicación:
Genere los archivos PEM y KEY.
El CN es igual al nombre de usuario de SVM; pida a Microsoft Operations este nombre de usuario de SVM.
En este ejemplo se usa svmadmin01 como nombre de usuario de SVM; modifíquelo según sea necesario para la instalación.
Generating a RSA private key
........................................................................................................+++++
....................................+++++
writing new private key to 'svmadmin01.key'
-----
Genere el contenido del archivo PEM.
El contenido del archivo PEM se usa para agregar client-ca a la SVM.
! Envíe el contenido del archivo PEM al administrador de Microsoft BareMetal Infrastructure (BMI).
El archivo svmadmin01.p12 se usa como valor para certificateFile en la sección aliStorageResource del archivo de configuración AzAcSnap.
Pruebe el archivo PKCS12 mediante curl.
Después de recibir la confirmación de Microsoft Operations, han aplicado el certificado a la SVM para permitir el inicio de sesión basado en certificados y, a continuación, probar la conectividad a la SVM.
En este ejemplo se usa el archivo PKCS12 denominado svmadmin01.p12 para conectarse al host de SVM "X.X.X.X" (esta dirección IP la proporcionará Microsoft Operations).
Estas instrucciones son para las versiones anteriores a AzAcSnap 10 y ya no estamos actualizando esta sección del contenido con regularidad.
La comunicación con el back-end de almacenamiento se produce a través de un canal SSH cifrado. Los siguientes pasos de ejemplo proporcionan una guía de configuración de SSH para esta comunicación:
Modifique el archivo /etc/ssh/ssh_config.
Consulte la salida siguiente, que incluye la línea MACs hmac-sha:
# RhostsRSAAuthentication no
# RSAAuthentication yes
# PasswordAuthentication yes
# HostbasedAuthentication no
# GSSAPIAuthentication no
# GSSAPIDelegateCredentials no
# GSSAPIKeyExchange no
# GSSAPITrustDNS no
# BatchMode no
# CheckHostIP yes
# AddressFamily any
# ConnectTimeout 0
# StrictHostKeyChecking ask
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# Port 22
Protocol 2
# Cipher 3des
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-
cbc
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd
MACs hmac-sha
# EscapeChar ~
# Tunnel no
# TunnelDevice any:any
# PermitLocalCommand no
# VisualHostKey no
# ProxyCommand ssh -q -W %h:%p gateway.example.com
Use el siguiente comando de ejemplo para generar un par de claves privada o pública. No escriba una contraseña al generar una clave.
ssh-keygen -t rsa –b 5120 -C ""
La salida del comando cat /root/.ssh/id_rsa.pub es la clave pública. Envíelo a Microsoft Operations para que las herramientas de instantáneas puedan comunicarse con el subsistema de almacenamiento.