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:
Portalın arama çubuğuna myVm yazın.
Bağlan düğmesini seçin. Bağlan düğmesini seçtikten sonra Sanal makineye bağlan açılır.
RDP Dosyasını İndir’i seçin. Azure bir Uzak Masaüstü Protokolü (.rdp) dosyası oluşturur ve dosyayı bilgisayarınıza indirir.
İndirilen.rdp dosyasını açın.
İstendiğinde Bağlan’ı seçin.
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.
Tamam'ı seçin.
Oturum açma işlemi sırasında bir sertifika uyarısı alabilirsiniz. Sertifika uyarısı alırsanız Evet veya Devam'ı seçin.
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
myVM'nin Uzak Masaüstü'nde PowerShell'i açın.
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
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.
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. Bağlan'ı seçin.
Sol menüden veritabanlarına göz atın.
(İsteğe bağlı olarak) MySQL veritabanından bilgi oluşturma veya sorgulama.
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
- Azure özel uç noktası nedir? hakkında daha fazla bilgi edinin