As implantações multicloud vieram para ficar. De acordo com o relatório da F5 State of Application Strategy de 2022, 77% das empresas operam aplicações em várias nuvens. A adoção de arquiteturas multicloud e híbridas proporciona benefícios importantes, como maior eficiência, redução do risco de indisponibilidade e prevenção da dependência de um único fornecedor. No entanto, essas arquiteturas complexas também apresentam desafios específicos.
Os líderes de software e TI entrevistados pela F5 apontaram estes como seus principais desafios de multicloud:
- Visibilidade (45% dos entrevistados)
- Segurança (44%)
- Migração de aplicativos (41%)
- Otimizando o desempenho (40%)
O gerenciamento de APIs para microsserviços em ambientes multinuvem é especialmente complexo. Sem uma estratégia holística de APIs, elas se proliferam em ambientes de nuvem pública, locais e de borda mais rapidamente do que as equipes de Operações de Plataforma conseguem protegê-las e gerenciá-las. Chamamos esse problema de proliferação de APIs e, em uma publicação anterior, explicamos por que ele representa uma ameaça tão significativa.
Você precisa de uma estratégia de APIs multinuvem para implementar uma abordagem bem planejada que unifique seus microsserviços — agora distribuídos em várias nuvens — e garanta a conectividade de ponta a ponta. Dois dos cenários mais comuns para implantações multinuvem e híbridas são:
- Serviços diferentes em ambientes multinuvem/híbridos – Você precisa operar diferentes aplicações e APIs em locais distintos, seja para otimizar custos ou porque determinados serviços são relevantes para diferentes grupos de usuários.
- Mesmos serviços em ambientes multinuvem/híbridos – Você precisa garantir alta disponibilidade para as mesmas aplicações implantadas em diferentes locais.
No tutorial a seguir, mostramos passo a passo como usar o API Connectivity Manager, parte do F5 NGINX Management Suite, no segundo cenário: implantação dos mesmos serviços em vários ambientes para garantir alta disponibilidade. Isso elimina um ponto único de falha em seu ambiente de produção multinuvem ou híbrido: se uma instância de gateway falhar, outra assumirá, e seus clientes não sofrerão interrupções, mesmo que uma das nuvens fique indisponível.
O API Connectivity Manager é uma solução nativa da nuvem e independente do ambiente de execução para implantar, gerenciar e proteger APIs. Em um único painel, você pode gerenciar todas as operações de API dos gateways de API do NGINX Plus e dos portais de desenvolvedores implantados em ambientes de nuvem pública, locais e de borda. Isso proporciona às suas equipes de operações de plataforma visibilidade total do tráfego de APIs e facilita a aplicação de políticas consistentes de governança e segurança em todos os ambientes.
Como habilitar alta disponibilidade para gateways de API em uma implantação multicloud
Como mencionado na introdução, neste tutorial estamos configurando o API Connectivity Manager para garantir a alta disponibilidade dos serviços executados em vários ambientes de implantação. Especificamente, estamos implantando o NGINX Plus como um gateway de API que direciona o tráfego para dois serviços, Serviço A e Serviço B, executados em duas nuvens públicas: Google Cloud Platform (GCP) e Amazon Web Services (AWS). (A configuração se aplica igualmente a qualquer combinação de ambientes de implantação, incluindo Microsoft Azure e data centers locais.)
A Figura 1 mostra a topologia usada no tutorial.

Siga as etapas destas seções para concluir o tutorial:
- Instalar e configurar o API Connectivity Manager
- Implantar instâncias do NGINX Plus como gateways de API
- Configurar um workspace de infraestrutura
- Criar um ambiente e clusters de gateway de API
- Aplicar políticas globais
Instalar e configurar o API Connectivity Manager
- Obtenha uma assinatura de avaliação ou paga do NGINX Management Suite, que inclui o Instance Manager e o API Connectivity Manager, além do NGINX Plus como gateway de API e do NGINX App Protect para proteger suas APIs. Comece com uma avaliação gratuita de 30 dias do NGINX Management Suite.
- Instale o NGINX Management Suite. Na seção Instalar módulos do Management Suite, siga as instruções para o API Connectivity Manager (e, opcionalmente, para outros módulos).
- Adicione a licença para cada módulo instalado.
- (Opcional.) Configure a terminação TLS e o mTLS, para proteger, respectivamente, as conexões dos clientes com o NGINX Management Suite e o tráfego entre o API Connectivity Manager e as instâncias do NGINX Plus no plano de dados.
Implantar instâncias do NGINX Plus como gateways de API
Selecione os ambientes que compõem sua infraestrutura multinuvem ou híbrida. Para este tutorial, escolhemos a AWS e o GCP e instalaremos uma instância do NGINX Plus em cada nuvem. Em cada ambiente, execute estas etapas em cada host do plano de dados que atuará como gateway de API:
- Instale o NGINX Plus em um sistema operacional compatível.
- Instale o módulo JavaScript do NGINX (njs).
- Adicione as seguintes diretivas no contexto principal (nível superior) em /etc/nginx/nginx.conf:
load_module modules/ngx_http_js_module.so;load_module modules/ngx_stream_js_module.so;- Reinicie o NGINX Plus, por exemplo, executando este comando:
$ nginx -s reloadConfigure um workspace de infraestrutura
Você pode criar vários Workspaces de Infraestrutura (até 10 no momento da redação deste texto) no API Connectivity Manager. Com Workspaces separados, você pode aplicar políticas e requisitos de autenticação/autorização específicos a diferentes linhas de negócios, equipes de desenvolvedores, parceiros externos, nuvens e assim por diante.
Na interface gráfica do API Connectivity Manager, crie um novo espaço de trabalho:
- Clique em Infraestrutura na coluna de navegação à esquerda.
- Clique no botão + Criar para criar um novo espaço de trabalho, conforme mostrado na Figura 2. Figura 2: Criação de um novo espaço de trabalho de infraestrutura

- No painel Criar workspace que será aberto, preencha o campo Nome (demo na Figura 3). Opcionalmente, preencha o campo Descrição e os campos da seção Informações de contato do workspace. O administrador da infraestrutura (por exemplo, sua equipe de Operações de Plataforma) pode usar as informações de contato para fornecer aos usuários do workspace atualizações sobre o status ou eventuais problemas. Figura 3: Como nomear um novo workspace de infraestrutura e adicionar informações de contato

- Clique no botão Criar.
Criar um ambiente e clusters do API Gateway
No API Connectivity Manager, um Ambiente é um agrupamento lógico de recursos dedicados (como gateways de API ou portais de desenvolvedores de API). Você pode criar vários Ambientes por Workspace (até 25 no momento da redação deste texto); geralmente, eles correspondem a diferentes etapas do desenvolvimento e da implantação de aplicativos, como codificação, testes e produção, mas podem ser usados para qualquer finalidade desejada.
Em um Ambiente, um Cluster de Gateway de API é um agrupamento lógico de instâncias do NGINX Plus que atuam como gateways de API. Um único Ambiente pode ter vários Clusters de Gateway de API que compartilham o mesmo nome de host (por exemplo, api.nginx.com, como neste tutorial). As instâncias do NGINX Plus em um Cluster de Gateway de API podem estar localizadas em mais de um tipo de infraestrutura, por exemplo, em várias nuvens.
Há duas maneiras de configurar um Ambiente no API Connectivity Manager para garantir a alta disponibilidade ativo-ativo dos gateways de API:
O principal motivo para implantar vários clusters do API Gateway é permitir que você aplique um conjunto diferente de políticas de segurança a cada cluster.
Em Implantar instâncias do NGINX Plus como gateways de API, implantamos duas instâncias do NGINX Plus: uma na AWS e outra no GCP. O tutorial usa as mesmas instâncias para ilustrar os dois tipos de ambiente (com um único cluster de gateway de API ou com vários clusters de gateway de API). Se quiser implantar os dois tipos de ambiente em um único espaço de trabalho, você precisará criar outras instâncias do NGINX Plus para o segundo ambiente.
Implantar um ambiente com um cluster de gateway de API
Para um ambiente com um único cluster de API Gateway, as mesmas políticas de segurança se aplicam a todas as instâncias do gateway de API do NGINX Plus, conforme mostrado na Figura 4.

Criar um ambiente e um cluster de gateway de API
- Acesse seu Workspace e clique no botão Criar ambiente, conforme mostrado na Figura 5. Figura 5: Criação de um novo ambiente em um Workspace de infraestrutura

- No painel Criar ambiente que é aberto, preencha o campo Nome (prod na Figura 6) e, opcionalmente, o campo Descrição, e selecione o tipo de ambiente (neste caso, selecionamos Produção). Figura 6: Como nomear um novo ambiente e atribuir um cluster de gateway de API a ele

- Na seção Clusters de API Gateway, preencha os campos Nome e Nome do host (api-cluster e api.nginx.com na Figura 6).
- Clique no botão Criar. O painel Ambiente criado é aberto e exibe o comando que você precisa executar em cada instância do NGINX Plus para atribuí-la ao cluster do API Gateway. Para facilitar, mostramos os comandos na Etapa 7 abaixo.
Atribuir instâncias do API Gateway a um cluster do API Gateway
Repita em cada instância do NGINX Plus:
- Use
sshpara se conectar e fazer login na instância. - Se o NGINX Agent já estiver em execução, interrompa-o:
$ systemctl stop nginx-agent- Execute o comando de sua preferência (
curlouwget) para baixar e instalar o pacote do NGINX Agent:
$ curl [-k] https://<NMS_FQDN>/install/nginx-agent > install.sh && sudo sh -install.sh -g <cluster_name> && sudo systemctl start nginx-agent- ou
$ wget [--no-check-certificate] https://<NMS_FQDN>/install/nginx-agent --no-check-certificate -O install.sh && sudo sh install.sh -g <cluster_name> && sudo systemctl start nginx-agent- As instâncias do NGINX Plus agora aparecem na seção Instâncias da janela Cluster de api-cluster, conforme mostrado na Figura 7. Figura 7: um único cluster de API Gateway agrupa instâncias do NGINX Plus implantadas em várias nuvens

- Se você não habilitou o mTLS em Instalar e configurar o API Connectivity Manager, adicione:
- O sinalizador
‑kpara o comandocurlcommand - A opção
--no-check-certificatedo comandowgetcommand
- O sinalizador
- Para
<NMS_FQDN>, insira o endereço IP ou o nome de domínio totalmente qualificado do seu servidor do NGINX Management Suite. - Para
<cluster_name>, substitua pelo nome do cluster do API Gateway (api-clusterneste tutorial).
- Se você não habilitou o mTLS em Instalar e configurar o API Connectivity Manager, adicione:
- Prossiga para Aplicar políticas globais.
Implantar um ambiente com vários clusters do API Gateway
Para um ambiente com vários clusters de API Gateway, diferentes políticas de segurança podem ser aplicadas a diferentes instâncias do gateway de API do NGINX Plus, conforme mostrado na Figura 8.

clusters de gateway de API separados
Criar um ambiente e um cluster de API Gateway
- Acesse seu Workspace e clique no botão Criar ambiente, conforme mostrado na Figura 9. Figura 9: Criação de um novo ambiente em um Workspace de infraestrutura

- No painel Criar ambiente que é aberto, preencha o campo Nome (prod na Figura 10) e, opcionalmente, o campo Descrição, e selecione o tipo de ambiente (neste caso, selecionamos Produção). Figura 10: Como nomear um novo ambiente e atribuir o primeiro cluster de gateway de API a ele

- Na seção Clusters de API Gateway, preencha os campos Nome e Nome do host (na Figura 10, eles são aws-cluster e api.nginx.com).
- Clique no botão Criar. O painel Ambiente criado é aberto e exibe o comando que você precisa executar em cada instância do NGINX Plus para atribuí-la ao cluster do API Gateway. Para facilitar, mostramos os comandos na Etapa 10 abaixo.
- Volte para a guia Ambiente e clique no botão + Adicionar no canto superior direito da seção Clusters de Gateway de API, conforme mostrado na Figura 11. Figura 11: Adição de outro cluster de Gateway de API a um ambiente

- No painel Criar cluster de gateway de API, preencha o campo Nome com o nome do segundo cluster (gcp-cluster na Figura 12) e o campo Nome do host com o mesmo nome do host do primeiro cluster (api.nginx.com). Figura 12: Adição do segundo cluster de gateway de API a um ambiente

Os dois clusters de API Gateway agora aparecem em Clusters de API Gateway no ambiente de Produção, conforme mostrado na Figura 13.

Atribuir instâncias do API Gateway a um cluster do API Gateway
Repita em cada instância do NGINX Plus:
- Use
sshpara se conectar e fazer login na instância. - Se o NGINX Agent já estiver em execução, interrompa-o:
$ systemctl stop nginx-agent- Execute o comando de sua preferência (
curlouwget) para baixar e instalar o pacote do NGINX Agent:
$ curl [-k] https://<NMS_FQDN>/install/nginx-agent > install.sh && sudo sh -install.sh -g <cluster_name> && sudo systemctl start nginx-agent- ou
$ wget [--no-check-certificate] https://<NMS_FQDN>/install/nginx-agent --no-check-certificate -O install.sh && sudo sh install.sh -g <cluster_name> && sudo systemctl start nginx-agent- A instância apropriada do NGINX Plus agora aparece na seção Instâncias das janelas de Cluster de aws‑cluster (Figura 14) e gcp‑cluster (Figura 15). Figura 14: O primeiro dos dois clusters de gateway de API em um ambiente que abrange várias nuvens
Figura 15: O segundo dos dois clusters de gateway de API em um ambiente que abrange várias nuvens Aplicar políticas globais Agora você pode adicionar políticas globais que se aplicam a todas as instâncias do NGINX Plus em um cluster de gateway de API. Por exemplo, para proteger o acesso dos clientes às suas APIs, você pode aplicar a política Parte Confiável do OpenID Connect ou TLS de Entrada. Para proteger a conexão entre um gateway de API e o serviço de backend que disponibiliza a API, aplique a política TLS de Backend. Para obter mais informações sobre políticas de TLS, consulte a documentação do API Connectivity Manager. Conclusão Gerenciar arquiteturas multinuvem e híbridas não é uma tarefa fácil. São ambientes complexos, com aplicações que mudam rapidamente e que muitas vezes são difíceis de monitorar e proteger. No entanto, com as ferramentas certas, você pode evitar a dependência de um fornecedor e, ao mesmo tempo, manter a agilidade e a flexibilidade necessárias para lançar novos recursos no mercado com mais rapidez. Como uma ferramenta nativa da nuvem, o API Connectivity Manager da NGINX oferece a escalabilidade, a visibilidade, a governança e a segurança necessárias para gerenciar APIs em ambientes multinuvem e híbridos. Inicie uma avaliação gratuita de 30 dias do NGINX Management Suite, que inclui acesso ao API Connectivity Manager, ao NGINX Plus como gateway de API e ao NGINX App Protect para proteger suas APIs.
- Se você não habilitou o mTLS em Instalar e configurar o API Connectivity Manager, adicione:
- O sinalizador
‑kpara o comandocurlcommand - O sinalizador
--no-check-certificatedo comandowgetcommand
- O sinalizador
- Para
<NMS_FQDN>, insira o endereço IP ou o nome de domínio totalmente qualificado do seu servidor do NGINX Management Suite. - Para
<cluster_name>, substitua pelo nome do cluster de API Gateway apropriado (neste tutorial,aws‑clusterpara a instância implantada na AWS egcp‑clusterpara a instância implantada no GCP).
- Se você não habilitou o mTLS em Instalar e configurar o API Connectivity Manager, adicione:
- Acesse a guia Cluster do API Gateway ao qual você deseja aplicar uma política (api-cluster na Figura 16). Clique no botão Manage localizado acima do canto direito da tabela Policies. Figura 16: Gerenciamento de políticas de um cluster do API Gateway

- Clique em Políticas globais na coluna de navegação à esquerda e, em seguida, no ícone … na coluna mais à direita da linha da política (Backend TLS na Figura 17). Selecione + Adicionar política no menu suspenso. Figura 17: Adição de uma política global a um cluster do API Gateway

Sobre o autor

Publicações relacionadas no blog

Como o F5 NGINX One aprimora o gerenciamento e a observabilidade
Descubra como o F5 NGINX One aprimora o gerenciamento e a observabilidade de ambientes híbridos e multicloud ao oferecer um console web centralizado baseado em SaaS, com insights em tempo real, conformidade automatizada e gerenciamento simplificado de configurações.

Do OpenAPI ao NGINX como gateway de API usando uma API declarativa
Descubra como transformar uma definição de esquema OpenAPI em uma configuração NGINX totalmente funcional, operando como um API Gateway com a segurança de um Web Application Firewall e um Portal do Desenvolvedor, usando uma abordagem declarativa de API.

Como gerenciar picos repentinos de tráfego e sobrecarga do servidor
Picos de tráfego e sobrecarga de servidores são preocupações sérias para varejistas online em qualquer época, mas especialmente durante a “Cyber Season” de compras de fim de ano. Detalhamos como você pode aproveitar as soluções de entrega de aplicações de nível de produção da NGINX para se preparar para aumentos repentinos de tráfego.

Distribuição segura de chaves privadas SSL com o NGINX
Descrevemos três maneiras progressivamente mais seguras de proteger chaves privadas SSL ao configurar o NGINX para processar tráfego HTTPS: permitir acesso de leitura apenas ao usuário root, criptografar as chaves com senhas armazenadas separadamente e distribuir as senhas a partir de um repositório central.
Agrupando solicitações de API em lotes com NGINX Plus e o módulo JavaScript do NGINX
O módulo JavaScript do NGINX lançado com o NGINX Plus R15 oferece suporte a subsolicitações, possibilitando uma classe totalmente nova de casos de uso para o NGINX Plus. Este exemplo completo também usa a API do NGINX Plus e os módulos de chave-valor para converter solicitações de API dos clientes em solicitações separadas para as APIs dos microsserviços que compõem um aplicativo.
Como superar o esgotamento de portas efêmeras no NGINX e no NGINX Plus
Confira dicas para evitar o esgotamento de portas efêmeras com ajustes no kernel do Linux, conexões keepalive e conexões vinculadas dinamicamente a endereços IP locais.