Každá ruční změna na F5 BIG-IP přes webové rozhraní je dvojí riziko: někdo se může uklepnout a nikdo přesně neví, co se změnilo. U load balanceru, který drží produkční provoz banky nebo e-shopu, je to nepřijatelné. Řešení? Dělat F5 jako kód.
Proč zrovna F5
F5 je lídr v oblasti application delivery a bezpečnosti. BIG-IP řeší load balancing, NGINX moderní aplikační provoz a Distributed Cloud ochranu napříč multi-cloudem. Společné mají jedno: jsou kritické a každá změna se počítá.
Jak to děláme
Místo klikání v GUI popisujeme požadovaný stav (VIP, pooly, WAF politiky) jako kód a Ansible (Red Hat AAP) ho dorovnává. Tajemství si playbook vyzvedne z Vaultu, cílový stav čte z NetBoxu.
- Auditní stopa — každá změna má commit, autora a důvod.
- Idempotence — playbook lze spustit stokrát, výsledek je stejný.
- Rychlost — to, co trvalo dny přes změnové tikety, je hotové za minuty.
---
# Vytvoření VIP + poolu na BIG-IP z Gitu — žádné klikání v GUI
- name: Konfigurace produkčního VIP
hosts: bigip
connection: httpapi
tasks:
- name: Pool s health monitorem
f5networks.f5_modules.bigip_pool:
name: "pool_billing_443"
lb_method: least-connections-member
monitors: ["/Common/https"]
state: present
- name: Přidej členy poolu (z NetBoxu)
f5networks.f5_modules.bigip_pool_member:
pool: "pool_billing_443"
host: "{{ item.ip }}"
port: 443
state: present
loop: "{{ billing_backends }}"
- name: Virtuální server + TLS profil
f5networks.f5_modules.bigip_virtual_server:
name: "vs_billing_443"
destination: "10.20.0.15"
port: 443
pool: "pool_billing_443"
profiles: ["clientssl", "http"]
state: presentKlíčový bod: state: present dělá playbook idempotentní — spustíte ho stokrát, výsledek je identický. Stav čteme z NetBoxu, tajemství z Vaultu. Moduly viz F5 Ansible docs.
U prostředí s 87 VIP jsme změnové okno na F5 zkrátili ze 4 hodin (ruční změny + change tikety) na 12 minut auditovaného pipeline runu. Ilustrativní hodnoty — ověřte před publikací.
Kde to drhne
- iRules a legacy konfigurace. Roky ručních úprav se do kódu převádí postupně, ne najednou.
- Disciplína týmu. Jakmile jeden admin „rychle něco klikne" v GUI, kód a realita se rozejdou. Drift detection je nutnost.
Časté otázky
Funguje to i s našimi iRules a legacy konfigurací?
Ano, ale postupně. Roky ručních úprav se do kódu převádějí ve vlnách, ne najednou. Začínáme exportem aktuálního stavu, kódifikujeme nové změny a legacy konfiguraci migrujeme řízeně. iRules lze verzovat jako soubory a nasazovat stejným pipeline.
Co když někdo „rychle" klikne v GUI mimo pipeline?
Proto nasazujeme drift detection — pravidelný běh, který porovná reálný stav F5 s kódem v Gitu a nahlásí rozdíl. Ruční změna se odhalí do dalšího cyklu. Disciplína týmu je nutná, ale nástroj ji vynucuje.
Podporuje to jen BIG-IP, nebo i NGINX a F5 Distributed Cloud?
BIG-IP i NGINX přes oficiální Ansible kolekce. F5 Distributed Cloud má vlastní API, které lze rovněž řídit z pipeline. V praxi nejčastěji stavíme BIG-IP + NGINX kombinaci.
Musíme mít Red Hat AAP, nebo stačí čistý Ansible?
Pro PoC stačí community Ansible. Pro produkci doporučujeme AAP kvůli RBAC, auditní stopě, schvalovacím workflow a credential managementu — to jsou věci, které enterprise audit vyžaduje.
Řešíte ruční změny na F5?
Naplánujte si 20minutový audit vašeho F5 prostředí — projdeme počet VIP, stav konfigurace a reálnou cestu k F5-as-code. Bez sales pitche, se seniorním síťařem.
Naplánovat 20-min audit F5 →