FSX para la supervisión de ONTAP y la reización automática mediante la función AWS Lambda
Esta página describe la automatización de la supervisión de FSxN de AWS y el ajuste de tamaño automático en función del umbral.
Descripción general: Supervisión y cambio automático de tamaño de FSX para ONTAP mediante la función AWS Lambda
FSX para ONTAP es un servicio de almacenamiento en cloud de clase empresarial de primer orden disponible en AWS que ofrece un almacenamiento de archivos altamente fiable, escalable, de alto rendimiento y con muchas funciones integrado en el popular sistema de archivos NetApp ONTAP.
FSX para ONTAP proporciona una experiencia de puesta en marcha y gestión fluida. No se necesita experiencia en almacenamiento para comenzar. Para simplificar la supervisión, se puede utilizar una función lambda de AWS (para automatizar el redimensionamiento de la capacidad de almacenamiento total, el tamaño de volumen o el tamaño de LUN en función del umbral). Este documento proporciona una guía paso a paso para crear una configuración automatizada que supervise FSx para ONTAP a intervalos regulares, notifique y cambie el tamaño cuando se cruza un umbral especificado por el usuario y notifique al administrador la actividad de cambio de tamaño.
Funciones
La solución ofrece las siguientes funciones:
-
Capacidad de supervisión:
-
Uso de la capacidad de almacenamiento general de FSX para ONTAP
-
Uso de cada volumen (con aprovisionamiento ligero/con aprovisionamiento grueso)
-
Uso de cada LUN (con aprovisionamiento ligero/con aprovisionamiento grueso)
-
-
Capacidad de cambiar el tamaño de cualquiera de los valores anteriores cuando se supera un umbral definido por el usuario
-
Mecanismo de alertas para recibir avisos de uso y notificaciones de cambio de tamaño por correo electrónico
-
Capacidad para eliminar snapshots más antiguas que el umbral definido por el usuario
-
Capacidad de obtener una lista de volúmenes FlexClone y copias Snapshot asociadas
-
Capacidad para supervisar las comprobaciones a intervalos regulares
-
Posibilidad de utilizar la solución con o sin acceso a Internet
-
Capacidad para implementar manualmente o usar la plantilla de AWS CloudFormation
-
Capacidad de supervisar varios sistemas de archivos FSx para ONTAP en un único VPC
Requisitos previos
Antes de empezar, compruebe que se cumplan los siguientes requisitos previos:
-
Se pone en marcha FSX para ONTAP
-
Subred privada con conectividad a FSx para ONTAP
-
Se ha establecido la contraseña "fsxadmin" para FSX para ONTAP
Arquitectura de alto nivel
-
La función AWS Lambda hace que las llamadas API se realice a FSX para ONTAP a fin de recuperar y actualizar el tamaño de la capacidad de almacenamiento, volúmenes y LUN.
-
Contraseña de fsxadmin almacenada como cadena segura en AWS SSM Parameter Store para una capa de seguridad añadida.
-
Se utiliza el servicio de correo electrónico simple (SES) de AWS para notificar a los usuarios finales cuando se produce un evento de cambio de tamaño.
-
Si implementa la solución en una VPC sin acceso a Internet, los extremos de VPC para AWS SSM, FSx y SES están configurados para permitir que Lambda llegue a estos servicios a través de la red interna de AWS.
Puesta en marcha de la solución
Puesta en marcha automatizada
|
Cubre un solo FSX para el sistema de archivos ONTAP. |
Siga la serie de pasos para completar la implementación automatizada de esta solución:
Paso 1: Clone el repositorio de GitHub
Clone el repositorio de GitHub en el sistema local:
git clone https://github.com/NetApp/fsxn-monitoring-auto-resizing.git
Paso 2: Configurar un bucket de AWS S3
-
Vaya a AWS Console > S3 y haga clic en Crear bucket. Cree el bloque con la configuración predeterminada.
-
Una vez dentro del depósito, haz clic en Upload > Add files y selecciona Utilities.zip en el repositorio clonado de GitHub en tu sistema.
Paso 3: Configuración SMTP de AWS SES (necesaria si no hay acceso a Internet disponible)
Siga este paso si desea implementar la solución sin acceso a Internet (Nota: Se agregarán costos asociados con los endpoints de VPC que se configuran).
-
Vaya a AWS Console > AWS Simple Email Service (SES) > Configuración SMTP y haga clic en Crear credenciales SMTP
-
Introduzca un nombre de usuario de IAM o déjelo en el valor predeterminado y haga clic en Crear usuario. Guarde el nombre de usuario SMTP y la contraseña SMTP para su uso posterior.
Omita este paso si la configuración SMTP de SES ya está en su lugar.
Paso 4: Implementación de AWS CloudFormation
-
Vaya a AWS Console > CloudFormation > Crear pila > Con nuevos recursos (estándar).
Prepare template: Template is ready Specify template: Upload a template file Choose file: Browse to the cloned GitHub repo and select fsxn-monitoring-solution.yaml
Haga clic en Siguiente
-
Introduzca los detalles de la pila. Haga clic en Siguiente y marque la casilla de verificación “Reconozco que AWS CloudFormation podría crear recursos de IAM” y haga clic en Enviar.
Si «¿El VPC tiene acceso a Internet?» Se establece en Falso, se requiere el nombre de usuario SMTP para AWS SES y la contraseña SMTP para AWS SES. De lo contrario, se pueden dejar vacíos. -
Una vez que se inicie la implementación de CloudFormation, el ID de correo electrónico mencionado en el “ID de correo electrónico del remitente” recibirá un correo electrónico pidiéndoles que autoricen el uso de la dirección de correo electrónico con AWS SES. Haga clic en el enlace para verificar la dirección de correo electrónico.
-
Una vez que se complete la implementación de la pila de CloudFormation, si hay advertencias/notificaciones, se enviará un correo electrónico al ID de correo electrónico del destinatario con los detalles de la notificación.
Puesta en marcha manual
|
Admite la supervisión de varios sistemas de archivos FSx para ONTAP en un único VPC. |
Siga la serie de pasos para completar la implementación manual de esta solución:
Paso 1: Clone el repositorio de GitHub
Clone el repositorio de GitHub en el sistema local:
git clone https://github.com/NetApp/fsxn-monitoring-auto-resizing.git
Paso 2: Configuración SMTP de AWS SES (necesaria si no hay acceso a Internet disponible)
Siga este paso si desea implementar la solución sin acceso a Internet (Nota: Se agregarán costos asociados con los endpoints de VPC que se configuran).
-
Vaya a AWS Console > AWS Simple Email Service (SES) > Configuración SMTP y haga clic en Crear credenciales SMTP
-
Introduzca un nombre de usuario de IAM o déjelo en el valor predeterminado y haga clic en Crear. Guarde el nombre de usuario y la contraseña para seguir utilizándolo.
Paso 3: Crear el parámetro SSM para la contraseña fsxadmin
Navegue hasta la Consola de AWS > Parameter Store y haga clic en Create parameter.
Name: <Any name/path for storing fsxadmin password> Tier: Standard Type: SecureString KMS key source: My current account KMS Key ID: <Use the default one selected> Value: <Enter the password for "fsxadmin" user configured on FSx for ONTAP>
Haga clic en Crear parámetro.
Repita los pasos anteriores para que se supervisen todos los sistemas de archivos FSX for ONTAP.
Realice los mismos pasos para almacenar el nombre de usuario smtp y la contraseña smtp si implementa la solución sin acceso a Internet. De lo contrario, omita la adición de estos 2 parámetros.
Paso 4: Configurar el servicio de correo electrónico
Navegue hasta la Consola de AWS > simple Email Service (SES) y haga clic en Crear identidad.
Identity type: Email address Email address: <Enter an email address to be used for sending resizing notifications>
Haga clic en Crear identidad
El ID de correo electrónico mencionado en el “ID de correo electrónico del remitente” recibirá un correo electrónico solicitando al propietario que autorice el uso de la dirección de correo electrónico con AWS SES. Haga clic en el enlace para verificar la dirección de correo electrónico.
Paso 5: Configurar puntos finales de VPC (necesario si no hay acceso a Internet disponible)
|
Solo es necesario si se implementa sin acceso a Internet. Habrá costes adicionales asociados a los extremos de VPC. |
-
Vaya a AWS Console > VPC > Endpoints y haga clic en Create Endpoint e introduzca los siguientes detalles:
Name: <Any name for the vpc endpoint> Service category: AWS Services Services: com.amazonaws.<region>.fsx vpc: <select the vpc where lambda will be deployed> subnets: <select the subnets where lambda will be deployed> Security groups: <select the security group> Policy: <Either choose Full access or set your own custom policy>
Haga clic en Crear punto final.
-
Siga el mismo proceso para crear puntos finales de VPC SES y SSM. Todos los parámetros son los mismos que los anteriores, excepto los Servicios que corresponden a com.amazonaws.<region>.smtp y com.amazonaws.<region>.ssm respectivamente.
Paso 6: Crear y configurar la función AWS Lambda
-
Navegue hasta la consola de AWS > AWS Lambda > Functions y haga clic en Create Function en la misma región que FSx for ONTAP
-
Utilice el Autor predeterminado desde cero y actualice los siguientes campos:
Function name: <Any name of your choice> Runtime: Python 3.9 Architecture: x86_64 Permissions: Select "Create a new role with basic Lambda permissions" Advanced Settings: Enable VPC: Checked VPC: <Choose either the same VPC as FSx for ONTAP or a VPC that can access both FSx for ONTAP and the internet via a private subnet> Subnets: <Choose 2 private subnets that have NAT gateway attached pointing to public subnets with internet gateway and subnets that have internet access> Security Group: <Choose a Security Group>
Haga clic en Crear función.
-
Navegue hasta la función Lambda recién creada > Desplácese hasta la sección Capas y haga clic en Agregar una capa.
-
Haga clic en Crear una nueva capa bajo Fuente de capa
-
Cree una capa y cargue el archivo Utilities.zip. Seleccione Python 3.9 como el tiempo de ejecución compatible y haga clic en Crear.
-
Vuelva a la función AWS Lambda > Add Layer > Custom Layers y agregue la capa utilities.
-
Vaya a la pestaña Configuración de la función Lambda y haga clic en Editar en Configuración general. Cambie el tiempo de espera a 5 mins y haga clic en Guardar.
-
Vaya a la ficha permisos de la función Lambda y haga clic en la función asignada. En la ficha permisos de la función, haga clic en Agregar permisos > Crear directiva en línea.
-
Haga clic en la pestaña JSON y pegue el contenido del archivo policy.json en GitHub repo.
-
Reemplace cada ocurrencia de ${AWS::AccountId} con su ID de cuenta y haga clic en Directiva de revisión
-
Proporcione un nombre para la directiva y haga clic en Crear directiva
-
-
Copie el contenido de fsxn_Monitoring_fanging_lambda.py de git repo a lambda_function.py en la sección AWS Lambda Function Code Source.
-
Cree un archivo nuevo en el mismo nivel que lambda_function.py y llíelo var.py y copie el contenido de vars.py del git repo al archivo de la función lambda vars.py. Actualice los valores de variable en var.py. Consulte las definiciones de variables a continuación y haga clic en desplegar:
Nombre
Tipo
Descripción
FsxList
Lista
(Obligatorio) Lista de todos los sistemas de archivos FSx para ONTAP que se van a supervisar.
Incluya todos los sistemas de archivos de la lista para la supervisión y el cambio de tamaño automático.FsxMgmtIp
Cadena
(Obligatorio) Introduzca "Management Endpoint - IP address" de la consola FSX para ONTAP en AWS.
FsxId
Cadena
(Obligatorio) Introduzca el "File system ID" de la consola de FSX para ONTAP en AWS.
nombre de usuario
Cadena
(Obligatorio) Introduzca el FSX para ONTAP "nombre de usuario del administrador de ONTAP" de FSX para ONTAP Console en AWS.
redimensione_threshold
Entero
(Obligatorio) Introduzca el porcentaje de umbral del 0 al 100. Este umbral se utilizará para medir la capacidad de almacenamiento, el uso del volumen y la LUN, y cuando se utilice el porcentaje de aumento por encima de este umbral, se realizará el cambio de tamaño de la actividad.
fsx_password_ssm_parameter
Cadena
(Obligatorio) Introduzca el nombre de ruta utilizado en el almacén de parámetros de AWS para almacenar la contraseña "fsxadmin".
advertir_notificación
Bool
(Obligatorio) Establezca esta variable en True para recibir una notificación cuando el uso de capacidad de almacenamiento/volumen/LUN supere el 75%, pero sea inferior al umbral.
enable_snapshot_deletion
Bool
(Obligatorio) establezca esta variable en True para habilitar la eliminación de snapshots a nivel de volumen en las snapshots de más antiguo que el valor especificado en "Snapshot_age_threshold_in_Days".
instantánea_age_threshold_in_days
Entero
(Obligatorio) Introduzca el número de días de copias de Snapshot de nivel de volumen que desea conservar. Se eliminarán todas las instantáneas que tengan un valor superior al proporcionado y se notificará por correo electrónico lo mismo.
internet_access
Bool
(Requerido) Establece esta variable en True si el acceso a Internet está disponible desde la subred donde se despliega este lambda. De lo contrario, establézcalo en Falso.
smtp_region
Cadena
(Opcional) Si la variable “INTERNET_ACCESS” está establecida en False, introduzca la región en la que se despliega lambda. Por ejemplo, US-east-1 (en este formato)
smtp_username_ssm_parameter
Cadena
(Opcional) Si la variable “INTERNET_ACCESS” se establece en False, introduzca el nombre de ruta utilizado en AWS Parameter Store para almacenar el nombre de usuario SMTP.
smtp_password_ssm_parameter
Cadena
(Opcional) Si la variable “INTERNET_ACCESS” se establece en False, introduzca el nombre de la ruta de acceso utilizado en AWS Parameter Store para almacenar la contraseña SMTP.
correo_remitente
Cadena
(Obligatorio) Introduzca el ID de correo electrónico registrado en SES que utilizará la función lambda para enviar alertas de notificación relacionadas con la supervisión y el cambio de tamaño.
correo_destinatario
Cadena
(Obligatorio) Introduzca el ID de correo electrónico en el que desea recibir las notificaciones de alerta.
-
Haga clic en Test, cree un evento de prueba con un objeto JSON vacío y ejecute la prueba haciendo clic en Invoke para comprobar si el script se está ejecutando correctamente.
-
Una vez probado correctamente, navegue a Configuración > Disparadores > Agregar desencadenador.
Select a Source: EventBridge Rule: Create a new rule Rule name: <Enter any name> Rule type: Schedule expression Schedule expression: <Use "rate(1 day)" if you want the function to run daily or add your own cron expression>
Haga clic en Agregar.
Conclusión
Con la solución proporcionada, es fácil configurar una solución de supervisión que supervise regularmente FSx para almacenamiento ONTAP, cambie su tamaño en función del umbral especificado por el usuario y ofrezca un mecanismo de alerta. De este modo, el proceso de uso y supervisión de FSX para ONTAP es fluido y libera a los administradores para que se centren en actividades vitales para el negocio, mientras que el almacenamiento crece automáticamente cuando es necesario.