En este documento, se proporciona una descripción general de los sistemas SAP S/4HANA que puedes implementar con la herramienta de automatización de implementación guiada en Workload Manager y consideraciones adicionales para la implementación. Para obtener más información, consulta la arquitectura de referencia de SAP S/4HANA de Google Cloud.
Proceso de implementación de SAP S/4HANA
En la siguiente lista, se proporciona una descripción general de las diversas tareas que completa Workload Manager 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 de SO de Pacemaker para la alta disponibilidad de SAP HANA, los equilibradores de carga necesarios y las verificaciones de estado (solo HA)
- Habilita la replicación del sistema SAP HANA (HSR) para la alta disponibilidad.
- Configura el clúster de SO de Pacemaker para la alta disponibilidad de la aplicación de SAP, los balanceadores de cargas requeridos y las verificaciones de estado.
- Instala la aplicación de SAP seleccionada.
- Inicia la base de datos de SAP HANA y la aplicación de SAP instalada.
- Instala los siguientes agentes necesarios en las VMs:
- Agente deGoogle Cloudpara SAP
- SAP Host Agent
El resultado de una implementación exitosa es un sistema SAP S/4HANA vacío ("campo verde"). Para obtener más información sobre los próximos pasos después de una implementación correcta, consulta Tareas posteriores a la implementación de SAP S/4HANA.
Implementa con la consola de Google Cloud
Cuando eliges implementar tu carga de trabajo con la consola de Google Cloud, Workload Manager controla automáticamente la implementación de extremo a extremo, incluida la ejecución de secuencias de comandos de Terraform y Ansible, y los recursos de aprovisionamiento. También tienes acceso a todos los archivos subyacentes que se usan 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. Luego, Cloud Build almacena los archivos de Terraform y el archivo de estado de Terraform en un bucket de Cloud Storage.
Para obtener más información sobre Infrastructure Manager, consulta la descripción general 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 implementada, como la configuración del SO, la configuración del clúster de HA y la orquestación del proceso de instalación de la aplicación de SAP.
Arquitectura de alto nivel de la implementación de SAP S/4HANA
En esta sección, se proporciona una descripción general del sistema que se implementa cuando se implementa SAP S/4HANA con la herramienta de automatización de implementación guiada en Workload Manager. Ten en cuenta que la arquitectura exacta puede variar según la configuración que especificaste, y no todos los recursos implementados se incluyen en las cifras.
Además de estos recursos, también se implementa una VM temporal de Ansible Runner 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 una configuración adicional de la infraestructura implementada, incluida la configuración del SO, la configuración del clúster de HA y la orquestación del proceso de instalación de la aplicación de SAP.
Distribuido con alta disponibilidad
En la siguiente imagen, se muestra una implementación distribuida con alta disponibilidad en la que los clústeres de Linux se configuran en todas las zonas para ayudar a proteger contra fallas de componentes en una región determinada.
Arquitectura distribuida
En la siguiente figura, se muestra la arquitectura de SAP S/4HANA en una implementación distribuida.
Diseño de disco de SAP HANA
En el siguiente diagrama, se muestra el diseño de disco de la base de datos de SAP HANA, que se aplica a las configuraciones distribuidas y distribuidas con alta disponibilidad.
Los discos descritos en el diseño de discos anterior se activan directamente en el sistema operativo como parte de los sistemas de archivos de SAP HANA requeridos. 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 Google Cloud APIs y servicios para la implementación de SAP S/4HANA.
Compute Engine
Instancias de VM
Las implementaciones de SAP S/4HANA incluyen recursos de Compute Engine para los siguientes componentes. Cuando configures VMs para estos componentes, solo podrás seleccionar aquellos tipos de máquinas certificados por SAP para que coincidan con los requisitos de tamaño para implementar S/4HANA.
- Bases de datos de SAP HANA
- ASCS: ABAP SAP Central Services
- Contiene el servidor de mensajes y Enqueue Server, que se requieren 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 PAS.
- En las implementaciones de alta disponibilidad, un administrador de recursos de clústeres de Linux, como Pacemaker, administra los recursos de ASCS.
- ERS: Enqueue Replication Server o Enqueue Replicator
- Se implementa en implementaciones de alta disponibilidad para mantener una réplica de la tabla de bloqueo en caso de que algo suceda con la instancia de ASCS.
- Lo gestiona un administrador de recursos de clústeres de Linux, como Pacemaker
- PAS: servidor de aplicaciones principal.
- El primer o único servidor de aplicaciones del sistema SAP.
- AAS: servidor de aplicaciones adicional.
- Por lo general, se implementa para el balanceo de cargas a nivel de las aplicaciones. También puedes instalar varios AAS para lograr una mayor disponibilidad desde la perspectiva de la capa de la aplicación. Si uno de los servidores de aplicaciones deja de funcionar, todas las sesiones de usuario conectadas a ese servidor finalizan, pero los usuarios pueden acceder nuevamente en el otro AAS del entorno.
- En las configuraciones de alta disponibilidad, los servidores de aplicaciones se dividen de manera uniforme entre las zonas principal y secundaria.
Opciones de almacenamiento
Persistent Disk o Hyperdisk se usan para proporcionar capacidad de almacenamiento para las instancias de VM en tu implementación de SAP S/4HANA.
Los tamaños de disco de cada volumen se calculan automáticamente de acuerdo con las prácticas recomendadas para SAP S/4HANA para la máquina y los tipos de almacenamiento en bloque seleccionados.
En la siguiente tabla, se muestran los discos creados en una implementación de SAP S/4HANA.
Instancia de VM para lo siguiente: | Disco | Tipos admitidos* |
---|---|---|
Bases de datos de HANA | boot | Disco persistente SSD |
Bases de datos de HANA | /hana/data |
Disco persistente balanceado Disco persistente SSD Hyperdisk Extreme |
Bases de datos de HANA | /hana/log |
Disco persistente balanceado Disco persistente SSD Hyperdisk Extreme |
Bases de datos de HANA | /hana/shared |
Disco persistente balanceado Disco persistente SSD |
Bases de datos de HANA | /usr/sap |
Disco persistente balanceado Disco persistente SSD |
Bases de datos de HANA | /hanabackup |
Disco persistente balanceado Disco persistente SSD |
ASCS/ERS | boot | Disco persistente SSD |
ASCS/ERS | /usr/sap |
Disco persistente balanceado |
PAS/AAS | boot | Disco persistente SSD |
PAS/AAS | /usr/sap |
Disco persistente balanceado |
PAS/AAS | export-interfaces | Disco persistente balanceado |
*Para la base de datos de SAP HANA, puedes seleccionar disco persistente equilibrado, disco persistente SSD o Hyperdisk Extreme si es compatible con el tipo de máquina seleccionado.
Si seleccionas Disco persistente equilibrado o Disco persistente SSD, todos los discos de la
implementación serán del tipo seleccionado. Si seleccionas Hyperdisk Extreme, solo los volúmenes /data
y /log
usarán Hyperdisk Extreme, y los otros volúmenes de disco usarán el disco persistente 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 crean los siguientes recursos de red en el proyecto host.
- Reglas de firewall
- La instancia de Filestore de la red
- Reglas de reenvío
Reglas de firewall
Durante el proceso de implementación, Workload Manager crea automáticamente las reglas de firewall para permitir la comunicación necesaria entre las VMs de la implementación. En las configuraciones de alta disponibilidad, estas reglas de firewall también proporcionan acceso para realizar verificaciones de estado en los balanceadores de cargas que se crean en la subred especificada.
Se crean las siguientes reglas de firewall:
DEPLOYMENT_NAME-communication-firewall
: Habilita la comunicación entre las instancias de VM en la implementación.Ilb-firewall-ascs-DEPLOYMENT_NAME
oIlb-firewall-ers-DEPLOYMENT_NAME
: Solo para configuraciones de alta disponibilidad. Habilita las verificaciones de 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 verificaciones de estado que se usan en la conmutación por error de la base de datos de SAP HANA.
Cuando se usa una configuración de VPC compartida, estas reglas de firewall se crean en el proyecto host en el que se aloja la red que se comparte.
Balanceadores de cargas y reglas de reenvío
En las configuraciones de alta disponibilidad, se crean los siguientes balanceadores de cargas 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
Cloud DNS
Zonas de DNS
Durante el proceso de configuración, puedes elegir crear una zona DNS nueva para la implementación o seleccionar una zona DNS existente.
Si creas una zona de DNS nueva, el nombre de la zona y el nombre de DNS son los siguientes:
- Nombre de la zona:
DEPLOYMENT_NAME
- Nombre de DNS:
DEPLOYMENT_NAME-gcp.sapcloud.goog
Ya sea que crees una zona nueva o selecciones una existente, se agregarán los conjuntos de registros DNS necesarios para cada VM.
Cuando se usa una configuración de VPC compartida, la configuración relacionada con el DNS se realiza en el proyecto de servicio.
Filestore
Filestore Enterprise
Filestore Enterprise es un almacenamiento de archivos NFS completamente administrado y de alto rendimiento que se conecta a la red especificada durante el proceso de configuración. En las instancias de 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
.
Cuando se usa una configuración de VPC compartida, la instancia de Filestore Enterprise se crea en el proyecto host.
Consideraciones de seguridad
En esta sección, se describen las consideraciones de seguridad que aborda el Administrador de cargas de trabajo 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 cuando implementes tu carga de trabajo. Workload Manager usa los permisos y las credenciales de esta cuenta de servicio para llamar a otras Google Cloud APIs y servicios que se usan en la implementación. Después de seleccionar una cuenta de servicio, Workload Manager evalúa automáticamente los roles de IAM adjuntos para determinar si tiene los permisos necesarios para implementar tu sistema. Si falta un rol, se te pedirá que otorgues los roles faltantes, si tienes los permisos necesarios.
Se requieren los siguientes roles para la cuenta de servicio que se usa para implementar sistemas SAP S/4HANA. Como alternativa, puedes crear roles personalizados para asignar los permisos individuales necesarios durante el proceso de implementación. Ten en cuenta que los permisos específicos requeridos se muestran solo a modo de ejemplo. Los permisos específicos pueden variar según la configuración que elijas y la configuración del proyecto.
Rol de IAM requerido | Caso de uso | Permisos necesarios |
---|---|---|
Lector de acciones | Es obligatorio para verificar que el proyecto sea válido y que la cuenta de servicio tenga los permisos necesarios para acceder al recurso. | resourcemanager.projects.get |
Editor de Cloud Filestore | Permisos necesarios para crear y administrar volúmenes de almacenamiento compartido de Filestore Enterprise asociados a la implementación |
file.instances.create file.instances.delete file.instances.get file.operations.get |
Agente de Cloud Infrastructure Manager | Es obligatorio para el servicio de Infrastructure Manager, que se usa para implementar la infraestructura cuando se implementa con la consola de 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 administrar todos los recursos de procesamiento 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 | Son los permisos necesarios para crear una zona de 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 IAM de proyecto |
Permisos necesarios para asignar roles de IAM a las cuentas de servicio creadas para cada capa de la implementación | resourcemanager.projects.get resourcemanager.projects.getIamPolicy resourcemanager.projects.setIamPolicy |
Administrador de cuenta de servicio |
Permisos necesarios para crear y administrar 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 la cuenta de servicio |
Es obligatorio para permitir que la cuenta de servicio elegida actúe como una cuenta de servicio cuando llames a otros productos y servicios. |
iam.serviceAccounts.actAs iam.serviceAccounts.get iam.serviceAccounts.list resourcemanager.projects.get |
Administrador de Service Usage | Permisos para verificar el estado de las APIs requeridas y habilitarlas, si es necesario | Serviceusage.services.list serviceusage.services.enable |
Administrador de almacenamiento | Permisos necesarios para acceder a los archivos de medios de instalación de SAP y usarlos, y subirlos a Cloud Storage | resourcemanager.projects.get storage.buckets.getIamPolicy storage.objects.get storage.objects.getIamPolicy storage.objects.list |
Cuando se usa una configuración de VPC compartida, es posible que también se requieran los siguientes permisos de IAM 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
En el caso de las implementaciones de SAP S/4HANA, Workload Manager crea automáticamente cuentas de servicio para cada capa de la implementación en nombre del usuario que implementa la carga de trabajo. Workload Manager solo proporciona los permisos necesarios a estas cuentas de servicio para su rol en la implementación.
Cuenta de servicio para lo siguiente: | Correo electrónico de la cuenta de servicio | Roles de IAM asignados |
---|---|---|
VM de Ansible Runner | DEPLOYMENT_NAME-ansible@PROJECT_ID.iam.gserviceaccount.com |
Administrador de instancias de Compute (v1) Visualizador de Compute Administrador de DNS Administrador de registros Administrador de supervisión Visualizador de roles Descriptor de acceso a secretos de Secret Manager Visualizador de Secret Manager Usuario de la cuenta de servicio Visualizador de objetos de almacenamiento Escritor de estadísticas de Workload Manager |
VMs de SAP ASCS / ERS | DEPLOYMENT_NAME-ascs@PROJECT_ID.iam.gserviceaccount.com |
Administrador de instancias de Compute (v1) Visualizador de Compute Administrador de registros Administrador de supervisión Escritor de métricas de supervisión Visualizador de objetos de almacenamiento Escritor de estadísticas del administrador de cargas de trabajo |
VMs de aplicaciones | DEPLOYMENT_NAME-app@PROJECT_ID.iam.gserviceaccount.com |
Visualizador de Compute Administrador de registros Administrador de supervisión Escritor de métricas de supervisión Visualizador de objetos de almacenamiento Escritor de estadísticas del administrador de cargas de trabajo |
VMs de bases de datos | DEPLOYMENT_NAME-db@PROJECT_ID.iam.gserviceaccount.com |
Administrador de instancias de Compute (v1) Visualizador de Compute Administrador de registros Administrador de supervisión Escritor de métricas de supervisión Visualizador de objetos de almacenamiento Escritor de estadísticas del administrador de cargas de trabajo |
Reemplaza lo siguiente:
DEPLOYMENT_NAME
: Es el nombre de tu implementación de SAP.PROJECT_ID
: Es el ID de tu Google Cloud proyecto en el que creas la implementación.
Para obtener más información sobre la IAM y los permisos para ejecutar SAP en Google Cloud, consulta Administración de identidades y accesos para programas de SAP en Google Cloud.
Credenciales de usuario de la base de datos y la aplicación de SAP
Workload Manager usa Secret Manager para almacenar las credenciales de tu sistema de SAP, como la contraseña del administrador y las cuentas de usuario de SYSTEM
. Para proporcionar la contraseña de forma segura, debes crear un secreto y usarlo durante el proceso de implementación. Puedes crear secretos separados para almacenar credenciales para tu base de datos y las capas de la aplicación.
El secreto proporcionado para SAP HANA se usa como contraseña inicial para los siguientes usuarios:
- Base de datos del sistema:
SYSTEM
SERVICE_BACKUP
DBACOCKPIT
- Base de datos del usuario de HANA:
SYSTEM
SERVICE_BACKUP
- Base de datos del inquilino de S/4HANA:
SYSTEM
SAPDBCTRL
DBACOCKPIT
SAPHANADB
Las credenciales de la aplicación se usan para los siguientes usuarios dentro del cliente 000
:
DDIC
SAP*
Después de que la implementación se realice de forma correcta, puedes modificar o asignar contraseñas nuevas a estos usuarios.
APIs requeridas
Para implementar una carga de trabajo de SAP S/4HANA, se requieren 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 las Condiciones del Servicio de cada uno de estos servicios y comenzarás a incurrir en cargos cuando se usen en la solución después de la implementación.
- API de Resource Manager: Para administrar los recursos de tus proyectos.
- API de Compute Engine: Para crear y administrar VMs para tu implementación.
- API de Cloud DNS: Para crear una zona de DNS para tu implementación.
- API de Filestore: Para crear y administrar Google Cloud servidores de archivos.
- API de Service Account Credentials: Para crear credenciales para cuentas de servicio en Google Cloud.
- API de Secret Manager: Para crear y administrar secretos que almacenen las contraseñas de tu aplicación y base de datos.
- API de Service Usage: Para habilitar los Google Cloud servicios necesarios para tu implementación.
Obtener asistencia
Consulta Obtén asistencia para SAP en Google Cloud.
¿Qué sigue?
- Lee los requisitos previos para implementar un sistema SAP S/4HANA.
- Obtén información para implementar una carga de trabajo de SAP S/4HANA.