Oktatóanyag: Azure-beli virtuális hálózatok közötti társviszony-létesítés konfigurálása az Ansible használatával
Fontos
Az Ansible 2.8 (vagy újabb) szükséges a jelen cikkben szereplő minta forgatókönyvek futtatásához.
A virtuális hálózatok közötti társviszony-létesítés lehetővé teszi két Azure-beli virtuális hálózat zökkenőmentes csatlakoztatását. A társviszony létesítése után a két virtuális hálózat összekapcsolás céljából egyként jelenik meg.
A forgalom ugyanabban a virtuális hálózatban lévő virtuális gépek között privát IP-címeken keresztül van irányítva. Hasonlóképpen, a társhálózatban lévő virtuális hálózatok virtuális gépei közötti forgalom a Microsoft gerincinfrastruktúrán keresztül történik. Ennek eredményeképpen a különböző virtuális hálózatok virtuális gépei kommunikálhatnak egymással.
Ebben a cikkben az alábbiakkal ismerkedhet meg:
- Két virtuális gép létrehozása
- Társviszony a két virtuális hálózattal
- A két hálózat közötti társviszony törlése
Előfeltételek
- Azure-előfizetés: Ha nem rendelkezik Azure-előfizetéssel, első lépésként mindössze néhány perc alatt létrehozhat egy ingyenes fiókot.
Az Ansible telepítése: Válasszon az alábbi lehetőségek közül:
- Az Ansible telepítése és konfigurálása Linux rendszerű virtuális gépen
- Konfigurálja az Azure Cloud Shellt , és – ha nincs hozzáférése Linux rendszerű virtuális géphez – hozzon létre egy virtuális gépet az Ansible használatával.
Két erőforráscsoport létrehozása
Az erőforráscsoport olyan logikai tároló, amelyben a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat.
Az ebben a szakaszban található minta forgatókönyv-kód a következőre szolgál:
- Két erőforráscsoport létrehozása
- 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 }}"
Az első virtuális hálózat létrehozása
Az ebben a szakaszban található minta forgatókönyv-kód a következőre szolgál:
- Virtuális hálózat létrehozása
- Alhálózat létrehozása a virtuális hálózaton belül
- 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 }}"
A második virtuális hálózat létrehozása
Az ebben a szakaszban található minta forgatókönyv-kód a következőre szolgál:
- Virtuális hálózat létrehozása
- Alhálózat létrehozása a virtuális hálózaton belül
- 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 }}"
Társviszony a két virtuális hálózattal
Az ebben a szakaszban található minta forgatókönyv-kód a következőre szolgál:
- Virtuális hálózati társviszony inicializálása
- Társviszony két korábban létrehozott virtuális hálózattal
- 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
Törölje a virtuális hálózati társviszonyt.
Az ebben a szakaszban található minta forgatókönyv-kód a következőre szolgál:
- A két korábban létrehozott virtuális hálózat közötti társviszony törlése
- name: Delete vnet peering
azure_rm_virtualnetworkpeering:
resource_group: "{{ resource_group }}"
name: "{{ peering_name }}"
virtual_network: "{{ vnet_name1 }}"
state: absent
A minta forgatókönyv lekérése
A teljes minta forgatókönyv kétféleképpen szerezhető be:
- Töltse le a forgatókönyvet , és mentse a következőre
vnet_peering.yml
: . - Hozzon létre egy új, elnevezett
vnet_peering.yml
fájlt, és másolja a következő tartalmat a fájlba:
- 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
A minta forgatókönyv futtatása
Az ebben a szakaszban található minta forgatókönyv-kód az oktatóanyag során bemutatott különböző funkciók tesztelésére szolgál.
Az alábbiakban néhány fontos megjegyzést érdemes figyelembe venni a minta forgatókönyv használatakor:
vars
A szakaszban cserélje le a{{ resource_group_name }}
helyőrzőt az erőforráscsoport nevére.
Futtassa a forgatókönyvet az ansible-playbook paranccsal:
ansible-playbook vnet_peering.yml
A forgatókönyv futtatása után a következő eredményekhez hasonló kimenet jelenik meg:
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
Clean up resources
Ha már nincs rá szükség, törölje a cikkben létrehozott erőforrásokat.
Az ebben a szakaszban található minta forgatókönyv-kód a következőre szolgál:
- A korábban létrehozott két erőforráscsoport törlése
Mentse a következő forgatókönyvet cleanup.yml
néven:
- 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
Az alábbiakban néhány fontos megjegyzést érdemes figyelembe venni a minta forgatókönyv használatakor:
- Cserélje le a
{{ resource_group_name-1 }}
helyőrzőt az első létrehozott erőforráscsoport nevére. - Cserélje le a
{{ resource_group_name-2 }}
helyőrzőt a második létrehozott erőforráscsoport nevére. - A két megadott erőforráscsoporton belüli összes erőforrás törlődik.
Futtassa a forgatókönyvet az ansible-playbook paranccsal:
ansible-playbook cleanup.yml
További lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: