SAP Business One com SAP HANA na AWS: arquitetura e operação
Introdução
"SAP Business One HANA AWS" junta três coisas que o console da AWS não junta sozinho. O Business One continua o ERP. O HANA continua o banco em memória. A AWS entra como lugar onde essa dupla roda, com disco, rede e backup explícitos.
O HANA não é um motor do RDS. Ele sobe em EC2, em tipo de instância da lista certificada pela SAP para a versão que você opera. Inventar um tamanho "porque tem RAM sobrando" é como o refresh do Power BI volta a levar quinze minutos. O tuning dessa consulta está no artigo de queries no SAP HANA.
O que este artigo cobre é o que fica em volta: volume, porta, usuário de leitura e backup. O painel não aponta para o HANA de produção. Ele lê a réplica, como no artigo de SAP Business One com Power BI e Aurora.
Dois volumes, dois papéis
O HANA separa dado e log. No EBS isso vira dois volumes. Misturar os dois no mesmo disco é o jeito mais rápido de perder o ponto de recuperação.
/hana/data. Colunas, o dado em memória persistido. Peço gp3 ou io2, com IOPS provisionado./hana/log. Log de redo. Volume próprio, menor, com IOPS alto./backup. Backup FILE do HANA. gp3, longe do disco de dado.aws ec2 create-volume \
--availability-zone sa-east-1a \
--volume-type gp3 \
--size 500 \
--iops 6000 \
--throughput 250 \
--tag-specifications 'ResourceType=volume,Tags=[{Key=Name,Value=hana-data}]'
O volume de log nasce à parte, com o mesmo comando e outra tag. Os dois entram no mesmo AZ da instância. HANA em um AZ e disco em outro não é alta disponibilidade. É latência.
A instância é memory-optimized e tem de constar na nota de certificação da versão do HANA. Eu não fixo um tipo neste texto porque a lista muda. O check é: a nota da SAP cita esse instance type para essa revisão. Se não cita, troca a instância antes de instalar o Business One.
Quem fala com a porta 30015
A porta padrão do indexserver é 3 + número da instância + 15. Instância 00 escuta em 30015. Essa porta não fica aberta para a VPC inteira. Só o security group da aplicação do Business One entra.
aws ec2 authorize-security-group-ingress \
--group-id "$SG_HANA" \
--protocol tcp \
--port 30015 \
--source-group "$SG_B1APP"
O usuário que o relatório usa não é SYSTEM. É um usuário de leitura, criado no HANA, com grant só nas views que o job de réplica precisa.
CREATE USER ANALYTICS PASSWORD "$SENHA" NO FORCE_FIRST_PASSWORD_CHANGE;
GRANT SELECT ON "OINV" TO ANALYTICS;
hdbsql -n hana-prod:30015 -u ANALYTICS -p "$HANA_PASSWORD" <<'SQL'
SELECT "CardCode", "DocEntry", "DocTotal"
FROM "OINV"
WHERE "DocStatus" = 'O'
LIMIT 5;
SQL
Se o ANALYTICS consegue SELECT e não consegue INSERT, o job de réplica está no usuário certo. O Power BI nem deveria ter essa connection string. Ele fala com o Aurora, no endpoint que o outro artigo mostra como achar.
Backup que não depende do snapshot cego
Snapshot de EBS com o HANA escrevendo é cópia de disco rasgado. A ordem é: backup lógico do HANA para o volume /backup, só então snapshot desse volume.
hdbsql -n localhost:30015 -u SYSTEM -p "$HANA_PASSWORD" \
"BACKUP DATA USING FILE ('/backup/hana/COMPLETE')"
VOL_ID=$(aws ec2 describe-volumes \
--filters Name=tag:Name,Values=hana-backup \
--query "Volumes[0].VolumeId" --output text)
aws ec2 create-snapshot \
--volume-id "$VOL_ID" \
--description "hana-complete $(date -I)"
Um restore de verdade, uma vez por trimestre, vale mais do que a política escrita. Sobe uma instância à parte, restaura o backup FILE e abre o Business One em modo de leitura. Se ninguém faz isso, o backup é um arquivo.
O plano de execução das consultas que rodam em cima desse HANA continua no artigo de otimização. Este texto não troca aquele: lá é SQL, aqui é o servidor que segura o SQL.
O que não fazer
Não apontar o gateway do Power BI para 30015 de produção. Não colocar dado e log no mesmo volume. Não abrir 30015 para 0.0.0.0/0 "só esta semana". Não escolher instância fora da lista certificada porque o preço do mês fechou melhor.
O Business One na AWS funciona quando o HANA tem disco, porta e backup próprios, e o analítico mora em outro banco. O resto é atalho que aparece na fatura e na auditoria ao mesmo tempo.
Artigos Relacionados
Como Integrar o ERP SAP Business One com Power BI usando AWS Aurora
Guia técnico ensinando a modelar um pipeline de sincronização do SAP Business One local com um banco relacional gerenciado na AWS para insights em tempo real no Power BI.
Multicloud para bancos: como separar core, dados e trilha de auditoria
Arquitetura multicloud para bancos: região travada, core isolado do ambiente de teste e trilha de auditoria que ninguém apaga. Comandos de SCP, CloudTrail e Object Lock.