Rychlý start: Vytvoření privátního koncového bodu pomocí Azure PowerShellu

Začněte se službou Azure Private Link vytvořením a použitím privátního koncového bodu pro zabezpečené připojení k webové aplikaci Aplikace Azure Services.

V tomto rychlém startu vytvořte privátní koncový bod pro webovou aplikaci Aplikace Azure Services a pak vytvořte a nasaďte virtuální počítač k otestování privátního připojení.

Můžete vytvořit privátní koncové body pro různé služby Azure, jako je Azure SQL a Azure Storage.

Diagram prostředků vytvořených v rychlém startu privátního koncového bodu

Požadavky

  • Účet Azure s aktivním předplatným. Pokud ještě účet Azure nemáte, vytvořte si ho zdarma.

  • Webová aplikace Azure s plánem služby App Service úrovně PremiumV2 nebo vyšší, nasazenou ve vašem předplatném Azure.

  • Azure Cloud Shell nebo Azure PowerShell.

    Kroky v tomto rychlém startu spouští rutiny Azure PowerShellu interaktivně v Azure Cloud Shellu. Pokud chcete příkazy spustit v Cloud Shellu, vyberte Otevřít CloudShell v pravém horním rohu bloku kódu. Výběrem možnosti Kopírovat zkopírujte kód a vložte ho do Cloud Shellu a spusťte ho. Cloud Shell můžete spustit také z webu Azure Portal.

    Ke spuštění rutin můžete také nainstalovat Azure PowerShell místně . Kroky v tomto článku vyžadují modul Azure PowerShell verze 5.4.1 nebo novější. Spuštěním Get-Module -ListAvailable Az vyhledejte nainstalovanou verzi. Pokud potřebujete upgradovat, přečtěte si téma Aktualizace modulu Azure PowerShellu.

    Pokud powershell spouštíte místně, spusťte Connect-AzAccount připojení k Azure.

Vytvoření skupiny zdrojů

Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.

Vytvořte skupinu prostředků pomocí rutiny New-AzResourceGroup:

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

Vytvoření virtuální sítě

  1. Pomocí rutiny New-AzVirtualNetwork vytvořte virtuální síť s názvem vnet-1 s předponou IP adresy 10.0.0.0/16 ve skupině prostředků test-rg a umístění eastus2 .

    $vnet = @{
        Name = 'vnet-1'
        ResourceGroupName = 'test-rg'
        Location = 'eastus2'
        AddressPrefix = '10.0.0.0/16'
    }
    $virtualNetwork = New-AzVirtualNetwork @vnet
    
  2. Azure nasadí prostředky do podsítě v rámci virtuální sítě. Pomocí rutiny Add-AzVirtualNetworkSubnetConfig vytvořte konfiguraci podsítě s názvem subnet-1 s předponou adresy 10.0.0.0/24.

    $subnet = @{
        Name = 'subnet-1'
        VirtualNetwork = $virtualNetwork
        AddressPrefix = '10.0.0.0/24'
    }
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
    
  3. Potom přidružte konfiguraci podsítě k virtuální síti s rutinou Set-AzVirtualNetwork.

    $virtualNetwork | Set-AzVirtualNetwork
    

Nasazení služby Azure Bastion

Azure Bastion používá váš prohlížeč k připojení k virtuálním počítačům ve virtuální síti přes secure shell (SSH) nebo protokol RDP (Remote Desktop Protocol) pomocí jejich privátních IP adres. Virtuální počítače nepotřebují veřejné IP adresy, klientský software ani speciální konfiguraci. Další informace o službě Azure Bastion najdete v tématu Azure Bastion.

Poznámka:

Hodinová cena začíná od okamžiku nasazení Bastionu bez ohledu na využití odchozích dat. Další informace najdete v tématu Ceny a skladové položky. Pokud bastion nasazujete jako součást kurzu nebo testu, doporučujeme tento prostředek po dokončení jeho použití odstranit.

  1. Nakonfigurujte podsíť Služby Azure Bastion pro vaši virtuální síť. Tato podsíť je vyhrazená výhradně pro prostředky služby Azure Bastion a musí mít název AzureBastionSubnet.

    $subnet = @{
        Name = 'AzureBastionSubnet'
        VirtualNetwork = $virtualNetwork
        AddressPrefix = '10.0.1.0/26'
    }
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
    
  2. Nastavte konfiguraci.

    $virtualNetwork | Set-AzVirtualNetwork
    
  3. Vytvořte veřejnou IP adresu pro Azure Bastion. Hostitel bastionu používá veřejnou IP adresu pro přístup k zabezpečenému prostředí (SSH) a protokolu RDP (Remote Desktop Protocol) přes port 443.

    $ip = @{
            ResourceGroupName = 'test-rg'
            Name = 'public-ip'
            Location = 'eastus2'
            AllocationMethod = 'Static'
            Sku = 'Standard'
            Zone = 1,2,3
    }
    New-AzPublicIpAddress @ip
    
  4. Pomocí příkazu New-AzBastion vytvořte nového hostitele Azure Bastion úrovně Standard v podsítě AzureBastionSubnet.

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

Nasazení prostředků Bastionu trvá několik minut.

Vytvoření privátního koncového bodu

K nastavení privátního koncového bodu a připojení k virtuální síti se vyžaduje služba Azure, která podporuje privátní koncové body. V příkladech v tomto článku používáme webovou aplikaci Aplikace Azure Services z požadavků. Další informace o službách Azure, které podporují privátní koncový bod, najdete v tématu Dostupnost služby Azure Private Link.

Privátní koncový bod může mít statickou nebo dynamicky přiřazenou IP adresu.

Důležité

Abyste mohli pokračovat kroky v tomto článku, musíte mít dříve nasazenou webovou aplikaci Aplikace Azure Services. Další informace najdete v části Předpoklady.

V této části:

## 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

Konfigurace privátní zóny DNS

Privátní zóna DNS se používá k překladu názvu DNS privátního koncového bodu ve virtuální síti. V tomto příkladu používáme informace DNS pro webovou aplikaci Aplikace Azure Services, další informace o konfiguraci DNS privátních koncových bodů najdete v tématu Konfigurace DNS privátního koncového bodu Azure.

V této části:

## 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

Vytvoření testovacího virtuálního počítače

K ověření statické IP adresy a funkčnosti privátního koncového bodu se vyžaduje testovací virtuální počítač připojený k vaší virtuální síti.

V této části:

## 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

Poznámka:

Virtuální počítače ve virtuální síti s hostitelem bastionu nepotřebují veřejné IP adresy. Bastion poskytuje veřejnou IP adresu a virtuální počítače používají privátní IP adresy ke komunikaci v síti. Veřejné IP adresy můžete odebrat z libovolného virtuálního počítače v hostovaných virtuálních sítích bastionu. Další informace najdete v tématu Zrušení přidružení veřejné IP adresy z virtuálního počítače Azure.

Poznámka:

Azure poskytuje výchozí odchozí IP adresu pro virtuální počítače, které nemají přiřazenou veřejnou IP adresu nebo jsou v back-endovém fondu interního základního nástroje pro vyrovnávání zatížení Azure. Výchozí mechanismus odchozích IP adres poskytuje odchozí IP adresu, která není konfigurovatelná.

Výchozí ip adresa odchozího přístupu je zakázaná, když dojde k jedné z následujících událostí:

  • Virtuálnímu počítači se přiřadí veřejná IP adresa.
  • Virtuální počítač se umístí do back-endového fondu standardního nástroje pro vyrovnávání zatížení s odchozími pravidly nebo bez něj.
  • Prostředek Azure NAT Gateway je přiřazen k podsíti virtuálního počítače.

Virtuální počítače, které vytvoříte pomocí škálovacích sad virtuálních počítačů v flexibilním režimu orchestrace, nemají výchozí odchozí přístup.

Další informace o odchozích připojeních v Azure najdete v tématu Výchozí odchozí přístup v Azure a použití překladu zdrojových síťových adres (SNAT) pro odchozí připojení.

Testování připojení k privátnímu koncovému bodu

Pomocí virtuálního počítače, který jste vytvořili dříve, se připojte k webové aplikaci přes privátní koncový bod.

  1. Do vyhledávacího pole v horní části portálu zadejte virtuální počítač. Vyberte Virtuální počítače.

  2. Vyberte vm-1.

  3. Na stránce přehledu virtuálního počítače vm-1 vyberte Připojení a pak vyberte kartu Bastion.

  4. Vyberte Použít Bastion.

  5. Zadejte uživatelské jméno a heslo, které jste použili při vytváření virtuálního počítače.

  6. Vyberte Připojit.

  7. Po připojení otevřete PowerShell na serveru.

  8. Zadejte nslookup webapp-1.azurewebsites.net. Zobrazí se zpráva podobná následujícímu příkladu:

    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
    

    Pokud jste v předchozích krocích zvolili statickou IP adresu 10.0.0.10, vrátí se pro název webové aplikace privátní IP adresa 10.0.10 . Tato adresa je v podsíti virtuální sítě, kterou jste vytvořili dříve.

  9. V připojení bastionu k virtuálnímu počítači vm-1 otevřete webový prohlížeč.

  10. Zadejte adresu URL webové aplikace https://webapp-1.azurewebsites.net.

    Pokud se vaše webová aplikace nenasadila, zobrazí se následující výchozí stránka webové aplikace:

    Snímek obrazovky s výchozí stránkou webové aplikace v prohlížeči

Vyčištění prostředků

Pokud už je nepotřebujete, můžete pomocí příkazu Remove-AzResourceGroup odebrat skupinu prostředků, virtuální síť a zbývající prostředky.

Remove-AzResourceGroup -Name 'test-rg'

Další kroky

Další informace o službách, které podporují privátní koncové body, najdete tady: