Uygulamanızı Azure SQL Veritabanı Yönetilen Örneği'ne bağlayınConnect your application to Azure SQL Database Managed Instance

Bugün, uygulamanızı nasıl ve nerede barındırmanıza karar verirken birden çok seçeneğiniz vardır.Today you have multiple choices when deciding how and where you host your application.

Azure App Service Ortamı, sanal makine, sanal makine ölçek kümesi gibi Azure App Service veya Azure sanal ağ (VNet) tümleşik seçeneklerinden birini kullanarak, uygulamayı bulutta barındırabilirsiniz.You may choose to host application in the cloud either by using Azure App Service or some of Azure's virtual network (VNet) integrated options like Azure App Service Environment, Virtual Machine, Virtual Machine Scale Set. Ayrıca karma bulut yaklaşımı alabilir ve uygulamalarınızı şirket içinde tutabilirsiniz.You could also take hybrid cloud approach and keep your applications on-premises.

Hangi seçimi yaptıysanız, onu yönetilen bir örneğe bağlayabilirsiniz.Whatever choice you made, you can connect it to a Managed Instance.

yüksek kullanılabilirlik

Aynı sanal ağ içinde bir uygulamayı bağlamaConnect an application inside the same VNet

Bu senaryo en basit olanıdır.This scenario is the simplest. VNet içindeki sanal makineler, farklı alt ağların içinde olsalar dahi birbirlerine doğrudan bağlanabilir.Virtual machines inside the VNet can connect to each other directly even if they are inside different subnets. Diğer bir deyişle, uygulamayı bir Azure uygulama ortamı veya sanal makine içinde bağlamanız gerektiği anlamına gelir.That means that all you need to connect application inside an Azure Application Environment or Virtual Machine is to set the connection string appropriately.

Farklı bir VNet içindeki bir uygulamayı bağlamaConnect an application inside a different VNet

Yönetilen örnek kendi VNet 'inde özel IP adresine sahip olduğundan bu senaryo biraz daha karmaşıktır.This scenario is a bit more complex because Managed Instance has private IP address in its own VNet. Bağlanmak için bir uygulamanın, yönetilen örneğin dağıtıldığı VNet 'e erişmesi gerekir.To connect, an application needs access to the VNet where Managed Instance is deployed. Bu nedenle, önce uygulama ile yönetilen örnek VNet arasında bir bağlantı oluşturmanız gerekir.So, first you need to make a connection between the application and the Managed Instance VNet. Bu senaryonun çalışması için VNET 'lerin aynı abonelikte olması gerekmez.The VNets don’t have to be in the same subscription in order for this scenario to work.

Sanal ağları bağlamak için iki seçenek vardır:There are two options for connecting VNets:

Eşleme Microsoft omurga ağını kullandığından eşleme seçeneği tercih edilir, çünkü bağlantı açısından, eşlenmiş VNet 'teki sanal makineler ile aynı VNet 'te gecikme fark yoktur.The peering option is the preferable one because peering uses the Microsoft backbone network so, from the connectivity perspective, there is no noticeable difference in latency between virtual machines in peered VNet and in the same VNet. VNet eşlemesi, aynı bölgedeki ağlarla sınırlıdır.VNet peering is limited to the networks in the same region.

Önemli

Yönetilen örnek için VNet eşleme senaryosu, Genel sanal ağ eşlemesi kısıtlamalarındandolayı aynı bölgedeki ağlarla sınırlıdır.VNet peering scenario for Managed Instance is limited to the networks in the same region due to constraints of the Global Virtual Network peering. Daha fazla bilgi için bkz. Azure sanal ağlar sık sorulan sorular makalesinin ilgili bölümü.See also the relevant section of the Azure Virtual Networks Frequently Asked Questions article for more details.

Şirket içi bir uygulamayı bağlamaConnect an on-premises application

Yönetilen örneğe yalnızca özel bir IP adresi üzerinden erişilebilir.Managed Instance can only be accessed through a private IP address. Şirket içinden erişmek için, uygulama ile yönetilen örnek VNet arasında siteden siteye bağlantı oluşturmanız gerekir.In order to access it from on-premises, you need to make a Site-to-Site connection between the application and the Managed Instance VNet.

Şirket içinde Azure VNet 'e nasıl bağlanıbir iki seçenek vardır:There are two options how to connect on-premises to Azure VNet:

Şirket içinden Azure bağlantısı kurmayı başarıyla yaptıysanız ve yönetilen örnekle bağlantı kuramıyoruz, güvenlik duvarınızın SQL bağlantı noktası 1433 ' de giden bağlantı bağlantısı ve yeniden yönlendirme için 11000-11999 bağlantı noktası aralığı olduğunu denetleyin.If you've established on-premises to Azure connection successfully and you can't establish connection to Managed Instance, check if your firewall has open outbound connection on SQL port 1433 as well as 11000-11999 range of ports for redirection.

Geliştirici kutusunda uygulama bağlamaConnect an application on the developers box

Yönetilen örneğe yalnızca özel bir IP adresi üzerinden erişilebilir. böylece Geliştirici kutudan erişebilmek için öncelikle geliştirici kutusu ile yönetilen örnek VNet arasında bir bağlantı oluşturmanız gerekir.Managed Instance can be accessed only through a private IP address so in order to access it from your developer box, you first need to make a connection between your developer box and the Managed Instance VNet. Bunu yapmak için yerel Azure sertifika kimlik doğrulaması kullanarak bir sanal ağa Noktadan siteye bağlantı yapılandırın.To do so, configure a Point-to-Site connection to a VNet using native Azure certificate authentication. Daha fazla bilgi için bkz. Şirket içi bilgisayardan Azure SQL veritabanı yönetilen örneğine bağlanmak için Noktadan siteye bağlantı yapılandırma.For more information, see Configure a point-to-site connection to connect to an Azure SQL Database Managed Instance from on-premises computer.

VNet eşlemesi ile Şirket içinden bağlanmaConnect from on-premises with VNet peering

Müşteriler tarafından uygulanan başka bir senaryo da VPN ağ geçidinin ayrı bir sanal ağa ve barındırma yönetilen örneğinden bir aboneliğe yüklendiği yerdir.Another scenario implemented by customers is where VPN gateway is installed in a separate virtual network and a subscription from the one hosting Managed Instance. İki sanal ağ daha sonra eşlenmez.The two virtual networks are then peered. Aşağıdaki örnek mimari diyagramı, bunun nasıl uygulankullanılabileceğini gösterir.The following sample architecture diagram shows how this can be implemented.

VNet eşlemesi

Temel altyapıyı ayarladıktan sonra, VPN Gateway yönetilen örneği barındıran sanal ağdaki IP adreslerini görebilmesi için bazı ayarları değiştirmeniz gerekir.Once you have the basic infrastructure set up, you need to modify some setting so that the VPN Gateway can see the IP addresses in the virtual network that hosts the Managed Instance. Bunu yapmak için, eşleme ayarlarıaltında aşağıdaki belirli değişiklikleri yapın.To do so, make the following very specific changes under the Peering settings.

  1. VPN ağ geçidini barındıran VNet 'de, eşlemeler ' e gidin, ardından yönetilen örnek eşlenmiş VNet bağlantısı ' na gidin ve ağ geçidi aktarımına izin ver' e tıklayın.In the VNet that hosts the VPN gateway, go to Peerings, then to the Managed Instance peered VNet connection, and then click Allow Gateway Transit.
  2. Yönetilen örneği barındıran VNet 'de, eşlemeler ' e gidin, sonra eşlenen vnet bağlantısına VPN Gateway ve ardından uzak ağ geçitlerini kullan' a tıklayın.In the VNet that hosts the Managed Instance, go to Peerings, then to the VPN Gateway peered VNet connection, and then click Use remote gateways.

Azure App Service barındırılan bir uygulamayı bağlamaConnect an Azure App Service hosted application

Yönetilen örneğe yalnızca bir özel IP adresi aracılığıyla erişilebilir. bu nedenle, Azure App Service adresinden erişebilmek için öncelikle uygulamayla yönetilen örnek VNet arasında bir bağlantı oluşturmanız gerekir.Managed Instance can be accessed only through a private IP address so in order to access it from Azure App Service you first need to make a connection between the application and the Managed Instance VNet. Bkz. uygulamanızı Azure sanal ağıyla tümleştirme.See Integrate your app with an Azure Virtual Network.

Sorun giderme için bkz. VNET ve uygulamalar sorunlarını giderme.For troubleshooting, see Troubleshooting VNets and Applications. Bir bağlantı kurulamazsa ağ yapılandırmasını eşitlemeyideneyin.If a connection cannot be established, try synching the networking configuration.

Yönetilen örneğe Azure App Service bağlanmada özel bir durum, yönetilen örnek VNet 'e eşlenmiş bir ağa Azure App Service tümleştirildiğinde oluşur.A special case of connecting Azure App Service to Managed Instance is when you integrated Azure App Service to a network peered to Managed Instance VNet. Bu durum, aşağıdaki yapılandırmanın ayarlanmasını gerektirir:That case requires the following configuration to be set up:

  • Yönetilen örnek VNet 'in ağ geçidine sahip OLMAMASı gerekirManaged Instance VNet must NOT have gateway
  • Yönetilen örnek VNet 'in uzak ağ geçitleri seçenek kümesi kullanması gerekirManaged Instance VNet must have Use remote gateways option set
  • Eşlenen VNet 'in ağ geçidi aktarım seçeneği kümesine Izin verPeered VNet must have Allow gateway transit option set

Bu senaryo aşağıdaki diyagramda gösterilmiştir:This scenario is illustrated in the following diagram:

Tümleşik uygulama eşlemesi

Not

VNet tümleştirme özelliği, bir uygulamayı ExpressRoute ağ geçidi olan bir VNet ile tümleştirmez.The VNet Integration feature does not integrate an app with a VNet that has an ExpressRoute Gateway. ExpressRoute ağ geçidi, birlikte bulunma modunda yapılandırılmış olsa bile VNet tümleştirmesi çalışmaz.Even if the ExpressRoute Gateway is configured in coexistence mode the VNet Integration does not work. Kaynaklara bir ExpressRoute bağlantısı aracılığıyla erişmeniz gerekiyorsa, VNet 'iniz üzerinde çalışan bir App Service Ortamı kullanabilirsiniz.If you need to access resources through an ExpressRoute connection, then you can use an App Service Environment, which runs in your VNet.

Bağlantı sorunlarını gidermeTroubleshooting connectivity issues

Bağlantı sorunlarını gidermek için aşağıdakileri gözden geçirin:For troubleshooting connectivity issues, review the following:

  • Aynı VNet içindeki ancak farklı alt ağdaki bir Azure sanal makinesinden yönetilen örneğe bağlanamıyorsanız, VM alt ağında erişimi engelliyor olabilecek bir ağ güvenlik grubu olup olmadığını kontrol edin. Ayrıca, Azure sınırının içindeki yeniden yönlendirme yoluyla bağlantı kurulması gerektiğinden, SQL bağlantı noktası 1433 ' de giden bağlantı ve bağlantı noktaları ' nın 11000-11999 aralığında açık olması gerektiğini unutmayın.If you are unable to connect to Managed Instance from an Azure virtual machine within the same VNet but different subnet, check if you have a Network Security Group set on VM subnet that might be blocking access.Additionally note that you need to open outbound connection on SQL port 1433 as well as ports in range 11000-11999 since those are needed for connecting via redirection inside the Azure boundary.

  • BGP yayılması VNet ile ilişkili yol tablosu için etkin olarak ayarlandığından emin olun.Ensure that BGP Propagation is set to Enabled for the route table associated with the VNet.

  • P2S VPN kullanıyorsanız, giriş /Çıkış numaraları olup olmadığını görmek için Azure Portal yapılandırmayı kontrol edin.If using P2S VPN, check the configuration in the Azure portal to see if you see Ingress/Egress numbers. Sıfır olmayan sayılar, Azure 'un Şirket içi/içeri trafiği yönlendirme olduğunu gösterir.Non-zero numbers indicate that Azure is routing traffic to/from on-premises.

    giriş/çıkış numaraları

  • İstemci makinesinin (VPN istemcisini çalıştıran), erişmeniz gereken tüm sanal ağlar için rota girişlerine sahip olup olmadığını denetleyin.Check that the client machine (that is running the VPN client) has route entries for all the VNets that you need to access. Yollar içinde %AppData%\ Roaming\Microsoft\Network\Connections\Cm\<GUID>\routes.txtdepolanır.The routes are stored in %AppData%\ Roaming\Microsoft\Network\Connections\Cm\<GUID>\routes.txt.

    Route. txt

    Bu görüntüde gösterildiği gibi, her VNet için iki giriş ve portalda yapılandırılan VPN uç noktası için üçüncü bir giriş vardır.As shown in this image, there are two entries for each VNet involved and a third entry for the VPN endpoint that is configured in the Portal.

    Yolları denetlemeye yönelik başka bir yöntem de aşağıdaki komutu kullanmaktır.Another way to check the routes is via the following command. Çıktı, çeşitli alt ağların yollarını gösterir:The output shows the routes to the various subnets:

    C:\ >route print -4
    ===========================================================================
    Interface List
    14...54 ee 75 67 6b 39 ......Intel(R) Ethernet Connection (3) I218-LM
    57...........................rndatavnet
    18...94 65 9c 7d e5 ce ......Intel(R) Dual Band Wireless-AC 7265
    1...........................Software Loopback Interface 1
    Adapter===========================================================================
    
    IPv4 Route Table
    ===========================================================================
    Active Routes:
    Network Destination        Netmask          Gateway       Interface  Metric
            0.0.0.0          0.0.0.0       10.83.72.1     10.83.74.112     35
           10.0.0.0    255.255.255.0         On-link       172.26.34.2     43
           10.4.0.0    255.255.255.0         On-link       172.26.34.2     43
    ===========================================================================
    Persistent Routes:
    None
    
  • VNet eşlemesi kullanıyorsanız, ağ geçidi aktarımına Izin ver ' i ayarlama ve uzak ağ geçitleri kullanmayönergelerini izlediğinizden emin olun.If using VNet peering, ensure that you have followed the instructions for setting Allow Gateway Transit and Use Remote Gateways.

Gerekli sürücü ve araç sürümleriRequired versions of drivers and tools

Yönetilen örneğe bağlanmak istiyorsanız, araçların ve sürücülerin aşağıdaki en düşük sürümleri önerilir:The following minimal versions of the tools and drivers are recommended if you want to connect to Managed Instance:

Sürücü/araçDriver/tool VersionVersion
.NET Framework.NET Framework 4.6.1 (veya .NET Core)4.6.1 (or .NET Core)
ODBC sürücüsüODBC driver v17v17
PHP SürücüsüPHP driver 5.2.05.2.0
JDBC sürücüsüJDBC driver 6.4.06.4.0
Node. js sürücüsüNode.js driver 2.1.12.1.1
OLEDB sürücüsüOLEDB driver 18.0.2.018.0.2.0
SSMSSSMS 18,0 veya üzeri18.0 or higher
SMOSMO 150 veya üzeri150 or higher

Sonraki adımlarNext steps