Configurar o Private Link para experimentos baseados em agente (visualização)
Este artigo explica as etapas necessárias para configurar o Azure Private Link para um experimento baseado em agente do Azure Chaos Studio (visualização). A experiência atual do usuário é baseada no suporte a pontos de extremidade privados habilitado como parte da visualização pública do recurso de pontos de extremidade privados. Espere que essa experiência evolua com o tempo, à medida que o recurso é aprimorado para a qualidade de disponibilidade geral (GA). Está atualmente em pré-visualização.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
- Defina seu experimento baseado em agente seguindo as etapas em Criar um experimento de caos que usa uma falha baseada em agente com o portal do Azure.
Nota
Se o recurso de destino tiver sido criado usando o portal do Azure, a extensão da máquina virtual (VM) do Agente do Caos será instalada automaticamente na VM do host. Se o destino estiver habilitado usando a CLI do Azure, siga a documentação do Chaos Studio para instalar a extensão de VM primeiro na VM. Até que você conclua a configuração do ponto de extremidade privado, a extensão da VM relata um estado não íntegro. Este comportamento é esperado.
Limitações
- Você precisa usar nossa API REST 2023-10-27-preview para criar e usar o Private Link apenas para experimentos baseados em agente. Não há suporte para Private Link para experimentos baseados em agente em nossa API REST estável em GA até o H1 2024.
- Toda a experiência de ponta a ponta para esse fluxo requer algum uso da CLI. A experiência atual de ponta a ponta não pode ser feita a partir do portal do Azure.
- O tipo de recurso Chaos Studio Private Accesses (CSPA) tem um mapeamento estrito de 1:1 de Chaos Target:CSPA Resource (abstração para ponto de extremidade privado). Permitimos que apenas cinco recursos CSPA sejam criados por assinatura para manter a experiência esperada para todos os nossos clientes.
Criar um recurso de Acesso Privado do Chaos Studio
Para usar pontos de extremidade privados para experimentos de caos baseados em agente, você precisa criar um novo tipo de recurso chamado Chaos Studio Private Accesses. CSPA é o recurso contra o qual os pontos de extremidade privados são criados.
Atualmente, este recurso só pode ser criado a partir da CLI. Consulte o código de exemplo a seguir para saber como criar esse tipo de recurso:
az rest --verbose --skip-authorization-header --header "Authorization=Bearer $accessToken" --method PUT --uri "https://centraluseuap.management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAResourceName>?api-version=2023-10-27-preview" --body '
{
"location": "<resourceLocation>",
"properties": {
"id": "<CSPAResourceName>",
"name": "<CSPAResourceName>",
"location": "<resourceLocation>",
"type": "Microsoft.Chaos/privateAccesses",
"resourceId": "subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAResourceName>"
}
}'
Nome | Obrigatório | Type | Description |
---|---|---|---|
ID da subscrição | True | String | GUID que representa uma ID de assinatura do Azure. |
resourceGroupName | True | String | Cadeia de caracteres que representa um grupo de recursos do Azure. |
CSPAResourceName | True | String | String que representa o nome que você deseja dar ao recurso de Acesso Privado do Chaos Studio. |
resourceLocation | True | String | Local onde você deseja que o recurso seja hospedado (deve ser uma região de suporte do Chaos Studio). |
Crie sua rede virtual, sub-rede e ponto de extremidade privado
Configure a rede virtual, a sub-rede e o ponto de extremidade desejados para o experimento, caso ainda não o tenha feito.
Certifique-se de anexá-lo à rede virtual da mesma VM. As capturas de tela fornecem exemplos de criação da rede virtual, da sub-rede e do ponto de extremidade privado. Você precisa definir Tipo de recurso como Microsoft.Chaos/privateAccesses , como visto na captura de tela.
Mapeie a VM do host do agente para o recurso CSPA
Encontre o alvo Resource ID
fazendo uma GetTarget
chamada:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}?api-version=2023-10-27-preview
O GET
comando retorna uma resposta grande. Observe esta resposta. Usamos essa resposta e a modificamos antes de executar um PUT Target
comando para mapear os dois recursos.
Invoque um PUT Target
comando usando esta resposta. Você precisa acrescentar mais dois campos ao corpo do comando antes de PUT
executá-lo.
Estes campos extras são mostrados aqui:
"privateAccessId": "subscriptions/<subID>/...
"allowPublicAccess": false
},
Aqui está um bloco de exemplo de como o PUT Target
comando deve parecer e os campos que você precisa preencher:
Nota
Copie o corpo do comando anterior GET
. Você precisa anexar manualmente os privateAccessID
campos e allowPublicAccess
.
az rest --verbose --skip-authorization-header --header "Authorization=Bearer $accessToken" --method PUT --uri "https://management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<resourceGroup>/providers/Microsoft.Compute/virtualMachines/<VMSSname>/providers/Microsoft.Chaos/targets/Microsoft-Agent?api-version=2023-10-27-preview " --body ' {
"id": "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/microsoft.compute/virtualmachines/<VMSSName>/providers/Microsoft.Chaos/targets/Microsoft-Agent",
"type": "Microsoft.Chaos/targets",
"name": "Microsoft-Agent",
"location": "<resourceLocation>",
"properties": {
"agentProfileId": "<from target resource>",
"identities": [
{
"type": "AzureManagedIdentity",
"clientId": "<clientID>",
"tenantId": "<tenantID>"
}
],
"agentTenantId": "CHAOSSTUDIO",
"privateAccessId": "subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAresourceName>",
"allowPublicAccess": false
}} '
Nota
O PrivateAccessID
valor deve corresponder exatamente ao resourceID
valor que você usou para criar o recurso CSPA na seção anterior Criar um recurso de acesso privado do Chaos Studio.
Reinicie o serviço Azure Chaos Agent na VM
Depois de fazer todas as alterações necessárias no host, reinicie o serviço Agente do Caos do Azure na VM.
Windows
Linux
Para Linux, execute o seguinte comando a partir da CLI:
Systemctl restart azure-chaos-agent
Execute seu experimento baseado em agente usando pontos de extremidade privados
Após a reinicialização, o Agente do Caos do Azure deve ser capaz de se comunicar com o serviço de plano de dados de Comunicação do Agente, e o registro do agente no plano de dados deve ser bem-sucedido. Após o registro bem-sucedido, o agente pode indicar seu status com um batimento cardíaco. Em seguida, você pode continuar a executar os experimentos baseados no Agente do Caos do Azure usando pontos de extremidade privados.