Prepare a camada Web no OCI
Provisione e configure seu site secundário no Oracle Cloud Infrastructure (OCI) para ser consistente com seu site principal local.
Observação:
Você pode encontrar o código do Terraform para criar os recursos descritos nesta seção (o Balanceador de Carga do OCI, o certificado SSL, os conjuntos de backend e backends, as políticas de roteamento, os listeners e os conjuntos de regras) em Fazer Download do Código.
(Opcional) Preparar os Hosts do Oracle HTTP Server
Observação:
A criação e a configuração do Oracle HTTP Server são opcionais. Você pode configurar a camada web no OCI usando apenas o Balanceador de Carga do OCI (sem usar o Oracle HTTP Server).
Provisionar os Hosts do Oracle HTTP Server
Cada Oracle HTTP Server em execução no OCI deve ter um contrato de Licença e suporte válido, além do contrato de Licença e suporte usado para cobrir o Oracle HTTP Server em execução no local. Você pode usar imagens do Oracle WebLogic Server for OCI para criar instâncias de computação para o Oracle HTTP Server na Oracle Cloud. As instâncias de computação criadas com essas imagens incluem o direito de executar o Oracle HTTP Server e são cobradas por OCPU/Hora pelo direito de executar o software WebLogic quando estão no estado de execução. Ao criar as instâncias de computação com o Oracle WebLogic Server for OCI, você pode usar a Console da Instância do Serviço Compute ou o Marketplace. Essas imagens estão disponíveis para os sistemas operacionais Oracle Linux 7.9 e Oracle Linux 8.5.
Este exemplo usa duas instâncias de computação em um único domínio de disponibilidade dentro do compartimento, conforme mostrado na tabela.
Nome | Compartimento | Domínio de Disponibilidade | Imagem | Forma | VCN | Sub-rede |
---|---|---|---|---|---|---|
hydrohs1 | HyDRCompmt | AD1 | Imagem do UCM do Oracle WebLogic Enterprise Edition (Oracle Linux 7.9) | VM.Standard2.2 | hidrvcn | webTierSubnet |
hydrohs2 | HyDRCompmt | AD1 | Imagem do UCM do Oracle WebLogic Enterprise Edition (Oracle Linux 7.9) | VM.Standard2.2 | hidrvcn | webTierSubnet |
Execute o seguinte para provisionar instâncias de computação usando a Console da Instância do Compute:
Preparar os Grupos e Usuários do Sistema Operacional
O mesmo usuário e grupo usados pelo software Oracle local principal são necessários nas instâncias de computação secundárias.
As imagens do Oracle WebLogic Server for Oracle Cloud Infrastructure já têm um usuário e um grupo da oracle. No entanto, esses valores (nome do usuário, nome do grupo, uid
e gid
) podem não corresponder aos valores que você tem na sua instância principal e você precisará configurar os hosts secundários para corresponder aos valores do usuário e do grupo oracle principal. Os exemplos a seguir mostram como configurar os hosts secundários nesta camada para corresponder aos valores do usuário e do grupo oracle principais.
Preparar os Requisitos do Sistema Operacional
runinstaller
nos hosts secundários. Como as imagens do Oracle WebLogic Server for Oracle Cloud Infrastructure estão preparadas para o software WebLogic, você não precisa adicionar pacotes manualmente para WebLogic. No entanto, esses hosts do Oracle HTTP Server executarão o produto Oracle HTTP Server. Verifique se os hosts secundários atendem aos requisitos do Oracle HTTP Server.Preparar os Aliases de Nome de Host para o Oracle HTTP Server
Isso pode ser implementado de 2 formas:
- Adicione os nomes de host como aliases aos arquivos
/etc/hosts
das instâncias de computação do Oracle WebLogic Server for OCI. - Use uma view de DNS privado na VCN do OCI secundária.
Usar Arquivos /etc/hosts
/etc/hosts
dos hosts secundários, apontando para os endereços IP dos hosts secundários. Esse modo é válido em todos os cenários quando o servidor DNS é o mesmo no local principal e nos sites secundários do Oracle Cloud Infrastructure (OCI) e também quando servidores DNS separados são usados nos sites principal e secundário. As entradas no arquivo /etc/hosts
têm precedência sobre a resolução de DNS, porque essa é a precedência definida pronta para uso na diretiva "hosts" do arquivo /etc/nsswitch.conf
.
No entanto, esse método requer que você adicione manualmente as entradas a todos os hosts do Oracle HTTP Server:
Usar o Sistema de Nomes de Domínio (DNS)
/etc/hosts
de todos os hosts.
Adicione as entradas dos nomes de host virtual do Oracle HTTP Server à View Privada criada no OCI na etapa Preparar a Camada Intermediária no OCI:
Abra as Portas Necessárias nos Firewalls do Host do OCI
ssh
, dhcp
). Abra as portas usadas pelo Oracle HTTP Server.
Criar as Variáveis de Ambiente do Usuário oracle
para o Oracle HTTP Server
oracle
nos hosts do Oracle HTTP Server. Por exemplo, ORACLE_HOME
, JDK_HOME
, PATH
, WEB_DOMAIN_HOME
e outros.
Replicar o Produto e a Configuração do Oracle HTTP Server do Principal
rsync
para copiar OS binários e a configuração do Oracle HTTP Server dos nós principais do Oracle HTTP Server.
Como alternativa, você pode fazer download do software Oracle HTTP Server, instalá-lo e configurá-lo de zero nas instâncias de computação do Oracle HTTP Server do OCI. Esta abordagem está fora do escopo deste documento. No entanto, você deve usar essa abordagem quando as instâncias de computação do OCI do Oracle HTTP Server tiverem um sistema operacional diferente dos hosts principais do Oracle HTTP Server.
Os binários e os arquivos de configuração do Oracle HTTP Server normalmente residem no armazenamento privado. No OCI, você pode usar o volume em blocos que a instância de computação tem por padrão. Como alternativa, você pode criar um novo volume em blocos para cada computação do Oracle HTTP Server (conforme descrito em Preparar os Volumes em Blocos do OCI) e montar cada um nas instâncias de computação do Oracle HTTP Server (conforme descrito em Montar os Volumes em Blocos do OCI).
Este exemplo usa o volume em blocos padrão das instâncias de computação do Oracle HTTP Server sem criar volumes em blocos adicionais.
A configuração e os binários do Oracle HTTP Server não são alterados com frequência. Após essa replicação inicial, você pode repetir a mesma replicação durante o ciclo de vida. Como alternativa, você pode manter manualmente a configuração do Oracle HTTP Server no principal e secundário implementando as alterações de configuração do Oracle HTTP Server em ambos os sites.
Preparar o OCI Load Balancer
Crie e configure o Balanceador de Carga do Oracle Cloud Infrastructure na nuvem.
Observação:
Você pode encontrar o código do Terraform para criar os recursos descritos nesta seção (o Balanceador de Carga do OCI, o certificado SSL, os conjuntos de backend e backends, as políticas de roteamento, os listeners e os conjuntos de regras) em Fazer Download do Código.
Provisionar o OCI Load Balancer
Para ser consistente com o site local principal, provisione um balanceador de carga em seu site secundário no Oracle Cloud Infrastructure (OCI) como ponto de entrada para o sistema.
Fazer Upload dos Certificados
Faça upload dos certificados usados pelo balanceador de carga principal.
Criar os Conjuntos de Backend
Um conjunto de backend é uma entidade lógica que contém uma lista de servidores de backend que executam os mesmos aplicativos. Ao definir um conjunto de backend, você deve especificar uma política de balanceamento de carga e um teste de verificação de integridade. Em seguida, você pode adicionar a lista de servidores de backend.
A configuração dos conjuntos de backend depende de você estar ou não usando o Oracle HTTP Server na frente dos hosts do WebLogic Server.
Se você estiver usando o Oracle HTTP Server, o Balanceador de Carga do Oracle Cloud Infrastructure (OCI) enviará as solicitações aos servidores HTTPS. Crie um conjunto de backend para cada porta exposta pelos servidores HTTPS. Por exemplo: crie um conjunto de backend para o listener do Oracle HTTP Server que forneça acesso aos aplicativos e outro conjunto de backend para o listener do Oracle HTTP Server que forneça acesso a cada Console de Administração do Oracle WebLogic Server.
Se você não estiver usando o Oracle HTTP Server, o Balanceador de Carga do OCI enviará as solicitações aos servidores WebLogic diretamente. Crie um conjunto de backend para cada Cluster do Oracle WebLogic Server e outro conjunto de backend para o Servidor Admin.
- Faça log-in na Console do OCI.
- Selecione a região e o compartimento apropriados.
- No menu de navegação, clique em Rede e, em seguida, clique em Balanceadores de Carga.
- Clique no balanceador de carga ao qual você deseja adicionar um backend.
- Clique em Definições de Backend no menu Recursos e, em seguida, clique em Criar Conjunto de Backend.
- Informe o seguinte na caixa de diálogo Criar Conjunto de Backend:
- Clique em Criar.
Se o seu Oracle HTTP Server atender em portas adicionais para outros serviços, crie um conjunto de backend para cada serviço de maneira semelhante.
Veja a seguir um exemplo dos conjuntos de backend quando você usa o Oracle HTTP Server.
Componente | Nome do Conjunto de Backend | Política de Distribuição de Tráfego | Persistência de Sessão | Nome do cookie (exemplo) | Atributo: seguro | Verificação de Integridade |
---|---|---|---|---|---|---|
Admin Server | OHS_Admin_backendset |
Revezamento Ponderado | Ativar persistência de cookie do balanceador de carga | X-Oracle-LBR-ADMIN-Backendset |
Desativado | TCP ou HTTP |
Todos os componentes SOA
|
OHS_HTTP_backendset |
Revezamento Ponderado | Ativar persistência de cookie do balanceador de carga | X-Oracle-LBR-OHS-HTTP-Backendset |
Marcada | TCP ou HTTP |
Oracle Web Services Manager | OHS_HTTP_internal_backendset |
Revezamento Ponderado | Ativar persistência de cookie do balanceador de carga | X-Oracle-LBR-OHS-Internal-HTTP-Backendset |
Desativado | TCP ou HTTP |
Se o seu Oracle HTTP Server atender em portas adicionais para outros serviços, crie um conjunto de backend para cada serviço de maneira semelhante.
Veja a seguir um exemplo dos conjuntos de backend quando você não usa o Oracle HTTP Server.
Componente | Nome do Conjunto de Backend | Política de Distribuição de Tráfego | Persistência de Sessão | Nome do cookie (exemplo) | Atributo: seguro | Verificação da Situação |
---|---|---|---|---|---|---|
Todos os produtos (admin) | Admin_backendset |
Revezamento Ponderado | Ativar persistência de cookie do balanceador de carga | X-Oracle-LBR-ADMIN-Backendset |
Desmarcado | TCP ou HTTP |
Oracle Web Services Manager | WSM_backendset |
Revezamento Ponderado | Ativar persistência de cookie do balanceador de carga | X-Oracle-LBR-WSM-Backendset |
Desmarcado | TCP ou HTTP |
Oracle SOA Suite, Business Process Management e Oracle B2B | SOA_backendset |
Revezamento Ponderado | Ativar persistência de cookie do balanceador de carga | X-Oracle-LBR-SOA-Backendset |
Marcada | TCP ou HTTP |
Oracle Service Bus | OSB_backendset |
Revezamento Ponderado | Ativar persistência de cookie do balanceador | X-Oracle-LBR-OSB-Backendset |
Marcada | TCP ou HTTP |
Oracle Enterprise Scheduler (ESS) | ESS_backendset |
Revezamento Ponderado | Ativar persistência de cookie do balanceador | X-Oracle-LBR-ESS-Backendset |
Marcada | TCP ou HTTP |
BAM (Business Activity Monitoring) | BAM_backendset |
Revezamento Ponderado | Ativar persistência de cookie do balanceador | X-Oracle-LBR-BAM-Backendset |
Marcada | TCP ou HTTP |
Se você tiver clusters WebLogic adicionais, crie um conjunto de backend para cada cluster de maneira semelhante.
Defina os Backends para Cada Conjunto de Backend
Defina os backends para cada conjunto de backend no Balanceador de Carga do Oracle Cloud Infrastructure (OCI).
Se você estiver usando o Oracle HTTP Server, adicione os nós do Oracle HTTP Server e as portas apropriadas como backends em cada conjunto de backend.
Se você não estiver usando o Oracle HTTP Server, adicione os nós do Oracle WebLogic Server e as portas apropriadas como backends em cada conjunto de backend.
- Na Console, selecione um Conjunto de Backend. Clique em Backends e, em seguida, clique em Adicionar Backends.
- Informe o endereço IP e a porta do servidor que é o backend.
A tabela mostra os conjuntos de backend criados no exemplo deste documento ao usar o Oracle HTTP Server:
Nome do Conjunto de Backend | Backends |
---|---|
OHS_Admin_backendset |
Instâncias de Computação:
|
OHS_HTTP_backendset |
Instâncias de Computação:
|
OHS_HTTP_internal_backendset |
Instâncias de Computação:
|
A tabela mostra os conjuntos de backend criados no exemplo deste documento quando NÃO usa o Oracle HTTP Server:
Nome do Conjunto de Backend | Backends |
---|---|
Admin_backendset |
Endereço IP:
|
WSM_backendset |
Instâncias de Computação:
|
SOA_backendset |
Instâncias de Computação:
|
OSB_backendset |
Instâncias do Serviço Compute:
|
ESS_backendset |
Instâncias do Serviço Compute:
|
BAM_backendset |
Instâncias do Serviço Compute:
|
Definir as Políticas de Roteamento e Configurar as Regras
As políticas de roteamento são usadas para despachar as solicitações recebidas para o conjunto de backend correto. Por exemplo, uma solicitação para /console
é despachada para o conjunto de backend Admin e uma solicitação para /app1
é despachada para o conjunto de backend do Cluster em que app1
está sendo executado.
Se você estiver usando o Oracle HTTP Server, normalmente definirá as rotas (como /app1
, /app2
, /console
etc.) na configuração do Oracle HTTP Server. Nesse caso, você não precisa definir as políticas e regras de roteamento no Balanceador de Carga do Oracle Cloud Infrastructure (OCI).
Se você não estiver usando o Oracle HTTP Server, será necessário definir as políticas e as regras de roteamento no Balanceador de Carga do OCI para despachar as solicitações para o conjunto de backend apropriado.
Componente | Nome da Política de Roteamento | Regra | Condições: Se Qualquer Caminho de Correspondência começar com | Ação: Rotear para Conjunto de Backend |
---|---|---|---|---|
Todos os produtos (admin) | Admin_Rules |
Admin_routerule |
|
Admin_backendset |
Oracle Service Bus (admin) | Admin_Rules |
Admin_routerule |
|
Admin_backendset |
Oracle Web Services Manager | Internal_Rules |
WSM_routerule |
|
WSM_backendset |
Oracle Service Bus | SOA_Rules |
OSB_routerule |
|
OSB_backendset |
Oracle SOA Suite | SOA_Rules |
SOA_routerule |
(*) mais alias personalizado pode ser necessário para tarefas personalizadas |
SOA_backendset |
Gerenciamento de Processos de Negócios | SOA_Rules |
SOA_routerule |
|
SOA_backendset |
Oracle Enterprise Scheduler (ESS) | SOA_Rules |
ESS_routerule |
|
ESS_backenset |
Monitoramento de Atividade de Negócios (BAM) | SOA_Rules |
BAM_routerule |
|
BAM_backendset |
Oracle B2B | SOA_Rules |
B2B_routerule |
|
SOA_backendset |
Você pode criar quantas políticas de roteamento, regras e condições precisar para seu ambiente.
Criar os Listeneres
Crie os listeners para cada combinação de nome e porta de front-end usada para acessar o sistema. Você deve usar os mesmos nomes de host (nomes front-end virtuais) e portas usados pelo balanceador de carga principal.
- Adicione o nome do host front-end virtual como nome do host no Balanceador de Carga do Oracle Cloud Infrastructure.
- Crie os listeners.
A tabela a seguir é um resumo dos listeners criados no exemplo deste documento e seu protocolo, porta, conjuntos de backend, política de roteamento, nome do host e uso de SSL associados. Isso é apenas um exemplo de referência. Se seu sistema usar nomes de host front-end adicionais, portas ou protocolos no sistema principal do Oracle WebLogic Server, você deverá criar os listeners e nomes de host correspondentes de acordo com suas necessidades. Por exemplo, se você usar um front-end alternativo para acessar a Console do Oracle WebLogic Server e a Console do Oracle Enterprise Manager.
Listener | Protocolo | Porta | Conjunto de Backend | Política de Roteamento | Nome do Host | Usar SSL |
---|---|---|---|---|---|---|
Admin_listener |
HTTP | 7001 |
|
Admin_Rules |
mysoa.example.com | Não |
HTTPS_listener |
HTTPS | 443 |
|
SOA_Rules |
mysoa.example.com | Sim |
HTTP_listener |
HTTP | 80 | N/D* | NÃO APLICÁVEL | mysoa.example.com | Não |
Internal_listener |
HTTP | 8888 |
|
Internal_Rules |
mysoa.example.com | Não |
* O HTTP_listener
neste exemplo é usado apenas para redirecionar solicitações para o HTTPS_listener
(HTTPS). O backend designado a ele não será usado. Mas, como é obrigatório fornecer um, forneça um que não tenha SSL marcado (use um conjunto de backend vazio padrão).
Criar o Conjunto de Regras para Cabeçalhos SSL
Crie um conjunto de regras para cabeçalhos SSL no Balanceador de Carga do Oracle Cloud Infrastructure (OCI) e associe-o ao listener HTTPS.
Criar o Conjunto de Regras para Redirecionar o Protocolo HTTP para HTTPS
Crie uma regra de redirecionamento e associe-a ao HTTP_listener para redirecionar a porta 80 para a porta 443. Para a topologia EDG, todas as solicitações que atingem a porta 80 (HTTP) no Balanceador de Carga devem ser redirecionadas para a porta 443 (HTTPS).
Adicionar o Nome Front-end Virtual e o IP às Instâncias do Serviço SOA Compute
Em uma topologia de recuperação de desastres, os clientes devem acessar o sistema usando um FQDN front-end (geralmente conhecido como nome de front-end virtual ou URL personalizado) que é independente do data center. Esse nome de front-end virtual deve ser resolvido para o endereço IP do Balanceador de Carga do site ativo (principal) atual.
O sistema primário já deve estar usando um nome virtual front-end que seja resolvido pelo DNS com o IP do Balanceador de Carga principal. No entanto, os hosts do Oracle SOA Suite de cada site devem sempre resolver o nome front-end com seu balanceador de carga local, independentemente da resolução voltada para o cliente com DNS. Para isso, o nome front-end virtual é adicionado ao arquivo /etc/hosts
com o endereço IP apropriado em cada site. Você também pode conseguir isso usando servidores DNS diferentes em cada site. Nesse caso, o servidor DNS local resolveria o nome front-end com o IP do balanceador de carga apropriado em cada site.
Usar Arquivos /etc/hosts
/etc/hosts
dos hosts principal e secundário do Oracle WebLogic Server não deve ser alterado quando houver um switchover ou failover. Os hosts do Oracle WebLogic Server sempre resolverão o nome do front-end virtual com seu IP front-end. A atualização de DNS necessária durante os procedimentos de switchover e failover é executada nos arquivos DNS ou host usados pelos clientes do Oracle WebLogic Server.
Usar o Sistema de Nomes de Domínio (DNS)
Se você estiver seguindo essa abordagem, poderá adicionar o nome front-end (apontando para o IP do balanceador de carga secundário) ao serviço de DNS usado pelas camadas intermediárias secundárias. Em principal, espera-se que o nome do front-end já esteja resolvido, apontando para o IP do balanceador de carga principal.
Na instância principal, espera-se que o nome do front-end já tenha sido resolvido, apontando para o IP do balanceador de carga principal.