Conectar computadores em escalas usando guias estratégicos do Ansible
Você pode integrar nós gerenciados pelo Ansible a servidores habilitados para Azure Arc em escala usando guias estratégicos do Ansible. Para fazer isso, baixe, modifique e execute o manual apropriado.
Antes de começar, examine os pré-requisitos e verifique se a sua assinatura e os recursos atendem aos requisitos. Para obter informações sobre as regiões com suporte e outras considerações relacionadas, confira Regiões com suporte do Azure. Examine também nosso guia de planejamento em escala para entender os critérios de design e implantação, bem como nossas recomendações de gerenciamento e monitoramento.
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Conexão automática do SQL Server
Quando você conecta um servidor Windows ou Linux ao Azure Arc que também tem o Microsoft SQL Server instalado, as instâncias do SQL Server também são conectadas automaticamente ao Azure Arc. O SQL Server habilitado pelo Azure Arc fornece um inventário detalhado e recursos de gerenciamento adicionais para suas instâncias e bancos de dados do SQL Server. Como parte do processo de conexão, uma extensão é implantada no servidor habilitado para Azure Arc e novas funções serão aplicadas ao SQL Server e aos bancos de dados. Se você não quiser conectar automaticamente seus SQL Servers ao Azure Arc, poderá recusar a adição de uma marca ao servidor Windows ou Linux com o nome ArcSQLServerExtensionDeployment
e o valor Disabled
quando ele estiver conectado ao Azure Arc.
Para obter mais informações, confira Gerenciar conexão automática para o SQL Server habilitado pelo Azure Arc.
Gerar uma entidade de serviço e coletar detalhes do Azure
Antes de executar o script para conectar suas máquinas, você precisará:
Siga as etapas para criar uma entidade de serviço para integração em escala.
- Atribua a função de integração do Azure Connected Machine à sua entidade de serviço e limite o escopo da função à assinatura ou grupo de recursos do Azure de destino.
- Anote o segredo da entidade de serviço e a ID do cliente da entidade de serviço; você precisará desses valores mais tarde.
Colete detalhes sobre o ID do locatário, o ID da assinatura, o grupo de recursos e a região onde o recurso habilitado para Azure Arc será integrado.
Baixe o guia estratégico do Ansible.
Se você estiver integrando máquinas a servidores habilitados para Azure Arc, copie o seguinte modelo de manual do Ansible e salve-o como arc-server-onboard-playbook.yml
.
---
- name: Onboard Linux and Windows Servers to Azure Arc-enabled servers with public endpoint connectivity
hosts: all
# vars:
# azure:
# service_principal_id: 'INSERT-SERVICE-PRINCIPAL-CLIENT-ID'
# service_principal_secret: 'INSERT-SERVICE-PRINCIPAL-SECRET'
# resource_group: 'INSERT-RESOURCE-GROUP'
# tenant_id: 'INSERT-TENANT-ID'
# subscription_id: 'INSERT-SUBSCRIPTION-ID'
# location: 'INSERT-LOCATION'
tasks:
- name: Check if the Connected Machine Agent has already been downloaded on Linux servers
stat:
path: /usr/bin/azcmagent
get_attributes: False
get_checksum: False
register: azcmagent_lnx_downloaded
when: ansible_system == 'Linux'
- name: Download the Connected Machine Agent on Linux servers
become: yes
get_url:
url: https://aka.ms/azcmagent
dest: ~/install_linux_azcmagent.sh
mode: '700'
when: (ansible_system == 'Linux') and (azcmagent_lnx_downloaded.stat.exists == false)
- name: Install the Connected Machine Agent on Linux servers
become: yes
shell: bash ~/install_linux_azcmagent.sh
when: (ansible_system == 'Linux') and (not azcmagent_lnx_downloaded.stat.exists)
- name: Check if the Connected Machine Agent has already been downloaded on Windows servers
win_stat:
path: C:\Program Files\AzureConnectedMachineAgent
register: azcmagent_win_downloaded
when: ansible_os_family == 'Windows'
- name: Download the Connected Machine Agent on Windows servers
win_get_url:
url: https://aka.ms/AzureConnectedMachineAgent
dest: C:\AzureConnectedMachineAgent.msi
when: (ansible_os_family == 'Windows') and (not azcmagent_win_downloaded.stat.exists)
- name: Install the Connected Machine Agent on Windows servers
win_package:
path: C:\AzureConnectedMachineAgent.msi
when: (ansible_os_family == 'Windows') and (not azcmagent_win_downloaded.stat.exists)
- name: Check if the Connected Machine Agent has already been connected
become: true
command:
cmd: azcmagent check
register: azcmagent_lnx_connected
ignore_errors: yes
when: ansible_system == 'Linux'
failed_when: (azcmagent_lnx_connected.rc not in [ 0, 16 ])
changed_when: False
- name: Check if the Connected Machine Agent has already been connected on windows
win_command: azcmagent check
register: azcmagent_win_connected
when: ansible_os_family == 'Windows'
ignore_errors: yes
failed_when: (azcmagent_win_connected.rc not in [ 0, 16 ])
changed_when: False
- name: Connect the Connected Machine Agent on Linux servers to Azure Arc
become: yes
shell: azcmagent connect --service-principal-id "{{ azure.service_principal_id }}" --service-principal-secret "{{ azure.service_principal_secret }}" --resource-group "{{ azure.resource_group }}" --tenant-id "{{ azure.tenant_id }}" --location "{{ azure.location }}" --subscription-id "{{ azure.subscription_id }}"
when: (ansible_system == 'Linux') and (azcmagent_lnx_connected.rc is defined and azcmagent_lnx_connected.rc != 0)
- name: Connect the Connected Machine Agent on Windows servers to Azure
win_shell: '& $env:ProgramFiles\AzureConnectedMachineAgent\azcmagent.exe connect --service-principal-id "{{ azure.service_principal_id }}" --service-principal-secret "{{ azure.service_principal_secret }}" --resource-group "{{ azure.resource_group }}" --tenant-id "{{ azure.tenant_id }}" --location "{{ azure.location }}" --subscription-id "{{ azure.subscription_id }}"'
when: (ansible_os_family == 'Windows') and (azcmagent_win_connected.rc is defined and azcmagent_win_connected.rc != 0)
Modifique o guia estratégico do Ansible
Depois de baixar o guia estratégico do Ansible, conclua as seguintes etapas:
No guia estratégico do Ansible, modifique as variáveis na seção vars com a entidade de serviço e os detalhes do Azure coletados anteriormente:
- ID da Entidade de Serviço
- Segredo da Entidade de Serviço
- Grupo de recursos
- ID do locatário
- ID da assinatura
- Region
Insira o campo de hosts correto capturando os servidores de destino para integração ao Azure Arc. Você pode usar os modelos do Ansible para escolher seletivamente quais máquinas híbridas serão incluídas no sistema.
Esse modelo passa o segredo da entidade de serviço como uma variável no guia estratégico do Ansible. Observe que o Ansible Vault pode ser usado para criptografar esse segredo e as variáveis podem ser passadas por meio de um arquivo de configuração.
Execute o guia estratégico do Ansible
No nó de controle Ansible, execute o guia estratégico do Ansible invocando o comando ansible-playbook
:
ansible-playbook arc-server-onboard-playbook.yml
Após a execução do manual, o PLAY RECAP indica todas as tarefas concluídas com sucesso e exibe todos os nós onde as tarefas falharam.
Verificar a conexão com o Azure Arc
Depois de instalar o agente e configurá-lo para se conectar aos servidores habilitados para Azure Arc, acesse o portal do Azure para verificar se os servidores nos hosts de destino foram conectados com êxito. Veja seus computadores no portal do Azure.
Próximas etapas
- Examine o Guia de planejamento e implantação para planejar a implantação de servidores habilitados para Azure Arc em qualquer escala e implemente o gerenciamento e o monitoramento centralizados.
- Examine as informações de solução de problemas de conexão no guia Solução de problemas do Connected Machine Agent.
- Saiba como gerenciar seu computador usando o Azure Policy coisas como configurar convidados de VM, verificar se o computador está se reportando para o workspace do Log Analytics esperado, habilitar o monitoramento com insights de VMs e muito mais.