Bring your own IP
AWS BYOIP: sopstvene IPv4 adrese na EC2
Dokazujete da kontrolišete opseg sertifikatom u njegovom zapisu registra i ROA koji navodi AWS-ove ASN-ove, obavljate provisioning u address pool i dodeljujete Elastic IP adrese iz njega kao i iz AWS-ovih sopstvenih. Za adrese koje donesete ne naplaćuje se satna naknada za javni IPv4.
Ovaj vodič pokriva EC2 preko AWS CLI-ja. Isti opseg može da ide i na AWS Global Accelerator, koji ima sopstveni postupak, ili preko VPC IP Address Manager (IPAM), koji dodaje način dokazivanja kontrole zasnovan na DNS-u i opciju najave sa sopstvenog ASN-a.
Šta AWS prihvata
Iz AWS-ove dokumentacije, na dan kada smo proverili:
- Veličina. Najspecifičniji IPv4 opseg koji možete doneti je /24.
- Registar. ARIN, RIPE NCC ili APNIC, i registrovan na preduzeće ili instituciju, nikada na fizičko lice.
- Istorija. AWS može da proveri reputaciju opsega i odbije onaj sa adresama lošeg zapisa (kako održati blok čistim).
- Legacy prostor se prihvata, ali mu i dalje treba ROA.
- Samo jedan region u jednom trenutku po opsegu, i podrazumevano pet opsega po regionu; AWS Support može da poveća taj broj.
- Gde. Svaki komercijalni region osim kineskih regiona, i spisak Local Zones.
- Ne dirajte routing registar. AWS sam ažurira RADb, a ručna izmena koja uključuje AWS-ov ASN dovodi do neuspeha provisioning-a.
Pre nego što počnete
ROA za AWS-ove ASN-ove. Mora da ovlasti AS16509 i AS14618, i svaki ASN koji danas najavljuje opseg, sa maksimalnom dužinom podešenom na veličinu opsega koji donosite. U AWS GovCloud (US) regionima ROA umesto toga navodi AS8987, a u AWS European Sovereign Cloud-u AS16509 i AS214101; preko IPAM-a podesite je na /24 da biste mogli da podelite blok. Ako opseg selite sa sopstvene mreže, prvo napravite ROA za svoj trenutni ASN, da ništa što sada radi ne postane nevažeće (RPKI i ROA). ROA-u može trebati do 24 sata da stigne do AWS-a.
Par ključeva i sertifikat, napravljeni pomoću OpenSSL 1.0.2 ili novijeg:
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.pemSertifikat u zapisu registra, u jednom redu, uključujući oznake BEGIN i END. Gde ide zavisi od registra, a polje je bitno:
| Registar | Gde ide sertifikat |
|---|---|
| RIPE NCC | Novi descr red na inetnum objektu. Ne remarks |
| ARIN | Public Comments mreže, ne organizacije |
| APNIC | remarks na inetnum objektu |
Sertifikat možete ukloniti kada se provisioning završi.
Korak po korak
01Potpišite poruku ovlašćenja. Poruka navodi Vaš nalog, opseg i datum isteka:
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")02Obavite provisioning opsega u regionu u kojem ćete ga koristiti:
aws ec2 provision-byoip-cidr --cidr 203.0.113.0/24 \
--cidr-authorization-context Message="$text_message",Signature="$signed_message" \
--region eu-central-103Sačekajte. Status prelazi iz pending-provision u provisioned. AWS kaže da se većina opsega završi u roku od dva sata, a neki traju do nedelju dana; aws ec2 describe-byoip-cidrs --max-results 5 --region eu-central-1 pokazuje dokle je stiglo.
04Pripremite, pa prebacite. Da bi prekid bio kratak, dodelite Elastic IP adrese iz novog pool-a i povežite ih pre nego što se opseg najavi. aws ec2 describe-public-ipv4-pools daje ID pool-a, a aws ec2 allocate-address --public-ipv4-pool <pool-id> uzima adresu iz njega.
05Najavite. Prestanite da najavljujete opseg bilo gde drugde, a zatim:
aws ec2 advertise-byoip-cidr --cidr 203.0.113.0/24 --region eu-central-1AWS preporučuje da najpre povučete opseg sa drugih lokacija; dok ga neko drugi najavljuje, AWS ne može da obeća da saobraćaj za njega stiže u njegovu mrežu. Morate najaviti tačno opseg za koji ste obavili provisioning, nikada njegov deo.
06Proverite spolja. whois -r -h whois.ripe.net 203.0.113.0/24 | grep descr treba da prikaže sertifikat, a RIPEstat-ov validator treba da proglasi opseg važećim za AS16509: curl "https://stat.ripe.net/data/rpki-validation/data.json?resource=16509&prefix=203.0.113.0/24".
Greške koje koštaju dan
- Sertifikat u pogrešnom polju. Za RIPE NCC, AWS čita
descr, a izričito neremarks. Azure želi suprotno, pa blok koji se seli između ta dva clouda zahteva izmenu zapisa. - ROA sa pogrešnom maksimalnom dužinom. AWS zahteva da bude jednaka veličini opsega koji donosite, ili /24 preko IPAM-a. Maksimalna dužina specifičnija od opsega koji donosite poziva na otmice podprefiksa, a AWS zadržava pravo da prestane da najavljuje opseg čiji ROA ne prate njegova pravila.
- Najava dela opsega. AWS najavljuje tačno ono za šta ste obavili provisioning. Da biste koristili manji opseg, uradite deprovisioning i ponovo provisioning.
- Dve mreže najavljuju istovremeno. Saobraćaj se deli između njih, a AWS to neće rešavati.
Vaš sopstveni ASN
Preko VPC IPAM-a AWS može da najavljuje Vaš opseg sa Vašeg sopstvenog ASN-a umesto sa svog. Isti sertifikat dodajete u zapis registra za Vaš ASN (za RIPE NCC, kao descr red na aut-num), pravite drugi ROA koji navodi Vaš ASN, a AWS preporučuje ASPA objekat koji navodi AS16509 i AS14618 kao Vaše provajdere; bez njih rute koje AWS prosleđuje za Vas padaju na ASPA validaciji. Poreklo možete vratiti na AWS-ov ASN u bilo kom trenutku, a na Vaš najviše jednom na sat.
Ako zakupljujete blok
Zakupljeni prostor radi, pod uslovom da registar pokazuje da ga drži organizacija. Nosilac obavlja deo u registru: sertifikat u inetnum zapisu, koji može da menja samo maintainer nosioca, i ROA za AS16509 i AS14618. Ostalo radite sami iz svog AWS naloga.
Gde se uklapa RTM Networks
Dajemo u zakup /24 i veće iz sopstvenog adresnog prostora RIPE NCC-a i prodajemo blokove u regionima RIPE NCC-a, ARIN-a i APNIC-a. Za prostor koji zakupljujete od nas dodajemo Vaš AWS sertifikat u zapis registra i pravimo ROA za AWS-ove ASN-ove, pa Vam ostaje samo provisioning (zakup IPv4). Ako Vam treba manje od 256 adresa na EC2 instanci, možemo da ih isporučimo preko tunela (GRE i WireGuard tuneli). Kako se satna naknada za IPv4 sabira i kada se donošenje sopstvenih adresa isplati: stvarna cena IPv4 u cloudu. Drugi provajderi: BYOIP vodiči.
Kontakt
Donosite sopstvene IP adrese kod provajdera AWS?
Navedite provajdera, region i koliko adresa Vam treba. Iznajmljujemo /24 i veće blokove sa već obavljenim poslovima registra za Vašeg provajdera, prodajemo blokove u trajno vlasništvo ili isporučujemo manji broj adresa preko tunela. Obično odgovaramo u roku od 1 do 3 radna sata.

