Kimenő forgalom korlátozása tűzfal használatával az Azure CLI használatával
Fontos
Az Azure HDInsight on AKS 2025. január 31-én megszűnt. Ismerje meg többet ebből a bejelentésből.
Az Ön számítási feladatainak hirtelen leállásának elkerülése érdekében migrálnia kell azokat a Microsoft Fabric vagy azzal egyenértékű Azure termékre.
Fontos
Ez a funkció jelenleg előzetes verzióban érhető el. A Microsoft Azure Previews kiegészítő használati feltételei további jogi feltételeket tartalmaznak, amelyek a bétaverzióban, előzetes verzióban vagy más módon még nem általánosan elérhető Azure-funkciókra vonatkoznak. Erről a konkrét előzetes verzióról szóló információért lásd a Azure HDInsight az AKS-en előzetes verzió adatait. Ha kérdése vagy funkciójavaslata van, küldjön egy kérést AskHDInsight a részletekkel, és kövessen minket további frissítésekért Azure HDInsight Community.
Amikor egy vállalat saját virtuális hálózatot szeretne használni a fürttelepítésekhez, fontossá válik a virtuális hálózat forgalmának védelme. Ez a cikk ismerteti az Azure Firewall segítségével az AZsüre CLI használatával végrehajtott HDInsight kimenő forgalom védelmének lépéseit az AKS klaszteren.
Az alábbi ábra a jelen cikkben egy vállalati forgatókönyv szimulálására használt példát mutatja be:
A cikkben bemutatott példa az Azure Could Shell használata.
A változók definiálása
Másolás és végrehajtás az Azure Cloud Shellben a változók értékének beállításához.
PREFIX="hdiaks-egress"
RG="${PREFIX}-rg"
LOC="eastus"
HDIAKS_CLUSTER_POOL=${PREFIX}
VNET_NAME="${PREFIX}-vnet"
HDIAKS_SUBNET_NAME="${PREFIX}-subnet"
# DO NOT CHANGE FWSUBNET_NAME - This is currently a requirement for Azure Firewall.
FWSUBNET_NAME="AzureFirewallSubnet"
FWNAME="${PREFIX}-fw"
FWPUBLICIP_NAME="${PREFIX}-fwpublicip"
FWIPCONFIG_NAME="${PREFIX}-fwconfig"
FWROUTE_NAME="${PREFIX}-fwrn"
FWROUTE_NAME_INTERNET="${PREFIX}-fwinternet"
Virtuális hálózat és alhálózatok létrehozása
Hozzon létre egy erőforráscsoportot az az group create paranccsal.
az group create --name $RG --location $LOC
Hozzon létre egy virtuális hálózatot és két alhálózatot.
Virtuális hálózat a HDInsight alhálózatával az AKS-fürtkészleten
az network vnet create \ --resource-group $RG \ --name $VNET_NAME \ --location $LOC \ --address-prefixes 10.0.0.0/8 \ --subnet-name $HDIAKS_SUBNET_NAME \ --subnet-prefix 10.1.0.0/16
Az Azure Firewall alhálózata.
az network vnet subnet create \ --resource-group $RG \ --vnet-name $VNET_NAME \ --name $FWSUBNET_NAME \ --address-prefix 10.2.0.0/16
Fontos
- Ha hozzáad egy NSG-t a(z)
HDIAKS_SUBNET_NAME
alhálózatban, manuálisan kell hozzáadni bizonyos kimenő és bejövő szabályokat. Először kövesse a lépést, majd használjon NSG-t a forgalomkorlátozásához. - Alapértelmezés szerint az útvonaltábla nem lesz társítva az alhálózattal. Szükség esetén a felhasználónak létre kell hoznia egy útvonaltáblát, és hozzá kell rendelnie a fürtmedencéhez.
- Ha hozzáad egy NSG-t a(z)
HDInsight létrehozása AKS-fürtkészleten az Azure Portal használatával
Klaszterkészlet létrehozása.
Hozzon létre egy útvonaltáblát.
Hozzon létre egy útvonaltáblát, és társítsa a klaszterkészlethez. További információ: útvonaltábla létrehozása.
A fürtkészlet mögött létrehozott AKS-fürt részleteinek lekérése
Az alábbi lépéseket követve szerezze meg az AKS-fürt információit, amelyek a további lépések során hasznosak lesznek.
AKS_MANAGED_RG=$(az network vnet subnet show --name $HDIAKS_SUBNET_NAME --vnet-name $VNET_NAME --resource-group $RG --query routeTable.resourceGroup -o tsv)
AKS_ID=$(az group show --name $AKS_MANAGED_RG --query managedBy -o tsv)
HDIAKS_MANAGED_RG=$(az resource show --ids $AKS_ID --query "resourceGroup" -o tsv)
API_SERVER=$(az aks show --name $HDIAKS_CLUSTER_POOL --resource-group $HDIAKS_MANAGED_RG --query fqdn -o tsv)
Tűzfal létrehozása
Hozzon létre egy Standard SKU nyilvános IP-cím erőforrást. Ezt az erőforrást használja az Azure Firewall előtérbeli címeként.
az network public-ip create -g $RG -n $FWPUBLICIP_NAME -l $LOC --sku "Standard"
Regisztrálja az Azure Firewall előzetes cli-bővítményét egy Azure Firewall létrehozásához.
az extension add --name azure-firewall
Hozzon létre egy Azure Firewallt, és engedélyezze a DNS-proxyt.
az network firewall create -g $RG -n $FWNAME -l $LOC --enable-dns-proxy true
Hozzon létre egy Azure Firewall IP-konfigurációt.
az network firewall ip-config create -g $RG -f $FWNAME -n $FWIPCONFIG_NAME --public-ip-address $FWPUBLICIP_NAME --vnet-name $VNET_NAME
Ha az IP-konfigurációs parancs sikeres, mentse a tűzfal előtérbeli IP-címét később a konfigurációhoz.
FWPUBLIC_IP=$(az network public-ip show -g $RG -n $FWPUBLICIP_NAME --query "ipAddress" -o tsv) FWPRIVATE_IP=$(az network firewall show -g $RG -n $FWNAME --query "ipConfigurations[0].privateIPAddress" -o tsv)
Hálózati és alkalmazásszabályok hozzáadása a tűzfalhoz
Hozza létre a hálózati szabályokat.
az network firewall network-rule create -g $RG -f $FWNAME --collection-name 'aksfwnr' -n 'apiudp' --protocols 'UDP' --source-addresses '*' --destination-addresses "AzureCloud.$LOC" --destination-ports 1194 --action allow --priority 100 az network firewall network-rule create -g $RG -f $FWNAME --collection-name 'aksfwnr' -n 'apitcp' --protocols 'TCP' --source-addresses '*' --destination-addresses "AzureCloud.$LOC" --destination-ports 9000 az network firewall network-rule create -g $RG -f $FWNAME --collection-name 'aksfwnr' -n 'apiserver' --protocols 'TCP' --source-addresses '*' --destination-fqdns "$API_SERVER" --destination-ports 443 #Add below step, in case you are integrating log analytics workspace az network firewall network-rule create -g $RG -f $FWNAME --collection-name 'aksfwnr' -n 'azuremonitor' --protocols 'TCP' --source-addresses '*' --destination-addresses "AzureMonitor" --destination-ports 443
Hozza létre az alkalmazásszabályokat.
az network firewall application-rule create -g $RG -f $FWNAME --collection-name 'aksfwar' -n 'aks-fqdn' --source-addresses '*' --protocols 'http=80' 'https=443' --fqdn-tags "AzureKubernetesService" --action allow --priority 100 az network firewall application-rule create -g $RG -f $FWNAME --collection-name 'aksfwar' -n 'acr' --source-addresses '*' --protocols 'https=443' --target-fqdns "hiloprodrpacr00.azurecr.io" az network firewall application-rule create -g $RG -f $FWNAME --collection-name 'aksfwar' -n 'blob' --source-addresses '*' --protocols 'https=443' --target-fqdns "*.blob.core.windows.net" az network firewall application-rule create -g $RG -f $FWNAME --collection-name 'aksfwar' -n 'servicebus' --source-addresses '*' --protocols 'https=443' --target-fqdns "*.servicebus.windows.net" az network firewall application-rule create -g $RG -f $FWNAME --collection-name 'aksfwar' -n 'gsm' --source-addresses '*' --protocols 'https=443' --target-fqdns "*.table.core.windows.net" az network firewall application-rule create -g $RG -f $FWNAME --collection-name 'aksfwar' -n 'gcsmonitoring' --source-addresses '*' --protocols 'https=443' --target-fqdns "gcs.prod.monitoring.core.windows.net" az network firewall application-rule create -g $RG -f $FWNAME --collection-name 'aksfwar' -n 'graph' --source-addresses '*' --protocols 'https=443' --target-fqdns "graph.microsoft.com"
Útvonal létrehozása az útvonaltáblában a forgalom tűzfalra való átirányításához
Hozzon létre egy útvonaltáblát, amely a HDInsighthoz társítható az AKS-fürtkészleten. További információ: útvonaltábla-parancsok létrehozása.
Klaszter létrehozása
Az előző lépésekben a hálózati forgalmat tűzfalra irányítottuk.
Az alábbi lépések részletesen ismertetik az egyes fürttípusokhoz szükséges konkrét hálózati és alkalmazásszabályokat. Az Apache Flink , a Trino és az Apache Spark -fürtök igény szerinti létrehozásához tekintse meg a fürtlétrehozás lapjait.
Fontos
Fürt létrehozása előtt mindenképpen futtassa a következő fürtspecifikus szabályokat a forgalom engedélyezéséhez.
Trinó
Adja hozzá a következő hálózati és alkalmazásszabályokat egy Trino-fürthöz.
az network firewall application-rule create -g $RG -f $FWNAME --collection-name 'aksfwar' -n 'dfs' --source-addresses '*' --protocols 'https=443' --target-fqdns "*.dfs.core.windows.net" az network firewall application-rule create -g $RG -f $FWNAME --collection-name 'aksfwar' -n 'mysql' --source-addresses '*' --protocols 'mssql=1433' --target-fqdns "*.database.windows.net"
Módosítsa a
Sql.<Region>
-t a következő szintaxis szerint a régiójára, a követelményeknek megfelelően. Például:Sql.EastUS
az network firewall network-rule create -g $RG -f $FWNAME --collection-name 'aksfwnr' -n 'mysql' --protocols 'TCP' --source-addresses '*' --destination-addresses Sql.<Region> --destination-ports "11000-11999"
Apache Flink
Adja hozzá az alábbi alkalmazásszabályt egy Apache Flink-fürthöz.
az network firewall application-rule create -g $RG -f $FWNAME --collection-name 'aksfwar' -n 'dfs' --source-addresses '*' --protocols 'https=443' --target-fqdns "*.dfs.core.windows.net"
Apache Spark
Adja hozzá a következő hálózati és alkalmazásszabályokat egy Spark-fürthöz.
Módosítsa a következő szintaxisban a
Storage.<Region>
paramétert a régióra vonatkozó igényeinek megfelelően. Például:Storage.EastUS
az network firewall network-rule create -g $RG -f $FWNAME --collection-name 'aksfwnr' -n 'smb' --protocols 'TCP' --source-addresses '*' --destination-addresses "Storage.<Region>" --destination-ports 445 az network firewall application-rule create -g $RG -f $FWNAME --collection-name 'aksfwar' -n 'dfs' --source-addresses '*' --protocols 'https=443' --target-fqdns "*.dfs.core.windows.net"
Cserélje ki a
Sql.<Region>
értéket a következő szintaxisban az Ön régiójának megfelelően. Például:Sql.EastUS
az network firewall network-rule create -g $RG -f $FWNAME --collection-name 'aksfwnr' -n 'mysql' --protocols 'TCP' --source-addresses '*' --destination-addresses "Sql.<Region>" --destination-ports '11000-11999' az network firewall application-rule create -g $RG -f $FWNAME --collection-name 'aksfwar' -n 'mysql' --source-addresses '*' --protocols 'mssql=1433' --target-fqdns "*.database.windows.net"
Szimmetrikus útválasztási probléma megoldása
A következő lépések lehetővé teszik, hogy fürtről fürtre igényeljen bejövő terheléselosztó szolgáltatást, és biztosítsák, hogy a hálózati válaszforgalom ne a tűzfalon keresztül áramoljon. Adjon hozzá egy útvonalat az útvonaltáblához, amely átirányítja a válaszforgalmat az ügyfél IP-címéről az internetre, majd közvetlenül elérheti a fürtöt.
az network route-table route create -g $AKS_MANAGED_RG --name clientip --route-table-name $ROUTE_TABLE_NAME --address-prefix {Client_IPs} --next-hop-type Internet
Ha az NSG konfigurálása után nem tudja elérni a fürtöt, kövesse az alábbi lépéseket: használja az NSG-t a forgalom korlátozására, majd engedélyezze a forgalmat.
Borravaló
Ha több forgalmat szeretne engedélyezni, konfigurálhatja a tűzfalon keresztül.
Hibakeresés
Ha úgy találja, hogy a fürt váratlanul működik, a tűzfalnaplókban ellenőrizheti, hogy melyik forgalom van blokkolva.