Távoli hozzáférés konfigurálása számítási csomópontokhoz egy Azure Batch-készletben
Ha konfigurálva van, engedélyezheti, hogy a hálózati kapcsolattal rendelkező csomópont-felhasználók külsőleg csatlakozzanak egy Batch-készlet számítási csomóponthoz. Egy felhasználó például csatlakozhat távoli asztallal (RDP) a 3389-s porton egy Számítási csomóponthoz egy Windows-készletben. Hasonlóképpen, a felhasználó alapértelmezés szerint csatlakozhat a Secure Shell (SSH) által a 22-s porton egy Linux-készlet számítási csomópontjához.
Feljegyzés
Az API-verziótól 2024-07-01
(és az API-verziótól függetlenül 2025. november 30. után létrehozott összes készlet) a Batch már nem képez le automatikusan általános távelérési portokat az SSH-hoz és az RDP-hez. Ha engedélyezni szeretné a Batch számítási csomópontokhoz való távoli hozzáférést api-verzióval vagy újabb verzióval 2024-07-01
létrehozott készletekkel (és 2025. november 30- után), akkor manuálisan kell konfigurálnia a készletvégpont konfigurációját az ilyen hozzáférés engedélyezéséhez.
Előfordulhat, hogy a környezetben engedélyeznie, korlátoznia vagy letiltania kell a külső hozzáférési beállításokat, illetve a Batch-készletben használni kívánt egyéb portokat. Ezeket a beállításokat a Batch API-k használatával módosíthatja a PoolEndpointConfiguration tulajdonság beállításához.
Batch-készlet végpontkonfigurációja
A végpontkonfiguráció az előtérbeli portok egy vagy több hálózati címfordítási (NAT) készletéből áll. Ne keverje össze a NAT-készletet a számítási csomópontok Batch-készletével. Minden NAT-készletet úgy állított be, hogy felülbírálja a készlet számítási csomópontja alapértelmezett kapcsolati beállításait.
Minden NAT-készletkonfiguráció egy vagy több hálózati biztonsági csoport (NSG) szabályt tartalmaz. Minden NSG-szabály engedélyezi vagy tagadja bizonyos hálózati forgalmat a végpont felé. Dönthet úgy, hogy engedélyezi vagy letiltja az összes forgalmat, a szolgáltatáscímke által azonosított forgalmat (például internetet), vagy adott IP-címekről vagy alhálózatokról érkező forgalmat.
Megfontolások
- A készlet végpontkonfigurációja a készlet hálózati konfigurációjának része. A hálózati konfiguráció opcionálisan tartalmazhat beállításokat a készlet Azure-beli virtuális hálózathoz való csatlakoztatásához. Ha virtuális hálózaton állítja be a készletet, létrehozhat olyan NSG-szabályokat, amelyek a virtuális hálózat címbeállításait használják.
- NAT-készlet konfigurálásakor több NSG-szabályt is konfigurálhat. A szabályok prioritási sorrendben vannak bejelölve. Amint talál egy érvényes szabályt, nem vizsgálja, hogy a többi szabálynak megfelel-e a forgalom.
Példa: RDP-forgalom engedélyezése egy adott IP-címről
A következő C#-kódrészlet bemutatja, hogyan konfigurálhatja az RDP-végpontot a Windows-készlet számítási csomópontjain, hogy csak a 198.168.100.7 IP-címről engedélyezze az RDP-hozzáférést. A második NSG-szabály tagadja az IP-címnek nem megfelelő forgalmat.
using Microsoft.Azure.Batch;
using Microsoft.Azure.Batch.Common;
namespace AzureBatch
{
public void SetPortsPool()
{
pool.NetworkConfiguration = new NetworkConfiguration
{
EndpointConfiguration = new PoolEndpointConfiguration(new InboundNatPool[]
{
new InboundNatPool("RDP", InboundEndpointProtocol.Tcp, 3389, 7500, 8000, new NetworkSecurityGroupRule[]
{
new NetworkSecurityGroupRule(179, NetworkSecurityGroupRuleAccess.Allow, "198.168.100.7"),
new NetworkSecurityGroupRule(180, NetworkSecurityGroupRuleAccess.Deny, "*")
})
})
};
}
}
Példa: SSH-forgalom engedélyezése egy adott alhálózatról
Az alábbi Python-kódrészlet bemutatja, hogyan konfigurálhatja az SSH-végpontot a Linux-készlet számítási csomópontjain, hogy csak a 192.168.1.0/24 alhálózatról engedélyezze a hozzáférést. A második NSG-szabály letiltja az alhálózatnak nem megfelelő forgalmat.
from azure.batch import models as batchmodels
class AzureBatch(object):
def set_ports_pool(self, **kwargs):
pool.network_configuration = batchmodels.NetworkConfiguration(
endpoint_configuration=batchmodels.PoolEndpointConfiguration(
inbound_nat_pools=[batchmodels.InboundNATPool(
name='SSH',
protocol='tcp',
backend_port=22,
frontend_port_range_start=4000,
frontend_port_range_end=4100,
network_security_group_rules=[
batchmodels.NetworkSecurityGroupRule(
priority=170,
access='allow',
source_address_prefix='192.168.1.0/24'
),
batchmodels.NetworkSecurityGroupRule(
priority=175,
access='deny',
source_address_prefix='*'
)
]
)
]
)
)
Példa: Az összes RDP-forgalom megtagadása
Az alábbi C#-kódrészlet bemutatja, hogyan konfigurálhatja az RDP-végpontot a Windows-készlet számítási csomópontjain az összes hálózati forgalom letiltására. A végpont a portok előtérkészletét használja a 60000 és 60099 közötti tartományban.
Feljegyzés
A Batch API-verziótól 2024-07-01
számítva a 3389-es port, amely általában az RDP-hez van társítva, alapértelmezés szerint nem lesz leképezve.
Az explicit megtagadási szabály létrehozása már nem szükséges, ha nincs szükség hozzáférésre az internetről az ezzel az API-verzióval vagy újabb verzióval létrehozott Batch-készletekhez. Előfordulhat, hogy a más forrásokból való hozzáférés korlátozásához explicit megtagadási szabályokat kell megadnia.
using Microsoft.Azure.Batch;
using Microsoft.Azure.Batch.Common;
namespace AzureBatch
{
public void SetPortsPool()
{
pool.NetworkConfiguration = new NetworkConfiguration
{
EndpointConfiguration = new PoolEndpointConfiguration(new InboundNatPool[]
{
new InboundNatPool("RDP", InboundEndpointProtocol.Tcp, 3389, 60000, 60099, new NetworkSecurityGroupRule[]
{
new NetworkSecurityGroupRule(162, NetworkSecurityGroupRuleAccess.Deny, "*"),
})
})
};
}
}
Példa: Az összes SSH-forgalom megtagadása az internetről
A következő Python-kódrészlet bemutatja, hogyan konfigurálhatja az SSH-végpontot a Linux-készlet számítási csomópontjain az összes internetes forgalom letiltására. A végpont a 4000–4100 tartományban lévő portok előtérkészletét használja.
Feljegyzés
A Batch API-verziótól 2024-07-01
számítva a 22-es port, amely általában az SSH-hoz van társítva, alapértelmezés szerint nem lesz leképezve.
Az explicit megtagadási szabály létrehozása már nem szükséges, ha nincs szükség hozzáférésre az internetről az ezzel az API-verzióval vagy újabb verzióval létrehozott Batch-készletekhez. Előfordulhat, hogy a más forrásokból való hozzáférés korlátozásához explicit megtagadási szabályokat kell megadnia.
from azure.batch import models as batchmodels
class AzureBatch(object):
def set_ports_pool(self, **kwargs):
pool.network_configuration = batchmodels.NetworkConfiguration(
endpoint_configuration=batchmodels.PoolEndpointConfiguration(
inbound_nat_pools=[batchmodels.InboundNATPool(
name='SSH',
protocol='tcp',
backend_port=22,
frontend_port_range_start=4000,
frontend_port_range_end=4100,
network_security_group_rules=[
batchmodels.NetworkSecurityGroupRule(
priority=170,
access=batchmodels.NetworkSecurityGroupRuleAccess.deny,
source_address_prefix='Internet'
)
]
)
]
)
)
Következő lépések
- Ismerje meg a Batch szolgáltatás munkafolyamatát és az elsődleges erőforrásokat , például készleteket, csomópontokat, feladatokat és feladatokat.
- További információ az Azure-beli NSG-szabályokról a hálózati forgalom szűrésével hálózati biztonsági csoportokkal.