Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Bu makaledeki örnek playbook'ları çalıştırmak için Ansible 2.8 (veya üzeri) gereklidir.
Azure, Azure alt ağları, sanal ağlar ve şirket içi ağlar arasındaki trafiği otomatik olarak yönlendirir. Ortamınızın yönlendirmesi üzerinde daha fazla denetime ihtiyacınız varsa bir yol tablosu oluşturabilirsiniz.
Bu makalede şunları öğreneceksiniz:
Yönlendirme tablosu oluşturma Sanal ağ ve alt ağ oluşturma Yönlendirme tablosunu alt ağ ile ilişkilendirme Alt ağdan yönlendirme tablosunun bağlantısını kesme Yollar oluşturma ve silme Yönlendirme tablosunu sorgulama Yönlendirme tablosunu silme
Önkoşullar
- Azure aboneliği: Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Ansible'ı Yükleme: Aşağıdaki seçeneklerden birini yapın:
- Ansible'ı Linux sanal makinesine yükleme ve yapılandırma
- Azure Cloud Shell'i yapılandırın ve Linux sanal makinesine erişiminiz yoksa Ansible ile bir sanal makine oluşturun.
Yönlendirme tablosu oluşturma
Bu bölümdeki playbook kodu bir yol tablosu oluşturur. Rota tablosu sınırları hakkında bilgi için bkz. Azure sınırları.
Aşağıdaki playbook'u route_table_create.yml olarak kaydedin.
- hosts: localhost
vars:
route_table_name: myRouteTable
resource_group: myResourceGroup
tasks:
- name: Create a route table
azure_rm_routetable:
name: "{{ route_table_name }}"
resource_group: "{{ resource_group }}"
Ansible-playbook kullanarak playbook'u çalıştırın
ansible-playbook route_table_create.yml
Yönlendirme tablosunu bir alt ağ ile ilişkilendirme
Bu bölümdeki playbook (oyun kitabı) kodu:
- Sanal ağ oluşturur
- Sanal ağ içinde bir alt ağ oluşturur
- Bir yol tablosunu alt ağ ile ilişkilendirir
Yol tabloları sanal ağlarla ilişkili değildir. Bunun yerine, yönlendirme tabloları bir sanal ağın alt ağıyla ilişkilendirilir.
Sanal ağ ve yönlendirme tablosunun aynı Azure konumunda ve aboneliğinde birlikte bulunması gerekir.
Alt ağlarla yönlendirme tablolarının bire birden çok ilişkisi vardır. Bir alt ağ, bir yol tablosu olmadan veya ilişkili bir yol tablosu ile tanımlanabilir. Yol tabloları hiçbiri, bir veya birden çok alt ağ ile ilişkilendirilebilir.
Alt ağdan gelen trafik aşağıdakilere göre yönlendirilir:
- yol tabloları içinde tanımlanan yollar
- varsayılan yollar
- şirket içi ağdan yayılan yönlendirmeler
Sanal ağın bir Azure sanal ağ geçidine bağlı olması gerekir. Ağ geçidi, ExpressRoute veya bir VPN ağ geçidi ile BGP kullanılıyorsa VPN olabilir.
Aşağıdaki playbook'u route_table_associate.yml olarak kaydedin.
- hosts: localhost
vars:
subnet_name: mySubnet
virtual_network_name: myVirtualNetwork
route_table_name: myRouteTable
resource_group: myResourceGroup
tasks:
- name: Create virtual network
azure_rm_virtualnetwork:
name: "{{ virtual_network_name }}"
resource_group: "{{ resource_group }}"
address_prefixes_cidr:
- 10.1.0.0/16
- 172.100.0.0/16
dns_servers:
- 127.0.0.1
- 127.0.0.3
- name: Create a subnet with route table
azure_rm_subnet:
name: "{{ subnet_name }}"
virtual_network_name: "{{ virtual_network_name }}"
resource_group: "{{ resource_group }}"
address_prefix_cidr: "10.1.0.0/24"
route_table: "{{ route_table_name }}"
Ansible-playbook kullanarak playbook'u çalıştırın
ansible-playbook route_table_associate.yml
Bir alt ağdan bir yol tablosunun ilişiğini kes
Bu bölümdeki playbook kodu, bir alt ağdan bir yol tablosunu ayırır.
Bir yönlendirme tablosunu bir alt ağdan ayırırken, alt ağın rota tablosunu route_table olarak None ayarlayın.
Aşağıdaki playbook'u route_table_dissociate.yml olarak kaydedin.
- hosts: localhost
vars:
subnet_name: mySubnet
virtual_network_name: myVirtualNetwork
resource_group: myResourceGroup
tasks:
- name: Dissociate a route table
azure_rm_subnet:
name: "{{ subnet_name }}"
virtual_network_name: "{{ virtual_network_name }}"
resource_group: "{{ resource_group }}"
address_prefix_cidr: "10.1.0.0/24"
Ansible-playbook kullanarak playbook'u çalıştırın
ansible-playbook route_table_dissociate.yml
Yönlendirme oluşturma
Bu bölümdeki playbook kodu, yol tablosu içindeki bir yoldur.
Aşağıdaki playbook'u route_create.yml olarak kaydedin.
- hosts: localhost
vars:
route_name: myRoute
route_table_name: myRouteTable
resource_group: myResourceGroup
tasks:
- name: Create route
azure_rm_route:
name: "{{ route_name }}"
resource_group: "{{ resource_group }}"
next_hop_type: virtual_network_gateway
address_prefix: "10.1.0.0/16"
route_table_name: "{{ route_table_name }}"
Playbook'u çalıştırmadan önce aşağıdaki notlara bakın:
-
virtual_network_gatewayolaraknext_hop_typetanımlanır. Azure'ın yolları nasıl seçtiği hakkında daha fazla bilgi için bkz . Yönlendirmeye genel bakış. -
address_prefixolarak10.1.0.0/16tanımlanır. Ön ek, yönlendirme tablosu içinde çoğaltılamaz.
Ansible-playbook kullanarak playbook'u çalıştırın
ansible-playbook route_create.yml
Yol silme
Bu bölümdeki playbook kodu, yol tablosundan bir yolu siler.
Aşağıdaki playbook'u route_delete.yml olarak kaydedin.
- hosts: localhost
vars:
route_name: myRoute
route_table_name: myRouteTable
resource_group: myResourceGroup
tasks:
- name: Remove route
azure_rm_route:
name: "{{ route_name }}"
resource_group: "{{ resource_group }}"
route_table_name: "{{ route_table_name }}"
state: absent
Ansible-playbook kullanarak playbook'u çalıştırın
ansible-playbook route_delete.yml
Rota tablosu bilgilerini alma
Bu bölümdeki playbook kodu, rota tablosu bilgilerini almak için Ansible modülünü azure_rm_routetable_facts kullanır.
Aşağıdaki playbook'u route_table_facts.yml olarak kaydedin.
- hosts: localhost
vars:
route_table_name: myRouteTable
resource_group: myResourceGroup
tasks:
- name: Get route table information
azure_rm_routetable_facts:
resource_group: "{{ resource_group }}"
name: "{{ route_table_name }}"
register: query
- debug:
var: query.route_tables[0]
Ansible-playbook kullanarak playbook'u çalıştırın
ansible-playbook route_table_facts.yml
Yol tablosunu silme
Bu bölümdeki playbook kodu bir yol tablosunu içerir.
Bir yol tablosu silindiğinde, tüm yolları da silinir.
Bir alt ağ ile ilişkilendirilmiş yol tablosu silinemez. Yönlendirme tablosunu herhangi bir alt ağdan ayırmadan önce yol tablosunu silmeye çalışmayın.
Aşağıdaki playbook'u route_table_delete.yml olarak kaydedin.
- hosts: localhost
vars:
route_table_name: myRouteTable
resource_group: myResourceGroup
tasks:
- name: Create a route table
azure_rm_routetable:
name: "{{ route_table_name }}"
resource_group: "{{ resource_group }}"
state: absent
Ansible-playbook kullanarak playbook'u çalıştırın
ansible-playbook route_table_delete.yml