De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
Dit document beschrijft de configuratiehandleiding voor het implementeren van CSR1000v-routers voor hoge beschikbaarheid op de Amazon AWS-cloud. Het is bedoeld om gebruikers praktische kennis van HA en het vermogen om een volledig functioneel testbed in te zetten.
Raadpleeg de sectie voor meer informatie over AWS en HA.
Cisco raadt kennis van de volgende onderwerpen aan:
De informatie in dit document is gebaseerd op Cisco IOS-XE® Denali 16.7.1.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
In een omgeving met meerdere beschikbaarheidszones simuleert u continu verkeer van het privédatacenter (VM) naar het internet. Simuleer een HA failover en merk op dat HA slaagt als de routing table switches verkeer van CSRHA naar CSRHA1's private interface wordt bevestigd.
Alvorens de configuratie begint, is het belangrijk om de topologie en het ontwerp volledig te begrijpen. Dit helpt om eventuele problemen later op te lossen.
Er zijn verschillende scenario's voor de implementatie van HA op basis van de netwerkvereisten. In dit voorbeeld is HA-redundantie geconfigureerd met deze instellingen:
Er zijn 2x CSR1000v routers in een HA-paar, in twee verschillende beschikbaarheidszones. Denk aan elke beschikbaarheidszone als een apart datacenter voor extra hardwareresistentie.
De derde zone is een VM, die een apparaat simuleert in een privé datacenter. Voorlopig is internettoegang via de openbare interface ingeschakeld, zodat u de VM kunt openen en configureren. Over het algemeen, zou al normaal verkeer door de privé routetabel moeten stromen.
Pingen van de privé-interface van de VM → privé-routetabel → CSRHA → 8.8.8.8 voor verkeerssimulatie. In een failover scenario, neem waar de privé routetabel de route heeft geschakeld om aan de privé interface van CSRHA1 te richten.
RTB - De routetabel-ID.
CIDR - Bestemmingsadres voor de route die in de routetabel moet worden bijgewerkt.
ENI - De interface-ID van het netwerk van de CSR 1000v Gigabit-interface waarnaar het verkeer wordt geleid.
Als CSRHA bijvoorbeeld mislukt, neemt CSRHA1 de route in de AWS-routetabel over en werkt deze bij om naar zijn eigen ENI te wijzen.
REGIO - De AWS-regio van CSR 1000v.
De algemene stroom van configuratie is om bij de hoogste het omringen eigenschap (Regio/VPC) te beginnen en uw manier naar beneden te bewegen aan het meest specifieke (Interface/Subnet). Er is echter geen specifieke volgorde van configuratie. Alvorens u begint, is het belangrijk om de topologie eerst te begrijpen.
Tip: Geef namen aan al uw instellingen (VPC, interface, subnet, routetabellen, enzovoort).
In dit voorbeeld wordt het Amerikaanse westen (Oregon) gebruikt.
Security Groepen zijn als ACL’s om verkeer toe te staan of te weigeren.
IAM verleent uw MVO toegang tot Amazon API's.
De CSR1000v wordt gebruikt als een proxy om AWS API-opdrachten te bellen om de routetabel te wijzigen. AMI's hebben standaard geen toegang tot API's. Deze procedure creëert een IAM-rol en deze rol wordt gebruikt tijdens de lancering van een CSR-instantie. IAM biedt de toegangsreferenties voor CSR’s om AWS API’s te gebruiken en aan te passen.
{ "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": "*" } ] }
Elke CSR1000v router heeft 2 interfaces (1 publiek, 1 privaat) en bevindt zich in zijn eigen Availability Zone. U kunt aan elke CSR denken als zijnde in afzonderlijke datacenters.
Opmerking: Subnet dat in de vorige stap is gemaakt, wordt mogelijk niet in deze vervolgkeuzelijst weergegeven. Het kan noodzakelijk zijn de pagina te verversen of te annuleren en opnieuw te starten om het subnetnummer te laten verschijnen.
Opmerking: Als u uw persoonlijke sleutel verliest, kunt u niet opnieuw inloggen bij uw MVO. Er is geen methode om sleutels terug te krijgen.
Opmerking: Publieke/private terminologie kan u hier in de war brengen. In dit voorbeeld is de definitie van een openbare interface Eth0, de interface met het internet. Vanuit het oogpunt van AWS, is onze openbare interface hun privé ip.
Standaard worden alle ENI's geleverd met deze optie Source/Dest. Een anti-spoofing functie bedoeld om te voorkomen dat een ENI overbelast raakt met verkeer dat niet echt bedoeld is voor het door te verifiëren dat de ENI de bestemming van het verkeer is voordat het door te sturen. De router is zelden de daadwerkelijke bestemming van een pakket. Deze optie moet worden uitgeschakeld in alle CSR-transitcentra of kan geen pakketten doorsturen.
Opmerking: De gebruikersnaam die door AWS aan SSH in de CSR1000v is opgegeven, wordt mogelijk onjuist als root vermeld. Wijzig dit indien nodig in ec2-user.
Opmerking: U moet het DNS-adres naar SSH kunnen pingen. Hier is het ec2-54-208-234-64.compute-1.amazonaws.com. Controleer of het openbare subnetnummer/de openbare netwerkmodule van de router is gekoppeld aan de openbare routertabel. Ga in het kort naar Stap 8 voor het koppelen van het subnetverbinding aan de routetabel.
Openbare subnetten: 10.16.1.0/24
Private subnet: 10.16.5.0/24
Als u het elastische IP-adres van dit nieuwe AMI niet kunt pingen, gaat u kort naar Stap 8 en zorgt u ervoor dat het openbare subnetnummer aan de openbare routetabel is gekoppeld.
Gebruik bijvoorbeeld Ubuntu Server 14.04 LTS op de marktplaats.
Openbare subnetten: 10.16.2.0/24
Private subnet: 10.16.6.0/24
Als u het elastische IP-adres van dit nieuwe AMI niet kunt pingen, gaat u kort naar Stap 8 en zorgt u ervoor dat het openbare subnetnummer aan de openbare routetabel is gekoppeld.
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
Indien 8.8.8.8 niet in de tabel is vermeld, kunt u het volgende handmatig toevoegen:
ubuntu@ip-10-16-2-139:~$ sudo route add -host 8.8.8.8 gw 10.16.6.1 dev eth1
3 Publieke interfaces worden geassocieerd met de Public Route Table:
Openbare subnetten: 10.16.0.0/24, 10.16.1.0/24, 10.16.2.0/24
3 Private interfaces zijn gekoppeld aan de Private Route-tabel:
Particuliere subnetten: 10.16.4.0/24, 10.16.5.0/24, 10.16.6.0/24
Configureer de GRE-tunnel (Generic Routing Encapsulation) door de elastische IP’s van de CSR 1000v’s (aanbevolen om problemen met DHCP-leasevernieuwing te voorkomen, die foutieve fouten detecteren). De BFD-waarden (Biderection Forwarding Detection) kunnen zo worden geconfigureerd dat ze agressiever zijn dan in dit voorbeeld, als er snellere convergentie nodig is. Dit kan echter leiden tot BFD peer down events tijdens intermitterende connectiviteit. De waarden in dit voorbeeld detecteren peer-falen binnen 1,5 seconden. Er is een variabele vertraging van ongeveer een paar seconden tussen het moment waarop de opdracht AWS API wordt uitgevoerd en het moment waarop de wijzigingen in de VPC-routeringstabel van kracht worden.
GRE en BFD - Gebruikt om voorwaarden voor HA failover na te leven
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 en routing - gebruikt voor bereikbaarheid van VM-internet via de privé-interface
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 en BFD - Gebruikt om voorwaarden voor HA failover na te leven
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 en routing - gebruikt voor bereikbaarheid van VM-internet via de privé-interface
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
Controleer BFD peer-down gebeurtenissen door elke CSR 1000v te configureren met behulp van de cloud provider was de opdracht hieronder gespecificeerd. Gebruik deze opdracht om de routewijzigingen in (VPC) Route-table-id, Network-interface-id en CIDR te definiëren nadat een AWS HA-fout zoals BFD peer down is gedetecteerd.
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
Configuratievoorbeeld redundantie op 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
Configuratievoorbeeld van redundantie op 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
Resolutie: HTTP wordt gebruikt om de API-oproep van de CSR naar AWS te versturen. Zorg ervoor dat DNS de DNS naam kan oplossen die in uw instantie wordt vermeld. Zorg ervoor dat het http-verkeer niet wordt geblokkeerd.
*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
Resolutie: De naam van het gebied en ENI worden verkeerd gevormd in verschillende netwerken. Regio en ENI moeten in dezelfde zone liggen als de router.
*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>
Resolutie: IAM JSON-rol/-beleid is onjuist of niet toegepast op de MVO. De rol van IAM machtigt de MVO om API-oproepen te doen.
*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>
Cisco CRS-1000v Series implementatiegids voor cloudservices voor Amazon Web Services