Mengonfigurasi akses jarak jauh ke simpul komputasi di kumpulan Azure Batch
Jika dikonfigurasi, Anda dapat mengizinkan pengguna node dengan konektivitas jaringan untuk terhubung secara eksternal ke simpul komputasi di kumpulan Batch. Misalnya, pengguna dapat tersambung dengan Desktop Jauh (RDP) pada port 3389 ke simpul komputasi di kumpulan Windows. Demikian pula, secara default, pengguna dapat tersambung dengan Secure Shell (SSH) pada port 22 ke simpul komputasi di kumpulan Linux.
Catatan
Pada versi 2024-07-01
API (dan semua kumpulan yang dibuat setelah 30 November 2025 terlepas dari versi API), Batch tidak lagi secara otomatis memetakan port akses jarak jauh umum untuk SSH dan RDP. Jika Anda ingin mengizinkan akses jarak jauh ke simpul komputasi Batch Anda dengan kumpulan yang dibuat dengan versi API atau yang 2024-07-01
lebih baru (dan setelah 30 November 2025), maka Anda harus mengonfigurasi konfigurasi titik akhir kumpulan secara manual untuk mengaktifkan akses tersebut.
Di lingkungan Anda, Anda mungkin perlu mengaktifkan, membatasi, atau menonaktifkan pengaturan akses eksternal atau port lain yang Anda inginkan di kumpulan Batch. Anda dapat memodifikasi pengaturan ini dengan menggunakan API Batch untuk mengatur properti PoolEndpointConfiguration.
Konfigurasi titik akhir kumpulan batch
Konfigurasi titik akhir terdiri dari satu atau beberapa kumpulan terjemahan alamat jaringan (NAT) port frontend. Jangan membingungkan kumpulan NAT dengan kumpulan batch simpul komputasi. Anda menyiapkan setiap kumpulan NAT untuk mengambil alih pengaturan koneksi default pada simpul komputasi kumpulan.
Setiap konfigurasi kumpulan NAT menyertakan satu atau beberapa aturan kelompok keamanan jaringan (NSG). Setiap aturan NSG mengizinkan atau menolak lalu lintas jaringan tertentu ke titik akhir. Anda dapat memilih untuk mengizinkan atau menolak semua lalu lintas, lalu lintas yang diidentifikasi oleh tag layanan (seperti "Internet") atau lalu lintas dari alamat IP atau subnet tertentu.
Pertimbangan
- Konfigurasi titik akhir kumpulan adalah bagian dari konfigurasi jaringan kumpulan. Konfigurasi jaringan secara opsional dapat menyertakan pengaturan untuk bergabung dengan kumpulan ke jaringan virtual Azure. Jika Anda menyiapkan kumpulan di jaringan virtual, Anda dapat membuat aturan NSG yang menggunakan pengaturan alamat di jaringan virtual.
- Anda dapat mengonfigurasi beberapa aturan NSG saat mengonfigurasi kumpulan NAT. Aturan diperiksa dalam urutan prioritas. Setelah aturan berlaku, tidak ada lagi aturan yang diuji untuk pencocokan.
Contoh: Mengizinkan lalu lintas RDP dari alamat IP tertentu
Cuplikan C# berikut menunjukkan cara mengonfigurasi titik akhir RDP pada simpul komputasi di kumpulan Windows untuk memungkinkan akses RDP hanya dari alamat IP 198.168.100.7. Aturan NSG kedua menolak lalu lintas yang tidak cocok dengan alamat IP.
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, "*")
})
})
};
}
}
Contoh: Mengizinkan lalu lintas SSH dari subnet tertentu
Cuplikan Python berikut menunjukkan cara mengonfigurasi titik akhir SSH pada simpul komputasi di kumpulan Linux untuk mengizinkan akses hanya dari subnet 192.168.1.0/24. Aturan NSG kedua menolak lalu lintas yang tidak cocok dengan subnet.
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='*'
)
]
)
]
)
)
Contoh: Menolak semua lalu lintas RDP
Cuplikan C# berikut menunjukkan cara mengonfigurasi titik akhir RDP pada simpul komputasi di kumpulan Windows untuk menolak semua lalu lintas jaringan. Titik akhir menggunakan kumpulan port frontend dalam rentang 60000 - 60099.
Catatan
Pada versi 2024-07-01
API Batch, port 3389 biasanya terkait dengan RDP tidak lagi dipetakan secara default.
Membuat aturan tolak eksplisit tidak lagi diperlukan jika akses tidak diperlukan dari internet untuk kumpulan Batch yang dibuat dengan versi API ini atau yang lebih baru. Anda mungkin masih perlu menentukan aturan tolak eksplisit untuk membatasi akses dari sumber lain.
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, "*"),
})
})
};
}
}
Contoh: Menolak semua lalu lintas SSH dari internet
Cuplikan Python berikut menunjukkan cara mengonfigurasi titik akhir SSH pada simpul komputasi di kumpulan Linux untuk menolak semua lalu lintas internet. Titik akhir menggunakan kumpulan port frontend dalam rentang 4000 - 4100.
Catatan
Pada versi 2024-07-01
API Batch, port 22 biasanya terkait dengan SSH tidak lagi dipetakan secara default.
Membuat aturan tolak eksplisit tidak lagi diperlukan jika akses tidak diperlukan dari internet untuk kumpulan Batch yang dibuat dengan versi API ini atau yang lebih baru. Anda mungkin masih perlu menentukan aturan tolak eksplisit untuk membatasi akses dari sumber lain.
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'
)
]
)
]
)
)
Langkah berikutnya
- Pelajari tentang Alur kerja layanan Batch dan sumber daya primer seperti kumpulan, simpul, pekerjaan, dan tugas.
- Pelajari selengkapnya tentang aturan NSG di Azure dengan Memfilter lalu lintas jaringan dengan grup keamanan jaringan.