Início Rápido: Criar e modificar um circuito do ExpressRoute usando o Azure PowerShell
Este início rápido mostra como criar um circuito ExpressRoute em três tipos diferentes de resiliência: Resiliência Máxima, Resiliência Alta e Resiliência Padrão usando o Azure PowerShell. Você aprenderá a verificar o status, atualizar, excluir ou desprovisionar um circuito usando os cmdlets do PowerShell.
Pré-requisitos
- Examine os pré-requisitos e os fluxos de trabalho antes de começar a configuração.
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Azure PowerShell instalado localmente ou Azure Cloud Shell
Azure Cloud Shell
O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.
Para iniciar o Azure Cloud Shell:
Opção | Exemplo/Link |
---|---|
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. | |
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. | |
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. |
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.
Pressione Enter para executar o código ou comando.
Criar e provisionar um circuito do ExpressRoute
Entre na sua conta do Azure e selecione sua assinatura
Se estiver usando o Azure Cloud Shell, você entrará na conta do Azure automaticamente após clicar em "Experimentar". Para entrar localmente, abra o console do PowerShell com privilégios elevados e execute o cmdlet para se conectar.
Connect-AzAccount
Se você tiver mais de uma assinatura, obtenha uma lista das assinaturas do Azure.
Get-AzSubscription
Especifique a assinatura que você deseja usar.
Select-AzSubscription -SubscriptionName "Name of subscription"
Obtenha a lista de provedores, de locais e de larguras de banda com suporte
Antes de criar um circuito de ExpressRoute você precisará de uma lista de provedores de conectividade com suporte, dos locais e de opções de largura de banda.
O cmdlet do PowerShell Get-AzExpressRouteServiceProvider retorna essas informações, que serão usadas em etapas posteriores:
Get-AzExpressRouteServiceProvider
Verifique se o provedor de conectividade está listado. Anote as informações a seguir, pois você precisará delas mais tarde quando criar um circuito:
- Nome
- PeeringLocations
- BandwidthsOffered
Agora você está pronto para criar um circuito do ExpressRoute.
Obter a lista de locais resilientes
Se você estiver criando um circuito do ExpressRoute com um tipo de resiliência de Resiliência Máxima, precisará conhecer a lista de locais resilientes. Estas são as etapas para recuperar essas informações:
Clonar o script
# Clone the setup script from GitHub.
git clone https://github.com/Azure-Samples/azure-docs-powershell-samples/
# Change to the directory where the script is located.
CD azure-docs-powershell-samples/expressroute/
Executar script de locais resilientes
Execute o script Get-AzExpressRouteResilientLocations.ps1 para obter a lista de locais resilientes. O exemplo a seguir mostra como obter os locais resilientes para uma assinatura específica classificada pela distância do Vale do Silício:
$SubscriptionId = Get-AzureSubscription -SubscriptionName "<SubscriptionName>"
highAvailabilitySetup/Get-AzExpressRouteResilientLocations.ps1 -SubscriptionId $SubscriptionId -RelativeLocation "silicon valley"
Se você não especificar o local, obterá uma lista de todos os locais resilientes.
Criar um circuito do ExpressRoute
Se você ainda não tiver um grupo de recursos, deverá criar um antes de criar o circuito do ExpressRoute. Você pode fazer isso executando o cmdlet New-AzResourceGroup :
$resourceGroupName = (New-AzResourceGroup -Name "ExpressRouteResourceGroup" -Location "West US").ResourceGroupName
Se você já tiver um grupo de recursos, poderá usar Get-AzResourceGroup para colocar o nome do grupo de recursos em uma variável:
$resourceGroupName = (Get-AzResourceGroup -Name "<ResourceGroupName>").ResourceGroupName
Resiliência Máxima (Recomendada) fornece o mais alto nível de resiliência para sua conexão do ExpressRoute. Ele fornece dois circuitos do ExpressRoute com redundância local em dois locais diferentes da borda do ExpressRoute.
O exemplo a seguir mostra como criar dois circuitos do ExpressRoute por meio do Equinix com redundância local no Vale do Silício e Washington DC. Se estiver usando um provedor diferente e configurações diferentes, substitua essas informações ao fazer a solicitação.
Observação
Este exemplo usa o script New-AzHighAvailabilityExpressRouteCircuits.ps1. Você deve clonar o script do GitHub para criar os circuitos. Para obter mais informações, confira Clonar o script.
$SubscriptionId = Get-AzureSubscription -SubscriptionName "<SubscriptionName>"
highAvailabilitySetup/New-AzHighAvailabilityExpressRouteCircuits.ps1 -SubscriptionId $SubscriptionId -ResourceGroupName $resourceGroupName -Location "westus" -Name1 $circuit1Name -Name2 $circuit2Name -SkuFamily1 "MeteredData" -SkuFamily2 "MeteredData" -SkuTier1 "Standard" -SkuTier2 "Standard" -ServiceProviderName1 "Equinix" -ServiceProviderName2 "Equinix" -PeeringLocation1 "Silicon Valley" -PeeringLocation2 "Washington DC" -BandwidthInMbps 1000
Observação
A Resiliência Máxima fornece proteção máxima contra interrupções em todo o local e falhas de conectividade em um local do ExpressRoute. Essa opção é altamente recomendada para cargas de trabalho críticas e de produção.
Especifique a camada da SKU e a família de SKUs corretas:
- O nível de SKU determina se o circuito do ExpressRoute será Local, Standard ou Premium. Você poderá especificar Local, *Standard ou Premium.
- A família do SKU determina o tipo de cobrança. Você pode especificar MeteredData para um plano de dados limitados e UnlimitedData para um plano de dados ilimitados. É possível alterar o tipo de cobrança de MeteredData para UnlimitedData, mas não de UnlimitedData para MeteredData. Um circuito Local é sempre UnlimitedData.
Importante
O circuito do ExpressRoute será cobrado a partir do momento em que uma chave de serviço for emitida. Execute esta operação quando o provedor de conectividade estiver pronto para provisionar o circuito.
A resposta conterá a chave de serviço. Você pode obter descrições detalhadas de todos os parâmetros executando o seguinte comando:
get-help New-AzExpressRouteCircuit -detailed
Listar todos os circuitos do ExpressRoute
Para obter uma lista com todos os circuitos do ExpressRoute criados, execute o comando Get-AzExpressRouteCircuit:
Get-AzExpressRouteCircuit
A resposta se assemelha à seguinte:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : NotProvisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
Você pode recuperar essas informações a qualquer momento usando o cmdlet Get-AzExpressRouteCircuit
. Fazer a chamada sem parâmetros listará todos os circuitos. Sua chave de serviço está listada no campo ServiceKey:
Get-AzExpressRouteCircuit
A resposta se assemelha à seguinte:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : NotProvisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
Enviar a chave de serviço ao seu provedor de conectividade para obter provisionamento
O ServiceProviderProvisioningState fornece informações sobre o estado atual de provisionamento no lado do provedor de serviços. O CircuitProvisioningState fornece o status no lado da Microsoft. Para saber mais sobre os estados de provisionamento do circuito, consulte Fluxos de trabalho.
Quando você cria um novo circuito do ExpressRoute, ele está no seguinte estado:
ServiceProviderProvisioningState : NotProvisioned
CircuitProvisioningState : Enabled
O circuito assumirá o seguinte estado quando o provedor de conectividade estiver habilitando ele para você:
ServiceProviderProvisioningState : Provisioning
CircuitProvisioningState : Enabled
Para usar o circuito do ExpressRoute, ele precisa estar no seguinte estado:
ServiceProviderProvisioningState : Provisioned
CircuitProvisioningState : Enabled
Verifique periodicamente o status e o estado da chave do circuito
A verificação do status e do estado da chave do serviço informará você quando o provedor tiver provisionado o circuito. Após a configuração do circuito, o ServiceProviderProvisioningState será exibido como Provisioned, conforme mostrado neste exemplo:
Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
A resposta se assemelha à seguinte:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : Provisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
Criar sua configuração de roteamento
Para obter instruções passo a passo, confira o artigo configuração do roteamento de circuito do ExpressRoute para criar e modificar os emparelhamentos de circuito.
Importante
Estas instruções aplicam-se apenas a circuitos criados com provedores de serviço que oferecem serviços de conectividade de camada 2. Se você estiver usando um provedor de serviços que oferece serviços gerenciados de camada 3 (normalmente um IP VPN, como MPLS), seu provedor de conectividade configurará e gerenciará o roteamento para você.
Vincular uma rede virtual a um circuito de ExpressRoute
Em seguida, vincule uma rede virtual a seu circuito do ExpressRoute. Use o artigo Vincular redes virtuais a circuitos do ExpressRoute ao trabalhar com o modelo de implantação do Gerenciador de Recursos.
Obtendo o status de um circuito do ExpressRoute
Você poderá recuperar essas informações a qualquer momento usando o cmdlet Get-AzExpressRouteCircuit. Fazer a chamada sem parâmetros listará todos os circuitos.
Get-AzExpressRouteCircuit
A resposta é semelhante ao seguinte exemplo:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : Provisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
Você pode obter informações sobre um circuito do ExpressRoute específico passando o nome do grupo de recursos e o nome do circuito como um parâmetro para a chamada:
Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
A resposta se assemelha à seguinte:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : Provisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
Você pode obter descrições detalhadas de todos os parâmetros executando o seguinte comando:
get-help Get-AzExpressRouteCircuit -detailed
Modificando um circuito do ExpressRoute
Você pode modificar certas propriedades de um circuito do ExpressRoute sem afetar a conectividade.
É possível executar as seguintes tarefas sem tempo de inatividade:
- Como habilitar ou desabilitar o complemento premium do ExpressRoute para seu circuito do ExpressRoute.
- Aumente a largura de banda do circuito do ExpressRoute, contanto que haja capacidade disponível na porta. Não há suporte para fazer downgrade da largura de banda de um circuito.
- Altere o plano de medição de Dados Limitados para Dados Ilimitados. Não há suporte para a alteração do plano de medição de Dados Ilimitados para Dados Limitados.
- Você pode habilitar e desabilitar Permitir Operações Clássicas.
Para saber mais sobre limites e limitações, confira as Perguntas frequentes sobre o ExpressRoute.
Para habilitar o complemento premium do ExpressRoute
Você pode habilitar o complemento premium do ExpressRoute para o circuito existente usando o seguinte snippet do PowerShell:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.Sku.Tier = "Premium"
$ckt.sku.Name = "Premium_MeteredData"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
Agora, o circuito terá os recursos do complemento ExpressRoute Premium habilitados. Começaremos a cobrar pela funcionalidade do complemento Premium assim que o comando for executado com êxito.
Para desabilitar o complemento premium do ExpressRoute
Importante
Se usar recursos que ultrapassam o permitido para o circuito padrão, a operação poderá falhar.
Observe as seguintes informações:
- Antes de fazer o downgrade de premium para standard, verifique se o número de redes virtuais vinculadas ao circuito é menor que 10. Se você não fizer isso, sua solicitação de atualização falhará e você será cobrado conforme as tarifas premium.
- Todas as redes virtuais em outras regiões geopolíticas primeiro devem ser desvinculadas. Se você não remove o vínculo, a solicitação de atualização falha e seguimos cobrando as tarifas premium.
- Sua tabela de roteamento deve ter menos de 4.000 rotas para o emparelhamento privado. Se o tamanho da tabela de rotas for maior que 4.000 rotas, a sessão de BGP será suspensa. A sessão do BGP não é reestabelecida até que o número de prefixos anunciados esteja abaixo de quatro mil.
Você pode desabilitar o complemento premium do ExpressRoute para o circuito existente usando o seguinte cmdlet do PowerShell:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.Sku.Tier = "Standard"
$ckt.sku.Name = "Standard_MeteredData"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
Para atualizar a largura de banda do circuito do ExpressRoute
Para obter opções de largura de banda com suporte para seu provedor, confira as Perguntas frequentes sobre o ExpressRoute. Você pode escolher qualquer tamanho maior do que o tamanho do circuito existente.
Importante
Talvez seja necessário recriar o circuito de ExpressRoute se não houver capacidade adequada na porta existente. Você não pode atualizar o circuito não se houver capacidade adicional disponível nesse local.
Não é possível reduzir a largura de banda de um circuito do ExpressRoute sem interrupções. O downgrade da largura de banda exige o desprovisionamento do circuito do ExpressRoute e um reprovisionamento de um novo circuito do ExpressRoute.
Depois de decidir sobre qual tamanho você precisa, use o seguinte comando para redimensionar o circuito:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.ServiceProviderProperties.BandwidthInMbps = 1000
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
O circuito é atualizado no lado da Microsoft. Entre em contato com seu provedor de conectividade para que ele atualize as configurações para corresponder a essa alteração. Depois que você fizer essa notificação, começaremos a cobrar pela opção de largura de banda atualizada.
Para mover a SKU de limitado para ilimitado
Você pode alterar a SKU de um circuito de ExpressRoute usando o seguinte snippet de código do PowerShell:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.Sku.Family = "UnlimitedData"
$ckt.sku.Name = "Premium_UnlimitedData"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
Para controlar o acesso aos ambientes clássico e do Resource Manager
Confira as instruções em Mover os circuitos de ExpressRoute do modelo de implantação Clássico para o Resource Manager.
Como desprovisionar um circuito do ExpressRoute
Observe as seguintes informações:
- Todas as redes virtuais devem ser desvinculadas do circuito do ExpressRoute. Se essa operação falhar, verifique se há redes virtuais vinculadas ao circuito.
- Se o estado de provisionamento do provedor de serviço de circuito de ExpressRoute for Provisionando ou Provisionado, você deverá trabalhar com seu provedor de serviços para que ele desprovisione o circuito. Continuaremos a reservar recursos e a cobrar de você até que o provedor de serviços complete o desprovisionamento do circuito e nos notifique.
- Se o provedor de serviços desprovisionou o circuito (ou seja, se o estado de provisionamento do provedor de serviços tiver sido definido como Não provisionado), então você poderá excluir o circuito. A cobrança da interrupção do circuito.
Limpar os recursos
Você pode excluir o circuito do ExpressRoute executando o comando a seguir:
Remove-AzExpressRouteCircuit -ResourceGroupName "ExpressRouteResourceGroup" -Name "ExpressRouteARMCircuit"
Próximas etapas
Depois de criar o circuito e provisioná-lo com o provedor, prossiga para a próxima etapa a fim de configurar o emparelhamento: