Introdução
Neste blog, vou cobrir o cenário de provisionamento de uma nova instância em uma nuvem pública diretamente do LaMa e depois usar essa nova máquina para realizar uma operação (por exemplo, nova camada de replicação do HANA, adicionar um servidor de aplicativos, cópia/clonagem de sistema).
Usarei a AWS (Amazon Web Services) como a nuvem pública e o Ansible AWX (projeto de código aberto upstream para o Ansible Tower) para lançar o playbook para a criação de uma nova instância. O mesmo enfoque também se aplica ao Azure ou GCP. O módulo usado no playbook pode ser substituído pelos de outros provedores de nuvem e algumas pequenas configurações.
Em um blog anterior
aqui
descrevi a função do provedor de API REST de saída do LaMa, que foi adicionado pela primeira vez no SP25.
O playbook do Ansible (para uso no Ansible AWX ou Tower) e a configuração do LaMa (definições de provedores, operações personalizadas, etc.) estão disponíveis em
GitHub
.
Descrição do Cenário
O provedor REST que faz parte do estudo de automação será usado para acionar o provisionamento da nova máquina através do Ansible AWX, seguido de uma descoberta e depois utilizando a nova máquina para provisionar um servidor de aplicativos adicional.
Também é possível usar a nova máquina adicionada para outras tarefas de provisionamento, como cópia de sistema ou nova camada de replicação.
O diagrama abaixo ilustra em alto nível como é o fluxo.
Deve-se observar que ao usar alguns adaptadores de nuvem no LaMa (como o
Cloud Manager for AWS
), já é possível provisionar novas instâncias na nuvem como parte de tarefas como "Instalar servidor de aplicativos" ou "Cópia de sistema". As opções apresentadas são usar máquinas existentes (já descobertas no LaMa como prontas para uso) ou provisionar uma nova máquina. No entanto, o processo integrado nem sempre atende aos requisitos de alguns clientes. Por exemplo, pode haver a necessidade de personalizar ainda mais a instância antes de usá-la. Nesse caso, pode-se usar essa abordagem alternativa com o Ansible.
Isenção de responsabilidade
Este blog é publicado "COMO ESTÁ". Qualquer código de software e/ou linhas de código incluídas são apenas exemplos e não se destinam a ser usados em qualquer ambiente de sistema produtivo. O código tem o único propósito de explicar e visualizar melhor as características do Automation Studio do SAP Landscape Management. Nenhum esforço foi feito para que o código seja de qualidade de produção (por exemplo, segurança, tratamento de erros, robustez, etc.). Se você usar algum dos códigos mostrados, o fará por sua própria conta e risco.
As informações neste blog podem incluir imprecisões técnicas ou erros tipográficos. Alterações podem ser feitas periodicamente.
Playbook do Ansible
Este é o
playbook no GitHub
.
O blog não aborda como configurar o Ansible AWX.
Os seguintes passos de configuração chave devem ser realizados e consulte os guias relevantes. Estes são apenas os passos de configuração realizados para este cenário e não necessariamente a única forma de fazê-lo.
-
Adicionar SSH
credenciais
-
Adicionar AWS
credenciais
-
Adicionar
Inventário
-
Adicionar
host
-- opcional, já que o playbook em si fará as entradas, mas você pode adicionar um host existente apenas para ter uma entrada além de localhost
-
Adicionar Projeto (tipo de controle de origem = Git; URL do controle de origem =