Vysoká dostupnost na Vultr s plovoucí IP a BGP

Vultr vám umožňuje kombinovat dvě naše funkce (plovoucí IP adresy a BGP), abyste dosáhli vysoké dostupnosti.

Založit

Budete potřebovat dvě instance ve stejném umístění a plovoucí IP. Budete také muset otevřít lístek požadující nastavení BGP na soukromém ASN pro plovoucí IP adresy. (Tuto funkci můžete také použít, pokud s námi provozujete BGP na veřejném ASN)

Budete také potřebovat BGP démona, doporučujeme BIRD. BIRD je obvykle dostupný prostřednictvím správce balíčků vašeho operačního systému.

192.0.2.10/32Jako náš příklad použijeme plovoucí IP a 198.51.100.99jako IP adresu jedné z našich instancí.

Poznámka: Plovoucí IP adresu byste neměli připojovat k žádné konkrétní instanci prostřednictvím ovládacího panelu. Pokud je IP připojena přes ovládací panel, nebude vysoká dostupnost správně fungovat.

Konfigurace IP

K navázání IP adresy použijeme linuxové „fiktivní“ rozhraní. Můžete to vytvořit pomocí následujících příkazů:

ip link add dev dummy1 type dummy
ip link set dummy1 up
ip addr add dev dummy1 192.0.2.10/32

Potvrďte, že to bylo správně nakonfigurováno:

# ip addr show dev dummy1
5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether ba:23:57:2c:ad:bc brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.10/32 scope global dummy1

Konfigurace BIRD

Dále nakonfigurujeme BIRD. Tyto pokyny se mezi hostitelskými operačními systémy mírně liší, viz poznámky pod čarou v dolní části této části.

Vytvořte /etc/bird.confsoubor:

log "/var/log/bird" all;

router id 198.51.100.99;

protocol device
{
    scan time 60;
}

protocol direct
{
    interface "dummy1";
}

protocol bgp vultr
{
    local as <<YOURAS>>;
    source address 198.51.100.99;
    import none;
    export all;
    graceful restart on;
    next hop self;
    multihop 2;
    neighbor 169.254.169.254 as 64515;
    password "<<YOURPASSWORD>>";
}

Budete muset aktualizovat YOURASas YOURPASSWORDpomocí čísla AS a hesla BGP přiřazeného k vašemu účtu. Tyto informace lze nalézt na záložce BGP na stránce instance v ovládacím panelu Vultr .

Tento konfigurační soubor řekne BIRDu, aby hledal rozhraní dummy1 a inzeroval všechny IP adresy, které najde, naší infrastruktuře prostřednictvím BGP. To znamená, že jakmile je vaše instance spuštěna, začnete přijímat provoz, a pokud někdy dojde k selhání, provoz se zastaví.

Konfigurace FreeBSD

Pokud používáte FreeBSD jako hostitele místo Linuxu, existuje několik rozdílů.

  1. Pro podporu podpisu TCP MD5 je třeba překompilovat jádro. Tyto pokyny jsou mimo rozsah tohoto článku. Pokud vaše jádro BSD nepodporuje podpisy TCP MD5, uvidíte v protokolu BIRD následující výstup.

    $ cat /var/log/bird
    2017-12-15 01:35:00 <INFO> Started
    2017-12-15 01:35:00 <ERR> vultr: Socket error: Kernel does not support TCP MD5 signatures
    
  2. Konfigurační soubor BIRD je umístěn /usr/local/etc/bird.confna BSD.

Ověřte připojení BGP

Spusťte službu BIRD service bird starta počkejte několik sekund. Zkontrolujte, zda byla navázána relace BGP:

# birdc show proto all vultr
BIRD 1.5.0 ready.
name     proto    table    state  since       info
vultr    BGP      master   up     2016-01-15  Established
  Preference:     100
  Input filter:   REJECT
  Output filter:  ACCEPT
  Routes:         0 imported, 1 exported, 0 preferred
  Route change stats:     received   rejected   filtered    ignored   accepted
    Import updates:      255919581          0  255919581          0          0
    Import withdraws:      1905513          0        ---  257825094          0
    Export updates:              1          0          0        ---          1
    Export withdraws:            0        ---        ---        ---          0
  BGP state:          Established
    Neighbor address: 169.254.169.254
    Neighbor AS:      YOURAS
    Neighbor ID:      x.x.x.x (Host IP)
    Neighbor caps:    refresh enhanced-refresh restart-able AS4
    Session:          external multihop AS4
    Source address:   198.51.100.99
    Hold timer:       184/240
    Keepalive timer:  30/80

Pokud vše funguje správně, měli byste vedle stavu BGP vidět „Založeno“. Častým problémem zde je, že brána firewall blokuje port BGP (TCP 179). Pokud byla tato instance nasazena předtím, než Vultr nastavil vaši relaci BGP, bude nutné ji restartovat prostřednictvím ovládacího panelu, než bude BGP k dispozici. Pokud máte stále problémy, podívejte se na /var/log/birddalší podrobnosti.

Testování

Můžete se ujistit, že BIRD inzeruje cestu k vaší plovoucí IP pomocí následujícího:

# birdc show route
BIRD 1.5.0 ready.
192.0.2.10/32    dev dummy1 [direct1 2015-12-29] * (240)

Chcete-li potvrdit, že to funguje správně, můžete deaktivovat rozhraní dummy1 (pomocí ip link set dummy1 down) a poté show routepříkaz zopakovat . BIRD si všimne, že rozhraní zmizelo a stáhne trasu.

Výrobní využití

Abyste zajistili, že váš web zůstane aktivní, budete chtít více než jeden server se stejnou konfigurací BGP. Pokud dojde k výpadku některé z instancí, provoz by byl dynamicky přesměrován na jednu z dalších instancí. Počet instancí, které můžete s touto konfigurací v konkrétním umístění spustit, není omezen, v daný okamžik však bude aktivní pouze jedna z nich.

V některých našich lokalitách bude provoz distribuován náhodně mezi instance, které jste takto nakonfigurovali. Nakonec budou všechna umístění nakonfigurována tímto způsobem. Pokud chcete, aby jedna instance získala veškerý provoz, pokud není offline, měli byste k řízení provozu použít předpony.

Pokud máte například dvě instance:

  • Instance A – hlavní instance by měla normálně přijímat veškerý provoz
  • Instance B – záložní instance, by měla přijímat provoz pouze v případě, že je instance A mimo provoz

Chcete-li toho dosáhnout, přidejte do své konfigurace BIRD v instanci B následující část takto:

export filter {
    bgp_path.prepend(YOURAS);
    accept;
};

To by zajistilo, že provoz bude vždy směřovat do instance A, pokud není mimo provoz.

Pokud máte instanci C, která by měla přijímat provoz pouze v případě, že A a B jsou mimo provoz, můžete jednoduše přidat další řádek 'bgp_path.prepend', abyste toho dosáhli.

Nastavení IPv6

Tento proces bude fungovat také s podsítěmi vyhrazenými pro IPv6, ačkoli použijete „bird6“ místo „bird“ a „birdc6“ místo „birdc“.

FAQ, Networking

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více