Terraform: Guía de implementación de escalamiento vertical de SAP HANA

En esta guía de implementación, se muestra cómo implementar un sistema SAP HANA en Google Cloud mediante Terraform y un archivo de configuración para definir la instalación. Mediante esta guía, obtendrás ayuda para configurar las máquinas virtuales (VM) y los discos persistentes de Compute Engine, así como el sistema operativo Linux, a fin de lograr el mejor rendimiento para tu sistema SAP HANA. El archivo de configuración de Terraform incorpora las prácticas recomendadas de Compute Engine y SAP.

Usa esta guía para implementar un sistema SAP HANA de escalamiento vertical de un único host o de escalamiento horizontal de hosts múltiples que no incluye hosts de reserva.

Si necesitas incluir la conmutación por error automática de host de SAP HANA, usa la Terraform: Guía de implementación del sistema de escalamiento horizontal de SAP HANA con conmutación por error automática de host.

Si necesitas implementar SAP HANA en un clúster de alta disponibilidad de Linux, usa una de las siguientes guías:

Requisitos previos

Antes de comenzar, asegúrate de cumplir con los siguientes requisitos:

  • Leíste la Guía de planificación de SAP HANA.
  • Tienes una cuenta y un proyecto de Google Cloud.
  • Si necesitas que tu carga de trabajo de SAP se ejecute de acuerdo con los requisitos de residencia de datos, control de acceso, personal de asistencia o requisitos reglamentarios, debes crear la carpeta de cargas de trabajo de Assured Workloads requerida. A fin de obtener más información, consulta Controles de cumplimiento y soberanía para SAP en Google Cloud.
  • La red de nube privada virtual se configura con reglas de firewall u otros métodos para controlar el acceso a las VM.
  • Tienes acceso al medio de instalación de SAP HANA.

  • Si el acceso al SO está habilitado en los metadatos de tu proyecto y, luego, implementas nodos de escalamiento horizontal, debes inhabilitar el acceso al SO de forma temporal hasta que se complete la implementación. Para fines de implementación, este procedimiento configura las claves SSH en metadatos de instancia. Cuando el acceso al SO está habilitado, la configuración de las claves SSH basada en metadatos se inhabilita y esta implementación falla. Una vez terminada la implementación, puedes volver a habilitar el acceso al SO.

    Para obtener más información, consulte:

Configura tu Cuenta de Google

Se necesita una Cuenta de Google para trabajar con Google Cloud.

  1. Regístrate para obtener una Cuenta de Google si aún no la tienes.
  2. Si necesitas que tu carga de trabajo de SAP se ejecute de acuerdo con los requisitos de residencia de datos, control de acceso, personal de asistencia o requisitos reglamentarios, debes crear la carpeta de Assured Workloads requerida (opcional). A fin de obtener más información, consulta Cumplimiento y controles soberanos para SAP en Google Cloud.
  3. Accede a la consola de Google Cloud y crea un proyecto nuevo.
  4. Habilita tu cuenta de facturación.
  5. Configura claves SSH para poder usarlas a fin de establecer una conexión SSH a tus instancias de VM de Compute Engine. Usa la Google Cloud CLI para crear una clave SSH nueva.
  6. Usa la gcloud CLI o la consola de Google Cloud para agregar claves SSH a los metadatos del proyecto. Esto te permite acceder a cualquier instancia de VM de Compute Engine que se creó en este proyecto, a excepción de las instancias que inhabilitan de forma explícita las claves SSH de todo el proyecto.

Crea una red

Por razones de seguridad, crea una red nueva. Puedes controlar quién tiene acceso con reglas de firewall o a través de otro método de control de acceso.

Si tu proyecto tiene una red de VPC predeterminada, no la uses. En su lugar, crea tu propia red de VPC para que las únicas reglas de firewall vigentes sean aquellas que crees de forma explícita.

Durante la implementación, las instancias de VM suelen requerir acceso a Internet para descargar el agente de Google Cloud para SAP. Si usas una de las imágenes de Linux certificadas por SAP disponibles en Google Cloud, la instancia de VM también requerirá acceso a Internet para registrar la licencia y acceder a repositorios de proveedores de SO. Una configuración con una puerta de enlace NAT y con rótulos identificadores de red de VM admite este acceso, incluso si las VM de destino no tienen IP externas.

Para crear una red de VPC para tu proyecto, completa los siguientes pasos:

  1. Crea una red de modo personalizado. Para obtener más información, consulta Cómo crear una red de modo personalizado.

  2. Crea una subred y especifica la región y el rango de IP a través de el siguiente comando. Para obtener más información, consulta Cómo agregar subredes.

Configura una puerta de enlace NAT

Si necesitas crear una o más VM sin direcciones IP públicas, debes usar la traducción de direcciones de red (NAT) para permitir que las VM accedan a Internet. Usa Cloud NAT, un servicio administrado distribuido y definido por software por Google Cloud que permite que las VM envíen paquetes salientes a Internet y reciban cualquier paquete de respuesta entrante establecido. Como alternativa, puedes configurar una VM independiente como una puerta de enlace NAT.

Para crear una instancia de Cloud NAT para tu proyecto, consulta Usa Cloud NAT.

Después de configurar Cloud NAT para tu proyecto, tus instancias de VM pueden acceder a Internet de forma segura sin una dirección IP pública.

Cómo agregar reglas de firewall

De forma predeterminada, una regla de firewall implícita bloquea las conexiones entrantes desde fuera de tu red de nube privada virtual (VPC). Para permitir conexiones entrantes, establece una regla de firewall para la VM. Después de establecer una conexión entrante con una VM, se permite el tráfico en ambas direcciones a través de esa conexión.

También puedes crear una regla de firewall para permitir el acceso externo a puertos especificados o restringir el acceso entre las VM en la misma red. Si se usa el tipo de red de VPC default, también se aplican algunas reglas predeterminadas adicionales, como la regla default-allow-internal, que permite la conectividad entre VM en la misma red en todos los puertos.

En función de la política de TI que se aplique a tu entorno, es posible que debas aislar o restringir la conectividad a tu host de base de datos, lo que puedes hacer a través de la creación de reglas de firewall.

Según la situación en la que te encuentres, puedes crear reglas de firewall para permitir los siguientes accesos:

  • Los puertos SAP predeterminados que se enumeran en TCP/IP de todos los productos SAP.
  • Conexiones desde tu computadora o tu entorno de red corporativa a tu instancia de VM de Compute Engine. Si no estás seguro de qué dirección IP usar, comunícate con el administrador de red de tu empresa.
  • Comunicación entre las VM de la subred de SAP HANA, incluida la comunicación entre los nodos en un sistema de escalamiento horizontal de SAP HANA o la comunicación entre el servidor de base de datos y los servidores de aplicaciones en una arquitectura de 3 niveles. Puedes habilitar la comunicación entre las VM si creas una regla de firewall para permitir el tráfico que se origina desde la subred.
  • Conexiones SSH a tu instancia de VM, incluido SSH en el navegador.
  • Conexión a tu VM a través de una herramienta de terceros en Linux. Crea una regla para permitir el acceso a la herramienta a través de tu firewall.

A fin de crear las reglas de firewall para tu proyecto, consulta Cómo crear reglas de firewall.

Cómo crear un bucket de Cloud Storage para los archivos de instalación de SAP HANA

Antes de usar Terraform para instalar SAP HANA en tu VM de Compute Engine, debes subir los archivos de instalación que contienen los objetos binarios de SAP HANA a un bucket de Cloud Storage.

Terraform espera los archivos de instalación de SAP HANA en los formatos de archivo que proporciona SAP. Según la versión de SAP HANA, el formato de archivo puede ser ZIP, EXE o RAR.

Para descargar los archivos de instalación de SAP HANA, debes crear un bucket de Cloud Storage y, luego, subir los archivos a ese bucket de la siguiente manera:

  1. Descarga los archivos de instalación base para la versión de SAP HANA requerida:

    1. Ve al Portal de asistencia de SAP.
    2. Haz clic en Descargas de software.
    3. En la pestaña Installations & Upgrades, haz clic en By Alphabetical Index (AZ) > H > SAP HANA Platform Edition > SAP HANA Platform Edition 2.0
    4. Haz clic en Instalación.
    5. Para el paquete de servicios requerido, selecciona la distribución x86_64 de Linux y, luego, haz clic en Descargar Basket.

    Si tu cuenta del Portal de asistencia de SAP no permite el acceso al software y crees que deberías tenerlo, comunícate con el Centro de interacción con el cliente de la asistencia global de SAP.

  2. Descarga los archivos necesarios para actualizar la base de datos de SAP HANA a la versión requerida. Estos archivos tienen el formato SAR y los nombres de los archivos comienzan con IMDB_SERVER, IMDB_CLIENT y IMDB_AFL.

    1. Ve al Portal de asistencia de SAP.

    2. Haz clic en Descargas de software.

    3. Navega a la pestaña Paquetes de asistencia y parches.

    4. Haz clic en Por índice alfabético (AZ) > H > SAP HANA Platform Edition > SAP HANA Platform Edition 2.0.

    5. Haz clic en el componente requerido. Por ejemplo, SAP HANA Database 2.0, SAP HANA Client 2.0 o SAP HANA AFL 2.0.

    6. Selecciona el archivo requerido y, luego, haz clic en Descargar cesta.

  3. En el proyecto de Google Cloud, crea un bucket de Cloud Storage. Para obtener instrucciones, consulta Crea depósitos.

    El nombre del bucket debe ser único en Google Cloud. Durante la creación del bucket, selecciona Estándar para la clase de almacenamiento.

  4. Configura los permisos del bucket. De forma predeterminada, como propietario del bucket, tienes acceso de lectura y escritura en el bucket. Para otorgar acceso a otros principales, consulta Cómo usar permisos de IAM.

  5. Sube los objetos binarios de SAP HANA descargados al bucket de Cloud Storage o a una carpeta en el bucket. Para obtener instrucciones, consulta Sube objetos desde un sistema de archivos.

  6. Asegúrate de que tu bucket o carpeta contenga solo un archivo de instalación para cada tipo de archivo. Por ejemplo:

    510056441.ZIP
    IMDB_SERVER20_059_11-80002031.SAR
    IMDB_CLIENT20_005_111-80002082.SAR
    IMDB_AFL20_059_11-80002031.SAR
    
  7. Ten en cuenta el nombre del bucket y la carpeta en la que subiste los objetos binarios de SAP. Deberás usarlo más adelante cuando instales SAP HANA.

Cómo crear una VM con SAP HANA instalado

En las siguientes instrucciones, se usa Terraform para instalar SAP HANA en una o más instancias de VM con todos los discos persistentes que requiere SAP HANA. Los valores para la instalación se definen en un archivo de configuración de Terraform.

En las siguientes instrucciones, se usa Cloud Shell, pero, en términos generales, se pueden aplicar a Google Cloud CLI.

  1. Confirma que tus cuotas actuales para recursos, como los discos persistentes y las CPU, sean suficientes para los sistemas SAP HANA que estás a punto de instalar. Si las cuotas no son suficientes, la implementación fallará. Si quieres ver los requisitos de cuota de SAP HANA, consulta las consideraciones de precios y cuotas para SAP HANA.

    Ir a Cuotas

  2. Abre Cloud Shell o, si instalaste Google Cloud CLI en la estación de trabajo local, abre una terminal.

    Abre Cloud Shell

  3. Descarga el archivo de configuración sap_hana.tf en tu directorio de trabajo mediante la ejecución del siguiente comando en Cloud Shell o en tu terminal:

    wget https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana/terraform/sap_hana.tf
  4. Abre el archivo sap_hana.tf en el editor de código de Cloud Shell o, si usas tu terminal, en el editor de texto que elijas.

    Para abrir el editor de código de Cloud Shell, haz clic en el ícono de lápiz en la esquina superior derecha de la ventana de la terminal de Cloud Shell.

  5. En el archivo sap_hana.tf, reemplaza los corchetes y su contenido por los valores de la instalación a fin de actualizar los siguientes valores de argumento.

    Algunos de los valores de argumento que especificas para el sistema SAP HANA, como los valores de sap_hana_sid, sap_hana_sidadm_password o sap_hana_system_password, están sujetos a las reglas que define SAP. Para obtener más información, consulta la Referencia de parámetros en la Guía de instalación y actualización del servidor SAP HANA.

    Para especificar contraseñas en el archivo de configuración, debes usar secretos o especificar contraseñas en texto sin formato. Si deseas obtener más información, consulta Administración de contraseñas.

    Si deseas crear una instancia de VM sin instalar SAP HANA, borra todas las líneas que comienzan con sap_hana_.

    Argumento Tipo de datos Descripción
    source String

    Especifica la ubicación y la versión del módulo de Terraform que se usará durante la implementación.

    El archivo de configuración sap_hana.tf incluye dos instancias del argumento source: una que está activa y otra que se incluye como un comentario. El argumento source que está activo de forma predeterminada especifica latest como la versión del módulo. La segunda instancia del argumento source, que de forma predeterminada se desactiva a través de un carácter # inicial, especifica una marca de tiempo que identifica una versión del módulo.

    Si necesitas que todas tus implementaciones usen la misma versión del módulo, quita el carácter # inicial del argumento source que especifica la marca de tiempo de la versión y agrégala al argumento source que especifica latest.

    project_id String Especifica el ID del proyecto de Google Cloud en el que implementarás este sistema. Por ejemplo, my-project-x.
    instance_name String Especifica un nombre para la instancia de VM del host. El nombre solo puede contener minúsculas, números y guiones. Las instancias de VM para los hosts de trabajador y de reserva usan el mismo nombre con una w y el número de host agregado al nombre.
    machine_type String Especifica el tipo de máquina virtual (VM) de Compute Engine en el que quieres ejecutar el sistema SAP. Si necesitas un tipo de VM personalizada, especifica un tipo de VM predefinido con una cantidad de CPU virtuales más cercana al número que necesitas sin dejar de ser más grande. Una vez completada la implementación, modifica la cantidad de CPU virtuales y la cantidad de memoria.

    Por ejemplo, n1-highmem-32.

    zone String

    Especifica la zona en la que implementas tu sistema SAP. La zona deben estar en la misma región que seleccionaste para tu subred.

    Por ejemplo, si tu subred se implementa en la región us-central1, puedes especificar una zona como us-central1-a.

    subnetwork String Especifica el nombre de la subred que creaste en un paso anterior. Si realizas la implementación en una VPC compartida, especifica este valor como SHARED_VPC_PROJECT_ID/SUBNETWORK. Por ejemplo: myproject/network1
    linux_image String Especifica el nombre de la imagen del sistema operativo Linux en la que deseas implementar tu sistema SAP. Por ejemplo: rhel-9-2-sap-ha o sles-15-sp5-sap. Para obtener la lista de imágenes de sistema operativo disponibles, consulta la página Imágenes en la consola de Google Cloud.
    linux_image_project String Especifica el proyecto de Google Cloud que contiene la imagen que especificaste para el argumento linux_image. Este proyecto puede ser uno propio o un proyecto de imagen de Google Cloud. En el caso de una imagen de Compute Engine, especifica rhel-sap-cloud o suse-sap-cloud. Para encontrar el proyecto de imagen de tu sistema operativo, consulta Detalles de los sistemas operativos.
    sap_hana_deployment_bucket String Para instalar SAP HANA automáticamente en las VMs implementadas, especifica la ruta de acceso del bucket de Cloud Storage que contiene los archivos de instalación de SAP HANA. No incluyas gs:// en la ruta de acceso; solo incluye el nombre del bucket y los nombres de las carpetas. Por ejemplo, my-bucket-name/my-folder.

    El bucket de Cloud Storage debe existir en el proyecto de Google Cloud que especificas para el argumento project_id.

    sap_hana_sid String Para instalar SAP HANA automáticamente en las VMs implementadas, especifica el ID del sistema SAP HANA. Debe constar de tres caracteres alfanuméricos y comenzar con una letra. Todas las letras deben estar en mayúsculas. Por ejemplo, ED1.
    sap_hana_sidadm_uid Número entero Opcional. Especifica un valor para anular el valor predeterminado del ID de usuario SID_LCadm. El valor predeterminado es 900. Puedes cambiar esto a un valor diferente para mantener la coherencia dentro de tu entorno de SAP.
    sap_hana_instance_number Número entero Opcional. Especifica el número de instancia, de 0 a 99, del sistema SAP HANA. El valor predeterminado es 0.
    sap_hana_sidadm_password String Para instalar SAP HANA automáticamente en las VMs implementadas, especifica una contraseña temporal SIDadm para que las secuencias de comandos de instalación se usen durante la implementación. La contraseña debe tener al menos 8 caracteres y debe incluir al menos una letra mayúscula, una letra minúscula y un número.

    En lugar de especificar la contraseña como texto sin formato, te recomendamos que utilices un Secret. Si deseas obtener más información, consulta Administración de contraseñas.

    sap_hana_sidadm_password_secret String Opcional. Si usas Secret Manager para almacenar la contraseña SIDadm, especifica el Nombre del secreto que corresponde a esta contraseña.

    En Secret Manager, asegúrate de que el valor Secret, que es la contraseña, contenga al menos 8 caracteres e incluya al menos una letra mayúscula, una letra minúscula y un número.

    Si deseas obtener más información, consulta Administración de contraseñas.

    sap_hana_system_password String Para instalar SAP HANA automáticamente en las VMs implementadas, especifica una contraseña de superusuario temporal para la secuencia de comandos de instalación que se usará durante la implementación. La contraseña debe tener al menos 8 caracteres y también incluir al menos una letra mayúscula, una letra minúscula y un número.

    En lugar de especificar la contraseña como texto sin formato, te recomendamos que utilices un Secret. Si deseas obtener más información, consulta Administración de contraseñas.

    sap_hana_system_password_secret String Opcional. Si usas Secret Manager para almacenar la contraseña del superusuario de la base de datos, especifica el Nombre del secreto que corresponde a esta contraseña.

    En Secret Manager, asegúrate de que el valor Secret, que es la contraseña, contenga al menos 8 caracteres e incluya al menos una letra mayúscula, una letra minúscula y un número.

    Si deseas obtener más información, consulta Administración de contraseñas.

    sap_hana_scaleout_nodes Número entero Especifica la cantidad de hosts de trabajador que necesitas en tu sistema de escalamiento horizontal. Para implementar un sistema de escalamiento horizontal, necesitas al menos un host de trabajador.

    Terraform crea los hosts de trabajador, además de la instancia principal de SAP HANA. Por ejemplo, si especificas 3, se implementarán cuatro instancias de SAP HANA en tu sistema de escalamiento horizontal.

    sap_hana_shared_nfs String Opcional. En una implementación de hosts múltiples que usa una solución de NFS a fin de compartir el volumen /hana/shared con los hosts de trabajador, especifica el punto de activación de NFS para ese volumen. Por ejemplo, 10.151.91.122:/hana_shared_nfs.

    Si deseas obtener más información, consulta Soluciones de archivos compartido para implementaciones de escalamiento horizontal con hosts múltiples.

    Este argumento está disponible en el módulo sap_hana versión 202302060649 o posterior.
    sap_hana_backup_nfs String Opcional. En una implementación de hosts múltiples que usa una solución de NFS a fin de compartir el volumen /hanabackup con los hosts de trabajador, especifica el punto de activación de NFS para ese volumen. Por ejemplo, 10.216.41.122:/hana_backup_nfs.

    Si deseas obtener más información, consulta Soluciones de archivos compartido para implementaciones de escalamiento horizontal con hosts múltiples.

    Este argumento está disponible en el módulo sap_hana versión 202302060649 o posterior.
    sap_hana_shared_nfs_resource Mapa/Objeto Opcional. Para implementar una instancia de Filestore que comparta el volumen /hana/shared/ con los hosts en tu sistema SAP HANA de escalamiento horizontal con hosts múltiples, especifica el nombre del archivo compartido que estableciste en la definición del recurso google_filestore_instance. Para ver un ejemplo, consulta la configuración de ejemplo en esta guía.

    Si deseas obtener más información, consulta Soluciones de uso compartido de archivos para implementaciones de escalamiento horizontal con hosts múltiples.

    Este argumento está disponible en el módulo sap_hana versión 202302060649 o posterior.
    sap_hana_backup_nfs_resource Mapa/Objeto Opcional. Para implementar una instancia de Filestore que comparta el volumen /hanabackup con los hosts en tu sistema SAP HANA de escalamiento horizontal con hosts múltiples, especifica el nombre del archivo compartido que estableciste en la definición del recurso google_filestore_instance. Para ver un ejemplo, consulta la configuración de ejemplo en esta guía.

    Si deseas obtener más información, consulta Soluciones de uso compartido de archivos para implementaciones de escalamiento horizontal con hosts múltiples.

    Este argumento está disponible en el módulo sap_hana versión 202302060649 o posterior.
    sap_hana_backup_size Número entero Opcional. Especifica el tamaño del volumen /hanabackup en GB. Si no especificas este argumento ni lo estableces en 0, la secuencia de comandos de instalación aprovisiona la instancia de Compute Engine con un volumen de copia de seguridad de HANA de dos veces la memoria total.

    sap_hana_backup_size se ignora cuando especificas un valor para sap_hana_backup_nfs o sap_hana_backup_nfs_resource.

    sap_hana_sapsys_gid Número entero Opcional. Anula el ID de grupo predeterminado para sapsys. El valor predeterminado es 79.
    network_tags String Opcional. Especifica una o más etiquetas de red separadas por comas que desees asociar con tus instancias de VM para un firewall o enrutamiento.

    Si especificas public_ip = false y no especificas una etiqueta de red, asegúrate de proporcionar otro medio de acceso a Internet.

    nic_type String Opcional. Especifica la interfaz de red que se usará con la instancia de VM. Puedes especificar el valor GVNIC o VIRTIO_NET. Para usar una NIC virtual de Google (gVNIC), debes especificar una imagen de SO que admita gVNIC como valor del argumento linux_image. Para obtener la lista de imágenes del SO, consulta Detalles de los sistemas operativos.

    Si no especificas un valor para este argumento, la interfaz de red se selecciona automáticamente según el tipo de máquina que especifiques para el argumento machine_type.

    Este argumento está disponible en el módulo sap_hana versión 202302060649 o posterior.
    disk_type String Opcional. Especifica el tipo predeterminado de volumen de Persistent Disk o Hyperdisk que deseas implementar para los datos de SAP y los volúmenes de registros en tu implementación. Para obtener información sobre la implementación de disco predeterminada que realiza la configuración de Terraform que proporciona Google Cloud, consulta Implementación de discos mediante Terraform.

    Los siguientes valores son válidos para este argumento: pd-ssd, pd-balanced, hyperdisk-extreme, hyperdisk-balanced y pd-extreme. En las implementaciones de escalamiento vertical de SAP HANA, también se implementa un disco persistente balanceado independiente para el directorio /hana/shared.

    Puedes anular este tipo de disco predeterminado y los tamaños predeterminados del disco y las IOPS predeterminadas a través de algunos argumentos avanzados. Para obtener más información, navega al directorio de trabajo, ejecuta el comando terraform init y, luego, consulta el archivo /.terraform/modules/sap_hana/variables.tf. Antes de usar estos argumentos en producción, asegúrate de probarlos en un entorno de no producción.

    use_single_shared_data_log_disk Booleano Opcional. El valor predeterminado es false, que le indica a Terraform que implemente un disco persistente o Hyperdisk independiente para cada uno de los siguientes volúmenes de SAP: /hana/data,/hana/log, /hana/shared y /usr/sap. Para activar estos volúmenes de SAP en el mismo disco persistente o Hyperdisk, especifica true.
    include_backup_disk Booleano Opcional. Este argumento se aplica a las implementaciones de escalamiento vertical de SAP HANA. El valor predeterminado es true, que le indica a Terraform implementar un disco separado para alojar el directorio /hanabackup.

    El tipo de disco se determina mediante el argumento backup_disk_type. El tamaño de este disco se determina a través del argumento sap_hana_backup_size.

    Si configuras el valor de include_backup_disk como false, no se implementa ningún disco para el directorio /hanabackup.

    backup_disk_type String Opcional. Para implementaciones de escalamiento vertical, especifica el tipo de Persistent Disk o Hyperdisk que deseas implementar para el volumen /hanabackup. Para obtener información sobre la implementación de disco predeterminada que realiza la configuración de Terraform que proporciona Google Cloud, consulta Implementación de discos mediante Terraform.

    Los siguientes valores son válidos para este argumento: pd-ssd, pd-balanced, pd-standard, hyperdisk-extreme, hyperdisk-balanced y pd-extreme.

    Este argumento está disponible en el módulo sap_hana versión 202307061058 o posterior.

    enable_fast_restart Booleano Opcional. Este argumento determina si la opción de reinicio rápido de SAP HANA está habilitada para tu implementación. El valor predeterminado es true. Google Cloud recomienda habilitar la opción de reinicio rápido de SAP HANA.

    Este argumento está disponible en el módulo sap_hana versión 202309280828 o posterior.

    public_ip Booleano Opcional. Determina si se agrega o no una dirección IP pública a la instancia de VM. El valor predeterminado es true.
    service_account String Opcional. Especifica la dirección de correo electrónico de una cuenta de servicio administrada por el usuario que usarán las VM del host y los programas que se ejecutan en las VM del host. Por ejemplo: svc-acct-name@project-id.iam.gserviceaccount.com.

    Si especificas este argumento sin un valor o lo omites, la secuencia de comandos de instalación usará la cuenta de servicio predeterminada de Compute Engine. Para obtener más información, consulta la sección sobre administración de identidades y accesos para programas SAP en Google Cloud.

    sap_deployment_debug Booleano Opcional. Solo cuando Atención al cliente de Cloud te solicite habilitar la depuración para tu implementación, especifica true, lo que hace que la implementación genere registros de implementación con verbosidad. El valor predeterminado es false.
    reservation_name String Opcional. A fin de usar una reserva de VM de Compute Engine específica para esta implementación, especifica el nombre de la reserva. De forma predeterminada, la secuencia de comandos de instalación selecciona cualquier reserva de Compute Engine disponible según las siguientes condiciones.

    Para que una reserva se pueda usar, sin importar si especificas un nombre o si la secuencia de comandos de instalación lo selecciona automáticamente, la reserva debe configurarse con lo siguiente:

    • La opción specificReservationRequired se configura como true o, en la consola de Google Cloud, la opción Seleccionar reserva específica está seleccionada.
    • Algunos tipos de máquinas de Compute Engine son compatibles con las plataformas de CPU que no están cubiertas por la certificación de SAP del tipo de máquina. Si la reserva de destino es para cualquiera de los siguientes tipos de máquina, la reserva debe especificar las plataformas de CPU mínimas como se indica:
      • n1-highmem-32: Broadwell de Intel
      • n1-highmem-64: Broadwell de Intel
      • n1-highmem-96: Intel Skylake
      • m1-megamem-96: Intel Skylake
    • Las plataformas de CPU mínimas para todos los demás tipos de máquinas certificados por SAP para su uso en Google Cloud cumplen con el requisito mínimo de CPU de SAP.
    vm_static_ip String Opcional. Especifica una dirección IP estática válida para la instancia de VM. Si no especificas una, se generará una dirección IP de forma automática para la instancia de VM.

    Este argumento está disponible en el módulo sap_hana versión 202306120959 o posterior.

    worker_static_ips Lista(Cadena) Opcional. Especifica un arreglo de direcciones IP estáticas válidas para las instancias de trabajador en tu sistema de escalamiento horizontal. Si no especificas un valor para este argumento, se genera una dirección IP de forma automática para cada instancia de VM de trabajador. Por ejemplo, [ "1.0.0.1", "2.3.3.4" ].

    Las direcciones IP estáticas se asignan en el orden de creación de la instancia. Por ejemplo, si eliges implementar 3 instancias de trabajador, pero especificas solo 2 direcciones IP para el argumento worker_static_ips, entonces estas direcciones IP se asignan a las primeras dos instancias de VM que implementa la configuración de Terraform. Para la tercera instancia de VM de trabajador, la dirección IP se genera automáticamente.

    Este argumento está disponible en el módulo sap_hana versión 202306120959 o posterior.

    can_ip_forward Booleano

    Especifica si se permite el envío y la recepción de paquetes con IP de origen o destino que no coincidan, lo que permite que una VM actúe como un router. El valor predeterminado es true.

    Si solo deseas usar los balanceadores de cargas internos de Google para administrar las IP virtuales de las VMs implementadas, establece el valor en false. Un balanceador de cargas interno se implementa automáticamente como parte de las plantillas de alta disponibilidad.

    En el siguiente ejemplo, se muestra un archivo de configuración completo que le indica a Terraform que implemente una máquina virtual n2-highmem-32 con un sistema SAP HANA de escalamiento horizontal que incluye una instancia principal de SAP HANA con tres hosts de trabajador, e instancias de Filestore Basic que comparten los volúmenes /hana/shared y /hanabackup con los hosts trabajadores. Los hosts ejecutan el SLES del sistema operativo para SAP 15 SP2.

    #
    resource "google_filestore_instance" "hana_shared_nfs" {
      name = "fs-basic-shared"
      tier = "PREMIUM"
      project = "example-project-123456"
      location = "us-central1-f"
      file_shares {
        name = "hana_shared_nfs"
        capacity_gb = 2600
      }
      networks {
        network = "example-network"
        modes   = ["MODE_IPV4"]
      }
    }
    
    resource "google_filestore_instance" "hana_backup_nfs" {
      name = "fs-basic-backup"
      tier = "PREMIUM"
      project = "example-project-123456"
      location = "us-central1-f"
      file_shares {
        name = "hana_backup_nfs"
        capacity_gb = 2600
      }
      networks {
        network = "example-network"
        modes   = ["MODE_IPV4"]
      }
    }
    
    #...
    module "sap_hana" {
      source = "https://storage.googleapis.com/cloudsapdeploy/terraform/latest/terraform/sap_hana/sap_hana_module.zip"
      #
      # By default, this source file uses the latest release of the terraform module
      # for SAP on Google Cloud. To fix your deployments to a specific release
      # of the module, comment out the source property above and uncomment the source property below.
      #
      # source = "https://storage.googleapis.com/cloudsapdeploy/terraform/YYYYMMDDHHMM/terraform/sap_hana/sap_hana_module.zip"
      # ...
      project_id = "example-project-123456"
      zone = "us-central1-f"
      machine_type = "n2-highmem-32"
      subnetwork = "example-subnet-us-central1"
      linux_image = "sles-15-sp2-sap"
      linux_image_project = "suse-sap-cloud"
    
      instance_name = "hana-scaleout"
      sap_hana_shared_nfs_resource  = resource.google_filestore_instance.hana_shared_nfs
      sap_hana_backup_nfs_resource  = resource.google_filestore_instance.hana_backup_nfs
    
      # sap_hana_shared_nfs = "10.151.91.122:/hana_shared_nfs"
      # sap_hana_backup_nfs = "10.216.41.122:/hana_backup_nfs"
    
      sap_hana_deployment_bucket = "mybucketname"
      sap_hana_sid = "AB2"
      sap_hana_instance_number = 12
      sap_hana_sidadm_password = "TempPa55word"
      sap_hana_system_password = "TempPa55word"
      sap_hana_scaleout_nodes = 3
      sap_hana_sidadm_uid = 11
      vm_static_ip = "10.0.0.1"
      worker_static_ips = ["10.0.0.2", "10.0.0.3", "10.0.0.4"]
      enable_fast_restart = true
      # ...
    }
  6. Inicializa tu directorio de trabajo actual y descarga los archivos del módulo y el complemento del proveedor de Terraform para Google Cloud:

    terraform init

    El comando terraform init prepara tu directorio de trabajo para otros comandos de Terraform.

    Para forzar una actualización del complemento de proveedor y los archivos de configuración en tu directorio de trabajo, especifica la marca --upgrade. Si se omite la marca --upgrade y no realizas ningún cambio en tu directorio de trabajo, Terraform usa las copias almacenadas en caché de forma local, incluso si latest se especifica en la URL source.

    terraform init --upgrade 
  7. De manera opcional, crea el plan de ejecución de Terraform:

    terraform plan

    El comando terraform plan muestra los cambios que requiere tu configuración actual. Si omites el comando terraform plan, el comando terraform apply calcula el plan antes de aplicarlo.

  8. Para aplicar el plan de ejecución, sigue estos pasos:

    terraform apply

    Cuando se te solicite aprobar las acciones, ingresa yes.

    El comando terraform apply configura la infraestructura de Google Cloud y, luego, invoca otra secuencia de comandos que configura el sistema operativo e instala SAP HANA.

    Mientras Terraform tiene control, los mensajes de estado se escriben en Cloud Shell. Una vez que se invocan las secuencias de comandos, los mensajes de estado se escriben en Logging y se pueden ver en la consola de Google Cloud, como se describe en Verifica los registros.

    El tiempo de finalización puede variar, pero todo el proceso suele tardar menos de 30 minutos.

Verifica la implementación

Para verificar la implementación, revisa los registros de implementación en Cloud Logging y los discos y servicios en las VM de los hosts principales y de trabajador.

Verifica los registros

  1. En la consola de Google Cloud, abre Cloud Logging para supervisar el progreso de la instalación y verificar si hay errores.

    Ir a Cloud Logging

  2. Filtra los registros:

    Explorador de registros

    1. En la página Explorador de registros, ve al panel Consulta.

    2. En el menú desplegable Recurso, selecciona Global y, luego, haz clic en Agregar.

      Si no ves la opción Global, ingresa la siguiente consulta en el editor de consultas:

      resource.type="global"
      "Deployment"
      
    3. Haz clic en Ejecutar consulta.

    Visor de registros heredado

    • En la página Visor de registros heredado, en el menú del selector básico, selecciona Global como tu recurso de registro.
  3. Analiza los registros filtrados:

    • Si se muestra "--- Finished", el proceso de implementación está completo y puedes continuar con el siguiente paso.
    • Si ves un error de cuota, sigue estos pasos:

      1. En la página Cuotas de IAM y administración, aumenta cualquiera de las cuotas que no cumplan con los requisitos de SAP HANA que se enumeran en la Guía de planificación de SAP HANA.

      2. Abra Cloud Shell.

        Ir a Cloud Shell

      3. Ve al directorio de trabajo y borra la implementación para limpiar las VM y los discos persistentes de la instalación fallida:

        terraform destroy

        Cuando se te solicite aprobar la acción, ingresa yes.

      4. Vuelve a ejecutar tu implementación.

Verifica la configuración de la VM y el sistema SAP HANA

  1. Después de que el sistema SAP HANA se implemente sin errores, conéctate a cada VM mediante una conexión SSH. En la página Instancias de VM de Compute Engine, puedes hacer clic en el botón SSH para cada instancia de VM o usar tu método SSH preferido.

    Botón SSH de la página instancias de VM de Compute Engine

  2. Cambia al usuario raíz.

    sudo su -
  3. En el símbolo del sistema, ingresa df -h y, luego, asegúrate de que veas un resultado similar al siguiente, con los volúmenes y tamaños que esperas.

    El siguiente es un resultado de ejemplo del nodo principal de un sistema de escalamiento horizontal de muestra que tiene tres nodos trabajadores. Tenga en cuenta que no hay volúmenes para /hana/shared y /hanabackup, ya que estos volúmenes se alojan en instancias de Filestore.

    example-vm:~ # df -h
    Filesystem                         Size  Used Avail Use% Mounted on
    devtmpfs                           126G  8.0K  126G   1% /dev
    tmpfs                              189G     0  189G   0% /dev/shm
    tmpfs                              126G   18M  126G   1% /run
    tmpfs                              126G     0  126G   0% /sys/fs/cgroup
    /dev/sda3                           30G  6.5G   24G  22% /
    /dev/sda2                           20M  2.9M   18M  15% /boot/efi
    10.65.188.162:/hana_shared_nfs     2.5T   41G  2.4T   2% /hana/shared
    /dev/mapper/vg_hana_usrsap-usrsap   32G  265M   32G   1% /usr/sap
    /dev/mapper/vg_hana_data-data      308G   10G  298G   4% /hana/data
    /dev/mapper/vg_hana_log-log        128G  7.8G  121G   7% /hana/log
    10.160.217.66:/hana_backup_nfs     2.5T     0  2.4T   0% /hanabackup
    tmpfs                               26G     0   26G   0% /run/user/472
    tmpfs                               26G     0   26G   0% /run/user/900
    tmpfs                               26G     0   26G   0% /run/user/1000
  4. Cambia al usuario administrador de SAP:

    su - SID_LCadm
    

    Reemplaza SID_LC por el valor SID que especificaste en el archivo de configuración. Usa minúsculas para las letras.

  5. Asegúrate de que los servicios de SAP HANA, como hdbnameserver, hdbindexserver y otros, se ejecuten en la instancia:

    HDB info
    
  6. Si usas RHEL para SAP 9.0 o una versión posterior, asegúrate de que los paquetes chkconfig y compat-openssl11 estén instalados en la instancia de VM.

    Para obtener más información de SAP, consulta la Nota 3108316 de SAP: Red Hat Enterprise Linux 9.x: Instalación y configuración.

Limpia y vuelve a intentar la implementación

Si alguno de los pasos de verificación de implementación en las secciones anteriores muestra que la instalación no se realizó de forma correcta, debes deshacer la implementación y volver a intentarlo a través de los siguientes pasos:

  1. Resuelve cualquier error para asegurarte de que tu implementación no vuelva a fallar por el mismo motivo. Si deseas obtener más información para verificar los registros o resolver errores relacionados con la cuota, consulta Verifica los registros.

  2. Abre Cloud Shell o, si instalaste Google Cloud CLI en la estación de trabajo local, abre una terminal.

    Abra Cloud Shell

  3. Ve al directorio que contiene el archivo de configuración de Terraform que usaste para esta implementación.

  4. Borra todos los recursos que forman parte de la implementación a través de la ejecución del siguiente comando:

    terraform destroy

    Cuando se te solicite aprobar la acción, ingresa yes.

  5. Vuelve a intentar la implementación como se indicó antes en esta guía.

Valida la instalación del Agente de Google Cloud para SAP

Después de que hayas implementado una VM y le hayas instalado SAP NetWeaver, valida que el Agente de Google Cloud para SAP funcione de forma correcta.

Verifica que el Agente de Google Cloud para SAP esté en ejecución

Para verificar que el agente esté en ejecución, sigue estos pasos:

  1. Establece una conexión SSH con la instancia de VM del host.

  2. Ejecuta el siguiente comando:

    systemctl status google-cloud-sap-agent

    Si el agente funciona de forma correcta, el resultado contendrá active (running). Por ejemplo:

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
    Main PID: 1337673 (google-cloud-sa)
    Tasks: 9 (limit: 100427)
    Memory: 22.4 M (max: 1.0G limit: 1.0G)
    CGroup: /system.slice/google-cloud-sap-agent.service
           └─1337673 /usr/bin/google-cloud-sap-agent
    

Si el agente no está en ejecución, reinicia el agente.

Verifica que el agente de host SAP reciba métricas

Para verificar que el Agente de Google Cloud para SAP recopile las métricas de infraestructura y que se envíen de forma correcta al agente de host SAP, sigue estos pasos:

  1. En el sistema SAP, ingresa la transacción ST06.
  2. En el panel de descripción general, revisa la disponibilidad y el contenido de los siguientes campos para verificar la configuración completa y correcta de la infraestructura de supervisión de SAP y Google:

    • Proveedor de servicios en la nube: Google Cloud Platform
    • Acceso de supervisión mejorada: TRUE
    • Detalles de supervisión mejorada: ACTIVE

Instala SAP HANA Studio en una VM de Windows de Compute Engine

Puedes conectarte desde una instancia de SAP HANA fuera de Google Cloud o desde una instancia en Google Cloud. Para ello, puede que debas habilitar el acceso a la red a las VM de destino desde SAP HANA Studio.

Para instalar SAP HANA Studio en una VM de Windows en Google Cloud, usa el siguiente procedimiento:

  1. Usa Cloud Shell para invocar los siguientes comandos.

    Abra Cloud Shell

    export NETWORK_NAME="[YOUR_NETWORK_NAME]"
    export REGION="[YOUR_REGION]"
    export ZONE="[YOUR_ZONE]"
    export SUBNET="[YOUR_SUBNETWORK_NAME]"
    export SOURCE_IP_RANGE="[YOUR_WORKSTATION_IP]"
    gcloud compute instances create saphanastudio --zone=$ZONE \
    --machine-type=n1-standard-2  --subnet=$SUBNET --tags=hanastudio \
    --image-family=windows-2016  --image-project=windows-cloud \
    --boot-disk-size=100 --boot-disk-type=pd-standard \
    --boot-disk-device-name=saphanastudio
    gcloud compute firewall-rules create ${NETWORK_NAME}-allow-rdp \
    --network=$NETWORK_NAME --allow=tcp:3389 --source-ranges=$SOURCE_IP_RANGE \
    --target-tags=hanastudio

    Mediante los comandos anteriores, se establecen variables para la sesión actual de Cloud Shell, se crea un servidor de Windows en la subred que creaste antes y se crea una regla de firewall que permite el acceso desde una estación de trabajo local a la instancia a través del Remote Desktop Protocol (Protocolo de escritorio remoto o RDP).

  2. Instala SAP HANA Studio en este servidor.

    1. Sube los archivos de instalación de SAP HANA Studio y la herramienta de extracción de SAPCAR a un depósito de Cloud Storage en tu proyecto de Google Cloud.
    2. Conéctate a la VM de Windows nueva mediante el RDP o mediante tu método preferido.
    3. En Windows, con permisos de administrador, abre la shell de Google Cloud CLI o cualquier otra interfaz de línea de comandos.
    4. Copia los archivos de instalación de SAP HANA Studio y la herramienta de extracción de SAPCAR del depósito de almacenamiento a la VM. Para esto, ingresa el comando gcloud storage cp en la interfaz de comandos. Por ejemplo:

      gcloud storage cp gs://[SOURCE_BUCKET]/IMC_STUDIO2_232_0-80000323.SAR C:\[TARGET_DIRECTORY] &
      gcloud storage cp gs://[SOURCE_BUCKET]/SAPCAR_1014-80000938.EXE C:\[TARGET_DIRECTORY]
      
    5. Cambia el directorio al directorio de destino.

      cd C:\[TARGET_DIRECTORY]
      
    6. Ejecuta el programa de SAPCAR para extraer el archivo de instalación de SAP HANA Studio.

      SAPCAR_1014-80000938.EXE -xvf IMC_STUDIO2_232_0-80000323.SAR
      
    7. Ejecuta el programa hdbinst extraído para instalar SAP HANA Studio.

Configura la supervisión para SAP HANA

De manera opcional, puedes supervisar tus instancias de SAP HANA con el agente para SAP de Google Cloud. Desde la versión 2.0, puedes configurar el agente para recopilar las métricas de supervisión de SAP HANA y enviarlas a Cloud Monitoring. Cloud Monitoring te permite crear paneles para visualizar estas métricas, configurar alertas basadas en límites de métricas y mucho más.

Si deseas obtener más información sobre la recopilación de métricas de supervisión de SAP HANA mediante el agente de para SAP de Google Cloud, consulta Recopilación de métricas de supervisión de SAP HANA.

Conéctate a SAP HANA

Ten en cuenta que, como en estas instrucciones no se usa una IP externa para SAP HANA, solo puedes conectarte a las instancias de SAP HANA a través de la instancia de bastión mediante la conexión SSH o a través del servidor de Windows mediante SAP HANA Studio.

  • Para conectarte a SAP HANA a través de la instancia de bastión, conéctate al host de bastión y, luego, a las instancias de SAP HANA con el cliente SSH que prefieras.

  • Para conectarte a la base de datos de SAP HANA a través de SAP HANA Studio, usa un cliente de escritorio remoto para conectarte a la instancia de Windows Server. Después de la conexión, instala SAP HANA Studio de forma manual y accede a la base de datos de SAP HANA.

Realiza tareas posteriores a la implementación

Antes de usar la instancia de SAP HANA, te recomendamos que realices los siguientes pasos posteriores a la implementación: Para obtener más información, consulta la Guía de instalación y actualización de SAP HANA.

  1. Cambia las contraseñas temporales para el administrador del sistema de SAP HANA y el superusuario de la base de datos. Por ejemplo:

    sudo passwd SIDadm

    Consulta Restablece la contraseña de usuario de SISTEMA de la base de datos del sistema.

  2. Instala tu licencia permanente de SAP HANA. Si no lo haces, SAP HANA podría entrar en bloqueo de la base de datos luego de que expire la licencia temporal.

    Si deseas obtener más información de SAP sobre la administración de las licencias de SAP HANA, consulta Claves de licencia para la base de datos de SAP HANA.

  3. Actualiza el software SAP HANA con los últimos parches.

  4. Si tu sistema SAP HANA se implementa en una interfaz de red de VirtIO, te recomendamos que te asegures de que el valor del parámetro de TCP /proc/sys/net/ipv4/tcp_limit_output_bytes esté configurado como 1048576. Esta modificación ayuda a mejorar la capacidad de procesamiento general de la red en la interfaz de red de VirtIO sin afectar la latencia de la red.

  5. Instala cualquier componente adicional, como las bibliotecas de funciones de aplicaciones (AFL) o el acceso a datos inteligentes (SDA).

  6. Configura y haz una copia de seguridad de tu base de datos de SAP HANA nueva. Para obtener más información, consulta la Guía de operaciones de SAP HANA.

Evalúa la carga de trabajo de SAP HANA

Para automatizar las verificaciones de validación continua de las cargas de trabajo de SAP HANA que se ejecutan en Google Cloud, puedes usar Workload Manager.

Workload Manager te permite analizar y evaluar de forma automática las cargas de trabajo de SAP HANA con las prácticas recomendadas de SAP, Google Cloud y los proveedores del SO. Esto ayuda a mejorar la calidad, el rendimiento y la confiabilidad de tus cargas de trabajo.

Si deseas obtener información sobre las prácticas recomendadas que admite el administrador de cargas de trabajo para evaluar las cargas de trabajo de SAP HANA que se ejecutan en Google Cloud, consulta Prácticas recomendadas de administrador de cargas de trabajo para SAP. Para obtener información sobre cómo crear y ejecutar una evaluación mediante Workload Manager, consulta Crea y ejecuta una evaluación.

¿Qué sigue?

  • Si necesitas usar NetApp Cloud Volumes Service para Google Cloud en lugar de discos persistentes destinados a los directorios de SAP HANA, consulta la información de implementación de NetApp Cloud Volumes Service en la guía de planificación de SAP HANA.
  • Para obtener más información sobre la administración y supervisión de la VM, consulta la Guía de operaciones de SAP HANA.