PostgreSQL için Azure Veritabanı için özel erişimli ağ (sanal ağ tümleştirmesi) - Esnek Sunucu
ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Esnek Sunucu
Bu makalede, PostgreSQL için Azure Veritabanı - Esnek Sunucu için bağlantı ve ağ kavramları açıklanmaktadır.
PostgreSQL için Azure Veritabanı esnek bir sunucu 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)
Sanal ağ ekleme kullanarak Azure sanal ağınıza PostgreSQL için Azure Veritabanı esnek bir sunucu 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 sunucunuza bağlanın.
- Azure dışı kaynaklardan PostgreSQL için Azure Veritabanı esnek sunucunuza bağlanmak için VPN veya Azure ExpressRoute kullanın.
- PostgreSQL için Azure Veritabanı esnek sunucusunun İnternet üzerinden erişilebilen genel uç noktası olmadığından emin olun.
Yukarıdaki diyagramda:
- PostgreSQL için Azure Veritabanı esnek sunucular 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 sunuculara doğrudan erişebilir.
- Farklı bir sanal ağa (VNet-2) dağıtılan uygulamaların PostgreSQL için Azure Veritabanı esnek sunuculara doğrudan erişimi yoktur. Esnek sunucuya erişebilmeleri için önce bir Ö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 sunucunuzla 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 sunucularla bir sanal ağ ile tümleştirildiği sanal ağları kullanırken tanıyabileceğ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ğ ile tümleştirilmiş PostgreSQL için Azure Veritabanı esnek sunucunuz, temsilci olarak atanan bir alt ağda olmalıdır. Yani yalnızca PostgreSQL için Azure Veritabanı esnek sunucular 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/flexibleServers
atarsı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 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
AzureActiveDirectory
ve sonraki atlamayaInternet
sahip bir kural ekleyin. - Hedef IP aralığı ile PostgreSQL için Azure Veritabanı - Esnek Sunucu alt ağ aralığı ve sonraki atlama
Virtual Network
ile aynı olan bir kural ekleyin.
Önemli
, ,
AzureFirewallManagementSubnet
AzureBastionSubnet
veGatewaySubnet
adlarıAzureFirewallSubnet
Azure 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 ASG'nin PostgreSQL için Azure Veritabanı - Esnek Sunucu ile kuralın bir parçası olduğu NSG'leri desteklemiyoruz. Şu anda bir NSG'de IP tabanlı kaynak veya hedef filtreleme kullanmanızı öneririz.
PostgreSQL için Azure Veritabanı - Esnek Sunucu'nun yüksek kullanılabilirliği ve diğer özellikleri, PostgreSQL için Azure Veritabanı - Esnek Sunucu'nun 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önderebilmeyi/alabilmeyi gerektirir. Dağıtıldığı alt ağ içindeki PostgreSQL için Azure Veritabanı esnek sunucunuzdan gelen veya giden trafik akışını reddetmek için NSG'ler oluşturuyorsanız, hedef hedef olarak Depolama hizmet etiketini kullanarak alt ağ içinde 5432 hedef bağlantı noktasına ve depolamaya giden trafiğe izin verdiğinizden emin olun.
Azure bölgenizi gibi
us-east.storage
etikete ekleyerek bu özel durum kuralını daha fazla filtreleyebilirsiniz. Ayrıca, PostgreSQL için Azure Veritabanı esnek sunucunuzda 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 hem birincil hem de çoğaltma için hedef bağlantı noktası 5432'ye ve birincil ve çoğaltma bölgelerindeki birincil ve çoğaltma bölgelerindeki Azure Depolama'ya hem birincil hem de çoğaltma sunucularından trafik gönderebilmeyi veya alabilmeyi gerektirir. 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 PostgreSQL için Azure Veritabanı esnek sunucu oluşturma için, özel erişime sahip PostgreSQL için Azure Veritabanı esnek sunucuları yapılandırırken Özel DNS bölgelerin kullanılması gerekir.
Önemli
Farklı bir abonelikte özel 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 dağıtımınız tamamlanmaz.
API, Azure Resource Manager şablonu (ARM şablonu) veya Terraform ile özel ağ erişimi kullanarak yeni PostgreSQL için Azure Veritabanı esnek sunucu oluşturmak için Özel DNS bölgeleri oluşturun. Ardından özel erişime sahip PostgreSQL için Azure Veritabanı esnek sunucuları yapılandırırken bunları kullanın. Daha fazla bilgi için bkz . Azure için REST API belirtimleri.
PostgreSQL için Azure Veritabanı esnek sunucular oluşturmak için Azure portalını veya Azure CLI'yı kullanıyorsanız, daha önce aynı veya farklı bir abonelikte oluşturduğunuz Özel DNS bir bölge adı sağlayabilirsiniz ya da aboneliğinizde varsayılan bir Özel DNS bölgesi otomatik olarak oluşturulur.
Azure API, ARM şablonu veya Terraform kullanıyorsanız ile .postgres.database.azure.com
biten Özel DNS bölgeleri oluşturun. Özel erişime sahip PostgreSQL için Azure Veritabanı esnek sunucuları yapılandırırken bu bölgeleri kullanın. Örneğin, veya [name].postgres.database.azure.com
biçimini [name1].[name2].postgres.database.azure.com
kullanın. biçimini [name].postgres.database.azure.com
kullanmayı seçerseniz, ad, PostgreSQL için Azure Veritabanı esnek sunucularınızdan biri için kullandığınız ad 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, PostgreSQL için Azure Veritabanı esnek sunucunuzu oluştururken sağladığınız Özel DNS bölgesini aynı veya farklı abonelik için var olan başka bir Özel DNS bölgesiyle de değiştirebilirsiniz.
Önemli
PostgreSQL için Azure Veritabanı esnek sunucunuzu oluştururken sağladığınız bir Özel DNS bölgesini başka bir Özel DNS bölgesine değiştirme özelliği şu anda yüksek kullanılabilirlik özelliği etkinleştirilmiş sunucular için 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
Özel ağ ile PostgreSQL için Azure Veritabanı - Esnek Sunucu için sunucu oluşturma işleminde artık 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ı 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, PostgreSQL için Azure Veritabanı - Esnek 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 sunucusuna 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 sunucularınızla 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 komutunu çalıştırabilirsiniznslookup
. 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ölgelerdeki iki sanal ağın (biri PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya ve diğeri bir uygulama istemcisine sahip) 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ı - 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ğ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, başka bir sanal ağdaki (VNET2) PostgreSQL için Azure Veritabanı - Esnek Sunucu FQDN'sini çözümleyemiyor.
Bu sorunu çözmek için VNET1'deki istemcilerin PostgreSQL için Azure Veritabanı - Esnek Sunucu Özel DNS bölgesine erişebildiğinden emin olmanız gerekir. PostgreSQL için Azure Veritabanı esnek sunucunuzun Ö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 bir sunucu bir sanal ağa ve alt ağa dağıtıldıktan sonra 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. PostgreSQL için Azure Veritabanı - Özel Bağlantı ile Esnek Sunucu 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 türün kilidini uygulamak, PostgreSQL için Azure Veritabanı Esnek Sunucu'nun DNS kayıtlarını güncelleştirme özelliğ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 ile yüksek kullanılabilirlik özellikleri kullanırken 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 sunucunuza 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.