Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Ansible 2.8 (ou version ultérieure) est nécessaire pour exécuter les exemples de playbooks dans cet article.
Le peering de réseaux virtuels (VNet) vous permet de connecter facilement deux réseaux virtuels Azure. Une fois interconnectés, les deux réseaux virtuels apparaissent comme un seul réseau à des fins de connectivité.
Le trafic est acheminé entre les machines virtuelles du même réseau virtuel via des adresses IP privées. De même, le trafic entre les machines virtuelles d’un réseau virtuel appairé est acheminé via l’infrastructure de réseau principal de Microsoft. Par conséquent, les machines virtuelles dans différents réseaux virtuels peuvent communiquer entre elles.
Dans cet article, vous allez apprendre à :
- Créer deux réseaux virtuels
- Appairer les deux réseaux virtuels
- Supprimer le peering entre les deux réseaux
Prerequisites
- Abonnement Azure : si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Installez Ansible : Effectuez l’une des options suivantes :
- Installer et configurer Ansible sur une machine virtuelle Linux
- Configurez Azure Cloud Shell et, si vous n’avez pas accès à une machine virtuelle Linux, créez une machine virtuelle avec Ansible.
Créer deux groupes de ressources
Un groupe de ressources est un conteneur logique dans lequel les ressources Azure sont déployées et gérées.
Le code d'exemple du playbook présenté dans cette section est utilisé pour :
- Créer deux groupes de ressources
- 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 }}"
Créer le premier réseau virtuel
Le code d'exemple du playbook présenté dans cette section est utilisé pour :
- Créer un réseau virtuel
- Créer un sous-réseau dans le réseau virtuel
- 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 }}"
Créer le deuxième réseau virtuel
Le code d'exemple du playbook présenté dans cette section est utilisé pour :
- Créer un réseau virtuel
- Créer un sous-réseau dans le réseau virtuel
- 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 }}"
Mettre en peering les deux réseaux virtuels
Le code d'exemple du playbook présenté dans cette section est utilisé pour :
- Configurer le peering pour les réseaux virtuels
- Interconnecter deux réseaux virtuels créés précédemment
- 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
Supprimer le jumelage de réseaux virtuels
Le code d'exemple du playbook présenté dans cette section est utilisé pour :
- Supprimer le peering entre les deux réseaux virtuels créés précédemment
- name: Delete vnet peering
azure_rm_virtualnetworkpeering:
resource_group: "{{ resource_group }}"
name: "{{ peering_name }}"
virtual_network: "{{ vnet_name1 }}"
state: absent
Obtenir l’exemple de manuel
Il existe deux façons d’obtenir le playbook complet d'exemple :
-
Téléchargez le playbook et sauvegardez-le dans
vnet_peering.yml. - Créez un fichier nommé
vnet_peering.ymlet copiez le contenu suivant dans celui-ci :
- 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
Exécuter le playbook d'exemple
L’exemple de code du playbook de cette section est utilisé pour tester différentes fonctionnalités présentées dans ce tutoriel.
Voici quelques notes clés à prendre en compte lors de l'utilisation de l'exemple de livre de jeu :
- Dans la
varssection, remplacez l’espace{{ resource_group_name }}réservé par le nom de votre groupe de ressources.
Exécutez le playbook à l’aide de la commande ansible-playbook :
ansible-playbook vnet_peering.yml
Après avoir exécuté le playbook, vous voyez une sortie similaire aux résultats suivants :
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
Nettoyer les ressources
Quand vous n’en avez plus besoin, supprimez les ressources créées dans cet article.
Le code d'exemple du playbook présenté dans cette section est utilisé pour :
- Supprimer les deux groupes de ressources créés précédemment
Enregistrez le playbook suivant en tant que 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
Voici quelques notes clés à prendre en compte lors de l'utilisation de l'exemple de livre de jeu :
- Remplacez l’espace
{{ resource_group_name-1 }}réservé par le nom du premier groupe de ressources créé. - Remplacez l’espace
{{ resource_group_name-2 }}réservé par le nom du deuxième groupe de ressources créé. - Toutes les ressources au sein des deux groupes de ressources spécifiés sont supprimées.
Exécutez le playbook à l’aide de la commande ansible-playbook :
ansible-playbook cleanup.yml