In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
Dieses Dokument beschreibt den Konfigurationsleitfaden zur Bereitstellung von CSR1000v-Routern für hohe Verfügbarkeit in der Amazon AWS-Cloud. Es soll den Benutzern praktische Kenntnisse über Hochverfügbarkeit und die Möglichkeit geben, eine voll funktionsfähige Testumgebung bereitzustellen.
Weitere Hintergrundinformationen zu AWS und HA finden Sie im Abschnitt .
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Die Informationen in diesem Dokument basieren auf Cisco IOS-XE® Denali 16.7.1.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle verstehen.
Simulieren Sie in einer Umgebung mit mehreren Verfügbarkeitszonen den kontinuierlichen Datenverkehr vom privaten Rechenzentrum (VM) zum Internet. Simulieren Sie einen HA-Failover, und stellen Sie fest, dass HA erfolgreich ist, wenn die Routing-Tabelle den Datenverkehr von CSRHA auf die private Schnittstelle von CSRHA1 umschaltet.
Bevor die Konfiguration beginnt, müssen Topologie und Design vollständig verstanden werden. Dies hilft, potenzielle Probleme später zu beheben.
Abhängig von den Netzwerkanforderungen gibt es verschiedene Szenarien für die Bereitstellung einer hohen Verfügbarkeit. Für dieses Beispiel wird HA-Redundanz mit den folgenden Einstellungen konfiguriert:
In einem HA-Paar gibt es 2 CSR1000v-Router in zwei verschiedenen Verfügbarkeitszonen. Betrachten Sie jede Verfügbarkeitszone als separates Rechenzentrum für zusätzliche Hardware-Ausfallsicherheit.
Die dritte Zone ist eine VM, die ein Gerät in einem privaten Rechenzentrum simuliert. Derzeit wird der Internetzugriff über die öffentliche Schnittstelle auf aktiviert, sodass Sie auf das virtuelle System zugreifen und es konfigurieren können. Generell sollte der gesamte normale Datenverkehr die private Routing-Tabelle durchlaufen.
Pingen Sie die private Schnittstelle des virtuellen Systems → private Routing-Tabelle → CSRHA → 8.8.8.8 für die Verkehrssimulation. In einem Failover-Szenario stellen Sie fest, dass die private Routing-Tabelle die Route so geändert hat, dass sie auf die private Schnittstelle von CSRHA1 verweist.
RTB - Die Routing-Tabellen-ID.
CIDR - Zieladresse für die zu aktualisierende Route in der Routing-Tabelle.
ENI - Die Netzwerkschnittstellen-ID der CSR 1000v Gigabit-Schnittstelle, an die der Datenverkehr weitergeleitet wird.
Wenn beispielsweise CSRHA ausfällt, übernimmt CSRHA1 und aktualisiert die Route in der AWS-Routing-Tabelle, sodass sie auf ihre eigene ENI verweist.
REGION - Die AWS Region der CSR 1000v.
Der allgemeine Konfigurationsfluss besteht darin, mit der umfassendsten Funktion (Region/VPC) zu beginnen und zum spezifischsten Feature (Schnittstelle/Subnetz) überzugehen. Es gibt jedoch keine bestimmte Reihenfolge der Konfiguration. Bevor Sie beginnen, ist es wichtig, zuerst die Topologie zu verstehen.
Tipp: Geben Sie allen Ihren Einstellungen (VPC, Schnittstelle, Subnetz, Routing-Tabellen usw.) Namen.
In diesem Beispiel wird US West (Oregon) verwendet.
Sicherheitsgruppen sind wie ACLs, um Datenverkehr zu erlauben oder zu verweigern.
IAM gewährt Ihrem CSR Zugriff auf Amazon APIs.
Der CSR1000v wird als Proxy verwendet, um AWS API-Befehle zum Ändern der Routing-Tabelle aufzurufen. Standardmäßig haben AMIs keinen Zugriff auf APIs. Durch dieses Verfahren wird eine IAM-Rolle erstellt, die beim Starten einer CSR-Instanz verwendet wird. IAM stellt Zugriffsberechtigungen für CSRs bereit, um AWS-APIs zu verwenden und zu ändern.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssociateRouteTable", "ec2:CreateRoute", "ec2:CreateRouteTable", "ec2:DeleteRoute", "ec2:DeleteRouteTable", "ec2:DescribeRouteTables", "ec2:DescribeVpcs", "ec2:ReplaceRoute", "ec2:DisassociateRouteTable", "ec2:ReplaceRouteTableAssociation" ], "Resource": "*" } ] }
Jeder CSR1000v-Router verfügt über 2 Schnittstellen (1 öffentlich, 1 privat) und befindet sich in einer eigenen Verfügbarkeitszone. Sie können sich vorstellen, dass sich die einzelnen CSR in separaten Rechenzentren befinden.
Anmerkung: Das im vorherigen Schritt erstellte Subnetz wird in dieser Dropdown-Liste möglicherweise nicht angezeigt. Möglicherweise müssen Sie die Seite aktualisieren oder abbrechen und von vorne beginnen, damit das Subnetz angezeigt wird.
Anmerkung: Wenn Sie Ihren privaten Schlüssel verlieren, können Sie sich nicht wieder bei Ihren CSRs anmelden. Es gibt keine Methode, Schlüssel wiederherzustellen.
Anmerkung: Öffentliche/private Terminologie kann Sie hier verwirren. Für dieses Beispiel ist die Definition einer öffentlichen Schnittstelle Eth0, die Schnittstelle für das Internet. Aus Sicht von AWS ist unsere öffentliche Schnittstelle ihre private IP.
Standardmäßig ist diese Quell-/Zielprüfung bei allen ENIs aktiviert. Eine Anti-Spoofing-Funktion, mit der verhindert werden soll, dass eine ENI mit Datenverkehr überlaufen wird, der eigentlich nicht für sie bestimmt ist, indem vor der Weiterleitung überprüft wird, ob die ENI das Ziel des Datenverkehrs ist. Der Router ist selten das tatsächliche Ziel eines Pakets. Diese Funktion muss auf allen CSR-Transit-ENIs deaktiviert werden, da sie Pakete nicht weiterleiten kann.
Anmerkung: Der von AWS für SSH im CSR1000v bereitgestellte Benutzername wird möglicherweise fälschlicherweise als Root aufgeführt. Ändern Sie dies ggf. in ec2-user.
Anmerkung: Sie müssen in der Lage sein, die DNS-Adresse an SSH zu pingen. Hier ist es ec2-54-208-234-64.compute-1.amazonaws.com. Überprüfen Sie, ob das öffentliche Subnetz/die öffentliche Subnetznummer des Routers mit der öffentlichen Routentabelle verknüpft ist. Fahren Sie kurz mit Schritt 8 fort, um das Subnetz der Routentabelle zuzuordnen.
Öffentliches Subnetz: 10.16.1.0/24
Privates Subnetz: 10.16.5.0/24
Wenn Sie die elastische IP-Adresse dieser neuen AMI nicht pingen können, gehen Sie kurz zu Schritt 8, und stellen Sie sicher, dass das öffentliche Subnetz mit der öffentlichen Routing-Tabelle verknüpft ist.
Verwenden Sie für dieses Beispiel Ubuntu Server 14.04 LTS auf dem Markt.
Öffentliches Subnetz: 10.16.2.0/24
Privates Subnetz: 10.16.6.0/24
Wenn Sie die elastische IP-Adresse dieser neuen AMI nicht pingen können, gehen Sie kurz zu Schritt 8, und stellen Sie sicher, dass das öffentliche Subnetz mit der öffentlichen Routing-Tabelle verknüpft ist.
ubuntu@ip-10-16-2-139:~$ cd /etc/network/interfaces.d/ ubuntu@ip-10-16-2-139:/etc/network/interfaces.d$ sudo vi eth1.cfg auto eth1 iface eth1 inet static address 10.16.6.131 netmask 255.255.255.0 network 10.16.6.0 up route add -host 8.8.8.8 gw 10.16.6.1 dev eth1
ubuntu@ip-10-16-2-139:/etc/network/interfaces.d$ sudo ifdown eth1 && sudo ifup eth1 ubuntu@ip-10-16-2-139:/etc/network/interfaces.d$ sudo reboot
ubuntu@ip-10-16-2-139:~$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.16.2.1 0.0.0.0 UG 0 0 0 eth0 8.8.8.8 10.16.6.1 255.255.255.255 UGH 0 0 0 eth1 <-------------- 10.16.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.16.6.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Wenn 8.8.8.8 nicht in der Tabelle aufgeführt ist, fügen Sie es manuell hinzu:
ubuntu@ip-10-16-2-139:~$ sudo route add -host 8.8.8.8 gw 10.16.6.1 dev eth1
Der öffentlichen Weiterleitungstabelle sind drei öffentliche Schnittstellen zugeordnet:
Öffentliche Subnetze: 10.16.0.0/24, 10.16.1.0/24, 10.16.2.0/24
Der Tabelle für private Routen sind drei private Schnittstellen zugeordnet:
Private Subnetze: 10.16.4.0/24, 10.16.5.0/24, 10.16.6.0/24
Konfigurieren Sie den Generic Routing Encapsulation (GRE)-Tunnel über die elastischen IPs der CSR 1000vS (empfohlen, um Probleme mit der DHCP-Lease-Verlängerung zu vermeiden, die falsche Fehler erkennen). Die BFD-Werte (Biderection Forwarding Detection) können aggressiver konfiguriert werden als in diesem Beispiel, wenn schnellere Konvergenz erforderlich ist. Dies kann jedoch dazu führen, dass BFD-Peer-Down-Ereignisse bei einer unterbrochenen Verbindung auftreten. Die Werte in diesem Beispiel erkennen einen Peerfehler innerhalb von 1,5 Sekunden. Zwischen der Ausführung des AWS API-Befehls und dem Wirksamwerden der VPC-Routing-Tabelle liegt eine variable Verzögerung von etwa einigen Sekunden.
GRE und BFD - dienen zur Beobachtung der Bedingungen für einen HA-Failover
interface Tunnel1 ip address 192.168.1.1 255.255.255.0 bfd interval 500 min_rx 500 multiplier 3 tunnel source GigabitEthernet1 tunnel destination 52.10.183.185 /* Elastic IP of the peer CSR */ ! router eigrp 1 bfd interface Tunnel1 network 192.168.1.0 passive-interface GigabitEthernet1
NAT und Routing - für die Internetverbindung virtueller Systeme über die private Schnittstelle
interface GigabitEthernet1 ip address dhcp ip nat outside no shutdown ! interface GigabitEthernet2 ip address dhcp ip nat inside no shutdown ! ip nat inside source list 10 interface GigabitEthernet1 overload ! access-list 10 permit 10.16.6.0 0.0.0.255 ! ip route 10.16.6.0 255.255.255.0 GigabitEthernet2 10.16.4.1
GRE und BFD - dienen zur Beobachtung der Bedingungen für einen HA-Failover
interface Tunnel1 ip address 192.168.1.2 255.255.255.0 bfd interval 500 min_rx 500 multiplier 3 tunnel source GigabitEthernet1 tunnel destination 50.112.227.77 /* Elastic IP of the peer CSR */ ! router eigrp 1 bfd interface Tunnel1 network 192.168.1.0 passive-interface GigabitEthernet1
NAT und Routing - für die Internetverbindung virtueller Systeme über die private Schnittstelle
interface GigabitEthernet1 ip address dhcp ip nat outside no shutdown ! interface GigabitEthernet2 ip address dhcp ip nat inside no shutdown ! ip nat inside source list 10 interface GigabitEthernet1 overload ! access-list 10 permit 10.16.6.0 0.0.0.255 ! ip route 10.16.6.0 255.255.255.0 GigabitEthernet2 10.16.5.1
Überwachen Sie BFD-Peer-Down-Ereignisse, indem Sie jeden CSR 1000v mit dem unten angegebenen Befehl "cloud provider aws" konfigurieren. Verwenden Sie diesen Befehl, um die Routing-Änderungen an (VPC) Route-table-id, Network-interface-id und CIDR zu definieren, nachdem ein AWS HA-Fehler wie ein ausgefallener BFD-Peer erkannt wurde.
CSR(config)# redundancy CSR(config-red)# cloud provider [aws | azure] node-id # bfd peer ipaddr # route-table table-name # cidr ip ipaddr/prefix # eni elastic-network-intf-name # region region-name
CSRHA#show bfd neighbors IPv4 Sessions NeighAddr LD/RD RH/RS State Int 192.168.1.2 4097/4097 Up Up Tu1
Redundanzkonfigurationsbeispiel für CSRHA
redundancy cloud provider aws 1 bfd peer 192.168.1.2 route-table rtb-ec081d94 cidr ip 8.8.8.8/32 eni eni-90b500a8 region us-west-2
Redundanzkonfigurationsbeispiel für CSRHA1
redundancy cloud provider aws 1 bfd peer 192.168.1.1 route-table rtb-ec081d94 cidr ip 8.8.8.8/32 eni eni-10e3a018 region us-west-2
CSRHA#show bfd nei IPv4 Sessions NeighAddr LD/RD RH/RS State Int 192.168.1.2 4097/4097 Up Up Tu1 CSRHA#show ip eigrp neighbors EIGRP-IPv4 Neighbors for AS(1) H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 192.168.1.2 Tu1 12 00:11:57 1 1470 0 2
CSRHA#show redundancy cloud provider aws 1 Cloud HA: work_in_progress=FALSE Provider : AWS node 1 State : idle BFD peer = 192.168.1.2 BFD intf = Tunnel1 route-table = rtb-ec081d94 cidr = 8.8.8.8/32 eni = eni-90b500a8 region = us-west-2
ubuntu@ip-10-16-3-139:~$ ping -I eth1 8.8.8.8 PING 8.8.8.8 (8.8.8.8) from 10.16.6.131 eth1: 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=50 time=1.60 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=50 time=1.62 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=50 time=1.57 ms
CSRHA(config)#int Tun1 CSRHA(config-if)#shut
show redundancy cloud provider [aws | azure] node-id debug redundancy cloud [all | trace | detail | error] debug ip http all
Auflösung: HTTP wird verwendet, um den API-Aufruf vom CSR an AWS zu senden. Stellen Sie sicher, dass DNS den in Ihrer Instanz aufgelisteten DNS-Namen auflösen kann. Stellen Sie sicher, dass der HTTP-Verkehr nicht blockiert wird.
*May 30 20:08:06.922: %VXE_CLOUD_HA-3-FAILED: VXE Cloud HA BFD state transitioned, AWS node 1 event httpc_send_request failed *May 30 20:08:06.922: CLOUD-HA : AWS node 1 httpc_send_request failed (0x12) URL=http://ec2.us-east-2b.amazonaws.com
Auflösung: Regionsname und ENI sind in verschiedenen Netzwerken falsch konfiguriert. Region und ENI sollten sich in derselben Zone wie der Router befinden.
*May 30 23:38:09.141: CLOUD-HA : res content iov_len=284 iov_base=<?xml version="1.0" encoding="UTF-8"?> <Response><Errors><Error><Code>InvalidParameterValue</Code><Message>route table rtb-9c0000f4 and interface eni-32791318 belong to different networks</Message></Error></Errors><RequestID>af3f228c-d5d8-4b23-b22c-f6ad999e70bd</RequestID></Response>
Auflösung: IAM JSON-Rolle/-Richtlinie falsch erstellt oder nicht auf CSR angewendet Die IAM-Rolle autorisiert den CSR zum Durchführen von API-Aufrufen.
*May 30 22:22:46.437: CLOUD-HA : res content iov_len=895 iov_base=<?xml version="1.0" encoding="UTF-8"?> <Response><Errors><Error><Code>UnauthorizedOperation</Code><Message>You are not authorized to perform this operation. Encoded
authorization failure message: qYvEB4MUdOB8m2itSteRgnOuslAaxhAbDph5qGRJkjJbrESajbmF5HWUR-MmHYeRAlpKZ3Jg_y-_tMlYel5l_ws8Jd9q2W8YDXBl3uXQqfW_cjjrgy9jhnGY0nOaNu65aLpfqui8kS_4RPOpm5grRFfo99-8uv_N3mYaBqKFPn3vUcSYKBmxFIIkJKcjY9esOeLIOWDcnYGGu6AGGMoMxWDtk0K8nwk4IjLDcnd2cDXeENS45w1PqzKGPsHv3wD28TS5xRjIrPXYrT18UpV6lLA_09Oh4737VncQKfzbz4tPpnAkoW0mJLQ1vDpPmNvHUpEng8KrGWYNfbfemoDtWqIdABfaLLLmh4saNtnQ_OMBoTi4toBLEb2BNdMkl1UVBIxqTqdFUVRS**MSG 00041 TRUNCATED** **MSG 00041 CONTINUATION #01**qLosAb5Yx0DrOsLSQwzS95VGvQM_n87LBHYbAWWhqWj3UfP_zmiak7dlm9P41mFCucEB3Cs4FRsFtb-9q44VtyQJaS2sU2nhGe3x4uGEsl7F1pNv5vhVeYOZB3tbOfbV1_Y4trZwYPFgLKgBShZp-WNmUKUJsKc1-6KGqmp7519imvh66JgwgmU9DT_qAZ-jEjkqWjBrxg6krw</Message></Error></Errors><RequestID>4cf31249-2a6e-4414-ae8d-6fb825b0f398</RequestID></Response>
Bereitstellungsleitfaden für Cisco CSR 1000v Cloud Services Router für Amazon Web Services