MySQL için Azure Veritabanı ile Sanal Ağ hizmet uç noktalarını ve kuralları kullanma
ŞUNLAR IÇIN GEÇERLIDIR: MySQL için Azure Veritabanı - Tek Sunucu
Önemli
MySQL için Azure Veritabanı tek sunucu kullanımdan kaldırma yolundadır. Esnek MySQL için Azure Veritabanı sunucuya yükseltmenizi kesinlikle öneririz. MySQL için Azure Veritabanı esnek sunucuya geçiş hakkında daha fazla bilgi için bkz. MySQL için Azure Veritabanı Tek Sunucu'ya neler oluyor?
Sanal ağ kuralları, MySQL için Azure Veritabanı sunucunuzun sanal ağlardaki belirli alt ağlardan gönderilen iletişimleri kabul edip etmediğini denetleen bir güvenlik duvarı güvenlik özelliğidir. Bu makalede, sanal ağ kuralı özelliğinin neden bazen MySQL için Azure Veritabanı sunucunuzla güvenli bir şekilde iletişime izin vermek için en iyi seçeneğiniz olduğu açıklanmaktadır.
Sanal ağ kuralı oluşturmak için öncelikle kuralın başvuracağı bir sanal ağ (VNet) ve bir sanal ağ hizmet uç noktası olmalıdır.
Not
Bu özellik, MySQL için Azure Veritabanı Genel Amaçlı ve Bellek için İyileştirilmiş sunucular için dağıtıldığı Azure'ın tüm bölgelerinde kullanılabilir. Sanal ağ eşlemesi söz konusu olduğunda, trafik hizmet uç noktalarıyla ortak bir sanal ağ geçidi üzerinden akıyorsa ve eşe akışı olması gerekiyorsa, ağ geçidi sanal ağındaki Azure Sanal Makineler MySQL için Azure Veritabanı sunucusuna erişmesine izin vermek için lütfen bir ACL/VNet kuralı oluşturun.
Ayrıca, bağlantılar için Özel Bağlantı kullanmayı da düşünebilirsiniz. Özel Bağlantı, MySQL için Azure Veritabanı sunucusu için sanal ağınızda özel bir IP adresi sağlar.
Terminoloji ve açıklama
Sanal ağ: Azure aboneliğinizle ilişkilendirilmiş sanal ağlarınız olabilir.
Alt ağ: Sanal ağ alt ağlar içerir. Sahip olduğunuz tüm Azure sanal makineleri (VM' ler) alt ağlara atanır. Bir alt ağ birden çok VM veya başka işlem düğümü içerebilir. Güvenliğinizi erişime izin verecek şekilde yapılandırmadığınız sürece sanal ağınızın dışındaki işlem düğümleri sanal ağınıza erişemez.
hizmet uç noktasını Sanal Ağ: Sanal Ağ hizmet uç noktası, özellik değerleri bir veya daha fazla resmi Azure hizmet türü adı içeren bir alt ağdır. Bu makalede, SQL Veritabanı adlı Azure hizmetine başvuran Microsoft.Sql tür adıyla ilgileniyoruz. Bu hizmet etiketi MySQL için Azure Veritabanı ve PostgreSQL hizmetleri için de geçerlidir. Microsoft.Sql hizmet etiketini bir sanal ağ hizmet uç noktasına uygularken alt bilgisayarınızda tüm Azure SQL Veritabanı, MySQL için Azure Veritabanı ve PostgreSQL için Azure Veritabanı sunucuları için hizmet uç noktası trafiğini yapılandıracağını unutmayın.
Sanal ağ kuralı: MySQL için Azure Veritabanı sunucunuz için sanal ağ kuralı, MySQL için Azure Veritabanı sunucunuzun erişim denetimi listesinde (ACL) listelenen bir alt ağdır. MySQL için Azure Veritabanı sunucunuzun ACL'sinde olmak için alt ağın Microsoft.Sql tür adını içermesi gerekir.
Sanal ağ kuralı, MySQL için Azure Veritabanı sunucunuza alt ağdaki her düğümden gelen iletişimleri kabul etmelerini söyler.
Sanal ağ kuralının avantajları
Siz eyleme geçinceye kadar alt ağlarınızdaki VM'ler MySQL için Azure Veritabanı sunucunuzla iletişim kuramaz. İletişimi oluşturan bir eylem, bir sanal ağ kuralı oluşturmaktır. Sanal ağ kuralı yaklaşımını seçme mantığı, güvenlik duvarı tarafından sunulan rakip güvenlik seçeneklerini içeren karşılaştırma ve karşıtlık tartışması gerektirir.
A. Azure hizmetlerine erişim izni verme
Bağlantı güvenliği bölmesinde Azure hizmetlerine erişime izin ver etiketli bir ON/OFF düğmesi vardır. ON ayarı tüm Azure IP adreslerinden ve tüm Azure alt ağlarından gelen iletişimlere izin verir. Bu Azure IP'leri veya alt ağları size ait olmayabilir. Bu AÇIK ayarı büyük olasılıkla MySQL için Azure Veritabanı Veritabanınızın olmasını istediğinizden daha açık. Sanal ağ kuralı özelliği çok daha ayrıntılı denetim sunar.
B. IP kuralları
MySQL için Azure Veritabanı güvenlik duvarı, MySQL için Azure Veritabanı Veritabanı'na gelen iletişimlerin kabul edildiği IP adresi aralıklarını belirtmenize olanak tanır. Bu yaklaşım, Azure özel ağının dışındaki kararlı IP adresleri için uygundur. Ancak Azure özel ağının içindeki birçok düğüm dinamik IP adresleriyle yapılandırılır. Vm'nizin yeniden başlatılması gibi dinamik IP adresleri değişebilir. Üretim ortamında bir güvenlik duvarı kuralında dinamik IP adresi belirtmek çok kolay olabilir.
VM'niz için statik bir IP adresi alarak IP seçeneğini kurtarabilirsiniz. Ayrıntılar için bkz . Azure portalını kullanarak sanal makine için özel IP adreslerini yapılandırma.
Bununla birlikte, statik IP yaklaşımının yönetilmesi zor olabilir ve büyük ölçekte yapıldığında pahalıya patlar. Sanal ağ kurallarının oluşturulması ve yönetilmesi daha kolaydır.
Sanal ağ kurallarıyla ilgili ayrıntılar
Bu bölümde sanal ağ kurallarıyla ilgili birkaç ayrıntı açıklanmaktadır.
Yalnızca bir coğrafi bölge
Her Sanal Ağ hizmet uç noktası yalnızca bir Azure bölgesine uygulanır. Uç nokta, diğer bölgelerin alt ağdan gelen iletişimi kabul etmelerini sağlamaz.
Tüm sanal ağ kuralları, temel alınan uç noktasının geçerli olduğu bölgeyle sınırlıdır.
Veritabanı düzeyinde değil sunucu düzeyinde
Her sanal ağ kuralı, yalnızca sunucudaki belirli bir veritabanı için değil, tüm MySQL için Azure Veritabanı sunucunuz için geçerlidir. Başka bir deyişle, sanal ağ kuralı veritabanı düzeyinde değil sunucu düzeyinde uygulanır.
Güvenlik yönetimi rolleri
Sanal Ağ hizmet uç noktalarının yönetiminde güvenlik rollerinin ayrımı vardır. Aşağıdaki rollerin her biri için eylem gereklidir:
- Ağ Yöneticisi: Uç noktayı açın.
- Veritabanı Yöneticisi: Verilen alt ağı MySQL için Azure Veritabanı sunucusuna eklemek için erişim denetimi listesini (ACL) güncelleştirin.
Azure RBAC alternatifi:
Ağ Yöneticisi ve Veritabanı Yöneticisi rolleri, sanal ağ kurallarını yönetmek için gerekenden daha fazla özelliğe sahiptir. Yeteneklerinin yalnızca bir alt kümesi gereklidir.
Yalnızca gerekli yetenek alt kümesine sahip tek bir özel rol oluşturmak için Azure'da Azure rol tabanlı erişim denetimini (Azure RBAC) kullanma seçeneğiniz vardır. Özel rol, Ağ Yöneticisi veya Veritabanı Yöneticisi yerine kullanılabilir. Bir kullanıcıyı özel bir role eklerseniz, diğer iki ana yönetici rolüne eklemek yerine güvenlik açıklarınızın yüzey alanı daha düşüktür.
Not
Bazı durumlarda MySQL için Azure Veritabanı ve sanal ağ alt ağı farklı aboneliklerdedir. Bu durumlarda aşağıdaki yapılandırmalardan emin olmanız gerekir:
- Her iki abonelik de aynı Microsoft Entra kiracısında olmalıdır.
- Kullanıcı, hizmet uç noktalarını etkinleştirme ve verilen Sunucuya sanal ağ alt ağı ekleme gibi işlemleri başlatmak için gerekli izinlere sahiptir.
- Her iki aboneliğin de Microsoft.Sql ve Microsoft.DBforMySQL kaynak sağlayıcısının kayıtlı olduğundan emin olun. Daha fazla bilgi için bkz. resource-manager-registration
Sınırlamalar
MySQL için Azure Veritabanı için sanal ağ kuralları özelliği aşağıdaki sınırlamalara sahiptir:
Web Uygulaması, bir sanal ağ/alt ağ içindeki özel IP'ye eşlenebilir. Hizmet uç noktaları verilen sanal ağdan/alt ağdan AÇILSA bile, Web Uygulamasından sunucuya yapılan bağlantıların sanal ağ/alt ağ kaynağı değil Azure genel IP kaynağı olur. Web Uygulamasından sanal ağ güvenlik duvarı kuralları olan bir sunucuya bağlantıyı etkinleştirmek için Azure hizmetlerinin sunucudaki sunucuya erişmesine izin vermelisiniz.
MySQL için Azure Veritabanı güvenlik duvarında her sanal ağ kuralı bir alt ağa başvurur. Başvuruda bulunılan tüm alt ağlar, MySQL için Azure Veritabanı barındıran coğrafi bölgede barındırılmalıdır.
Her MySQL için Azure Veritabanı sunucusu, belirli bir sanal ağ için en fazla 128 ACL girdisine sahip olabilir.
Sanal ağ kuralları yalnızca Azure Resource Manager sanal ağlarına uygulanır; ve klasik dağıtım modeli ağlarına değil.
Microsoft.Sql hizmet etiketini kullanarak sanal ağ hizmet uç noktalarını MySQL için Azure Veritabanı açmak, tüm Azure Veritabanı hizmetleri için uç noktaları da etkinleştirir: MySQL için Azure Veritabanı, PostgreSQL için Azure Veritabanı, Azure SQL Veritabanı ve Azure Synapse Analytics.
Sanal ağ hizmet uç noktaları için destek yalnızca Genel Amaçlı ve Bellek için İyileştirilmiş sunucular içindir.
Microsoft.Sql bir alt ağda etkinleştirildiyse, bağlanmak için yalnızca sanal ağ kurallarını kullanmak istediğinizi gösterir. Bu alt ağdaki kaynakların sanal ağ dışı güvenlik duvarı kuralları çalışmaz.
Güvenlik duvarında IP adresi aralıkları aşağıdaki ağ öğelerine uygulanır, ancak sanal ağ kuralları geçerli değildir:
- Siteden Siteye (S2S) sanal özel ağ (VPN)
- ExpressRoute aracılığıyla şirket içi
ExpressRoute
Ağınız ExpressRoute kullanarak Azure ağına bağlıysa, her bağlantı hattı Microsoft Edge'de iki genel IP adresiyle yapılandırılır. İki IP adresi, Azure Genel Eşlemesi kullanılarak Azure Depolama gibi Microsoft Hizmetlerine bağlanmak için kullanılır.
Bağlantı hattınızdan MySQL için Azure Veritabanı iletişimine izin vermek için, bağlantı hatlarınızın genel IP adresleri için IP ağ kuralları oluşturmanız gerekir. ExpressRoute bağlantı hattınızın genel IP adreslerini bulmak için Azure portalını kullanarak ExpressRoute ile bir destek bileti açın.
Sanal Ağ Hizmet Uç Noktalarını açmadan sunucunuza sanal ağ güvenlik duvarı kuralı ekleme
Yalnızca bir sanal ağ güvenlik duvarı kuralı ayarlamak sunucunun sanal ağa güvenliğini sağlamaya yardımcı olmaz. Güvenliğin etkili olması için sanal ağ hizmet uç noktalarını da Açık duruma getirmek gerekir. Hizmet uç noktalarını Açık duruma getirince, sanal ağınız Kapalı'dan Açık'a geçişi tamamlayana kadar kapalı kalma süresi yaşar. Bu durum özellikle büyük sanal ağlar bağlamında gerçekleşir. Geçiş sırasında kapalı kalma süresini azaltmak veya ortadan kaldırmak için IgnoreMissingServiceEndpoint bayrağını kullanabilirsiniz.
Azure CLI veya portalı kullanarak IgnoreMissingServiceEndpoint bayrağını ayarlayabilirsiniz.
İlgili makaleler
Sonraki adımlar
Sanal ağ kuralları oluşturma makalelerinde bkz: