Hızlı Başlangıç: Azure PowerShell kullanarak özel uç nokta oluşturma

Azure Uygulaması Services web uygulamasına güvenli bir şekilde bağlanmak için özel uç nokta oluşturup kullanarak Azure Özel Bağlantı kullanmaya başlayın.

Bu hızlı başlangıçta, Azure Uygulaması Services web uygulaması için özel bir uç nokta oluşturun ve ardından özel bağlantıyı test etmek için bir sanal makine (VM) oluşturup dağıtın.

Azure SQL ve Azure Depolama gibi çeşitli Azure hizmetleri için özel uç noktalar oluşturabilirsiniz.

Özel uç nokta hızlı başlangıcında oluşturulan kaynakların diyagramı.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı. Henüz bir Azure hesabınız yoksa ücretsiz olarak bir hesap oluşturun.

  • Azure aboneliğinizde dağıtılan PremiumV2 katmanlı veya daha yüksek uygulama hizmeti planına sahip bir Azure web uygulaması.

    • Daha fazla bilgi ve örnek için bkz . Hızlı Başlangıç: Azure'da ASP.NET Core web uygulaması oluşturma.

    • Bu makaledeki örnek web uygulamasına webapp-1 adı verilmiştir. Örneği web uygulaması adınız ile değiştirin.

  • Azure Cloud Shell veya Azure PowerShell.

    Bu hızlı başlangıçtaki adımlar, Azure Cloud Shell'de Azure PowerShell cmdlet'lerini etkileşimli olarak çalıştırır. Cloud Shell'de komutları çalıştırmak için kod bloğunun sağ üst köşesindeki CloudShell'i Aç'ı seçin. Kodu kopyalamak için Kopyala'yı seçin ve çalıştırmak için Cloud Shell'e yapıştırın. Cloud Shell'i Azure portalından da çalıştırabilirsiniz.

    Cmdlet'leri çalıştırmak için Azure PowerShell'i yerel olarak da yükleyebilirsiniz. Bu makaledeki adımlar Için Azure PowerShell modülü sürüm 5.4.1 veya üzeri gerekir. Yüklü sürümünüzü bulmak için komutunu çalıştırın Get-Module -ListAvailable Az . Yükseltmeniz gerekiyorsa bkz . Azure PowerShell modülünü güncelleştirme.

    PowerShell'i yerel olarak çalıştırıyorsanız Azure'a bağlanmak için komutunu çalıştırın Connect-AzAccount .

Kaynak grubu oluşturma

Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği mantıksal bir kapsayıcıdır.

New-AzResourceGroup ile bir kaynak grubu oluşturun:

$rg = @{
    Name = 'test-rg'
    Location = 'eastus2'
}
New-AzResourceGroup @rg

Sanal ağ oluşturma

  1. New-AzVirtualNetwork komutunu kullanarak test-rg kaynak grubunda ve eastus2 konumunda IP adresi ön eki 10.0.0.0/16olan vnet-1 adlı bir sanal ağ oluşturun.

    $vnet = @{
        Name = 'vnet-1'
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        AddressPrefix = '10.0.0.0/16'
    }
    $virtualNetwork = New-AzVirtualNetwork @vnet
    
  2. Azure, kaynakları sanal ağ içindeki bir alt ağa dağıtır. Adres ön eki 10.0.0.0/24 olan subnet-1 adlı bir alt ağ yapılandırması oluşturmak için Add-AzVirtualNetworkSubnetConfig komutunu kullanın.

    $subnet = @{
        Name = 'subnet-1'
        VirtualNetwork = $virtualNetwork
        AddressPrefix = '10.0.0.0/24'
    }
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
    
  3. Ardından alt ağ yapılandırmasını Set-AzVirtualNetwork ile sanal ağ ile ilişkilendirin.

    $virtualNetwork | Set-AzVirtualNetwork
    

Azure Bastion’ı dağıtma

Azure Bastion, özel IP adreslerini kullanarak güvenli kabuk (SSH) veya uzak masaüstü protokolü (RDP) üzerinden sanal ağınızdaki VM'lere bağlanmak için tarayıcınızı kullanır. VM'lerin genel IP adreslerine, istemci yazılımına veya özel yapılandırmaya ihtiyacı yoktur. Azure Bastion hakkında daha fazla bilgi için bkz . Azure Bastion.

Not

Saatlik fiyatlandırma, giden veri kullanımına bakılmaksızın Bastion dağıtıldığından itibaren başlar. Daha fazla bilgi için bkz . Fiyatlandırma ve SKU'lar. Bastion'ı bir öğretici veya test kapsamında dağıtıyorsanız, kullanmayı bitirdikten sonra bu kaynağı silmenizi öneririz.

  1. Sanal ağınız için bir Azure Bastion alt ağı yapılandırın. Bu alt ağ yalnızca Azure Bastion kaynakları için ayrılmıştır ve AzureBastionSubnet olarak adlandırılmalıdır.

    $subnet = @{
        Name = 'AzureBastionSubnet'
        VirtualNetwork = $virtualNetwork
        AddressPrefix = '10.0.1.0/26'
    }
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
    
  2. Yapılandırmayı ayarlayın.

    $virtualNetwork | Set-AzVirtualNetwork
    
  3. Azure Bastion için genel bir IP adresi oluşturun. Savunma konağı, 443 numaralı bağlantı noktası üzerinden güvenli kabuk (SSH) ve uzak masaüstü protokolüne (RDP) erişmek için genel IP'yi kullanır.

    $ip = @{
            ResourceGroupName = 'test-rg'
            Name = 'public-ip'
            Location = 'eastus2'
            AllocationMethod = 'Static'
            Sku = 'Standard'
            Zone = 1,2,3
    }
    New-AzPublicIpAddress @ip
    
  4. New-AzBastion komutunu kullanarak AzureBastionSubnet'te yeni bir Standart SKU Azure Bastion konağı oluşturun.

    $bastion = @{
        Name = 'bastion'
        ResourceGroupName = 'test-rg'
        PublicIpAddressRgName = 'test-rg'
        PublicIpAddressName = 'public-ip'
        VirtualNetworkRgName = 'test-rg'
        VirtualNetworkName = 'vnet-1'
        Sku = 'Basic'
    }
    New-AzBastion @bastion
    

Bastion kaynaklarının dağıtılması birkaç dakika sürer.

Özel uç nokta oluşturma

Özel uç noktayı ve sanal ağa bağlantıyı ayarlamak için özel uç noktaları destekleyen bir Azure hizmeti gereklidir. Bu makaledeki örnekler için önkoşullardan bir Azure Uygulaması Services WebApp kullanıyoruz. Özel uç noktayı destekleyen Azure hizmetleri hakkında daha fazla bilgi için bkz. Azure Özel Bağlantı kullanılabilirlik.

Özel uç noktanın statik veya dinamik olarak atanmış bir IP adresi olabilir.

Önemli

Bu makaledeki adımlarla devam etmek için daha önce dağıtılmış bir Azure Uygulaması Services WebApp'iniz olmalıdır. Daha fazla bilgi için bkz. Önkoşullar.

Bu bölümde şunları yapacaksınız:

  • New-AzPrivateLinkService Bağlan ion ile özel bağlantı hizmeti bağlantısı oluşturun.

  • New-AzPrivateEndpoint ile özel uç nokta oluşturun.

  • İsteğe bağlı olarak New-AzPrivateEndpointIpConfiguration ile özel uç nokta statik IP yapılandırmasını oluşturun.

## Place the previously created webapp into a variable. ##
$webapp = Get-AzWebApp -ResourceGroupName test-rg -Name webapp-1

## Create the private endpoint connection. ## 
$pec = @{
    Name = 'connection-1'
    PrivateLinkServiceId = $webapp.ID
    GroupID = 'sites'
}
$privateEndpointConnection = New-AzPrivateLinkServiceConnection @pec

## Place the virtual network you created previously into a variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'

## Create the private endpoint. ##
$pe = @{
    ResourceGroupName = 'test-rg'
    Name = 'private-endpoint'
    Location = 'eastus2'
    Subnet = $vnet.Subnets[0]
    PrivateLinkServiceConnection = $privateEndpointConnection
}
New-AzPrivateEndpoint @pe

Özel DNS bölgesini yapılandırma

Özel DNS bölgesi, sanal ağdaki özel uç noktanın DNS adını çözümlemek için kullanılır. Bu örnekte, Azure Uygulaması Services web uygulamasının DNS bilgilerini kullanıyoruz. Özel uç noktaların DNS yapılandırması hakkında daha fazla bilgi için bkz. Azure Özel Uç Nokta DNS yapılandırması.

Bu bölümde şunları yapacaksınız:

## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -ResourceGroupName 'test-rg' -Name 'vnet-1'

## Create the private DNS zone. ##
$zn = @{
    ResourceGroupName = 'test-rg'
    Name = 'privatelink.azurewebsites.net'
}
$zone = New-AzPrivateDnsZone @zn

## Create a DNS network link. ##
$lk = @{
    ResourceGroupName = 'test-rg'
    ZoneName = 'privatelink.azurewebsites.net'
    Name = 'dns-link'
    VirtualNetworkId = $vnet.Id
}
$link = New-AzPrivateDnsVirtualNetworkLink @lk

## Configure the DNS zone. ##
$cg = @{
    Name = 'privatelink.azurewebsites.net'
    PrivateDnsZoneId = $zone.ResourceId
}
$config = New-AzPrivateDnsZoneConfig @cg

## Create the DNS zone group. ##
$zg = @{
    ResourceGroupName = 'test-rg'
    PrivateEndpointName = 'private-endpoint'
    Name = 'zone-group'
    PrivateDnsZoneConfig = $config
}
New-AzPrivateDnsZoneGroup @zg

Test sanal makinesi oluşturma

Statik IP adresini ve özel uç noktanın işlevselliğini doğrulamak için, sanal ağınıza bağlı bir test sanal makinesi gerekir.

Bu bölümde şunları yapacaksınız:

## Create the credential for the virtual machine. Enter a username and password at the prompt. ##
$cred = Get-Credential

## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -Name vnet-1 -ResourceGroupName test-rg

## Create a network interface for the virtual machine. ##
$nic = @{
    Name = 'nic-1'
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic

## Create the configuration for the virtual machine. ##
$vm1 = @{
    VMName = 'vm-1'
    VMSize = 'Standard_DS1_v2'
}
$vm2 = @{
    ComputerName = 'vm-1'
    Credential = $cred
}
$vm3 = @{
    PublisherName = 'MicrosoftWindowsServer'
    Offer = 'WindowsServer'
    Skus = '2022-Datacenter'
    Version = 'latest'
}
$vmConfig = 
New-AzVMConfig @vm1 | Set-AzVMOperatingSystem -Windows @vm2 | Set-AzVMSourceImage @vm3 | Add-AzVMNetworkInterface -Id $nicVM.Id

## Create the virtual machine. ##
New-AzVM -ResourceGroupName 'test-rg' -Location 'eastus2' -VM $vmConfig

Not

Savunma konağı olan bir sanal ağdaki sanal makinelerin genel IP adreslerine ihtiyacı yoktur. Bastion genel IP'yi sağlar ve VM'ler ağ içinde iletişim kurmak için özel IP'ler kullanır. Savunma tarafından barındırılan sanal ağlardaki tüm VM'lerden genel IP'leri kaldırabilirsiniz. Daha fazla bilgi için bkz . Azure VM'den genel IP adresini ilişkilendirme.

Not

Azure, genel IP adresi atanmamış veya bir iç temel Azure yük dengeleyicinin arka uç havuzunda yer alan VM'ler için varsayılan bir giden erişim IP'si sağlar. Varsayılan giden erişim IP mekanizması, yapılandırılamayan bir giden IP adresi sağlar.

Aşağıdaki olaylardan biri gerçekleştiğinde varsayılan giden erişim IP'si devre dışı bırakılır:

Sanal makine ölçek kümelerini esnek düzenleme modunda kullanarak oluşturduğunuz VM'lerin varsayılan giden erişimi yoktur.

Azure'daki giden bağlantılar hakkında daha fazla bilgi için bkz . Azure'da varsayılan giden erişim ve giden bağlantılar için Kaynak Ağ Adresi Çevirisi'ni (SNAT) kullanma.

Özel uç noktaya bağlantıyı test etme

Özel uç nokta üzerinden web uygulamasına bağlanmak için daha önce oluşturduğunuz sanal makineyi kullanın.

  1. Portalın üst kısmındaki arama kutusuna Sanal makine yazın. Sanal makineler'i seçin.

  2. vm-1'i seçin.

  3. vm-1'in genel bakış sayfasında Bağlan ve ardından Bastion sekmesini seçin.

  4. Bastion Kullan'ı seçin.

  5. VM'yi oluştururken kullandığınız kullanıcı adını ve parolayı girin.

  6. Bağlan'ı seçin.

  7. Bağlandıktan sonra sunucuda PowerShell'i açın.

  8. nslookup webapp-1.azurewebsites.net girin. Aşağıdaki örneğe benzer bir ileti alırsınız:

    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    webapp-1.privatelink.azurewebsites.net
    Address:  10.0.0.10
    Aliases:  webapp-1.azurewebsites.net
    

    Önceki adımlarda statik IP adresi seçtiyseniz web uygulaması adı için 10.0.0.10 özel IP adresi döndürülür. Bu adres, daha önce oluşturduğunuz sanal ağın alt ağında yer alır.

  9. vm-1 ile bastion bağlantısında web tarayıcısını açın.

  10. Web uygulamanızın URL'sini girin. https://webapp-1.azurewebsites.net

    Web uygulamanız dağıtılmamışsa aşağıdaki varsayılan web uygulaması sayfasını alırsınız:

    Tarayıcıda varsayılan web uygulaması sayfasının ekran görüntüsü.

Kaynakları temizleme

Artık gerekli olmadığında Remove-AzResourceGroup komutunu kullanarak kaynak grubunu, sanal ağı ve kalan kaynakları kaldırabilirsiniz.

Remove-AzResourceGroup -Name 'test-rg'

Sonraki adımlar

Özel uç noktaları destekleyen hizmetler hakkında daha fazla bilgi için bkz: