Automatize Entradas de Zona Privada de DNS com Funções do OCI

Em algumas situações, os clientes desejam personalizar as definições de DNS de uma VCN e, em vez de oraclevcn.com, usar outro domínio para hosts conectados à VCN. O recurso de Zona Privada de DNS no serviço DNS do Oracle Cloud Infrastructure (OCI) permite que os usuários expandam os recursos do resolvedor de DNS da VCN incorporado, para que possam usar nomes de domínio personalizados para os recursos dentro das VCNs. Essa arquitetura expande-se na solução descrita no post do blog Caso de Uso - DNS Personalizado da VCN do OCI (acessível na seção Explorar Mais, em outro lugar dessa arquitetura de referência) usando Eventos e Funções do OCI para automatizar o gerenciamento de entradas de zona do DNS.

Arquitetura

Esta arquitetura descreve como você pode usar Funções e Eventos do OCI para preencher automaticamente uma zona privada com entradas de DNS, reduzindo a necessidade de atualizações manuais e possíveis erros. Em seguida, você pode usar Eventos para capturar novas solicitações de criação de instância no nível do compartimento e, em seguida, acionar a função Add DNS record para coletar metadados da instância, adicionar um registro de DNS à zona de DNS privado e, finalmente, confirmar a inserção do registro atualizando tags de formato livre da instância. Quando a instância é encerrada, o evento aciona a função Remove DNS record para excluir o registro de DNS associado.

O diagrama a seguir ilustra essa arquitetura de referência.


A descrição de dns_private_zones.png é exibida a seguir
Descrição da ilustração dns_private_zones.png

dns-private-zones-oracle.zip

Esta arquitetura inclui os seguintes componentes:
  • Região

    Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominada domínios de disponibilidade. As regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou mesmo continentes).

  • Compartimento

    Os compartimentos são partições lógicas entre regiões dentro de uma tenancy do Oracle Cloud Infrastructure. Use compartimentos para organizar seus recursos no Oracle Cloud, controlar o acesso aos recursos e definir cotas de uso. Para controlar o acesso aos recursos em um determinado compartimento, você define políticas que especificam quem pode acessar os recursos e quais ações eles podem executar.

  • Domínio de disponibilidade

    Domínios de disponibilidade são data centers stand-alone e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que oferece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou refrigeração ou a rede interna do domínio de disponibilidade. Portanto, provavelmente uma falha em um domínio de disponibilidade não afetará os outros domínios de disponibilidade da região.

  • Rede virtual na nuvem (VCN) e sub-redes

    VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem total controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após a criação da VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada. Lista de segurança Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que deve ser permitido dentro e fora da sub-rede.

  • Gateway NAT

    O gateway NAT permite que recursos privados em uma VCN acessem hosts na internet, sem expor esses recursos a conexões de internet de entrada.

  • Gateway de serviço

    O gateway de serviço fornece acesso de uma VCN a outros serviços, como o Oracle Cloud Infrastructure Object Storage. O tráfego da VCN para o serviço da Oracle percorre a malha de rede da Oracle e nunca atravessa a internet.

  • Zona do DNS privado

    O DNS privado permite usar seus próprios nomes de domínio do DNS privados e gerenciar totalmente as zonas e registros associados para fornecer resolução de nome de host para seus aplicativos executados dentro e entre redes virtuais na nuvem (VCNs), bem como sua rede local ou outra rede privada.

  • Oracle Cloud Infrastructure Events

    Os Eventos do OCI permitem que você crie automação com base nas alterações de estado dos recursos em toda a tenancy. Os eventos emitidos podem ser filtrados com a ajuda de Regras e, em seguida, processados como parte de uma Ação em outros serviços do OCI (Notificação, Streaming, Funções).

  • Oracle Functions

    Com o Oracle Functions, os desenvolvedores podem aproveitar uma plataforma Functions-as-a-Service totalmente gerenciada, multitenant, altamente escalável e sob demanda para criar e executar código na nuvem sem ter que gerenciar a infraestrutura subjacente. Nesta arquitetura, as Funções são Add DNS record e Remove DNS record.

  • Resolvedor de DNS da VCN

    O resolvedor de DNS da VCN permite que instâncias anexadas à VCN resolvam nomes de host (que você pode designar) de outras instâncias na mesma VCN. Você pode estender os recursos padrão do resolvedor de DNS da VCN anexando zonas privadas à view privada da VCN.

Recomendações

Use as seguintes recomendações como ponto de partida ao automatizar entradas de zona privada de DNS com o OCI Functions. Seus requisitos podem ser diferentes da arquitetura descrita aqui.
  • VCN

    Quando você cria uma VCN, determina o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que planeja anexar às sub-redes na VCN. Use blocos CIDR que estão dentro do espaço de endereço IP privado padrão.

    Selecione blocos CIDR que não se sobrepõem a nenhuma outra rede (no Oracle Cloud Infrastructure, no seu data center local ou em outro provedor de nuvem) para a qual você pretende configurar conexões privadas.

    Depois de criar uma VCN, você poderá alterar, adicionar e remover seus blocos CIDR.

    Ao projetar as sub-redes, considere seu fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos dentro de uma camada ou atribuição específica à mesma sub-rede, que pode servir como limite de segurança.

    Usar sub-redes regionais.

  • Segurança

    Use o Oracle Cloud Guard para monitorar e manter a segurança de seus recursos no Oracle Cloud Infrastructure de forma proativa. O Cloud Guard usa receitas do detector que você pode definir para examinar seus recursos em busca de pontos fracos de segurança e para monitorar operadores e usuários em busca de atividades de risco. Quando qualquer atividade de configuração incorreta ou insegura é detectada, o Cloud Guard recomenda ações corretivas e ajuda a tomar essas ações, com base nas receitas do respondedor que você pode definir.

    Para recursos que exigem segurança máxima, a Oracle recomenda que você use zonas de segurança. Uma zona de segurança é um compartimento associado a uma receita definida pela Oracle de políticas de segurança que se baseiam nas melhores práticas. Por exemplo, os recursos em uma zona de segurança não devem ser acessíveis pela internet pública e devem ser criptografados usando chaves gerenciadas pelo cliente. Quando você cria e atualiza recursos em uma zona de segurança, o Oracle Cloud Infrastructure valida as operações com relação às políticas na receita da zona de segurança e nega operações que violam qualquer uma das políticas.

  • Cloud Guard

    Clone e personalize as receitas padrão fornecidas pela Oracle para criar receitas personalizadas do detector e do respondedor. Essas receitas permitem especificar que tipo de violações de segurança geram uma advertência e quais ações podem ser executadas nelas. Por exemplo, talvez você queira detectar buckets do Object Storage que tenham visibilidade definida como pública.

    Aplique o Cloud Guard no nível da tenancy para abranger o escopo mais amplo e reduzir a carga administrativa de manter várias configurações.

    Você também pode usar o recurso Lista Gerenciada para aplicar determinadas configurações a detectores.

  • Zonas de segurança

    As zonas de segurança impõem posturas de segurança em compartimentos do OCI e impedem ações que possam enfraquecer a postura de segurança de um cliente. Você pode aplicar políticas de zona de segurança a vários tipos de infraestrutura de nuvem (rede, computação, armazenamento, banco de dados etc.) para garantir que os recursos de nuvem permaneçam seguros e para evitar configurações incorretas de segurança.

  • Grupos de segurança de rede (NSGs)

    Você pode usar NSGs para definir um conjunto de regras de entrada e saída que se aplicam a VNICs específicas. Recomendamos o uso de NSGs, em vez de listas de segurança, porque os NSGs permitem que você separe a arquitetura de sub-rede da VCN dos requisitos de segurança do seu aplicativo. Você pode usar NSGs para definir um conjunto de regras de entrada e saída que se aplicam a VNICs específicas. Recomendamos o uso de NSGs, em vez de listas de segurança, porque os NSGs permitem que você separe a arquitetura de sub-rede da VCN dos requisitos de segurança do seu aplicativo.

  • Largura de banda do balanceador de carga

    Ao criar o balanceador de carga, você pode selecionar uma forma predefinida que forneça uma largura de banda fixa ou especificar uma forma personalizada (flexível) na qual defina uma faixa de largura de banda e permita que o serviço dimensione a largura de banda automaticamente, com base nos padrões de tráfego. Com qualquer uma das abordagens, você pode alterar a configuração a qualquer momento após criar o balanceador de carga.

Considerações

Ao provisionar a infraestrutura, considere o seguinte:

  • Implantação

    O usuário que implanta a arquitetura deve ter privilégios administrativos.

  • Zona do DNS

    A zona de DNS configurada deve estar no mesmo compartimento da sub-rede selecionada.

Implantação

O código do Terraform para essa arquitetura de referência está disponível como uma pilha de amostra no Oracle Cloud Infrastructure Resource Manager. Você também pode fazer download do código em GitHub e personalizá-lo para atender aos seus requisitos específicos.

  • Implante usando a pilha de amostra no Oracle Cloud Infrastructure Resource Manager:
    1. Clique em Implantar no Oracle Cloud.

      Se você ainda não estiver conectado, informe a tenancy e as credenciais do usuário.

    2. Selecione a região na qual você deseja implantar a pilha.
    3. Siga os prompts na tela e as instruções para criar a pilha.
    4. Depois de criar a pilha, clique em Ações do Terraform e selecione Planejar.
    5. Aguarde a conclusão do job e revise o plano.

      Para fazer alterações, retorne à página Detalhes da Pilha, clique em Editar Pilha e faça as alterações necessárias. Em seguida, execute novamente a ação Plano.

    6. Se nenhuma alteração adicional for necessária, retorne à página Detalhes da Pilha, clique em Ações do Terraform e selecione Aplicar.
  • Implante usando o código do Terraform em GitHub:
    1. Vá para GitHub.
    2. Clone ou faça download do repositório para seu computador local.
    3. Siga as instruções no documento README.

Explorar Mais

Saiba mais sobre zonas privadas de DNS no OCI, consulte os seguintes recursos:

Revise estes recursos adicionais:

Confirmações

Autor: Andrei Ilas