Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
O Ansible 2.8 (ou posterior) é necessário para executar os guias estratégicos de exemplo neste artigo.
O emparelhamento de rede virtual (VNet) permite que você conecte perfeitamente duas redes virtuais do Azure. Uma vez pareadas, as duas redes virtuais aparecem como uma para fins de conectividade.
O tráfego é roteado entre VMs na mesma rede virtual por meio de endereços IP privados. Da mesma forma, o tráfego entre VMs em uma rede virtual emparelhada é roteado por meio da infraestrutura de backbone da Microsoft. Como resultado, as VMs em redes virtuais diferentes podem se comunicar entre si.
Neste artigo, você aprenderá a:
- Criar duas redes virtuais
- Emparelhar as duas redes virtuais
- Excluir o emparelhamento entre as duas redes
Pré-requisitos
- Assinatura do Azure: Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Instalar o Ansible: execute uma das seguintes opções:
- Instalar e configurar o Ansible em uma máquina virtual linux
- Configure o Azure Cloud Shell e, se você não tiver acesso a uma máquina virtual linux, crie uma máquina virtual com o Ansible.
Criar dois grupos de recursos
Um grupo de recursos é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados.
O código do guia estratégico de exemplo nesta seção é usado para:
- Criar dois grupos de recursos
- name: Create a resource group
azure_rm_resourcegroup:
name: "{{ resource_group }}"
location: "{{ location }}"
- name: Create secondary resource group
azure_rm_resourcegroup:
name: "{{ resource_group_secondary }}"
location: "{{ location }}"
Criar sua primeira rede virtual
O código do guia estratégico de exemplo nesta seção é usado para:
- Criar uma rede virtual
- Criar uma sub-rede dentro da rede virtual
- name: Create first virtual network
azure_rm_virtualnetwork:
resource_group: "{{ resource_group }}"
name: "{{ vnet_name1 }}"
address_prefixes: "10.0.0.0/16"
- name: Add subnet
azure_rm_subnet:
resource_group: "{{ resource_group }}"
name: "{{ vnet_name1 }}"
address_prefix: "10.0.0.0/24"
virtual_network: "{{ vnet_name1 }}"
Criar a segunda rede virtual
O código do guia estratégico de exemplo nesta seção é usado para:
- Criar uma rede virtual
- Criar uma sub-rede dentro da rede virtual
- name: Create second virtual network
azure_rm_virtualnetwork:
resource_group: "{{ resource_group_secondary }}"
name: "{{ vnet_name2 }}"
address_prefixes: "10.1.0.0/16"
- name: Add subnet
azure_rm_subnet:
resource_group: "{{ resource_group }}"
name: "{{ vnet_name2 }}"
address_prefix: "10.1.0.0/24"
virtual_network: "{{ vnet_name2 }}"
Emparelhar as duas redes virtuais
O código do guia estratégico de exemplo nesta seção é usado para:
- Inicializar o emparelhamento de rede virtual
- Emparelhar duas redes virtuais criadas anteriormente
- name: Initial vnet peering
azure_rm_virtualnetworkpeering:
resource_group: "{{ resource_group }}"
name: "{{ peering_name }}"
virtual_network: "{{ vnet_name1 }}"
remote_virtual_network:
resource_group: "{{ resource_group_secondary }}"
name: "{{ vnet_name2 }}"
allow_virtual_network_access: true
allow_forwarded_traffic: true
- name: Connect vnet peering
azure_rm_virtualnetworkpeering:
resource_group: "{{ resource_group_secondary }}"
name: "{{ peering_name }}"
virtual_network: "{{ vnet_name2 }}"
remote_virtual_network:
resource_group: "{{ resource_group }}"
name: "{{ vnet_name1 }}"
allow_virtual_network_access: true
allow_forwarded_traffic: true
Excluir o emparelhamento de rede virtual
O código do guia estratégico de exemplo nesta seção é usado para:
- Excluir o emparelhamento entre as duas redes virtuais criadas anteriormente
- name: Delete vnet peering
azure_rm_virtualnetworkpeering:
resource_group: "{{ resource_group }}"
name: "{{ peering_name }}"
virtual_network: "{{ vnet_name1 }}"
state: absent
Obter o manual de operações de exemplo
Há duas maneiras de obter o guia estratégico de exemplo completo:
-
Baixe o guia estratégico e salve-o em
vnet_peering.yml. - Crie um novo arquivo nomeado
vnet_peering.ymle copie o seguinte conteúdo para ele:
- hosts: localhost
tasks:
- name: Prepare random postfix
set_fact:
rpfx: "{{ 1000 | random }}"
run_once: yes
- name: Connect virtual networks with virtual network peering
hosts: localhost
connection: local
vars:
resource_group: "{{ resource_group_name }}"
resource_group_secondary: "{{ resource_group_name }}2"
vnet_name1: "myVnet{{ rpfx }}"
vnet_name2: "myVnet{{ rpfx }}2"
peering_name: peer1
location: eastus2
tasks:
- name: Create a resource group
azure_rm_resourcegroup:
name: "{{ resource_group }}"
location: "{{ location }}"
- name: Create secondary resource group
azure_rm_resourcegroup:
name: "{{ resource_group_secondary }}"
location: "{{ location }}"
- name: Create first virtual network
azure_rm_virtualnetwork:
resource_group: "{{ resource_group }}"
name: "{{ vnet_name1 }}"
address_prefixes: "10.0.0.0/16"
- name: Add subnet
azure_rm_subnet:
resource_group: "{{ resource_group }}"
name: "{{ vnet_name1 }}"
address_prefix: "10.0.0.0/24"
virtual_network: "{{ vnet_name1 }}"
- name: Create second virtual network
azure_rm_virtualnetwork:
resource_group: "{{ resource_group_secondary }}"
name: "{{ vnet_name2 }}"
address_prefixes: "10.1.0.0/16"
- name: Add subnet
azure_rm_subnet:
resource_group: "{{ resource_group }}"
name: "{{ vnet_name2 }}"
address_prefix: "10.1.0.0/24"
virtual_network: "{{ vnet_name2 }}"
- name: Initial vnet peering
azure_rm_virtualnetworkpeering:
resource_group: "{{ resource_group }}"
name: "{{ peering_name }}"
virtual_network: "{{ vnet_name1 }}"
remote_virtual_network:
resource_group: "{{ resource_group_secondary }}"
name: "{{ vnet_name2 }}"
allow_virtual_network_access: true
allow_forwarded_traffic: true
- name: Connect vnet peering
azure_rm_virtualnetworkpeering:
resource_group: "{{ resource_group_secondary }}"
name: "{{ peering_name }}"
virtual_network: "{{ vnet_name2 }}"
remote_virtual_network:
resource_group: "{{ resource_group }}"
name: "{{ vnet_name1 }}"
allow_virtual_network_access: true
allow_forwarded_traffic: true
- name: Delete vnet peering
azure_rm_virtualnetworkpeering:
resource_group: "{{ resource_group }}"
name: "{{ peering_name }}"
virtual_network: "{{ vnet_name1 }}"
state: absent
Executar o playbook de exemplo
O código do guia estratégico de exemplo nesta seção é usado para testar vários recursos mostrados ao longo deste tutorial.
Aqui estão algumas notas importantes a serem consideradas ao trabalhar com o guia estratégico de exemplo:
- Na seção
vars, substitua o espaço reservado{{ resource_group_name }}pelo nome do seu grupo de recursos.
Execute o guia estratégico usando o comando ansible-playbook:
ansible-playbook vnet_peering.yml
Depois de executar o guia estratégico, você verá uma saída semelhante aos seguintes resultados:
PLAY [localhost]
TASK [Gathering Facts]
ok: [localhost]
TASK [Prepare random postfix]
ok: [localhost]
PLAY [Connect virtual networks with virtual network peering]
TASK [Gathering Facts]
ok: [localhost]
TASK [Create a resource group]
changed: [localhost]
TASK [Create secondary resource group]
changed: [localhost]
TASK [Create first virtual network]
changed: [localhost]
TASK [Add subnet]
changed: [localhost]
TASK [Create second virtual network]
changed: [localhost]
TASK [Add subnet]
changed: [localhost]
TASK [Initial vnet peering]
changed: [localhost]
TASK [Connect vnet peering]
changed: [localhost]
TASK [Delete vnet peering]
changed: [localhost]
PLAY RECAP
localhost : ok=12 changed=9 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Limpar os recursos
Quando não for mais necessário, exclua os recursos criados neste artigo.
O código do guia estratégico de exemplo nesta seção é usado para:
- Excluir os dois grupos de recursos criados anteriormente
Salve o guia estratégico a seguir como cleanup.yml:
- hosts: localhost
vars:
resource_group: "{{ resource_group_name-1 }}"
resource_group_secondary: "{{ resource_group_name-2 }}"
tasks:
- name: Delete a resource group
azure_rm_resourcegroup:
name: "{{ resource_group }}"
force_delete_nonempty: yes
state: absent
- name: Delete a resource group
azure_rm_resourcegroup:
name: "{{ resource_group_secondary }}"
force_delete_nonempty: yes
state: absent
Aqui estão algumas notas importantes a serem consideradas ao trabalhar com o guia estratégico de exemplo:
- Substitua o
{{ resource_group_name-1 }}marcador de posição pelo nome do primeiro grupo de recursos criado. - Substitua o espaço reservado
{{ resource_group_name-2 }}pelo nome do segundo grupo de recursos criado. - Todos os recursos dentro dos dois grupos de recursos especificados serão excluídos.
Execute o guia estratégico usando o comando ansible-playbook:
ansible-playbook cleanup.yml