PostgreSQL için Azure Veritabanı için ağa genel bakış - Özel erişimli Esnek Sunucu (VNET Tümleştirmesi)

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Esnek Sunucu

Bu makalede, esnek PostgreSQL için Azure Veritabanı sunucu için bağlantı ve ağ kavramları açıklanmaktadır.

PostgreSQL için Azure Veritabanı esnek sunucu örneği oluşturduğunuzda, şu ağ seçeneklerinden birini seçmeniz gerekir: Özel erişim (VNet tümleştirmesi) veya Genel erişim (izin verilen IP adresleri) ve Özel Uç Nokta. Bu belgede Özel erişim (VNet tümleştirmesi) ağ seçeneği açıklanmaktadır.

Özel erişim (Sanal ağ tümleştirmesi)

Sanal ağ ekleme kullanarak Azure sanal ağınıza (VNet) PostgreSQL için Azure Veritabanı esnek bir sunucu örneği 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ğinize Bağlan.
  • 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.

Bir PostgreSQL için Azure Veritabanı esnek sunucu örneği içeren sanal ağlar arasında eşlemenin nasıl çalıştığını gösteren diyagram.

Yukarıdaki diyagramda:

  • PostgreSQL için Azure Veritabanları 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 sunucuya erişebilmeleri için önce özel bir 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ış.

Kaynakların PostgreSQL için Azure Veritabanı esnek sunucu örnekleriyle 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.

    Sanal ağ tümleşik PostgreSQL için Azure Veritabanı esnek sunucu örneğinizin temsilci olarak atanan 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ığı /28'dir ve bu aralık 16 IP adresi sağlar, ancak herhangi bir ağdaki veya alt ağdaki ilk ve son adres tek bir konağa atanamaz. Azure, yukarıda bahsedilen ve konağa atanmayan iki IP'yi içeren Azure ağı tarafından dahili olarak kullanılacak beş IP ayırır. Bu, /28 CIDR aralığı için 11 kullanılabilir IP adresi bırakırken, 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 yönlendirme tablolarının trafiği etkilemediğinden emin olun. Yaygın bir düzen, tüm giden trafiği bir Azure Güvenlik Duvarı veya özel bir şirket içi ağ filtreleme aleti aracılığıyla yönlendirir. Alt ağda tüm trafiği bir sanal gereci yönlendirme kuralıyla ilişkilendirilmiş bir Yönlendirme Tablosu varsa:

    • Hedef Hizmet Etiketi "AzureActiveDirectory" ve sonraki atlama "İnternet" olan bir kural ekleme
    • Hedef IP aralığı PostgreSQL için Azure Veritabanı esnek sunucu alt ağı aralığıyla aynı olan ve sonraki atlama "Sanal Ağ" olan bir kural ekleyin

    Önemli

    , , AzureFirewallManagementSubnetAzureBastionSubnetve GatewaySubnet adları AzureFirewallSubnetAzure içinde ayrılmıştır. Alt ağ adınız olarak bunların hiçbirini kullanmayın.

  • Ağ güvenlik grubu (NSG). NSG'lerdeki güvenlik kuralları, sanal ağ alt ağlarına ve ağ arabirimlerine girip çıkabilen 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 ASG'nin esnek PostgreSQL için Azure Veritabanı sunucuyla kuralın bir parçası olduğu NSG'leri desteklemiyoruz. Şu anda bir NSG'de IP tabanlı kaynak veya hedef filtreleme kullanmanızı öneririz.

    Önemli

    Yüksek kullanılabilirlik ve PostgreSQL için Azure Veritabanı esnek sunucunun diğer Özellikleri, hem PostgreSQL için Azure Veritabanı esnek sunucunun dağıtıldığı Azure sanal ağ alt ağındaki hedef bağlantı noktası 5432'ye hem de günlük arşivleme için Azure depolamayatrafik gönderme/alma olanağı gerektirir. Dağıtıldığı alt ağ içindeki PostgreSQL için Azure Veritabanı esnek sunucu örneğine gelen veya giden trafik akışını reddetmek için Ağ Güvenlik Grupları (NSG) oluşturuyorsanız, azure Depolama hizmet etiketini kullanarak alt ağ içinde hedef bağlantı noktası 5432'ye ve ayrıca Azure depolamaya giden trafiğe izin verin. Azure bölgenizi us-east.storage gibi etikete ekleyerek bu özel durum kuralını daha fazla filtreleyebilirsiniz. Ayrıca, PostgreSQL için Azure Veritabanı esnek sunucu örneğinizde oturum açma bilgilerinin kimliğini doğrulamak için Microsoft Entra kimlik doğrulamasını kullanmayı tercih ederseniz, Microsoft Entra hizmet etiketini kullanarak Microsoft Entra Id'ye giden trafiğe izin verin. Azure bölgeleri arasında Okuma Amaçlı Çoğaltmalar ayarlanırken, PostgreSQL için Azure Veritabanı esnek sunucu hem birincil hem de çoğaltma için hedef bağlantı noktası 5432'yeve hem birincil hem de çoğaltma sunucularından birincil ve çoğaltma bölgelerindeki Azure depolamayatrafik gönderebilmeyi/alabilmeyi gerektirir.

  • Özel DNS bölge tümleştirmesi. Azure özel DNS bölgesi tümleştirmesi, özel DNS'yi 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 çö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 kullanılırken, DNS çözümlemesi yapabilmek için özel DNS bölgesi bilgilerinin sağlanması zorunludur. Özel ağ erişimi kullanılarak yeni PostgreSQL için Azure Veritabanı esnek sunucu örneği oluşturmak için, özel erişimle PostgreSQL için Azure Veritabanı esnek sunucu örnekleri yapılandırılırken özel DNS bölgelerinin kullanılması gerekir. API, ARM veya Terraform ile özel ağ erişimi kullanarak yeni PostgreSQL için Azure Veritabanı esnek sunucu örneği oluşturmak için özel DNS bölgeleri oluşturun ve bunları özel erişime sahip PostgreSQL için Azure Veritabanı esnek sunucu örneklerini yapılandırırken kullanın. Microsoft Azure için REST API belirtimleri hakkında daha fazla bilgi edinin. Esnek PostgreSQL için Azure Veritabanı sunucu örnekleri oluşturmak için Azure portalını veya Azure CLI'yı kullanıyorsanız, daha önce aynı abonelikte oluşturduğunuz özel bir DNS bölgesi adı veya farklı bir abonelik sağlayabilirsiniz ya da aboneliğinizde otomatik olarak varsayılan bir özel DNS bölgesi oluşturulur.

Azure API, Azure Resource Manager şablonu (ARM şablonu) veya Terraform kullanıyorsanız ile .postgres.database.azure.combiten özel DNS bölgeleri oluşturun. Özel erişimle PostgreSQL için Azure Veritabanı esnek sunucu örneklerini yapılandırırken bu bölgeleri kullanın. Örneğin, veya [name].postgres.database.azure.combiçimini [name1].[name2].postgres.database.azure.com kullanın. biçimini [name].postgres.database.azure.comkullanmayı seçerseniz, ad PostgreSQL için Azure Veritabanları esnek sunucu örneklerinizden biri için kullandığınız ad olamaz veya sağlama sırasında bir hata iletisi gösterilir. Daha fazla bilgi için bkz . özel DNS bölgelerine genel bakış.

Azure portalı, API, CLI veya ARM kullanarak, PostgreSQL için Azure Veritabanı esnek sunucu örneğinizi oluştururken sağladığınız özel DNS Bölgesini aynı veya farklı abonelikte bulunan 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ğinin etkinleştirildiği sunucular için şu anda devre dışı bırakılmıştır.

Azure'da özel bir DNS bölgesi oluşturduktan sonra, bir sanal ağı buna bağlamanız gerekir. Bağlandıktan sonra, bu sanal ağda barındırılan kaynaklar özel DNS bölgesine erişebilir.

Önemli

Artık özel ağ ile PostgreSQL için Azure Veritabanı esnek sunucu için sunucu oluşturma işleminde sanal ağ bağlantısı varlığını doğrulamayacağız. Portal aracılığıyla sunucu oluştururken, Azure portalında "Sanal ağınızı bölgenize Özel DNS bağla" onay kutusu aracılığıyla sunucu oluşturma bağlantısı oluşturmak için müşteri seçimi sağlıyoruz.

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ı yeniden adlandırma hizmetidir. 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, esnek PostgreSQL için Azure Veritabanı sunucunun 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 'postgres.database.azure.com' ile biten özel DNS bölgesi 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 Cloud Shell'de Azure PowerShell veya Bash kullanarak nslookup komutunu çalıştırabilir ve aşağıdaki örnekte sunucunuzun adını server_name> parametre olarak <değiştirebilirsiniz:

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 belirli iş yüklerini ayırmak amacıyla kullanılan sanal ağlardır. Şirket içi merkez ile Azure arasındaki trafik akışı ExpressRoute veya Siteden Siteye VPN aracılığıyla bağlanır ve merkez sanal ağına bağlanır. Uçlardan merkeze giden sanal ağlar eşlenerek şirket içi kaynaklarla iletişim kurulması sağlanır. 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 birbiriyle doğrudan bağlantılıdı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 Sanal WAN veya merkez sanal ağına yönelik bir eşlemesi vardır. Bir alet trafiği uçtan uca yönlendirir. Alet Microsoft tarafından (Sanal WAN gibi) veya sizin tarafınızdan yönetilebilir.
  • Sanal Ağ Ağ Geçidi merkez ağına bağlı ve uçlar arasında iletişimi etkinleştirmek için Kullanıcı Tanımlı Yollar 'ı (UDR) kullanın.

Express Hub aracılığıyla karma bağlantı ile temel merkez-uç mimarisini gösteren diyagram.

Bağlantı ve güvenlik denetimlerinin merkezi yönetimi için yeni (ve mevcut) merkez ve uç sanal ağ topolojileri oluşturmak için Azure Sanal Ağ Manager'ı (AVNM) kullanın.

Farklı bölgelerdeki özel ağa bağlı istemcilerle iletişim

Müşterilerin genellikle farklı Azure bölgelerindeki istemcilere bağlanmaları gerekir. Daha açık belirtmek gerekirse, bu soru genellikle farklı bölgelerdeki iki sanal ağın (biri PostgreSQL için Azure Veritabanı - Esnek Sunucu ve başka bir uygulama istemcisine sahip) nasıl bağlandığını açıklar. Bu tür bir bağlantıya ulaşmanın birden çok yolu vardır ve bazıları şunlardır:

  • Genel sanal ağ eşlemesi. Farklı bölgelerdeki ağları birbirine bağlamanın en kolay yolu olduğundan en yaygın metodoloji. Genel sanal ağ eşlemesi, eşlenmiş iki VNET arasında doğrudan Azure omurgası üzerinden bir bağlantı oluşturur. Bu, bu yöntemi kullanarak bağlantı için en iyi ağ aktarım hızını ve en düşük gecikme sürelerini sağlar. VNET'ler eşlendiğinde, Azure yönlendirmeyi sizin için otomatik olarak işler. Bu VNET'ler, VPN ağ geçidinde oluşturulan eşlenmiş VNET'teki tüm kaynaklarla iletişim kurabilir.
  • Sanal ağdan sanal ağa bağlantı. Sanal ağdan sanal ağa bağlantı temelde iki farklı Azure konumu arasındaki bir VPN'dir. Sanal ağdan sanal ağa bağlantı bir VPN ağ geçidinde kurulur. Bu, trafiğinizin genel sanal ağ eşlemesine kıyasla iki ek trafik atlamasına neden olduğu anlamına gelir. 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 ederken, ç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ı esnek sunucu, ç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ğlar (VNET) ile Azure bölgeleri arasında çoğaltma, sanal ağ eşlemesi aracılığıyla veya ağ gereci aracılığıyla Hub ve Spoke 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. Bu, bir sanal ağdaki (VNET1) herhangi bir istemcinin başka bir sanal ağdaki (VNET2) PostgreSQL için Azure Veritabanı esnek sunucu FQDN'sini çözümleyemediği anlamına gelir.

Bu sorunu çözmek için VNET1'deki istemcilerin PostgreSQL için Azure Veritabanı esnek sunucu Özel DNS Zone'a erişebildiğinden emin olmanız gerekir. Bu, PostgreSQL için Azure Veritabanı esnek sunucu örneğinizin Özel DNS Bölgesine sanal ağ bağlantısı ekleyerek elde edilebilir.

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 esnek sunucu ağı PostgreSQL için Azure Veritabanı

Önemli

Azure Resource Manager, güvenlik denetimi olarak kaynakları 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. Özel DNS Bölgeye veya tek tek kayıt kümesine türünden bir kilit uygulanması, PostgreSQL için Azure Veritabanı esnek sunucunun DNS kayıtlarını güncelleştirme özelliğini etkileyebilir ve BIRINCILden ikincilye Yüksek Kullanılabilirlik yük devretmesi gibi DNS'de önemli işlemler sırasında sorunlara neden olabilir. Bu nedenlerden dolayı, PostgreSQL için Azure Veritabanı esnek sunucu ile Yüksek Kullanılabilirlik özelliklerini kullanırken DNS özel bölgesini veya kayıt kilitlerini 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 = 40.2.45.67 (genel adres) kullanmaktan hostname = 10.0.0.4 kaçının.

Sonraki adımlar

  • Azure portalında veya Azure CLI'da Özel erişim (VNet tümleştirmesi) seçeneğini kullanarak PostgreSQL için Azure Veritabanı esnek bir sunucu örneği oluşturmayı öğrenin.