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.
Bu makalede PostgreSQL için Azure Veritabanı esnek sunucu örneklerine yönelik bağlantı ve ağ kavramları açıklanmaktadır.
PostgreSQL için Azure Veritabanı esnek sunucu örneği oluşturduğunuzda, aşağıdaki ağ seçeneklerinden birini belirlemeniz gerekir:
- Özel erişim (sanal ağ tümleştirmesi)
- Genel erişim (izin verilen IP adresleri) ve özel uç nokta
Bu belgede özel erişim (sanal ağ tümleştirmesi) ağ seçeneği açıklanmaktadır.
Özel erişim (sanal ağ tümleştirmesi)
PostgreSQL için Azure Veritabanı esnek sunucu örneğini sanal ağ ekleme kullanarak Azure sanal ağınıza dağıtabilirsiniz. Azure sanal ağları özel ve güvenli ağ iletişimi sağlar. Sanal ağdaki kaynaklar, bu ağda atanmış olan özel IP adresleri aracılığıyla iletişim kurabilir.
Aşağıdaki özellikleri istiyorsanız bu ağ seçeneğini belirtin:
- Özel IP adreslerini kullanarak aynı sanal ağdaki Azure kaynaklarından PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlanın.
- Azure dışı kaynaklardan PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlanmak için VPN veya Azure ExpressRoute kullanın.
- PostgreSQL için Azure Veritabanı esnek sunucu örneğinde İnternet üzerinden erişilebilen genel uç nokta olmadığından emin olun.
Yukarıdaki diyagramda:
- PostgreSQL için Azure Veritabanı esnek sunucu örnekleri, VNet-1 sanal ağının 10.0.1.0/24 alt ağına eklenir.
- Aynı sanal ağ içindeki farklı alt ağlara dağıtılan uygulamalar PostgreSQL için Azure Veritabanı esnek sunucu örneklerine doğrudan erişebilir.
- Farklı bir sanal ağa (VNet-2) dağıtılan uygulamaların PostgreSQL için Azure Veritabanı esnek sunucu örneklerine doğrudan erişimi yoktur. Esnek sunucu örneğine erişebilmeleri için önce Özel DNS bölgesi için sanal ağ eşlemesi gerçekleştirmeniz gerekir.
Sanal ağ kavramları
Azure sanal ağı, kullanımınız için yapılandırılmış bir özel IP adresi alanı içerir. Sanal ağınız PostgreSQL için Azure Veritabanı esnek sunucu örneğiniz ile aynı Azure bölgesinde olmalıdır. Sanal ağlar hakkında daha fazla bilgi edinmek için bkz. Azure Sanal Ağ genel bakış.
PostgreSQL için Azure Veritabanı esnek sunucu örnekleriyle kaynakların bir sanal ağa tümleştirildiği sanal ağları kullanırken karşılaşabileceğiniz bazı kavramlar şunlardır:
Temsilci alt ağı: Sanal ağ alt ağlar (alt ağlar) içerir. Alt ağlar, sanal ağınızı daha küçük adres alanlarına bölmenizi sağlar. Azure kaynakları bir sanal ağ içindeki belirli alt ağlara dağıtılır.
Azure Database for PostgreSQL esnek sunucu örneğinizin, bir sanal ağ ile tümleştirildiğinde, devredilen bir alt ağda olması gerekir. Yani yalnızca PostgreSQL için Azure Veritabanı esnek sunucu örnekleri bu alt ağı kullanabilir. Temsilci alt ağında diğer türdeki Azure kaynakları bulunamaz. Alt ağın temsilci özelliğini olarak atayarak bir alt ağı temsilci olarak
Microsoft.DBforPostgreSQL/flexibleServersatarsınız.Alt ağ için belirtebileceğiniz en küçük CIDR aralığı 16 IP adresi sağlayan /28 aralığıdır. Herhangi bir ağ veya alt ağdaki ilk ve son adres tek bir konağa atanamaz. Azure, belirtildiği gibi konağa atanmayan iki IP içeren Azure ağı tarafından dahili olarak kullanılmak üzere beş IP ayırır. Bu, /28 CIDR aralığı için 11 kullanılabilir IP adresi bırakır. Yüksek kullanılabilirlik özelliklerine sahip tek bir PostgreSQL için Azure Veritabanı esnek sunucu örneği dört adres kullanır.
Çoğaltma ve Microsoft Entra bağlantıları için rota tablolarının trafiği etkilemediğinden emin olun. Yaygın bir desen, tüm giden trafiği bir Azure Güvenlik Duvarı veya özel bir şirket içi ağ filtreleme aleti aracılığıyla yönlendirmektir.
Alt ağda tüm trafiği bir sanal gereci yönlendirme kuralıyla ilişkilendirilmiş bir yönlendirme tablosu varsa:
- Hedef hizmet etiketine
AzureActiveDirectoryve sonraki atlamayaInternetsahip bir kural ekleyin. - Azure Database for PostgreSQL esnek sunucu örneğinin alt ağ aralığıyla aynı hedef IP aralığına ve sonraki atlamaya
Virtual Networksahip bir kural ekleyin.
Önemli
, ,
AzureFirewallSubnetAzureFirewallManagementSubnetveAzureBastionSubnetadlarıGatewaySubnetAzure içinde ayrılmıştır. Alt ağ adınız olarak bu adlardan hiçbirini kullanmayın. Ayrıca, sanal ağlarda bölgeler arası çoğaltmalar oluşturmak için çakışan adres alanı olmamalıdır.- Hedef hizmet etiketine
Ağ güvenlik grubu (NSG):NSG'lerdeki güvenlik kuralları, sanal ağ alt ağları ve ağ arabirimleri içinde ve dışında akabilen ağ trafiği türünü filtrelemenizi sağlar. Daha fazla bilgi için bkz. NSG'ye genel bakış.
Uygulama güvenlik grupları (ASG' ler), düz ağlar için NSG'leri kullanarak Katman 4 güvenliğini denetlemeyi kolaylaştırır. Şunları hızla yapabilirsiniz:
- Sanal makineleri ASG'ye ekleme veya ASG'den sanal makineleri kaldırma.
- Bu sanal makinelere dinamik olarak kurallar uygulayın veya bu sanal makinelerden kuralları kaldırın.
Daha fazla bilgi için bkz. ASG'ye genel bakış.
Şu anda bir ASG'nin kuralın parçası olduğu NSG'ler, PostgreSQL için Azure Veritabanı esnek sunucu örnekleriyle desteklenmemektedir. Şu anda bir NSG'de IP tabanlı kaynak veya hedef filtreleme kullanmanızı öneririz.
PostgreSQL için Azure Veritabanı sunucusunun yüksek kullanılabilirliği ve diğer özellikleri, PostgreSQL için Azure Veritabanı esnek sunucu örneğinin dağıtıldığı Azure sanal ağ alt ağı içindeki hedef bağlantı noktası 5432'ye ve günlük arşivleme için Azure Depolama'ya trafik gönderme/alma olanağı gerektirir. Dağıtıldığı alt ağ içindeki PostgreSQL için Azure Veritabanı esnek sunucu örneğine gelen veya bu sunucudan gelen trafik akışını reddetmek için NSG'ler oluşturursanız, hedef hedef olarak Depolama hizmet etiketini kullanarak alt ağ içinde hedef bağlantı noktası 5432'ye ve depolamaya giden trafiğe izin verdiğinizden emin olun. Yüksek kullanılabilirlik için en iyi yöntem, Önceden Yazma Günlüğü (WAL) dosyalarını karşıya yüklemek için kullanılan Azure depolama hesabına doğru trafik yönlendirmesini sağladığından bir Microsoft.Storage hizmet uç noktası eklemektir.
Azure bölgenizi gibi etikete ekleyerek bu özel durum kuralını daha fazla
us-east.storage. Ayrıca PostgreSQL için Azure Veritabanı esnek sunucu örneğinizde oturum açma kimlik doğrulaması yapmak için Microsoft Entra kimlik doğrulamasını kullanmayı tercih ederseniz, Microsoft Entra hizmet etiketi kullanarak Microsoft Entra Id'ye giden trafiğe izin verin.Azure bölgeleri arasında Okuma Amaçlı Çoğaltmalar ayarladığınızda, PostgreSQL için Azure Veritabanı esnek sunucu örneğinizin hem birincil hem de çoğaltma sunucularından, birincil ve çoğaltma bölgelerinde, hedef bağlantı noktası 5432'ye ve Azure Depolama'ya trafik gönderip alabilme yeteneğine sahip olması gerekir. Depolama için gerekli hedef TCP bağlantı noktası 443'dür.
Özel DNS bölge tümleştirmesi: Azure Özel DNS bölge tümleştirmesi, geçerli sanal ağ veya Özel DNS bölgesinin bağlı olduğu bölge içi eşlenmiş herhangi bir sanal ağ içinde özel DNS'yi çözümlemenize olanak tanır.
Özel DNS bölgesi kullanma
Azure Özel DNS, sanal ağınız için güvenilir ve güvenli bir DNS hizmeti sağlar. Azure Özel DNS, özel bir DNS çözümü yapılandırmaya gerek kalmadan sanal ağdaki etki alanı adlarını yönetir ve çözümler.
Azure sanal ağıyla özel ağ erişimi kullandığınızda, DNS çözümlemesi yapabilmek için Özel DNS bölge bilgilerinin sağlanması zorunludur. Özel ağ erişimi kullanılarak yeni bir PostgreSQL için Azure Veritabanı esnek sunucu örneği oluşturmak için, özel erişimle PostgreSQL için Azure Veritabanı esnek sunucu örneklerini yapılandırırken Özel DNS bölgelerinin kullanılması gerekir.
Önemli
Farklı bir abonelikte özel bir DNS bölgesi kullanırken, bu aboneliğin de Microsoft.DBforPostgreSQL kaynak sağlayıcısının kayıtlı olması gerekir , aksi takdirde PostgreSQL için Azure Veritabanı esnek sunucu örneği dağıtımınız tamamlanmaz.
Azure Resource Manager şablonu (ARM şablonu), Bicep veya Terraform ile API kullanarak özel ağ erişimiyle PostgreSQL için Azure Veritabanı esnek sunucu örneği oluşturmak için Özel DNS bölgeleri oluşturun. Ardından bunları PostgreSQL için Azure Veritabanı esnek sunucu örneklerini özel erişimle yapılandırırken kullanın. Daha fazla bilgi için bkz . Azure için REST API belirtimleri.
PostgreSQL için Azure Veritabanı esnek sunucu örnekleri oluşturmak için Azure portalını veya Azure CLI'yı kullanıyorsanız, daha önce aynı veya farklı bir abonelikte oluşturduğunuz bir Özel DNS bölgesi adı sağlayabilirsiniz ya da aboneliğinizde otomatik olarak varsayılan bir Özel DNS bölgesi oluşturulur.
Azure API, ARM şablonu, Bicep veya Terraform kullanıyorsanız ile .postgres.database.azure.combiten Özel DNS bölgeleri oluşturun. PostgreSQL için Azure Veritabanı esnek sunucu örneklerini özel erişimle yapılandırırken bu bölgeleri kullanın. Örneğin, veya [name1].[name2].postgres.database.azure.combiçimini [name].postgres.database.azure.com kullanın. Eğer [name].postgres.database.azure.com biçimini kullanmayı seçerseniz, adı PostgreSQL için kullandığınız Azure Veritabanı esnek sunucu örneklerinden biriyle aynı olamaz, aksi takdirde sağlama sırasında bir hata iletisi alırsınız. Daha fazla bilgi için bkz. Özel DNS bölgelere genel bakış.
Azure portalını, API'leri, Azure CLI'yı veya ARM şablonunu kullandığınızda, Özel DNS bölgesini PostgreSQL için Azure Veritabanı esnek sunucu örneğinizi oluştururken sağladığınız özel DNS bölgesinden aynı veya farklı abonelik için mevcut olan başka bir Özel DNS bölgesiyle de değiştirebilirsiniz.
Önemli
PostgreSQL için Azure Veritabanı esnek sunucu örneğinizi oluştururken sağladığınız özel DNS bölgesini başka bir Özel DNS bölgesine değiştirme özelliği, yüksek kullanılabilirlik özelliği etkin olan sunucular için şu anda devre dışı bırakılmıştır.
Azure'da bir Özel DNS bölgesi oluşturduktan sonra bir sanal ağı buna bağlamanız gerekir. Bağlantılı sanal ağda barındırılan kaynaklar daha sonra Özel DNS bölgesine erişebilir.
Önemli
Artık özel ağ ile PostgreSQL için Azure Veritabanı esnek sunucu örnekleri için sunucu oluşturma işleminde sanal ağ bağlantısı varlığını doğrulamayacağız. Portal aracılığıyla bir sunucu oluşturduğunuzda, Azure portalında Özel DNS bölgesini sanal ağınıza bağlama onay kutusu aracılığıyla sunucu oluşturmayla ilgili bir bağlantı oluşturmak için müşteri seçimi sağlarız.
Bölge verileri genel kullanıma sunulduğundan DNS özel bölgeleri bölgesel kesintilere dayanıklıdır . Özel bölgedeki kaynak kayıtları bölgeler arasında otomatik olarak çoğaltılır. Azure Özel DNS, kullanılabilirlik alanı temeli olan, alanlar arası yedekli bir hizmettir. Daha fazla bilgi için bkz . Kullanılabilirlik alanı desteğine sahip Azure hizmetleri.
Özel DNS sunucusuyla tümleştirme
Özel bir DNS sunucusu kullanıyorsanız PostgreSQL için Azure Veritabanı esnek sunucu örneğinizin FQDN'sini çözümlemek için bir DNS ileticisi kullanmanız gerekir. İletici IP adresi 168.63.129.16 olmalıdır.
Özel DNS sunucusu sanal ağın içinde olmalıdır veya sanal ağın DNS sunucusu ayarı üzerinden erişilebilir olmalıdır. Daha fazla bilgi edinmek için bkz . Kendi DNS sunucunuzu kullanan ad çözümlemesi.
Özel DNS bölgesi ve sanal ağ eşlemesi
Özel DNS bölge ayarları ve sanal ağ eşleme birbirinden bağımsızdır. Aynı bölgeden veya farklı bir bölgeden başka bir sanal ağda sağlanan bir istemciden PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlanmak istiyorsanız, Özel DNS bölgesini sanal ağa bağlamanız gerekir. Daha fazla bilgi için bkz . Sanal ağı bağlama.
Not
Yalnızca ile postgres.database.azure.com biten Özel DNS bölge adları bağlanabilir. DNS bölgenizin adı PostgreSQL için Azure Veritabanı esnek sunucu örneklerinizle aynı olamaz. Aksi takdirde ad çözümlemesi başarısız olur.
Bir sunucu adını DNS kaydıyla eşlemek için Azure PowerShell veya Bash kullanarak Azure Cloud Shell'de nslookup komutunu çalıştırabilirsiniz. Aşağıdaki örnekte server_name< parametresi için >sunucunuzun adını kullanın:
nslookup -debug <server_name>.postgres.database.azure.com | grep 'canonical name'
Merkez-uç özel ağ tasarımını kullanma
Merkez-uç, ortak iletişim veya güvenlik gereksinimlerini verimli bir şekilde yönetmeye yönelik popüler bir ağ modelidir.
Merkez, dış bağlantıyı yönetmek için merkezi bir konum işlevi gören bir sanal ağdır. Ayrıca birden çok iş yükü tarafından kullanılan hizmetleri de barındırıyor. Merkez, uçlara giden ve gelen tüm iletişimi koordine eder. BT kuralları ve güvenlik gibi işlemler trafiği inceleyebilir, yönlendirebilir ve merkezi olarak yönetebilir. Uçlar, iş yüklerini barındıran ve sanal ağ eşlemesi ile merkeze bağlanan sanal ağlardır. Paylaşılan hizmetler uçlarla paylaşmak için kendi alt ağlarında barındırılır. Bir çevre alt ağı daha sonra güvenlik gereci işlevi görür.
Uçlar ayrıca Azure'da tek tek iş yüklerini yalıtmak için kullanılan sanal ağlardır. Şirket içi merkez ile Azure arasındaki trafik akışı, Azure ExpressRoute veya merkez sanal ağına bağlı siteden siteye VPN aracılığıyla bağlanır. Uçlardan merkeze sanal ağlar eşlenir ve şirket içi kaynaklarla iletişimi etkinleştirir. Merkez ile uçların her birini ayrı aboneliklerde veya kaynak gruplarında bulundurabilirsiniz.
Uç sanal ağlarını birbirine bağlamak için üç ana desen vardır:
- Uçlar birbirine doğrudan bağlanır: Merkez sanal ağından geçmeden doğrudan bağlantı sağlamak için uç sanal ağları arasında sanal ağ eşlemeleri veya VPN tünelleri oluşturulur.
- Uçlar bir ağ gereci üzerinden iletişim kurar: Her uç sanal ağının bir sanal WAN ile veya merkez sanal ağıyla eşlemesi vardır. Bir alet trafiği uçtan uca yönlendirir. Alet Microsoft tarafından (sanal WAN ile olduğu gibi) veya sizin tarafınızdan yönetilebilir.
- Merkez ağına bir sanal ağ geçidi eklenir ve kullanıcı tanımlı yolları kullanır: Uçlar arasında iletişimi etkinleştirir.
Bağlantı ve güvenlik denetimlerinin merkezi yönetimi için yeni merkez-uç sanal ağ topolojileri oluşturmak (ve mevcut olanı eklemek) için Azure Sanal Ağ Yöneticisi'ni kullanın.
Farklı bölgelerdeki özel ağa bağlı istemcilerle iletişim
Müşterilerin sıklıkla farklı Azure bölgelerine bağlanması gerekir. Daha açık belirtmek gerekirse, bu soru genellikle farklı bölgelerde bulunan iki sanal ağın (birinin PostgreSQL için Azure Veritabanı esnek sunucu örneğine ve başka birinin uygulama istemcisine sahip olan) nasıl bağlandığını açıklar.
Bu tür bir bağlantıyı elde etmenin birden çok yolu vardır, örneğin:
- Genel sanal ağ eşlemesi. Bu yöntem, farklı bölgelerdeki ağları birbirine bağlamanın en kolay yolu olduğundan en yaygın yöntemdir. Genel sanal ağ eşlemesi, eşlenmiş iki sanal ağ arasında doğrudan Azure omurgası üzerinden bir bağlantı oluşturur. Bu yöntem, bağlantı için en iyi ağ aktarım hızını ve en düşük gecikme sürelerini sağlar. Sanal ağlar eşlendiğinde, Azure yönlendirmeyi sizin için otomatik olarak da işler. Bu sanal ağlar, bir VPN ağ geçidinde oluşturulan eşlenmiş sanal ağdaki tüm kaynaklarla iletişim kurabilir.
- Ağdan ağa bağlantı. Sanal ağlar arasındaki bağlantı (ağdan ağa bağlantı), temelde iki Azure konumu arasındaki bir VPN'dir. Ağdan ağa bağlantı bir VPN ağ geçidinde kurulur. Trafiğiniz, genel sanal ağ eşlemesine kıyasla iki trafik atlamasına daha neden olur. Ayrıca bu yöntemle karşılaştırıldığında ek gecikme süresi ve daha düşük bant genişliği vardır.
- Merkez-uç mimarisinde ağ gereci aracılığıyla iletişim. Uç sanal ağlarını birbirine doğrudan bağlamak yerine, uçlar arasındaki trafiği iletmek için ağ gereçlerini kullanabilirsiniz. Ağ gereçleri derin paket denetimi ve trafik segmentasyonu veya izleme gibi daha fazla ağ hizmeti sağlar, ancak düzgün boyutlandırılmamaları durumunda gecikme ve performans sorunlarına neden olabilir.
Özel ağ ile Azure bölgeleri ve sanal ağlar arasında çoğaltma
Veritabanı çoğaltması, merkezi veya birincil bir sunucudan çoğaltma olarak bilinen birden çok sunucuya veri kopyalama işlemidir. Birincil sunucu okuma ve yazma işlemlerini kabul eder, ancak çoğaltmalar salt okunur işlemlere hizmet eder. Birincil sunucu ve çoğaltmalar toplu olarak bir veritabanı kümesi oluşturur. Veritabanı çoğaltmanın amacı, özellikle yüksek trafikli, görev açısından kritik uygulamalarda verilerin yedekliliğini, tutarlılığını, yüksek kullanılabilirliğini ve erişilebilirliğini sağlamaktır.
PostgreSQL için Azure Veritabanı, çoğaltmalar için iki yöntem sunar: yerleşik Okuma Amaçlı Çoğaltma özelliği ve mantıksal çoğaltma aracılığıyla fiziksel (akış). Her ikisi de farklı kullanım örnekleri için idealdir ve kullanıcı bitiş hedefine bağlı olarak birini diğerinin yerine seçebilir.
Her bölgede ayrı sanal ağlarla Azure bölgeleri arasında çoğaltma, sanal ağ eşlemesi aracılığıyla veya ağ gereci aracılığıyla merkez-uç mimarilerinde sağlanabilen bölgesel sanal ağ sınırları arasında bağlantı gerektirir.
Varsayılan olarak, DNS ad çözümlemesi kapsamı bir sanal ağ olarak belirlenmiştir. Bir sanal ağdaki (VNET1) herhangi bir istemci, PostgreSQL için Azure Veritabanı esnek sunucu örneği FQDN'sini başka bir sanal ağda (VNET2) çözümleyemez.
Bu sorunu çözmek için VNET1'deki istemcilerin PostgreSQL için Azure Veritabanı esnek sunucu örneği Özel DNS bölgesine erişebildiğinden emin olmanız gerekir. PostgreSQL için Azure Veritabanı esnek sunucu örneğinizin Özel DNS bölgesine bir sanal ağ bağlantısı ekleyin.
Desteklenmeyen sanal ağ senaryoları
Sanal ağ tümleştirmesi aracılığıyla oluşturulan sanal ağlarla çalışmaya yönelik bazı sınırlamalar şunlardır:
- PostgreSQL için Azure Veritabanı esnek sunucu örneği bir sanal ağa ve alt ağa dağıtıldıktan sonra, bunu başka bir sanal ağa veya alt ağa taşıyamazsınız. Sanal ağı başka bir kaynak grubuna veya aboneliğe taşıyamazsınız.
- Alt ağa kaynaklar yerleştirildikten sonra alt ağ boyutu (adres alanları) artırılamaz.
- Sanal ağa eklenen kaynaklar varsayılan olarak Özel Bağlantı ile etkileşim kuramaz. Özel ağ için Özel Bağlantı kullanmak istiyorsanız bkz. Özel Bağlantı ile PostgreSQL için Azure Veritabanı ağı.
Önemli
Azure Resource Manager, kaynakları güvenlik denetimi olarak kilitleme özelliğini destekler. Kaynak kilitleri kaynağa uygulanır ve tüm kullanıcılar ve roller genelinde etkilidir. İki tür kaynak kilidi vardır: CanNotDelete ve ReadOnly. Bu kilit türleri bir Özel DNS bölgesine veya tek bir kayıt kümesine uygulanabilir.
Bir Özel DNS bölgesine veya tek bir kayıt kümesine herhangi bir tür kilit uygulamak, Azure Veritabanı için PostgreSQL esnek sunucu örneğinin DNS kayıtlarını güncelleme yeteneğini etkileyebilir. Ayrıca, DNS üzerinde önemli işlemler sırasında, birincilden ikincilye yüksek kullanılabilirlik yük devretmesi gibi sorunlara da neden olabilir. Bu nedenlerden dolayı, PostgreSQL için Azure Veritabanı esnek sunucu örneğiyle yüksek kullanılabilirlik özellikleri kullandığınızda DNS özel bölgesi veya kayıt kilitleri kullanmadığınızdan emin olun.
Konak adı
Seçtiğiniz ağ seçeneğinden bağımsız olarak PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlanırken ana bilgisayar adı olarak her zaman bir FQDN kullanmanızı öneririz. Sunucunun IP adresinin statik kalacağı garanti değildir. FQDN'yi kullanmak, bağlantı dizesi değişiklik yapmaktan kaçınmanıza yardımcı olur.
Ana bilgisayar adı olarak FQDN kullanan örnek: hostname = servername.postgres.database.azure.com. Mümkünse (özel adres) veya hostname = 10.0.0.4 (genel adres) kullanmaktan hostname = 40.2.45.67 kaçının.