Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Important
Os Clusters de Big Data do Microsoft SQL Server 2019 foram desativados. O suporte para clusters de Big Data do SQL Server 2019 terminou em 28 de fevereiro de 2025. Para obter mais informações, consulte a postagem no blog de anúncios e as opções de Big Data na plataforma microsoft SQL Server.
Você pode restringir o tráfego de saída de Clusters de Big Data com o AKS (Serviço de Kubernetes do Azure). O serviço provisiona um balanceador de carga com SKU padrão. Isso é configurado e usado para saída de dados por padrão. Agora, a configuração padrão pode não atender a todos os cenários e requisitos. Por exemplo, se os IPs públicos forem proibidos ou se forem necessários saltos adicionais para a saída. Você pode definir uma tabela rota definida pelo usuário (UDR) se o cluster não permitir IPs públicos e estiver atrás de um aplicativo virtual de rede (NVA).
Os clusters AKS têm acesso irrestrito à internet externa. Isso é para fins operacionais e de gerenciamento. Nós de trabalho em um cluster do AKS precisam acessar determinadas portas e FQDNs (nomes de domínio totalmente qualificados). Veja a seguir exemplos disso:
- Quando o cluster precisa baixar imagens de contêiner do sistema base do Registro de Contêiner da Microsoft (MCR) durante as atualizações de segurança do sistema operacional do nó de trabalho.
- Quando nós de trabalho do AKS com GPU habilitada precisam acessar pontos de extremidade da Nvidia para instalar um driver.
- Quando os clientes usam o AKS em conjunto com os serviços do Azure, como a Azure Policy para conformidade de nível empresarial e o Azure Monitoramento (com container insights).
- Quando um Espaço de Desenvolvimento está habilitado e outros cenários semelhantes.
Note
Quando você implanta um BDC (cluster de Big Data) no cluster privado do AKS (Serviço de Kubernetes do Azure), não há dependências de entrada, exceto aquelas mencionadas neste artigo. Você pode encontrar todas as dependências de saída no controle do tráfego de saída para nós de cluster no AKS (Serviço de Kubernetes do Azure).
Este artigo descreve como implantar BDCs no cluster privado do AKS com rede avançada e UDR. Ele também explora uma integração adicional do BDC com ambientes de rede de nível empresarial.
Como restringir o tráfego de saída com o firewall do Azure
O Firewall do Azure fornece uma marca FQDN do Serviço (AzureKubernetesService) de Kubernetes do Azure para simplificar a configuração.
Para obter informações completas sobre a marca FQDN, visite Restringir o tráfego de saída usando o firewall do Azure.
A imagem a seguir mostra como o tráfego é restrito em um cluster privado do AKS.
Desenvolva a arquitetura básica para um cluster de Big Data com o Firewall do Azure:
- Criar o grupo de recursos > VNet
- Criar e configurar o firewall do Azure
- Criar tabela de rotas definida pelo usuário
- Configurar regras de firewall
- Criar principal do serviço (SP)
- Criar um cluster privado do AKS
- Criar perfil de implantação do BDC
- Deploy BDC
Crie o grupo de recursos e a VNet
Defina um conjunto de variáveis de ambiente para criar recursos.
export REGION_NAME=<region> export RESOURCE_GROUP=private-bdc-aksudr-rg export SUBNET_NAME=aks-subnet export VNET_NAME=bdc-vnet export AKS_NAME=bdcaksprivateclusterCriar o grupo de recursos
az group create -n $RESOURCE_GROUP -l $REGION_NAMECriar a VNET
az network vnet create \ --resource-group $RESOURCE_GROUP \ --location $REGION_NAME \ --name $VNET_NAME \ --address-prefixes 10.0.0.0/8 \ --subnet-name $SUBNET_NAME \ --subnet-prefix 10.1.0.0/16 SUBNET_ID=$(az network vnet subnet show \ --resource-group $RESOURCE_GROUP \ --vnet-name $VNET_NAME \ --name $SUBNET_NAME \ --query id -o tsv)
Criar e configurar o Firewall do Azure
Defina um conjunto de variáveis de ambiente para criar recursos.
export FWNAME=bdcaksazfw export FWPUBIP=$FWNAME-ip export FWIPCONFIG_NAME=$FWNAME-config az extension add --name azure-firewallCriar uma sub-rede dedicada para o firewall
Note
Você não pode alterar o nome do firewall após a criação
az network vnet subnet create \ --resource-group $RESOURCE_GROUP \ --vnet-name $VNET_NAME \ --name AzureFirewallSubnet \ --address-prefix 10.3.0.0/24 az network firewall create -g $RESOURCE_GROUP -n $FWNAME -l $REGION_NAME --enable-dns-proxy true az network public-ip create -g $RESOURCE_GROUP -n $FWPUBIP -l $REGION_NAME --sku "Standard" az network firewall ip-config create -g $RESOURCE_GROUP -f $FWNAME -n $FWIPCONFIG_NAME --public-ip-address $FWPUBIP --vnet-name $VNET_NAME
O Azure roteia o tráfego automaticamente entre redes virtuais, redes locais e sub-redes do Azure.
Como criar uma tabela de rotas definida pelo usuário
Você pode criar uma tabela UDR com um salto para o Firewall do Azure.
export SUBID= <your Azure subscription ID>
export FWROUTE_TABLE_NAME=bdcaks-rt
export FWROUTE_NAME=bdcaksroute
export FWROUTE_NAME_INTERNET=bdcaksrouteinet
export FWPUBLIC_IP=$(az network public-ip show -g $RESOURCE_GROUP -n $FWPUBIP --query "ipAddress" -o tsv)
export FWPRIVATE_IP=$(az network firewall show -g $RESOURCE_GROUP -n $FWNAME --query "ipConfigurations[0].privateIpAddress" -o tsv)
# Create UDR and add a route for Azure Firewall
az network route-table create -g $RESOURCE_GROUP --name $FWROUTE_TABLE_NAME
az network route-table route create -g $RESOURCE_GROUP --name $FWROUTE_NAME --route-table-name $FWROUTE_TABLE_NAME --address-prefix 0.0.0.0/0 --next-hop-type VirtualAppliance --next-hop-ip-address $FWPRIVATE_IP --subscription $SUBID
az network route-table route create -g $RESOURCE_GROUP --name $FWROUTE_NAME_INTERNET --route-table-name $FWROUTE_TABLE_NAME --address-prefix $FWPUBLIC_IP/32 --next-hop-type Internet
Como definir regras de firewall
# Add FW Network Rules
az network firewall network-rule create -g $RESOURCE_GROUP -f $FWNAME --collection-name 'aksfwnr' -n 'apiudp' --protocols 'UDP' --source-addresses '*' --destination-addresses "AzureCloud.$REGION_NAME" --destination-ports 1194 --action allow --priority 100
az network firewall network-rule create -g $RESOURCE_GROUP -f $FWNAME --collection-name 'aksfwnr' -n 'apitcp' --protocols 'TCP' --source-addresses '*' --destination-addresses "AzureCloud.$REGION_NAME" --destination-ports 9000
az network firewall network-rule create -g $RESOURCE_GROUP -f $FWNAME --collection-name 'aksfwnr' -n 'time' --protocols 'UDP' --source-addresses '*' --destination-fqdns 'ntp.ubuntu.com' --destination-ports 123
# Add FW Application Rules
az network firewall application-rule create -g $RESOURCE_GROUP -f $FWNAME --collection-name 'aksfwar' -n 'fqdn' --source-addresses '*' --protocols 'http=80' 'https=443' --fqdn-tags "AzureKubernetesService" --action allow --priority 100
Você pode associar uma UDR a um cluster do AKS no qual implantou anteriormente um BDC usando o seguinte comando:
az network vnet subnet update -g $RESOURCE_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME --route-table $FWROUTE_TABLE_NAME
Criar e configurar o principal de serviço (SP)
Nesta etapa, você precisa criar a entidade de serviço e atribuir permissão à rede virtual.
Consulte o seguinte exemplo:
# Create SP and Assign Permission to Virtual Network
az ad sp create-for-rbac -n "bdcaks-sp"
APPID=<your service principal ID >
PASSWORD=< your service principal password >
VNETID=$(az network vnet show -g $RESOURCE_GROUP --name $VNET_NAME --query id -o tsv)
# Assign SP Permission to VNET
az role assignment create --assignee $APPID --scope $VNETID --role "Network Contributor"
RTID=$(az network route-table show -g $RESOURCE_GROUP -n $FWROUTE_TABLE_NAME --query id -o tsv)
az role assignment create --assignee $APPID --scope $RTID --role "Network Contributor"
Criar um cluster AKS
Agora você pode criar o cluster do AKS com userDefinedRouting como tipo de saída.
az aks create \
--resource-group $RESOURCE_GROUP \
--location $REGION_NAME \
--name $AKS_NAME \
--load-balancer-sku standard \
--outbound-type userDefinedRouting \
--enable-private-cluster \
--network-plugin azure \
--vnet-subnet-id $SUBNET_ID \
--docker-bridge-address 172.17.0.1/16 \
--dns-service-ip 10.2.0.10 \
--service-cidr 10.2.0.0/24 \
--service-principal $APPID \
--client-secret $PASSWORD \
--node-vm-size Standard_D13_v2 \
--node-count 2 \
--generate-ssh-keys
Criar um perfil de implantação do Cluster de Big Data
Você pode criar um cluster de Big Data com um perfil personalizado:
azdata bdc config init --source aks-dev-test --target private-bdc-aks --force
Gerar e configurar um perfil de implantação do BDC personalizado
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.docker.imageTag=2019-CU6-ubuntu-16.04"
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.storage.data.className=default"
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.storage.logs.className=default"
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.endpoints[1].serviceType=NodePort"
azdata bdc config replace -c private-bdc-aks/bdc.json -j "$.spec.resources.master.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -c private-bdc-aks/bdc.json -j "$.spec.resources.gateway.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -c private-bdc-aks/bdc.json -j "$.spec.resources.appproxy.spec.endpoints[0].serviceType=NodePort"
Implantar um BDC no cluster privado do AKS
export AZDATA_USERNAME=<your bdcadmin username>
export AZDATA_PASSWORD=< your bdcadmin password>
azdata bdc create --config-profile private-bdc-aks --accept-eula yes
Posso usar firewalls de terceiros para restringir o tráfego de saída?
Você pode usar firewalls de terceiros para restringir o tráfego de saída com um BDC implantado e um cluster privado do AKS. Para exibir um exemplo, visite firewalls do Azure Marketplace. Firewalls de terceiros podem ser usados em soluções de implantação privada com configurações mais compatíveis. O firewall deve fornecer as seguintes regras de rede:
- Exiba todas as regras de rede de saída necessárias e FQDNs para clusters do AKS. Esta URL também inclui todos os endpoints curinga HTTP/HTTPS e suas dependências. Elas podem variar dependendo da configuração do cluster AKS, com base em vários qualificadores e nos seus requisitos reais.
- Regras de rede necessárias do Azure Global/FQDN/regras de aplicativo mencionadas aqui.
- Regras de aplicativo/FQDN recomendadas opcionais para clusters AKS mencionados aqui.
Verifique como gerenciar um cluster de Big Data no cluster privado do AKS e, em seguida, a próxima etapa é conectar-se a um cluster de Big Data.
Consulte scripts de automação para esse cenário no repositório de exemplos do SQL Server no GitHub.