Azure API Management örneğinizi sanal ağa dağıtma - dış mod
ŞUNLAR IÇIN GEÇERLIDIR: Geliştirici | Premium
Azure API Management, ağ içindeki arka uç hizmetlerine erişmek için bir Azure sanal ağına (VNet) dağıtılabilir (eklenebilir). Sanal ağ bağlantı seçenekleri, gereksinimleri ve dikkat edilmesi gerekenler için bkz:
- Azure API Management ile sanal ağ kullanma
- Sanal ağa API Management ekleme için ağ kaynağı gereksinimleri
Bu makalede, API Management örneğiniz için geliştirici portalının, API ağ geçidinin ve diğer API Management uç noktalarının genel İnternet'ten erişilebildiği ve arka uç hizmetlerinin ağda bulunduğu dış modda sanal ağ bağlantısının nasıl ayarlanacağı açıklanmaktadır.
Uç noktaların yalnızca sanal ağ içinde erişilebilir olduğu iç moda özgü yapılandırmalar için bkz . Azure API Management örneğinizi bir sanal ağa dağıtma - iç mod.
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Önkoşullar
Başlamadan önce sanal ağa API Management ekleme için ağ kaynağı gereksinimlerini gözden geçirin.
Bazı önkoşullar, API Management örneğinizi barındıran işlem platformunun sürümüne (stv2
veya stv1
) bağlı olarak farklılık gösterir.
İpucu
Mevcut bir API Management örneğinin ağ bağlantısını oluşturmak veya güncelleştirmek için portalı kullandığınızda, örnek işlem platformunda stv2
barındırılır.
- Api Management örneği. Daha fazla bilgi için bkz . Azure API Management örneği oluşturma.
API Management örneğiniz ile aynı bölgede ve abonelikte yer alan bir sanal ağ ve alt ağ .
- API Management örneğine bağlanmak için kullanılan alt ağ diğer Azure kaynak türlerini içerebilir.
- Alt ağda hiçbir temsilci etkinleştirilmemelidir. Alt ağ için bir hizmete alt ağ temsilcisi seçme ayarı Yok olarak ayarlanmalıdır.
Yukarıdaki alt ağa bağlı bir ağ güvenlik grubu . API Management tarafından dahili olarak kullanılan yük dengeleyici varsayılan olarak güvenli olduğundan ve tüm gelen trafiği reddettiği için, gelen bağlantıya açıkça izin vermek için bir ağ güvenlik grubu (NSG) gerekir. Belirli bir yapılandırma için bu makalenin devamında yer alan NSG kurallarını yapılandırma bölümüne bakın.
Belirli senaryolar için azure depolama veya Azure SQL gibi bağımlı hizmetler için alt ağdaki hizmet uç noktalarını etkinleştirin. Daha fazla bilgi için, bu makalenin devamında yer alan ExpressRoute veya ağ sanal gereci kullanarak şirket içi güvenlik duvarına trafiği zorlama konusuna bakın.
(İsteğe bağlı) Standart SKU genel IPv4 adresi.
Önemli
- Mayıs 2024'den itibaren, bir API Management örneğini iç modda bir sanal ağa dağıtırken (eklerken) veya iç sanal ağ yapılandırmasını yeni bir alt ağa geçirirken genel IP adresi kaynağına ihtiyaç duyulmaz . Dış sanal ağ modunda genel IP adresi belirtmek isteğe bağlıdır; sağlamazsanız Azure tarafından yönetilen genel IP adresi otomatik olarak yapılandırılır ve çalışma zamanı API'si trafiği için kullanılır. Genel IP adresini yalnızca İnternet'e gelen veya giden iletişim için kullanılan genel IP adresine sahip olmak ve denetlemek istiyorsanız sağlayın.
Sağlanırsa, IP adresi API Management örneği ve sanal ağ ile aynı bölgede ve abonelikte olmalıdır.
Genel IP adresi kaynağı oluştururken, buna bir DNS adı etiketi atadığınızdan emin olun. Genel olarak, API Management örneğiniz ile aynı DNS adını kullanmanız gerekir. Bunu değiştirirseniz, örneğinizi yeni DNS etiketinin uygulanması için yeniden dağıtın.
En iyi ağ performansı için varsayılan Yönlendirme tercihini kullanmanız önerilir: Microsoft ağı.
API Management örneğiniz için bölge yedekliliğini etkinleştirmeyi planladığınız bir bölgede genel IP adresi oluştururken Alanlar arası yedekli ayarını yapılandırın.
IP adresinin değeri, bu bölgedeki API Management örneğinin sanal genel IPv4 adresi olarak atanır.
Çok bölgeli API Management dağıtımları için sanal ağ kaynaklarını her konum için ayrı olarak yapılandırın.
Sanal ağ bağlantısını etkinleştirme
Azure portalını (stv2
işlem platformu) kullanarak sanal ağ bağlantısını etkinleştirme
API yönetim örneğinizi bulmak için Azure portalına gidin. API Management hizmetlerini arayın ve seçin.
API Management örneğinizi seçin.
Ağ'ı seçin.
Dış erişim türünü seçin.
API Management hizmetinizin sağlandığı konumlar (bölgeler) listesinde:
- Konum seçin.
- Sanal ağ, Alt ağ ve (isteğe bağlı olarak) IP adresi'yi seçin.
Sanal ağ listesi, yapılandırdığınız bölgede ayarlanan Azure aboneliklerinizde bulunan Resource Manager sanal ağlarıyla doldurulur.
Uygula’yı seçin. API Management örneğinizin Ağ sayfası yeni sanal ağ ve alt ağ seçenekleriniz ile güncelleştirilir.
API Management örneğinizin kalan konumları için sanal ağ ayarlarını yapılandırmaya devam edin.
Üst gezinti çubuğunda Kaydet'i seçin.
API Management örneğinin güncelleştirilmiş olması 15-45 dakika sürebilir. Geliştirici katmanındaki örneklerin işlem sırasında kapalı kalma süresi vardır. Premium katmanındaki örneklerin işlem sırasında kapalı kalma süresi yoktur.
Resource Manager şablonu (stv2
işlem platformu) kullanarak bağlantıyı etkinleştirme
Azure Resource Manager şablonu (API sürüm 2021-08-01)
Azure PowerShell cmdlet'lerini kullanarak bağlantıyı etkinleştirme (stv1
platform)
Sanal ağda API Management örneği oluşturma veya güncelleştirme .
NSG kurallarını yapılandırma
API Management örneğinize gelen ve bu örnekten gelen trafiği filtrelemek için API Management alt ağında özel ağ kuralları yapılandırın. Düzgün bir şekilde çalıştığından ve örneğinize erişebildiğinden emin olmak için aşağıdaki en düşük NSG kurallarını kullanmanızı öneririz. Gerekebilecek daha fazla kural belirlemek için ortamınızı dikkatle gözden geçirin.
Önemli
Önbelleğe alma ve diğer özellikleri kullanımınıza bağlı olarak, aşağıdaki tabloda yer alan en düşük kuralların ötesinde ek NSG kuralları yapılandırmanız gerekebilir. Ayrıntılı ayarlar için bkz . Sanal ağ yapılandırma başvurusu.
- Çoğu senaryoda, ağ kaynaklarını ve hedeflerini belirtmek için hizmet IP adresleri yerine belirtilen hizmet etiketlerini kullanın.
- Bu kuralların önceliğini varsayılan kurallardan daha yüksek ayarlayın.
Kaynak / Hedef Bağlantı Noktaları | Yön | Aktarım protokolü | Hizmet etiketleri Kaynak / Hedef |
Amaç | Sanal ağ türü |
---|---|---|---|---|---|
* / [80], 443 | Gelen | TCP | İnternet / VirtualNetwork | API Management ile istemci iletişimi | Yalnızca dış |
* / 3443 | Gelen | TCP | ApiManagement / VirtualNetwork | Azure portalı ve PowerShell için yönetim uç noktası | Dış ve İç |
* / 6390 | Gelen | TCP | AzureLoadBalancer / VirtualNetwork | Azure Altyapı Yük Dengeleyici | Dış ve İç |
* / 443 | Gelen | TCP | AzureTrafficManager / VirtualNetwork | Çok bölgeli dağıtım için Azure Traffic Manager yönlendirmesi | Yalnızca dış |
* / 443 | Giden | TCP | VirtualNetwork / Depolama | Temel hizmet işlevselliği için Azure Depolama'ya bağımlılık | Dış ve İç |
* / 1433 | Giden | TCP | VirtualNetwork / SQL | Temel hizmet işlevselliği için Azure SQL uç noktalarına erişim | Dış ve İç |
* / 443 | Giden | TCP | VirtualNetwork / AzureKeyVault | Temel hizmet işlevselliği için Azure Key Vault'a erişim | Dış ve İç |
* / 1886, 443 | Giden | TCP | VirtualNetwork / AzureMonitor | Tanılama Günlüklerini ve Ölçümlerini, Kaynak Durumu ve Application Insights'ı yayımlama | Dış ve İç |
Sanal ağ içinde barındırılan bir web hizmetine bağlanma
API Management hizmetinizi sanal ağa bağladıktan sonra, aynı genel hizmetleri yaptığınız gibi bu hizmetin içindeki arka uç hizmetlerine de erişebilirsiniz. API oluştururken veya düzenlerken, web hizmetinizin yerel IP adresini veya ana bilgisayar adını (dns sunucusu sanal ağ için yapılandırılmışsa) Web hizmeti URL'si alanına yazın.
Özel DNS sunucusu kurulumu
Dış sanal ağ modunda Azure, DNS'yi varsayılan olarak yönetir. İsteğe bağlı olarak özel bir DNS sunucusu yapılandırabilirsiniz.
API Management hizmeti birkaç Azure hizmetine bağlıdır. API Management özel DNS sunucusuna sahip bir sanal ağda barındırıldığında, bu Azure hizmetlerinin ana bilgisayar adlarını çözümlemesi gerekir.
- Azure tarafından sağlanan ana bilgisayar adları için iletme de dahil olmak üzere özel DNS kurulumuyla ilgili yönergeler için bkz . Azure sanal ağlarındaki kaynaklar için ad çözümleme.
- DNS sunucularıyla iletişim için bağlantı noktasında
53
giden ağ erişimi gereklidir. Daha fazla ayar için bkz . Sanal ağ yapılandırma başvurusu.
Önemli
Sanal ağ için özel DNS sunucuları kullanmayı planlıyorsanız, içine bir API Management hizmeti dağıtmadan önce bunu ayarlayın. Aksi takdirde, Ağ Yapılandırması Uygulama İşlemi'ni çalıştırarak DNS Sunucularını her değiştirdiğinizde API Management hizmetini güncelleştirmeniz gerekir.
Yönlendirme
- Yük dengeli genel IP adresi (VIP), SANAL ağ dışındaki API Management uç noktalarına ve kaynaklarına erişim sağlamak için ayrılmıştır.
- Genel VIP' ye Azure portalındaki Genel Bakış/Temel Parçalar dikey penceresinden ulaşabilirsiniz.
Daha fazla bilgi ve dikkat edilmesi gerekenler için bkz . Azure API Management'ın IP adresleri.
VIP ve DIP adresleri
Dinamik IP (DIP) adresleri hizmetteki her temel sanal makineye atanır ve sanal ağdaki ve eşlenmiş sanal ağlardaki uç noktalara ve kaynaklara erişmek için kullanılır. GENEL kullanıma yönelik kaynaklara erişmek için API Management hizmetinin genel sanal IP (VIP) adresi kullanılır.
IP kısıtlaması sanal ağ veya eşlenmiş sanal ağlar içindeki güvenli kaynakları listeliyorsa, hizmetten erişim vermek veya kısıtlamak için API Management hizmetinin dağıtıldığı alt ağ aralığının tamamını belirtmenizi öneririz.
Önerilen alt ağ boyutu hakkında daha fazla bilgi edinin.
ExpressRoute veya ağ sanal gereci kullanarak trafiği şirket içi güvenlik duvarına zorlama
Zorlamalı tünel, alt ağınızdan İnternet'e bağlı tüm trafiği denetleme ve denetim için şirket içi konuma yeniden yönlendirmenize veya "zorlamanıza" olanak tanır. Genellikle, API Management alt ağından gelen tüm trafiği şirket içi güvenlik duvarından veya ağ sanal gerecinden akmaya zorlayarak kendi varsayılan yolunuzu ()0.0.0.0/0
yapılandırıp tanımlarsınız. Giden trafik şirket içinde engellendiğinden veya nat artık çeşitli Azure uç noktalarıyla çalışmayan tanınmayan bir adres kümesine nat olduğundan, bu trafik akışı API Management ile bağlantıyı keser. Bu sorunu aşağıdaki yöntemlerle çözebilirsiniz:
API Management hizmetinin dağıtıldığı alt ağda hizmet uç noktalarını etkinleştirin:
- Azure SQL (yalnızca API Management hizmeti birden çok bölgeye dağıtıldıysa birincil bölgede gereklidir)
- Azure Depolama
- Azure Event Hubs
- Azure Key Vault (API Management platformda
stv2
dağıtıldığında gereklidir)
Uç noktaları doğrudan API Management alt ağından bu hizmetlere etkinleştirerek Microsoft Azure omurga ağını kullanarak hizmet trafiği için en uygun yönlendirmeyi sağlayabilirsiniz. Hizmet uç noktalarını zorlamalı bir API Management ile kullanıyorsanız, önceki Azure hizmetlerinin trafiği zorlamalı tünel oluşturmaz. Ancak, diğer API Management hizmeti bağımlılık trafiği zorlamalı tünel olarak kalır. Güvenlik duvarınızın veya sanal gerecinizin bu trafiği engellemediğinden veya API Management hizmetinin düzgün çalışmayabileceğinden emin olun.
Not
Hizmet uç noktalarını doğrudan API Management alt ağından Azure SQL ve Azure Depolama gibi bunları destekleyen bağımlı hizmetlere etkinleştirmenizi kesinlikle öneririz. Ancak bazı kuruluşların API Management alt ağından gelen tüm trafiğe zorlama gereksinimleri olabilir. Bu durumda, güvenlik duvarınızı veya sanal gerecinizi bu trafiğe izin verecek şekilde yapılandırdığınızdan emin olun. Her bağımlı hizmetin tam IP adresi aralığına izin vermeniz ve Azure altyapısı değiştiğinde bu yapılandırmayı güncel tutmanız gerekir. Api Management hizmetiniz de bu ağ trafiğinin zorlamalı tüneli nedeniyle gecikme veya beklenmeyen zaman aşımlarıyla karşılaşabilir.
İnternet'ten API Management hizmetinizin yönetim uç noktasına giden tüm denetim düzlemi trafiği, API Management tarafından barındırılan, ApiManagement hizmet etiketiyle kapsadığı belirli bir gelen IP kümesi üzerinden yönlendirilir. Trafik zorla tünellendiğinde, yanıtlar simetrik olarak bu gelen kaynak IP'lere geri eşlenmez ve yönetim uç noktasına bağlantı kaybolur. Bu sınırlamayı aşmak için, trafiği Azure'a geri yönlendirmek üzere sonraki atlama türü "İnternet" olarak ayarlanmış ApiManagement hizmet etiketi için kullanıcı tanımlı bir yol (UDR) yapılandırın.
Not
API Management yönetim trafiğinin şirket içi güvenlik duvarını veya ağ sanal gereclerini atlamasına izin vermek önemli bir güvenlik riski olarak kabul edilmez. API Management alt ağınız için önerilen yapılandırma, yalnızca ApiManagement hizmet etiketi tarafından kapsadığı Azure IP adresleri kümesinden 3443 numaralı bağlantı noktasında gelen yönetim trafiğine izin verir. Önerilen UDR yapılandırması yalnızca bu Azure trafiğinin dönüş yolu içindir.
(Dış sanal ağ modu) Api Management ağ geçidine ve geliştirici portalına İnternet'ten erişmeye çalışan istemciler için veri düzlemi trafiği de zorlamalı tünel tarafından sunulan asimetrik yönlendirme nedeniyle varsayılan olarak bırakılır. Erişim gerektiren her istemci için, güvenlik duvarını veya sanal ağ gerecini atlamak için sonraki atlama türü "internet" olan açık bir UDR yapılandırın.
Diğer zorlamalı tünellenmiş API Management hizmeti bağımlılıkları için konak adını çözün ve uç noktaya ulaşın. Bu modüller şunlardır:
- Ölçümler ve Sistem Durumu İzleyicisi
- Azure portal tanılaması
- SMTP geçişi
- Geliştirici portalı CAPTCHA
- Azure KMS sunucusu
Daha fazla bilgi için bkz . Sanal ağ yapılandırma başvurusu.
Yaygın ağ yapılandırma sorunları
Bu bölüm taşındı. Bkz. Sanal ağ yapılandırma başvurusu.
Sorun giderme
API Management hizmetinin bir alt ağa ilk dağıtımı başarısız oldu
- Aynı alt ağa bir sanal makine dağıtın.
- Sanal makineye bağlanın ve Azure aboneliğinizde aşağıdaki kaynaklardan biriyle bağlantıyı doğrulayın:
- Azure Depolama blobu
- Azure SQL Veritabanı
- Azure Depolama Tablosu
- Azure Key Vault (platformda barındırılan
stv2
bir API Management örneği için)
Önemli
Bağlantıyı doğruladıktan sonra, API Management'ı alt ağa dağıtmadan önce alt ağdaki tüm kaynakları kaldırın (API Management platformda stv1
barındırıldığında gereklidir).
Ağ durumunu doğrulama
API Management'ı alt ağa dağıtdıktan sonra örneğinizin Azure Depolama gibi bağımlılıklarla bağlantısını denetlemek için portalı kullanın.
Portalda, sol taraftaki menüde, Dağıtım ve altyapı'nın altında Ağ>Ağı durumu'nu seçin.
Filtre | Açıklama |
---|---|
Gerekli | API Management için gerekli Azure hizmetleri bağlantısını gözden geçirmek için seçin. Hata, örneğin API'leri yönetmek için çekirdek işlemleri gerçekleştiremediğini gösterir. |
Optional | İsteğe bağlı hizmetler bağlantısını gözden geçirmek için seçin. Hata yalnızca belirli işlevlerin (örneğin SMTP) çalışmayacağını gösterir. Hata, API Management örneğinin kullanılması ve izlenmesinde ve işlenen SLA'nın sağlanmasında düşüşe yol açabilir. |
Bağlantı sorunlarını gidermeye yardımcı olmak için şunları seçin:
Ölçümler - ağ bağlantı durumu ölçümlerini gözden geçirmek için
Tanılama - belirtilen süre boyunca bir sanal ağ doğrulayıcı çalıştırmak için
Bağlantı sorunlarını gidermek için ağ yapılandırma ayarlarını gözden geçirin ve gerekli ağ ayarlarını düzeltin.
Artımlı güncelleştirmeler
Ağınızda değişiklik yaparken, API Management hizmetinin kritik kaynaklara erişimi kaybetmediğini doğrulamak için NetworkStatus API'sine bakın. Bağlantı durumu her 15 dakikada bir güncelleştirilmelidir.
Portalı kullanarak API Management örneğine bir ağ yapılandırma değişikliği uygulamak için:
- Örneğinizin sol tarafındaki menüde, Dağıtım ve altyapı'nın altında Ağ>Sanal ağı'nı seçin.
- Ağ yapılandırmasını uygula'yı seçin.
Kaynak gezinti bağlantıları
İşlem platformunda barındırılan stv1
bir API Management örneği, Resource Manager sanal ağı alt aağına dağıtıldığında bir kaynak gezinti bağlantısı oluşturarak alt ağı ayırır. Alt ağ zaten farklı bir sağlayıcıdan kaynak içeriyorsa dağıtım başarısız olur. Benzer şekilde, bir API Management hizmetini sildiğinizde veya farklı bir alt ağa taşıdığınızda kaynak gezinti bağlantısı kaldırılır.
API Management örneğini önceki alt ağa yeniden atamada karşılaşılan zorluklar
- Sanal ağ kilidi - API Management örneğini özgün alt aya geri taşırken, kaldırılması bir saate kadar süren sanal ağ kilidi nedeniyle anında yeniden atama mümkün olmayabilir. Özgün alt ağda başka
stv1
platform tabanlı API Management hizmetleri (bulut hizmeti tabanlı) varsa, bunları silmek ve aynı alt ağa platform tabanlı birstv2
hizmet dağıtmak için beklemek gerekir. - Kaynak grubu kilidi - Dikkate alınması gereken bir diğer senaryo da kaynak grubu düzeyinde veya daha yüksek bir kapsam kilidinin bulunmasıdır ve Kaynak Gezinti Bağlantısı Silme işlemini engeller. Bu sorunu çözmek için kapsam kilidini kaldırın ve API Management hizmetinin kilit kaldırmadan önce özgün alt ağ bağlantısını kaldırması için yaklaşık 4-6 saat gecikmeye izin verin ve istenen alt ağa dağıtıma olanak tanıyın.
Sanal ağın içinden Microsoft Graph bağlantısı sorunlarını giderme
Microsoft Graph'a ağ bağlantısı, Microsoft Entra kimlik sağlayıcısını kullanarak geliştirici portalında kullanıcı oturumu açma gibi özellikler için gereklidir.
Sanal ağın içinden Microsoft Graph bağlantısı sorunlarını gidermek için:
NSG ve diğer ağ kurallarının API Management örneğinizden Microsoft Graph'a giden bağlantı için yapılandırıldığından emin olun (AzureActiveDirectory hizmet etiketi kullanılarak).
Sanal ağın içinden DNS çözümlemesi ve ağ erişimi
graph.microsoft.com
sağlayın. Örneğin, sanal ağ içinde yeni bir VM sağlayın, sanal ağa bağlanın ve bir tarayıcıdan veya cURL, PowerShell veya diğer araçları kullanarak vm'ye bağlanmayıGET https://graph.microsoft.com/v1.0/$metadata
deneyin.
Sonraki adımlar
Aşağıdakiler hakkında daha fazla bilgi edinin: