Bring your own IP
BYOIP la AWS: propriile adrese IPv4 în EC2
Dovediți că controlați plaja cu un certificat în înregistrarea ei din registru și un ROA care numește ASN-urile AWS, o configurați într-un pool de adrese și alocați din ea adrese Elastic IP la fel ca din adresele proprii ale AWS. Adresele aduse de dvs. nu sunt taxate cu tariful orar pentru IPv4 public.
Acest ghid acoperă EC2 prin AWS CLI. Aceeași plajă poate merge și la AWS Global Accelerator, care are propriul proces, sau prin VPC IP Address Manager (IPAM), care adaugă o cale de dovadă a controlului bazată pe DNS și opțiunea de a anunța din propriul ASN.
Ce acceptă AWS
Din documentația AWS, în ziua în care am verificat:
- Mărime. Cea mai specifică plajă IPv4 pe care o puteți aduce este un /24.
- Registru. ARIN, RIPE NCC sau APNIC și înregistrată pe o firmă sau o instituție, niciodată pe o persoană fizică.
- Istoric. AWS poate verifica reputația plajei și poate respinge una cu adrese care au un istoric prost (cum păstrați un bloc curat).
- Spațiul legacy este acceptat, dar are tot nevoie de un ROA.
- O singură regiune odată per plajă și cinci plaje per regiune implicit; AWS Support poate mări limita.
- Unde. Toate regiunile comerciale în afară de regiunile din China și o listă de Local Zones.
- Nu atingeți registrul de rutare. AWS actualizează singur RADb, iar o modificare manuală care include ASN-ul AWS face configurarea să eșueze.
Înainte să începeți
Un ROA pentru ASN-urile AWS. Trebuie să autorizeze AS16509 și AS14618, precum și orice ASN care anunță azi plaja, cu lungimea maximă setată la mărimea plajei pe care o aduceți. În regiunile AWS GovCloud (US), ROA-ul numește în schimb AS8987, iar în AWS European Sovereign Cloud AS16509 și AS214101; prin IPAM, setați-o la /24 ca să puteți împărți blocul. Dacă mutați plaja din propria rețea, creați întâi ROA-ul pentru ASN-ul dvs. actual, ca nimic din ce funcționează acum să nu devină invalid (RPKI și ROA). Un ROA poate avea nevoie de până la 24 de ore ca să ajungă la AWS.
O pereche de chei și un certificat, făcute cu OpenSSL 1.0.2 sau mai nou:
openssl genpkey -aes256 -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out private-key.pem
openssl req -new -x509 -key private-key.pem -days 365 | tr -d "\n" > certificate.pemCertificatul în înregistrarea din registru, pe o singură linie, inclusiv marcajele BEGIN și END. Unde merge depinde de registru, iar câmpul contează:
| Registru | Unde merge certificatul |
|---|---|
| RIPE NCC | O linie descr nouă pe obiectul inetnum. Nu remarks |
| ARIN | Public Comments ale rețelei, nu ale organizației |
| APNIC | remarks pe obiectul inetnum |
Puteți șterge certificatul după ce configurarea s-a încheiat.
Pas cu pas
01Semnați mesajul de autorizare. Mesajul numește contul dvs., plaja și o dată de expirare:
text_message="1|aws|123456789012|203.0.113.0/24|20261231|SHA256|RSAPSS"
signed_message=$(echo -n $text_message | openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -sign private-key.pem -keyform PEM | openssl base64 | tr -- '+=/' '-_~' | tr -d "\n")02Configurați plaja în regiunea în care o veți folosi:
aws ec2 provision-byoip-cidr --cidr 203.0.113.0/24 \
--cidr-authorization-context Message="$text_message",Signature="$signed_message" \
--region eu-central-103Așteptați. Starea trece de la pending-provision la provisioned. AWS spune că majoritatea plajelor se termină în două ore, iar unele durează până la o săptămână; aws ec2 describe-byoip-cidrs --max-results 5 --region eu-central-1 arată unde a ajuns.
04Pregătiți, apoi comutați. Ca întreruperea să fie scurtă, alocați adrese Elastic IP din noul pool și atașați-le înainte ca plaja să fie anunțată. aws ec2 describe-public-ipv4-pools dă ID-ul pool-ului, iar aws ec2 allocate-address --public-ipv4-pool <pool-id> ia o adresă din el.
05Anunțați. Opriți anunțarea plajei oriunde altundeva, apoi:
aws ec2 advertise-byoip-cidr --cidr 203.0.113.0/24 --region eu-central-1AWS recomandă să retrageți mai întâi plaja din alte locuri; cât timp altcineva o anunță, AWS nu poate promite că traficul pentru ea ajunge în rețeaua sa. Trebuie să anunțați exact plaja configurată, niciodată o parte din ea.
06Verificați din exterior. whois -r -h whois.ripe.net 203.0.113.0/24 | grep descr ar trebui să arate certificatul, iar validatorul RIPEstat ar trebui să numească plaja validă pentru AS16509: curl "https://stat.ripe.net/data/rpki-validation/data.json?resource=16509&prefix=203.0.113.0/24".
Greșeli care costă o zi
- Certificatul în câmpul greșit. Pentru RIPE NCC, AWS citește
descrși explicit nuremarks. Azure vrea invers, așa că un bloc mutat între cele două cloud-uri are nevoie de modificarea înregistrării. - Un ROA cu lungimea maximă greșită. AWS cere ca ea să fie egală cu mărimea plajei pe care o aduceți sau /24 prin IPAM. O lungime maximă mai specifică decât plaja pe care o aduceți invită la deturnări de subprefixe, iar AWS își rezervă dreptul să nu mai anunțe o plajă ale cărei ROA-uri nu respectă regulile sale.
- Anunțarea unei părți din plajă. AWS anunță exact ce ați configurat. Ca să folosiți o plajă mai mică, dezactivați-o și configurați-o din nou.
- Două rețele care anunță în același timp. Traficul se împarte între ele, iar AWS nu va depana problema.
Propriul dvs. ASN
Prin VPC IPAM, AWS vă poate anunța plaja din propriul dvs. ASN în locul celui propriu. Adăugați același certificat în înregistrarea de registru a ASN-ului dvs. (pentru RIPE NCC, ca linie descr pe aut-num), creați un al doilea ROA care numește ASN-ul dvs., iar AWS recomandă un obiect ASPA care trece AS16509 și AS14618 ca furnizorii dvs.; fără ele, rutele pe care AWS le transmite pentru dvs. pică validarea ASPA. Puteți comuta originea înapoi la ASN-ul AWS oricând, iar la al dvs. cel mult o dată pe oră.
Dacă închiriați blocul
Spațiul închiriat funcționează, cu condiția ca registrul să îl arate deținut de o organizație. Deținătorul face partea de registru: certificatul în înregistrarea inetnum, pe care doar maintainerul deținătorului o poate edita, și ROA-ul pentru AS16509 și AS14618. Restul îl faceți dvs. din contul AWS.
Unde se încadrează RTM Networks
Închiriem /24 și mai mari din propriul spațiu de adrese RIPE NCC și vindem blocuri în regiunile RIPE NCC, ARIN și APNIC. Pentru spațiul închiriat de la noi adăugăm certificatul dvs. AWS în înregistrarea din registru și creăm ROA-ul pentru ASN-urile AWS, așa că singurul pas care vă rămâne este configurarea (închiriere IPv4). Dacă aveți nevoie de mai puțin de 256 de adrese pe o instanță EC2, vi le putem livra în schimb printr-un tunel (tuneluri GRE și WireGuard). Cum se adună tariful orar pentru IPv4 și când merită să le aduceți pe ale dvs.: costul real al IPv4 în cloud. Alți furnizori: ghiduri BYOIP.
Contact
Vă aduceți propriile IP-uri la AWS?
Spuneți-ne furnizorul, regiunea și de câte adrese aveți nevoie. Închiriem /24 și blocuri mai mari, cu munca de registru pentru furnizorul dvs. deja făcută, vindem blocuri integral sau livrăm mai puține adrese printr-un tunel. De obicei răspundem în 1-3 ore lucrătoare.

