POSTGRESQL IÇIN AZURE VERITABANı için Özel Bağlantı oluşturma ve yönetme - CLI kullanarak tek sunucu

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Tek Sunucu

Önemli

PostgreSQL için Azure Veritabanı - Tek Sunucu kullanımdan kaldırma yolundadır. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya yükseltmenizi kesinlikle öneririz. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya geçiş hakkında daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı Tek Sunucuya ne 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 PostgreSQL için Azure Veritabanı Tek 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 PostgreSQL için Azure Veritabanı sunucularda kullanılabilir. Veritabanı sunucusunun bu fiyatlandırma katmanlarından birinde olduğundan emin olun.

Önkoşullar

Bu nasıl yapılır kılavuzunda adım adım ilerleyebilmek için şunları yapmanız gerekir:

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. Azure Cloud Shell için Deneyin örneğini gösteren ekran görüntüsü.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Azure Cloud Shell'i başlatma düğmesi.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Azure portalında Cloud Shell düğmesini gösteren ekran görüntüsü

Azure Cloud Shell'i kullanmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

Bunun yerine Azure CLI'yi yerel olarak yükleyip kullanmaya karar verirseniz, bu hızlı başlangıç için Azure CLI sürüm 2.0.28 veya üzerini kullanmanız gerekir. Yüklü sürümünüzü bulmak için komutunu çalıştırın az --version. Yükleme veya yükseltme bilgileri için bkz . Azure CLI yükleme.

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 myResourceGroupadlı 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

VM'nin genel IP adresini not edin. Sonraki adımda sanal makineye İnternet'ten bağlanmak için bu adresi kullanacaksınız.

PostgreSQL için Azure Veritabanı oluşturma - Tek sunucu

az postgres server create komutuyla bir PostgreSQL için Azure Veritabanı oluşturun. PostgreSQL Sunucunuzun adının Azure genelinde benzersiz olması gerektiğini unutmayın; bu nedenle yer tutucu değerini yukarıda kullandığınız kendi benzersiz değerlerinizle değiştirin:

# Create a server in the resource group

[!INCLUDE [applies-to-postgresql-single-server](../includes/applies-to-postgresql-single-server.md)]

[!INCLUDE [azure-database-for-postgresql-single-server-deprecation](../includes/azure-database-for-postgresql-single-server-deprecation.md)]


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

Özel Uç Nokta oluşturma

Sanal Ağ PostgreSQL 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.DBforPostgreSQL/servers" --query "id" -o tsv) \    
    --group-id postgresqlServer \  
    --connection-name myConnection  

Özel DNS Bölgesini Yapılandırma

PostgreSQL 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.postgres.database.azure.com" 
az network private-dns link vnet create --resource-group myResourceGroup \ 
   --zone-name  "privatelink.postgres.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 PostgreSQL name

[!INCLUDE [applies-to-postgresql-single-server](../includes/applies-to-postgresql-single-server.md)]

[!INCLUDE [azure-database-for-postgresql-single-server-deprecation](../includes/azure-database-for-postgresql-single-server-deprecation.md)]


#Create DNS records 

az network private-dns record-set a create --name myserver --zone-name privatelink.postgres.database.azure.com --resource-group myResourceGroup  
az network private-dns record-set a add-record --record-set-name myserver --zone-name privatelink.postgres.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.

Not

Bazı durumlarda PostgreSQL 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 abonelikte de Microsoft.DBforPostgreSQL kaynak sağlayıcısının kayıtlı olduğundan emin olun. Daha fazla bilgi için kaynak sağlayıcılarına bakın.

İnternet'ten bir sanal makineye bağlanma

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

  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 PostgreSQL sunucusuna özel olarak erişme

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

  2. nslookup mydemopostgresserver.privatelink.postgres.database.azure.com girin.

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

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemopostgresserver.privatelink.postgres.database.azure.com
    Address:  10.1.3.4
    
  3. Kullanılabilir herhangi bir istemciyi kullanarak PostgreSQL sunucusu için özel bağlantı bağlantısını test edin. Aşağıdaki örnek, işlemi gerçekleştirmek için Azure Data Studio'yu kullanır.

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

    Ayar Value
    Sunucu türü PostgreSQL'i seçin.
    Sunucu adı mydemopostgresserver.privatelink.postgres.database.azure.com seçin
    User name PostgreSQL sunucusu oluşturma sırasında sağlanan kullanıcı adını username@servername olarak girin.
    Parola PostgreSQL sunucusu oluşturma sırasında sağlanan parolayı girin.
    SSL Gerekli'yi seçin.
  5. Bağlan'ı seçin.

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

  7. (İsteğe bağlı olarak) postgreSQL sunucusundan 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