Aracılığıyla paylaş


CLI kullanarak MySQL için Azure Veritabanı için Özel Bağlantı oluşturma ve yönetme

Ş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?

Özel Uç Nokta, Azure'da özel bağlantı için temel yapı taşıdır. Sanal Makineler (VM) gibi Azure kaynaklarının özel bağlantı kaynaklarıyla özel olarak iletişim kurmasını sağlar. Bu makalede, Azure CLI kullanarak Azure Sanal Ağ ve Azure özel uç noktası olan bir MySQL için Azure Veritabanı sunucusunda VM oluşturmayı öğreneceksiniz.

Not

Özel bağlantı özelliği yalnızca Genel Amaçlı veya Bellek için İyileştirilmiş fiyatlandırma katmanlarındaki MySQL için Azure Veritabanı sunucularda kullanılabilir. Veritabanı sunucusunun bu fiyatlandırma katmanlarından birinde olduğundan emin olun.

Önkoşullar

  • Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.

  • CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.

    • Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.

    • İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.

    • Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.

  • Bu makale, Azure CLI'nın 2.0.28 veya sonraki bir sürümünü gerektirir. Azure Cloud Shell kullanılıyorsa en son sürüm zaten yüklüdür.

Kaynak grubu oluşturma

Herhangi bir kaynak oluşturabilmeniz için önce Sanal Ağ barındırmak için bir kaynak grubu oluşturmanız gerekir. az group create ile bir kaynak grubu oluşturun. Bu örnek westeurope konumunda myResourceGroup adlı bir kaynak grubu oluşturur:

az group create --name myResourceGroup --location westeurope

Sanal Ağ Oluşturma

az network vnet create ile bir Sanal Ağ oluşturun. Bu örnek, mySubnet adlı bir alt ağ ile myVirtualNetwork adlı bir varsayılan Sanal Ağ oluşturur:

az network vnet create \
 --name myVirtualNetwork \
 --resource-group myResourceGroup \
 --subnet-name mySubnet

Alt ağ özel uç nokta ilkelerini devre dışı bırakma

Azure, kaynakları sanal ağ içindeki bir alt ağa dağıtır, bu nedenle özel uç nokta ağ ilkelerini devre dışı bırakmak için alt ağı oluşturmanız veya güncelleştirmeniz gerekir. az network vnet subnet update ile mySubnet adlı bir alt ağ yapılandırmasını güncelleştirin:

az network vnet subnet update \
 --name mySubnet \
 --resource-group myResourceGroup \
 --vnet-name myVirtualNetwork \
 --disable-private-endpoint-network-policies true

Sanal makineyi oluşturma

az vm create ile bir VM oluşturun. İstendiğinde, VM'nin oturum açma kimlik bilgileri olarak kullanılacak bir parola girin. Bu örnek myVm adlı bir VM oluşturur:

az vm create \
  --resource-group myResourceGroup \
  --name myVm \
  --image Win2019Datacenter

Not

VM’nin genel IP adresi. Bir sonraki adımda sanal makineye İnternet'ten bağlanmak için bu adresi kullanırsınız.

MySQL için Azure Veritabanı sunucusu oluşturma

az mysql server create komutuyla bir MySQL için Azure Veritabanı oluşturun. MySQL Sunucunuzun adının Azure genelinde benzersiz olması gerektiğini unutmayın; bu nedenle köşeli ayraç içindeki yer tutucu değerini kendi benzersiz değerinizle değiştirin:

# Create a server in the resource group 

az mysql server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--sku-name GP_Gen5_2

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 aboneliğin de Microsoft.DBforMySQL kaynak sağlayıcısının kayıtlı olduğundan emin olun. Daha fazla bilgi için bkz. resource-manager-registration

Özel Uç Nokta oluşturma

Sanal Ağ MySQL sunucusu için özel bir uç nokta oluşturun:

az network private-endpoint create \  
    --name myPrivateEndpoint \  
    --resource-group myResourceGroup \  
    --vnet-name myVirtualNetwork  \  
    --subnet mySubnet \  
    --private-connection-resource-id $(az resource show -g myResourcegroup -n mydemoserver --resource-type "Microsoft.DBforMySQL/servers" --query "id" -o tsv) \    
    --group-id mysqlServer \  
    --connection-name myConnection  

Özel DNS Bölgesini Yapılandırma

MySQL sunucu etki alanı için bir Özel DNS Bölgesi oluşturun ve Sanal Ağ ile bir ilişkilendirme bağlantısı oluşturun.

az network private-dns zone create --resource-group myResourceGroup \ 
   --name  "privatelink.mysql.database.azure.com" 
az network private-dns link vnet create --resource-group myResourceGroup \ 
   --zone-name  "privatelink.mysql.database.azure.com"\ 
   --name MyDNSLink \ 
   --virtual-network myVirtualNetwork \ 
   --registration-enabled false 

# Query for the network interface ID  
$networkInterfaceId=$(az network private-endpoint show --name myPrivateEndpoint --resource-group myResourceGroup --query 'networkInterfaces[0].id' -o tsv)

az resource show --ids $networkInterfaceId --api-version 2019-04-01 -o json 
# Copy the content for privateIPAddress and FQDN matching the Azure database for MySQL name 

# Create DNS records 
az network private-dns record-set a create --name myserver --zone-name privatelink.mysql.database.azure.com --resource-group myResourceGroup  
az network private-dns record-set a add-record --record-set-name myserver --zone-name privatelink.mysql.database.azure.com --resource-group myResourceGroup -a <Private IP Address>

Not

Müşterinin DNS ayarındaki FQDN, yapılandırılmış özel IP'ye çözümlenmiyor. Yapılandırılan FQDN için burada gösterildiği gibi bir DNS bölgesi ayarlamanız gerekir.

İnternet'ten bir sanal makineye bağlanma

İnternet'ten myVm vm'sine aşağıdaki gibi bağlanın:

  1. Portalın arama çubuğuna myVm yazın.

  2. Bağlan düğmesini seçin. Bağlan düğmesini seçtikten sonra Sanal makineye bağlan açılır.

  3. RDP Dosyasını İndir’i seçin. Azure bir Uzak Masaüstü Protokolü (.rdp) dosyası oluşturur ve dosyayı bilgisayarınıza indirir.

  4. İndirilen.rdp dosyasını açın.

    1. İstendiğinde Bağlan’ı seçin.

    2. VM'yi oluştururken belirttiğiniz kullanıcı adını ve parolayı girin.

      Not

      VM'yi oluştururken girdiğiniz kimlik bilgilerini belirtmek için Diğer seçenekler>Farklı bir hesap kullan'ı seçmeniz gerekebilir.

  5. Tamam'ı seçin.

  6. Oturum açma işlemi sırasında bir sertifika uyarısı alabilirsiniz. Sertifika uyarısı alırsanız Evet veya Devam'ı seçin.

  7. VM masaüstü göründüğünde, yerel masaüstünüze geri dönmek için simge durumuna küçültün.

Vm'den MySQL sunucusuna özel olarak erişme

  1. myVM'nin Uzak Masaüstü'nde PowerShell'i açın.

  2. nslookup mydemomysqlserver.privatelink.mysql.database.azure.com girin.

    Şuna benzer bir ileti alırsınız:

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemomysqlserver.privatelink.mysql.database.azure.com
    Address:  10.1.3.4
    
  3. Kullanılabilir herhangi bir istemciyi kullanarak MySQL sunucusu için özel bağlantı bağlantısını test edin. Aşağıdaki örnekte işlemi yapmak için MySQL Workbench kullandım.

  4. Yeni bağlantı'da şu bilgileri girin veya seçin:

    Ayar Value
    Bağlantı Adı İstediğiniz bağlantı adını seçin.
    Konak adı mydemoserver.privatelink.mysql.database.azure.com seçin
    Username MySQL sunucusu oluşturma sırasında sağlanan kullanıcı adını username@servername olarak girin.
    Parola MySQL sunucusu oluşturma sırasında sağlanan parolayı girin.
  5. Bağlan'ı seçin.

  6. Sol menüden veritabanlarına göz atın.

  7. (İsteğe bağlı olarak) MySQL veritabanından bilgi oluşturma veya sorgulama.

  8. myVm ile uzak masaüstü bağlantısını kapatın.

Kaynakları temizleme

Artık gerekli olmadığında az group delete komutunu kullanarak kaynak grubunu ve sahip olduğu tüm kaynakları kaldırabilirsiniz:

az group delete --name myResourceGroup --yes 

Sonraki adımlar