Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yönetilen DevOps Havuzları aracılarını yalıtılmış bir sanal ağda veya mevcut bir sanal ağda çalışacak şekilde yapılandırabilirsiniz. Bu makalede, sanal ağınızda aracı çalıştırmak için havuzunuzun nasıl yapılandırıldığı açıklanır.
Ağ türünüzü seçin
Yönetilen DevOps Havuzları iki tür ağ yapılandırmasını destekler:
- Yalıtılmış sanal ağ: Her havuz, Yönetilen DevOps Havuzları hizmeti tarafından oluşturulan ve yönetilen kendi yalıtılmış sanal ağına sahiptir.
-
Mevcut sanal ağa eklenen aracılar: Kendi sanal ağınızı ve alt ağınızı getirebilirsiniz. Havuz için oluşturulan tüm sanal makineler bu alt ağı kullanır ve alt ağı başka hiçbir kaynak kullanamaz. Aşağıdaki gibi senaryolar için Yönetilen DevOps Havuzları'ndan kendi sanal ağınıza aracılar eklemek isteyebilirsiniz:
- Sürekli tümleştirme ve sürekli teslim (CI/CD) aracılarınızın yalnızca Azure ExpressRoute gibi bir hizmet aracılığıyla şirket ağınızda kullanılabilen kaynaklara erişmesi gerekir.
- CI/CD aracılarınızın özel uç noktalara yalıtılmış kaynaklara erişmesi gerekir.
- Şirkete özgü güvenlik duvarı kurallarıyla kendi sanal ağınızı getirerek CI/CD altyapınızı ağdan yalıtmak istiyorsunuz.
- Kutudan çıktığı gibi Yönetilen DevOps Havuzları ağ özellikleriyle elde edilemeyen diğer benzersiz kullanım örnekleri.
Yalıtılmış sanal ağ
Varsayılan olarak, tüm havuzlar tüm gelen trafiği kısıtlayan ve aşağıdaki giden trafik yapılandırma seçeneklerine sahip olan Microsoft tarafından sağlanan bir sanal ağ kullanır.
- Varsayılan giden erişim bağlantısı, Microsoft tarafından sağlanan bir IP adresi kullanarak tüm giden trafiğe izin veren geçerli varsayılan bağlantıdır. Azure'daki VM'ler için varsayılan giden erişimin kaldırılması planlanmaktadır. Varsayılan giden erişim kullanımdan kaldırıldığında havuzlar varsayılan olarak bir statik IP adresiyle yapılandırılır.
- Varsayılan giden erişimi kullanmak yerine havuzunuzu en fazla 16 statik giden IP adresi kullanacak şekilde yapılandırabilirsiniz. Yönetilen DevOps Havuzları, IP adreslerini sağlamak için havuzunuzla aynı bölgede bir NAT ağ geçidi oluşturur. Bu yapılandırma, işlem hatlarınızın erişmesi gereken dış hizmetlerdeki belirli IP adreslerini listelemenizi sağlar.
- NAT ağ geçidi ek Azure maliyetlerine neden olur. Azure maliyet hesaplayıcısını kullanarak maliyetin ne kadar olacağını modelleyebilirsiniz. Daha fazla bilgi için bkz. Azure NAT Gateway fiyatlandırması.
Önemli
Havuz oluşturulduktan sonra statik IP adresi sayısını değiştirirseniz, IP adresleri değiştirilebilir ve güncelleştirme işlemi tamamlandıktan sonra yeni IP adreslerini edinmeniz ve dış hizmetlerde izin verilenler listenizi güncelleştirmeniz gerekir.
Havuz oluştururken IP Adresi Ayarlarını yapılandırmak için Ağ sekmesine gidin. Mevcut havuzu güncelleştirmek için Ayarlar>Ağ'a gidin.
Varsayılan giden erişimi kullanmak için Genel IP adresleri üzerinden yönlendirme için Yok'u seçin.
Statik giden IP adreslerini yapılandırmak ve kullanmak istediğiniz statik IP adreslerinin sayısını belirtmek için Microsoft Tarafından Sağlanan IP'leri seçin. Yönetilen DevOps Havuzları sizin için bir NAT ağ geçidi oluşturur ve IP adreslerini yönetir.
Uyarı
Bilinen bir sorun var: Havuzunuz yönetilen kimlikle yapılandırıldıysa, Yönetilen kimlikte DevOpsInfrastructure hizmet sorumlusuna ipAddresses rolü atanmadığı sürece API çağrıları özelliği döndürmez. Ayrıntılı adımlar için bkz . Azure portalını kullanarak Azure rolleri atama.
Statik IP adreslerinin işlevsel olması için bu rolün verilmesi gerekli değildir. Bu rol ataması olmadan, atanan IP adreslerini Azure portalındaki Ağ sayfasında görüntüleyerek bulabilirsiniz.
Var olan sanal ağa yerleştirilen ajanlar
Aşağıdaki adımları kullanarak havuzunuzun aracılarını sanal ağınızı kullanacak şekilde yapılandırabilirsiniz:
- Sanal ağınızı ve alt ağınızı oluşturun veya getirin.
-
Alt ağı devret
Microsoft.DevOpsInfrastructure/pools. - Alt ağı havuzunuzla ilişkilendirin.
Yukarıdaki adımlar, belirli bir alt ağı havuz tarafından özel erişim için ayırır. Diğer havuzlar veya kaynaklar alt ağı kullanamaz.
Bir havuz, birden çok havuzu aynı sanal ağa bağlamak için birden çok alt ağ kullanabilir. Her bir alt ağ yetkilendirilmiş olup, kendi havuzuyla ilişkilendirilmiştir.
Sanal ağınızı ve alt ağınızı oluşturma veya getirme
Alt ağın, ilişkilendirmek istediğiniz havuzun en büyük havuz boyutuna (Azure'ın alt ağda ayırmış olduğu beş IP adresi dahil) sığması için yeterli adres alanına sahip olması gerekir.
ExpressRoute kullanıyorsanız, kaynak grubundaki yönetim kilidini geçici olarak bırakarak veya değiştirerek yazma işlemlerine izin vermeniz gerekir.
Önemli
Havuz ve sanal ağ aynı bölgede olmalıdır. Aksi takdirde, havuzu oluşturmaya veya ağ yapılandırmasını güncelleştirmeye çalıştığınızda aşağıdakine benzer bir hata alırsınız: "Sanal ağ MDPVN eastus bölgesindedir, ancak mdpnonprodsub havuzu avustralyaeast bölgesindedir. Bunlar aynı bölgede olmalıdır."
DevOpsInfrastructure hizmet sorumlusuna Okuyucu ve Ağ Katkıda Bulunanı erişimi verme
DevOpsInfrastructure sorumlusunun sanal ağ üzerinde Reader ve Network Contributor erişime sahip olduğundan emin olun.
Yerleşik rolleri kullanmak yerine, aşağıdaki izinlere sahip özel bir rol oluşturabilirsiniz:
Microsoft.Network/virtualNetworks/*/readMicrosoft.Network/virtualNetworks/subnets/join/actionMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/validate/actionMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/writeMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/delete
Hizmet İlişkilendirme bağlantısı erişimi için özel bir rol oluşturun. Aşağıdaki örnekte gösterildiği gibi , Erişim Denetimi sekmesinde kaynak grubu veya abonelik düzeyinde örnek bir rol oluşturabilirsiniz.
DevOpsInfrastructure için asıl erişimi denetleyin
Sanal ağ için Erişim denetimi (IAM) öğesini ve ardından Erişimi denetle'yi seçin.
DevOpsInfrastructure öğesini arayın ve seçin.
Okuyucu düzeyinde erişiminiz olduğunu doğrulayın.
Microsoft.Network/virtualNetworks/subnets/join/action,Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/validate/actionveMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/writeerişiminin atandığını doğrulayın. Özel rolünüz burada görünmelidir.
DevOpsInfrastructure sorumlusu bu izinlere sahip değilse, bunları ekleyin. Sanal ağ için Erişim denetimi (IAM) öğesini ve ardından Bu kaynağa erişimi ver seçin.
Alt ağı Microsoft.DevOpsInfrastructure/pools'a devretme
Portalda Alt ağ özellikleri'ni açın ve Microsoft.DevOpsInfrastructure/pools altında öğesini seçin.
Kaydetseçeneğini seçin.
Bu işlem, alt ağı havuza özel kullanım erişimi için tahsis eder. Diğer havuzlar veya kaynaklar alt ağı kullanamaz. Aynı sanal ağa birden çok havuz bağlamak için birden çok alt ağ kullanmanız gerekir. Her alt ağın delege edilmesi ve kendi havuzuyla ilişkilendirilmesi gerekir. Alt ağ temsilcisine genel bakış bölümünde alt ağ temsilcisi hakkında daha fazla bilgi bulabilirsiniz.
Alt ağı Microsoft.DevOpsInfrastructure/pools için yetki verdikten sonra, bu alt ağı kullanmak için havuzu güncelleyebilirsiniz.
Alt ağı havuzunuzla ilişkilendirme
Yeni havuz oluşturmak için Ağ sekmesine gidin. Mevcut havuzu güncelleştirmek için Ayarlar>Ağ'a gidin ve mevcut sanal ağa> eklenen AracılarYapılandır'ı seçin.
Abonelik, Sanal Ağ ve Alt ağ değerlerini,
Microsoft.DevOpsInfrastructure/poolsiçin yetkilendirdiğiniz değerlere göre seçin ve ardından Tamam'ı seçin.
Ağ güncelleştirmesi tamamlandıktan sonra havuzda yeni oluşturulan kaynak, devredilen alt ağı kullanacaktır.
Önemli
Havuzlarınızı güncellerken sanal ağa Sil kilidi koymayın. Bir havuz güncelleştirme işlemi sırasında Yönetilen DevOps Havuzları alt ağda bir hizmet ilişkilendirme bağlantısı oluşturur. Güncelleştirme başarısız olursa, Yönetilen DevOps Havuzları hizmet ilişkilendirme bağlantısını temizlemeye çalışır, ancak Silme kilidi varsa bir InUseSubnetCannotBeDeleted hata alırsınız. Yönetilen DevOps Havuzları, hizmet ilişkilendirme bağlantısını silemez ve bu da alt ağı kilitli durumda (silinemiyor) bırakır. Sorunu çözmek için Silme kilidini kaldırın ve güncelleştirme işlemini yeniden deneyin.
Daha fazla bilgi için bkz . Azure kaynaklarınıza kilit uygulamadan önce göz önünde bulundurmanız gerekenler.
Giden bağlantıyı kısıtlama
Ağınızda giden bağlantıyı kısıtlayan sistemleriniz (örneğin, ağ güvenlik grupları veya güvenlik duvarları) varsa, Yönetilen DevOps Havuzlarını tam olarak desteklemek için izin verilenler listesine belirli uç noktaları eklemeniz gerekir. Bu uç noktalar, genel olarak gerekli uç noktalara (Yönetilen DevOps Havuzları kullanan tüm makinelerde gereklidir) ve belirli senaryolar için ihtiyacınız olan uç noktalara ayrılır. Aksi belirtilmediği sürece tüm uç noktalar HTTPS'dir.
Yönetilen DevOps Havuzlarını başlatmak için gerekli uç noktalar
Bu uç noktaları izin verilenler listesine eklemezseniz, makineler Yönetilen DevOps Havuzları hizmetinin bir parçası olarak çevrimiçi olamaz ve havuzda işlem hatlarını çalıştıramazsınız:
-
*.prod.manageddevops.microsoft.com: Yönetilen DevOps Havuzları hizmetiyle iletişim kurmak için kullanılan Yönetilen DevOps Havuzları uç noktası. -
rmprodbuilds.azureedge.net: Yönetilen DevOps Havuzları çalışan ikili dosyalarını ve başlangıç betiklerini indirmek için kullanılır. Çalışan ikili dosyaların aracı bölümü, öncerm-agent.prod.manageddevops.microsoft.comolarak bilinen ve şimdiagent.prod.manageddevops.microsoft.comüzerinden indirilen, önceki gerekli*.prod.manageddevops.microsoft.comgirişine dahil edilmiştir. -
*.queue.core.windows.net: Yönetilen DevOps Havuzları hizmetiyle iletişim kurmak için çalışan kuyruğu.
Azure DevOps'a bağlanmak için gerekli uç noktalar
Bu uç noktaları izin verilenler listesine eklemezseniz makineler çevrimiçi olabilir ve ayrılmış duruma bile gidebilir, ancak Azure DevOps ile iletişim kuramayabilir çünkü Azure DevOps Services görev aracısı bağlanamaz veya başlatılamaz.
-
download.agent.dev.azure.com: Azure DevOps aracısını indirmek için kullanılan Azure DevOps aracısının içerik teslim ağı (CDN) konumu (eski adıylavstsagentpackage.azureedge.net; daha fazla bilgi için bkz. Azure DevOps için Edgio CDN kullanımdan kaldırılıyor). -
dev.azure.com: Azure DevOps ile iletişimi işlemek için gereklidir.
Linux makineleri için gerekli uç noktalar
Bu uç noktaların Ubuntu makinelerini çalıştırması gerekir, ancak bir havuz yalnızca Windows kullanıyorsa gerekli değildir. Azure DevOps görev aracısını ayarladığınızda, gerekli paketler eklenir ve bir apt-get komut çalıştırılır. Aşağıdaki uç noktalar izin verilenler listesine eklenmezse bu işlem başarısız olur.
-
azure.archive.ubuntu.com: Linux sunucuları sağlama. Bu uç nokta HTTPS (bağlantı noktası 443) değil HTTP 'dir (bağlantı noktası 80). -
www.microsoft.com: Linux sunucuları sağlama. -
security.ubuntu.com: Linux sunucuları sağlama. -
packages.microsoft.com: Linux sunucuları sağlama. -
ppa.launchpad.net: Bazı belirli Linux dağıtımlarını sağlama. -
dl.fedoraproject.org: Belirli Linux dağıtımlarını sağlama.
Bazı Azure DevOps özellikleri için gerekli uç noktalar
İşlem hatlarınızda belirli Azure DevOps özelliklerinin çalışması için bu isteğe bağlı uç noktalar gereklidir. Aşağıdaki kümede joker karakter, işlem hattınızı barındıran belirli Azure DevOps kuruluşuyla değiştirilebilir. Örneğin, kuruluşunuzun adı contoso ise, contoso.services.visualstudio.com yerine *.services.visualstudio.com kullanabilirsiniz.
*.services.visualstudio.com-
*.vsblob.visualstudio.com: Yapıtları hem karşıya yüklemek hem de kullanmak için kullanılır. -
*.vssps.visualstudio.com: Belirli özellikler için Azure DevOps ile kimlik doğrulaması için kullanılır. *.visualstudio.com
Uyarı
Gerekli olan minimum alan adları yukarıdaki girdilerdir. Herhangi bir sorun yaşıyorsanız Azure DevOps izin verilen IP adresleri ve etki alanı URL'leri bölümünde gerekli etki alanlarının tam listesine bakın.
Azure ile ilgili uç noktalar
Azure sanal makineleri (VM'ler), trafiği alt ağınız üzerinden belirli Azure özelliklerine yönlendirebilir. Bu istekler için istekleri doğrudan Azure üzerinden yönlendirebilir veya ağınız üzerinden erişimi etkinleştirebilirsiniz.
Azure trafiğini hizmet uç noktaları üzerinden çalışacak şekilde yapılandırın:
Ağ güvenlik gruplarınıza veya güvenlik duvarlarınıza aktarım hızı eklememek için trafiği doğrudan Azure üzerinden yönlendirebilirsiniz. Aşağıdaki seçenekte listelenen etki alanlarını izin verilenler listesine eklemeniz gerekmez.
Örneğin, Azure Depolama'ya ağ çağrılarını dahil etmek için veri diski özelliğini kullanabilirsiniz. Ağınızda Microsoft.Storage hizmet uç noktasını etkinleştirdiğinizde trafik doğrudan Azure üzerinden yönlendirilir ve bu da ağ kurallarınızı önler ve yükü azaltır.
Hizmet uç noktaları üzerinden trafiğin yönlendirilmesini önlemek için
md-*.blob.storage.azure.netetki alanını izin listenize ekleyin. Bu etki alanı, veri diski yapılandırmak için gereklidir.
Akamai CDN teslim IP'leri
1 Mayıs 2025'te Azure DevOps CDN varlıkları Akamai ve Azure Front Door tarafından sunulan bir çözüme geçirildi. Ağınızın Akamai IP aralıklarına giden erişimi olduğundan emin olun. Daha fazla bilgi için bakınız:
- İşlem hatlarındaki aracılar için CDN etki alanı URL'si değişikliği
- Edgio'nun Azure CDN'i hizmetten kaldırma hakkında SSS
- Akamai TechDocs: Kaynak IP erişim denetimi listesi
Azure DevOps işlem hattınızı bir kapsayıcı içinde çalışacak şekilde yapılandırırsanız, kapsayıcı görüntüsünün kaynağını (Docker veya Azure Container Registry) bir izin verilenler listesine de eklemeniz gerekir.
Uç nokta bağlantısını doğrulama
Yönetilen DevOps Havuzları ile bir alt ağı kullanabilmenizi doğrulamak için, alt ağ üzerindeki bir kaynakta aşağıdaki betiği çalıştırın. Bu adım, ağ akışının bu kullanılabilir uç noktaların tümüne ve Yönetilen DevOps denetim düzlemine ulaşacak şekilde yapılandırıldığını doğrulamanıza yardımcı olur.
Önemli
Ağ yolunun bu alt ağdan gerekli uç noktalara açık olduğunu doğrulamak için bu betiği alt ağınızdaki bir kaynakta (VM veya kapsayıcı gibi) çalıştırmanız gerekir.
Betiği PowerShell Core veya PowerShell 5 veya üzeri ile çalıştırmak için aşağıdaki betiği olarak ValidateMDPEndpoints.ps1kaydedin. Aşağıdaki PowerShell komutunu çalıştırın: .\ValidateMDPEndpoints.ps1 -organization "<your-organization>".
# ValidateMDPEndpoints.ps1
param (
[string]$organization
)
$azureDevOpsUris = @(
"https://dev.azure.com",
"https://vssps.dev.azure.com",
"https://vsrm.dev.azure.com",
"https://management.azure.com",
"https://login.microsoftonline.com",
"https://graph.microsoft.com",
"https://aadcdn.msftauth.net",
"https://${organization}.visualstudio.com",
"https://${organization}.vsrm.visualstudio.com",
"https://${organization}.vstmr.visualstudio.com",
"https://${organization}.pkgs.visualstudio.com",
"https://${organization}.vssps.visualstudio.com",
"https://download.agent.dev.azure.com",
"download.agent.dev.azure.com"
)
$managedDevOpsPoolsControlPlaneUris = @(
# List of agent queue endpoints - maps to *.queue.core.windows.net
"https://rmprodaedefaultcq.queue.core.windows.net",
"https://rmprodbrsdefaultcq.queue.core.windows.net",
"https://rmprodcncdefaultcq.queue.core.windows.net",
"https://rmprodcusdefaultcq.queue.core.windows.net",
"https://rmprodeus2defaultcq.queue.core.windows.net",
"https://rmprodgwcdefaultcq.queue.core.windows.net",
"https://rmprodincdefaultcq.queue.core.windows.net",
"https://rmprodneudefaultcq.queue.core.windows.net",
"https://rmprodseadefaultcq.queue.core.windows.net",
"https://rmprodszndefaultcq.queue.core.windows.net",
"https://rmproduksdefaultcq.queue.core.windows.net",
"https://rmprodwus3defaultcq.queue.core.windows.net",
# CDN for downloading the Managed DevOps Pools agent - maps to *.prod.managedevops.microsoft.com
"rm-agent.prod.manageddevops.microsoft.com"
# List of control plane endpoints - maps to *.manageddevops.microsoft.com
"default.ae.prod.manageddevops.microsoft.com",
"default.brs.prod.manageddevops.microsoft.com",
"default.cnc.prod.manageddevops.microsoft.com",
"default.cus.prod.manageddevops.microsoft.com",
"default.eus2.prod.manageddevops.microsoft.com",
"default.gwc.prod.manageddevops.microsoft.com",
"default.inc.prod.manageddevops.microsoft.com",
"default.neu.prod.manageddevops.microsoft.com",
"default.sea.prod.manageddevops.microsoft.com",
"default.szn.prod.manageddevops.microsoft.com",
"default.uks.prod.manageddevops.microsoft.com",
"default.wus3.prod.manageddevops.microsoft.com"
)
$unreachableUris = @()
foreach ($uri in $azureDevOpsUris) {
try {
$hostName = ($uri -replace "^https?://", "") -replace "/.*", ""
$connection = Test-NetConnection -ComputerName $hostName -Port 443 -WarningAction SilentlyContinue
if (-not $connection.TcpTestSucceeded) {
$unreachableUris += $uri
}
} catch {
$unreachableUris += $uri
}
}
if ($unreachableUris.Count -eq 0) {
Write-Output "All Azure DevOps endpoints are reachable."
} else {
Write-Output "The following Azure DevOps endpoints could not be reached:"
$unreachableUris | ForEach-Object { Write-Output $_ }
}
foreach ($uri in $managedDevOpsPoolsControlPlaneUris) {
try {
$hostName = ($uri -replace "^https?://", "") -replace "/.*", ""
$connection = Test-NetConnection -ComputerName $hostName -Port 443 -WarningAction SilentlyContinue
if (-not $connection.TcpTestSucceeded) {
$unreachableUris += $uri
}
} catch {
$unreachableUris += $uri
}
}
if ($unreachableUris.Count -eq 0) {
Write-Output "All Azure Managed DevOps Pools endpoints are reachable."
} else {
Write-Output "The following Managed DevOps Pools endpoints could not be reached:"
$unreachableUris | ForEach-Object { Write-Output $_ }
}
Azure DevOps aracısını bir ara sunucu arkasında çalışacak şekilde yapılandırma
Görüntünüzde bir ara sunucu hizmeti yapılandırdıysanız ve havuzunuzda çalışan iş yüklerinin bu ara sunucu arkasında çalışmasını istiyorsanız, görüntünüze aşağıdaki ortam değişkenlerini eklemeniz gerekir:
-
VSTS_AGENT_INPUT_PROXYURL: Arka planda çalıştırılacak yapılandırılan proxy'nin URL'si. -
VSTS_AGENT_INPUT_PROXYUSERNAME: Ara sunucuyu kullanmak için gereken kullanıcı adı. -
VSTS_AGENT_INPUT_PROXYPASSWORD: Ara sunucuyu kullanma parolası.
Windows için bu ortam değişkenleri sistem ortamı değişkenleri olmalıdır. Linux için bu değişkenlerin dosyada /etc/environment olması gerekir. Görüntüde bu sistem değişkenlerini yanlış veya yapılandırılmış bir ara sunucu hizmeti olmadan ayarlarsanız, yeni aracıların sağlanması ağ bağlantısı sorunlarıyla başarısız olur.
Azure Sanal Makine Ölçek Kümeleri aracılarından geçiş yapıyorsanız ve görüntünüzde zaten ara sunucu ortam değişkenlerini kullanıyorsanız herhangi bir değişiklik yapmanız gerekmez. Bu işlem Azure Sanal Makine Ölçek Kümesi aracıları: İşlem hattı aracısı yapılandırmasını özelleştirme bölümünde açıklanmıştır.