Información general sobre el despliegue de SAP S/4HANA

Este documento ofrece una descripción general de los sistemas SAP S/4HANA que puede implementar con la herramienta de automatización de la implementación guiada de Workload Manager, así como otras consideraciones sobre la implementación. Para obtener más información, consulta la Google Cloud arquitectura de referencia de SAP S/4HANA.

Proceso de implementación de SAP S/4HANA

En la siguiente lista se ofrece un resumen de las distintas tareas que Workload Manager lleva a cabo durante el proceso de implementación:

  • Habilita las APIs necesarias si no están habilitadas en el proyecto.
  • Configura y aprovisiona la infraestructura necesaria para la implementación.
  • Configura el sistema operativo en las VMs.
  • Instala SAP S/4HANA.
  • Realiza una copia de seguridad completa de la base de datos de SAP HANA en un archivo.
  • Configura el clúster del SO Pacemaker para la alta disponibilidad de SAP HANA, los balanceadores de carga necesarios y las comprobaciones de estado (solo para alta disponibilidad).
  • Habilita la replicación del sistema SAP HANA (HSR) para la alta disponibilidad.
  • Configura el clúster del SO Pacemaker para la alta disponibilidad de la aplicación SAP, los balanceadores de carga necesarios y las comprobaciones del estado.
  • Instala la aplicación SAP seleccionada.
  • Inicia la base de datos SAP HANA y la aplicación SAP instalada.
  • Instala los siguientes agentes obligatorios en las VMs:
    • Agente deGoogle Cloudpara SAP
    • Agente de host de SAP

El resultado de una implementación correcta es un sistema SAP S/4HANA vacío ("greenfield"). Para obtener más información sobre los pasos que debes seguir después de un despliegue correcto, consulta Tareas posteriores al despliegue de SAP S/4HANA.

Desplegar con la Google Cloud consola

Cuando decides desplegar tu carga de trabajo mediante la Google Cloud consola, Workload Manager gestiona automáticamente el despliegue integral, incluida la ejecución de secuencias de comandos de Terraform y Ansible, y el aprovisionamiento de recursos. También tienes acceso a todos los archivos subyacentes que se han usado durante el proceso de implementación.

Workload Manager usa Infrastructure Manager para automatizar el proceso de implementación. Infrastructure Manager usa Cloud Build para inicializar Terraform y ejecutar otros comandos de Terraform. A continuación, Cloud Build almacena los archivos de Terraform y el archivo de estado de Terraform en un segmento de Cloud Storage.

Para obtener más información sobre Infrastructure Manager, consulta el resumen de Infrastructure Manager.

Además de los recursos de Compute Engine necesarios para tu carga de trabajo de SAP, Terraform implementa una VM de Ansible Runner que tiene acceso a otros recursos de la implementación. La VM de Runner ejecuta automáticamente las secuencias de comandos de Ansible que realizan más configuraciones de la infraestructura desplegada, incluida la configuración del SO, la configuración del clúster de alta disponibilidad y la orquestación del proceso de instalación de la aplicación SAP.

Arquitectura de alto nivel de la implementación de SAP S/4HANA

En esta sección se ofrece una descripción general del sistema que se implementa al desplegar SAP S/4HANA con la herramienta de automatización de la implementación guiada en Workload Manager. Ten en cuenta que la arquitectura exacta puede variar en función de la configuración y los ajustes que hayas especificado, y que no todos los recursos implementados se incluyen en las cifras.

Además de estos recursos, también se implementa una VM de Ansible Runner temporal en la zona principal, que tiene acceso a otros recursos de la implementación. La VM de Ansible Runner ejecuta automáticamente las secuencias de comandos de Ansible que realizan la configuración adicional de la infraestructura implementada, incluida la configuración del SO, la configuración del clúster de alta disponibilidad y la orquestación del proceso de instalación de la aplicación SAP.

Distribuido con alta disponibilidad

En la siguiente figura se muestra una implementación distribuida con alta disponibilidad en la que se configuran clústeres de Linux en diferentes zonas para protegerse frente a los fallos de componentes en una región determinada.

SAP S/4HANA distribuido con alta disponibilidad
SAP S/4HANA distribuido con arquitectura de alta disponibilidad

Arquitectura distribuida

En la siguiente figura se muestra la arquitectura de SAP S/4HANA en una implementación distribuida.

SAP S/4HANA distribuido
Arquitectura distribuida de SAP S/4HANA

Diseño de disco de SAP HANA

En el siguiente diagrama se muestra el diseño del disco de la base de datos SAP HANA, que se aplica tanto a las configuraciones distribuidas como a las distribuidas con alta disponibilidad.

Diseño de disco recomendado para SAP HANA en Google Cloud

Los discos descritos en la disposición de discos anterior se montan directamente en el sistema operativo como parte de los sistemas de archivos de SAP HANA necesarios. Estos discos no se usan como parte de los volúmenes lógicos creados a través de LVM. Por ejemplo, el resultado es similar al siguiente cuando ejecutas el comando df -h:

example-vm:~ # df -h | grep /dev/sd
    Filesystem                        Size  Used Avail Use% Mounted on
    /dev/sda3                          50G  4.3G   46G   9% /
    /dev/sda2                          20M  3.0M   17M  15% /boot/efi
    /dev/sda                           32G  293M   32G   1% /usr/sap
    /dev/sdc                          308G  164G  145G  54% /hana/data
    /dev/sdd                          128G   11G  118G   9% /hana/log
    /dev/sde                          256G   12G  245G   5% /hana/shared
    /dev/sdf                          256G   96G  161G  38% /hanabackup

Recursos creados durante la implementación

Workload Manager usa las siguientes APIs y servicios para desplegar SAP S/4HANA. Google Cloud

Compute Engine

Instancias de máquina virtual

Las implementaciones de SAP S/4HANA incluyen recursos de Compute Engine para los siguientes componentes. Al configurar las VMs para estos componentes, solo puede seleccionar los tipos de máquina certificados por SAP para que se ajusten a los requisitos de tamaño para implementar S/4HANA.

  • Bases de datos SAP HANA
  • ASCS – Servicios centrales de SAP ABAP
    • Contiene el servidor de mensajes y el servidor de colas, que son necesarios en cualquier sistema SAP ABAP.
    • Se implementa en su propia instancia de VM en implementaciones de alta disponibilidad o en la instancia de VM que aloja el PAS.
    • En las implementaciones de alta disponibilidad, los recursos de ASCS se gestionan mediante un gestor de recursos de clúster de Linux, como Pacemaker.
  • ERS: servidor de replicación de colas o replicador de colas
    • Se implementa en implementaciones de alta disponibilidad para mantener una réplica de la tabla de bloqueo por si le ocurre algo a la instancia de ASCS.
    • Gestionado por un gestor de recursos de clúster de Linux, como Pacemaker.
  • PAS: servidor de aplicaciones principal.
    • El primer servidor de aplicaciones (o el único) del sistema SAP.
  • AAS: servidor de aplicaciones adicional.
    • Se suele implementar para el balanceo de carga a nivel de aplicación. También puedes instalar varios AAS para conseguir una mayor disponibilidad desde la perspectiva de la capa de aplicación. Si uno de los servidores de aplicaciones falla, se cerrarán todas las sesiones de usuario conectadas a ese servidor, pero los usuarios podrán volver a iniciar sesión en el otro AAS del entorno.
    • En las configuraciones de alta disponibilidad, los servidores de aplicaciones se dividen equitativamente entre las zonas principal y secundaria.

Opciones de almacenamiento

Persistent Disk o Hyperdisk se usan para proporcionar capacidad de almacenamiento a las instancias de VM de tu implementación de SAP S/4HANA.

Los tamaños de los discos de cada volumen se calculan automáticamente de acuerdo con las prácticas recomendadas de SAP S/4HANA para los tipos de almacenamiento en bloque y de máquina seleccionados.

En la siguiente tabla se muestran los discos creados en una implementación de SAP S/4HANA.

Instancia de VM para: Disco Tipos admitidos*
Bases de datos HANA bota Disco persistente SSD
Bases de datos HANA /hana/data Disco persistente equilibrado
Disco persistente SSD
Hiperdisco extremo
Bases de datos HANA /hana/log Disco persistente equilibrado
Disco persistente SSD
Hiperdisco extremo
Bases de datos HANA /hana/shared Disco persistente balanceado
Disco persistente SSD
Bases de datos HANA /usr/sap Disco persistente balanceado
Disco persistente SSD
Bases de datos HANA /hanabackup Disco persistente balanceado
Disco persistente SSD
ASCS/ERS bota Disco persistente SSD
ASCS/ERS /usr/sap Disco persistente balanceado
PAS/AAS bota Disco persistente SSD
PAS/AAS /usr/sap Disco persistente balanceado
PAS/AAS export-interfaces Disco persistente balanceado

*En el caso de la base de datos SAP HANA, puedes seleccionar Disco persistente balanceado, Disco persistente SSD o Hyperdisk Extreme si el tipo de máquina seleccionado lo admite. Si seleccionas Disco persistente balanceado o Disco persistente SSD, todos los discos de la implementación serán del tipo de disco seleccionado. Si seleccionas Hyperdisk Extreme, solo los volúmenes /data y /log usarán Hyperdisk Extreme, y los demás volúmenes de disco usarán Persistent Disk SSD.

Redes

VPC compartida

Se puede usar una VPC compartida de un proyecto host para la implementación en un proyecto de servicio. Si seleccionas VPC compartida, se crearán los siguientes recursos de red en el proyecto host.

  • Reglas de cortafuegos
  • La instancia de Filestore de la red
  • Reglas de reenvío

Reglas de cortafuegos

Durante el proceso de implementación, Workload Manager crea automáticamente las reglas de cortafuegos para permitir la comunicación necesaria entre las VMs de la implementación. En las configuraciones de alta disponibilidad, estas reglas de cortafuegos también proporcionan acceso para realizar comprobaciones del estado en los balanceadores de carga que se crean en la subred especificada.

Workload Manager crea las siguientes reglas de cortafuegos:

  • DEPLOYMENT_NAME-communication-firewall: habilita la comunicación entre las instancias de VM de la implementación.
  • Ilb-firewall-ascs-DEPLOYMENT_NAME o Ilb-firewall-ers-DEPLOYMENT_NAME: solo para configuraciones de alta disponibilidad. Habilita las comprobaciones del estado que se usan en la conmutación por error de ASCS o ERS.
  • Ilb-firewall-db-DEPLOYMENT_NAME: solo para configuraciones de alta disponibilidad. Habilita las comprobaciones de estado que se usan en la conmutación por error de la base de datos SAP HANA.

Cuando se usa una configuración de VPC compartida, estas reglas de cortafuegos se crean en el proyecto host en el que se aloja la red compartida.

Balanceadores de carga y reglas de reenvío

En las configuraciones de alta disponibilidad, se crean los siguientes balanceadores de carga y reglas de reenvío:

  • DEPLOYMENT_NAME-ascs-service
    • DEPLOYMENT_NAME-ascs-forwarding-rule
  • DEPLOYMENT_NAME-db-service
    • DEPLOYMENT_NAME-db-forwarding-rule
  • DEPLOYMENT_NAME-ers-service
    • DEPLOYMENT_NAME-ers-forwarding-rule

Zonas de DNS

Durante el proceso de configuración, puedes elegir Gestor de cargas de trabajo para crear una zona de Cloud DNS para tu implementación. También puedes saltarte la creación de la zona DNS durante la configuración y configurar manualmente una zona DNS más adelante.

Workload Manager crea la zona y el DNS con los siguientes nombres:

  • Nombre de la zona: DEPLOYMENT_NAME
  • Nombre de DNS: DEPLOYMENT_NAME-gcp.sapcloud.goog

Workload Manager añade los conjuntos de registros DNS necesarios para cada máquina virtual de la implementación.

Cuando se usa una configuración de VPC compartida, la configuración y la implementación relacionadas con el DNS se realizan en el proyecto de servicio.

Filestore

Filestore Enterprise es un servicio de almacenamiento de archivos NFS de alto rendimiento y totalmente gestionado que está conectado a la red especificada durante el proceso de configuración. En las instancias ASCS y ERS, se usa para los archivos de transporte, los directorios /usr/sap/SID/ascs y /usr/sap/SID/ers. En los servidores de aplicaciones, se usa para el directorio sapmnt/SID.

Si utilizas una configuración de VPC compartida, la instancia de Filestore Enterprise se crea en el proyecto host.

Cuestiones sobre seguridad

En esta sección se describen las consideraciones de seguridad que aborda Workload Manager para proteger tus implementaciones en Google Cloud.

Cuentas de servicio y permisos

Durante el proceso de configuración, debes especificar una cuenta de servicio que se use para la autenticación al implementar tu carga de trabajo. Workload Manager usa los permisos y las credenciales de esta cuenta de servicio para llamar a otras APIs y servicios de Google Cloud que se utilizan en la implementación. Después de seleccionar una cuenta de servicio, Workload Manager evalúa automáticamente los roles de gestión de identidades y accesos asociados para determinar si tiene los permisos necesarios para desplegar tu sistema. Si falta algún rol, se te pedirá que concedas los roles que faltan, siempre que tengas los permisos necesarios.

Se necesitan los siguientes roles para la cuenta de servicio que se usa para implementar sistemas SAP S/4HANA. También puedes crear roles personalizados para asignar los permisos individuales necesarios durante el proceso de implementación. Ten en cuenta que los permisos específicos que se requieren se muestran solo a modo de ejemplo. Los permisos específicos pueden variar en función de la configuración que elijas y de la configuración del proyecto.

Rol de gestión de identidades y accesos necesario Caso práctico Permisos obligatorios
Lector de acciones Se requiere para verificar que el proyecto es válido y que la cuenta de servicio tiene los permisos necesarios para acceder al recurso. resourcemanager.projects.get
Editor de Cloud Filestore Permisos necesarios para crear y gestionar volúmenes de almacenamiento compartido de Filestore Enterprise adjuntos a la implementación. file.instances.create
file.instances.delete
file.instances.get
file.operations.get
Agente de Cloud Infrastructure Manager Obligatorio para el servicio Infrastructure Manager, que se usa para desplegar la infraestructura al desplegarla con la consola Google Cloud . config.deployments.getLock
config.deployments.getState
config.deployments.updateState
logging.logEntries.create
storage.buckets.create
storage.buckets.delete
storage.buckets.get
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
Administrador de Compute
Permisos necesarios para crear y gestionar todos los recursos de computación creados para la implementación
compute.addresses.createInternal
compute.addresses.deleteInternal
compute.addresses.get
compute.addresses.useInternal
compute.disks.create
compute.disks.delete
compute.disks.get
compute.disks.setLabels
compute.disks.use
compute.firewalls.create
compute.firewalls.delete
compute.firewalls.get
compute.forwardingRules.create
compute.forwardingRules.delete
compute.forwardingRules.get
compute.forwardingRules.setLabels
compute.globalOperations.get
compute.healthChecks.create
compute.healthChecks.delete
compute.healthChecks.get
compute.healthChecks.useReadOnly
compute.instanceGroups.create
compute.instanceGroups.delete
compute.instanceGroups.get
compute.instanceGroups.update
compute.instanceGroups.use
compute.instances.create
compute.instances.delete
compute.instances.get
compute.instances.setLabels
compute.instances.setMetadata
compute.instances.setServiceAccount
compute.instances.setTags
compute.instances.use
compute.networks.get
compute.networks.updatePolicy
compute.regionBackendServices.create
compute.regionBackendServices.delete
compute.regionBackendServices.get
compute.regionBackendServices.use
compute.regionOperations.get
compute.subnetworks.get
compute.subnetworks.use
compute.subnetworks.useExternalIp
compute.zoneOperations.get
compute.zones.get
resourcemanager.projects.get
serviceusage.services.list
Administrador de DNS
Permisos necesarios para crear una zona DNS y los conjuntos de registros necesarios.
compute.networks.get
dns.changes.create
dns.changes.get
dns.managedZones.create
dns.managedZones.delete
dns.managedZones.get
dns.networks.bindPrivateDNSZone
dns.resourceRecordSets.create
dns.resourceRecordSets.delete
dns.resourceRecordSets.list
dns.resourceRecordSets.update
resourcemanager.projects.get

Administrador de gestión de identidades y accesos de proyectos
Permisos necesarios para asignar roles de gestión de identidades y accesos a las cuentas de servicio creadas para cada capa de la implementación
resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.setIamPolicy

Administrador de cuentas de servicio

Permisos necesarios para crear y gestionar las cuentas de servicio creadas para cada capa de la implementación.

iam.serviceAccounts.create

iam.serviceAccounts.delete

iam.serviceAccounts.get

iam.serviceAccounts.getIamPolicy

iam.serviceAccounts.list

iam.serviceAccounts.setIamPolicy

resourcemanager.projects.get

Usuario de cuenta de servicio

Obligatorio para permitir que la cuenta de servicio elegida actúe como cuenta de servicio al llamar a otros productos y servicios.
iam.serviceAccounts.actAs
iam.serviceAccounts.get
iam.serviceAccounts.list
resourcemanager.projects.get
Administrador del uso del servicio Permisos para verificar el estado de las APIs necesarias y habilitarlas, si es necesario. serviceusage.services.list
serviceusage.services.enable
Administrador de Storage Permisos necesarios para acceder y usar los archivos multimedia de instalación de SAP subidos a Cloud Storage. resourcemanager.projects.get
storage.buckets.getIamPolicy
storage.objects.get
storage.objects.getIamPolicy
storage.objects.list

Si usas una configuración de VPC compartida, es posible que también necesites los siguientes permisos de gestión de identidades y accesos en el proyecto host, además de los roles anteriores que se requieren en el proyecto de servicio.

  • compute.firewalls.create
  • compute.firewalls.delete
  • compute.firewalls.get
  • compute.globalOperations.get
  • compute.networks.get
  • compute.networks.updatePolicy
  • compute.subnetworks.get
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • dns.networks.bindPrivateDNSZone
  • file.instances.create
  • file.instances.delete
  • file.instances.get
  • file.operations.get

Puedes usar Workload Manager para crear las siguientes cuentas de servicio para cada capa de la implementación. Workload Manager solo proporciona los permisos necesarios a estas cuentas de servicio para su rol en la implementación. También puedes seleccionar una cuenta de servicio que ya tenga los permisos de gestión de identidades y accesos necesarios para cada capa de la implementación.

Cuenta de servicio de: Correo electrónico de la cuenta de servicio Roles de gestión de identidades y accesos asignados
VM de Ansible Runner DEPLOYMENT_NAME-ansible@PROJECT_ID.iam.gserviceaccount.com
Administrador de instancias de Compute (v. 1)
Lector de Compute
Administrador de DNS
Administrador de Logging
Administrador de Monitoring
Lector de roles
Accessor de secretos de Secret Manager
Lector de Secret Manager
Usuario de cuenta de servicio
Lector de objetos de Storage
Escritor de estadísticas de Workload Manager
Máquinas virtuales de SAP ASCS o ERS DEPLOYMENT_NAME-ascs@PROJECT_ID.iam.gserviceaccount.com Administrador de instancias de Compute (v. 1)
Lector de Compute
Administrador de Logging
Administrador de Monitoring
Writer de métricas de Monitoring
Lector de objetos de Storage
Escritor de estadísticas de Workload Manager
VMs de aplicaciones DEPLOYMENT_NAME-app@PROJECT_ID.iam.gserviceaccount.com Lector de Compute
Administrador de Logging
Administrador de Monitoring
Editor de métricas de Monitoring
Lector de objetos de Storage
Editor de estadísticas de Gestor de cargas de trabajo
VMs de bases de datos DEPLOYMENT_NAME-db@PROJECT_ID.iam.gserviceaccount.com
Administrador de instancias de Compute (v. 1)
Lector de Compute
Administrador de Logging
Administrador de Monitoring
Editor de métricas de Monitoring
Lector de objetos de Storage
Editor de estadísticas de Workload Manager

Haz los cambios siguientes:

  • DEPLOYMENT_NAME: nombre de tu implementación de SAP.
  • PROJECT_ID: ID de tu proyecto de Google Cloud en el que creas la implementación.

Para obtener más información sobre la gestión de identidades y accesos y los permisos para ejecutar SAP en Google Cloud, consulta el artículo Gestión de identidades y accesos para programas SAP en Google Cloud.

Credenciales de usuario de la base de datos y la aplicación SAP

Workload Manager usa Secret Manager para almacenar las credenciales de tu sistema SAP, como la contraseña de las cuentas de usuario de administrador y SYSTEM. Para proporcionar la contraseña de forma segura, debes crear un secreto y usarlo durante el proceso de implementación. Puedes crear secretos independientes para almacenar las credenciales de tu base de datos y las capas de la aplicación. El secreto proporcionado para SAP HANA se usa como contraseña inicial de los siguientes usuarios:

  • Base de datos del sistema:
    • SYSTEM
    • SERVICE_BACKUP
    • DBACOCKPIT
  • Base de datos de inquilino de HANA:
    • SYSTEM
    • SERVICE_BACKUP
  • Base de datos de inquilino de S/4HANA:
    • SYSTEM
    • SAPDBCTRL
    • DBACOCKPIT
    • SAPHANADB

Las credenciales de la aplicación se usan para los siguientes usuarios del cliente 000:

  • DDIC
  • SAP*

Una vez que se haya completado la implementación, podrá modificar o asignar nuevas contraseñas a estos usuarios.

API obligatorias

Para desplegar una carga de trabajo de SAP S/4HANA, se necesitan las siguientes APIs y servicios. Durante el proceso de implementación, estas APIs se habilitan automáticamente a través de Terraform si la cuenta de servicio que usas para la implementación tiene los permisos necesarios. Estás sujeto a los Términos del Servicio de cada uno de estos servicios y empezarás a incurrir en cargos cuando se utilicen en la solución después de la implementación.

Obtener asistencia

Consulta Obtener asistencia para SAP en Google Cloud.

Siguientes pasos