Salt la conținut
Networks

Bring your own IP

BYOIP la AWS: propriile adrese IPv4 în EC2

BYOIP disponibilStatele UniteVerificat în documentația AWS la Tradus din engleză. Citiți originalul

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:

Shell
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.pem

Certificatul în înregistrarea din registru, pe o singură linie, inclusiv marcajele BEGIN și END. Unde merge depinde de registru, iar câmpul contează:

RegistruUnde merge certificatul
RIPE NCCO linie descr nouă pe obiectul inetnum. Nu remarks
ARINPublic Comments ale rețelei, nu ale organizației
APNICremarks 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:

Shell
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:

Shell
aws ec2 provision-byoip-cidr --cidr 203.0.113.0/24 \
  --cidr-authorization-context Message="$text_message",Signature="$signed_message" \
  --region eu-central-1

03Aș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:

Shell
aws ec2 advertise-byoip-cidr --cidr 203.0.113.0/24 --region eu-central-1

AWS 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 nu remarks. 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.

Contactați-ne

Întrebări frecvente

BYOIP la AWS: întrebări

Percepe AWS taxe pentru adresele BYOIP?

Nu. AWS percepe 0,005 USD pe oră pentru fiecare adresă IPv4 publică pe care o furnizează, folosită sau nu, iar pagina sa de prețuri spune că adresele aduse prin BYOIP nu se taxează. Instanțele, traficul și celelalte servicii costă cât au costat mereu.

Cât durează BYOIP la AWS?

AWS spune că majoritatea configurărilor se încheie în două ore și admite până la o săptămână pentru plajele care pot fi anunțate public. ROA-ul poate avea nevoie de până la 24 de ore ca să ajungă la AWS, iar o înregistrare de registru modificată manual printr-un LIR poate dura zile.

Pot folosi același bloc în mai multe regiuni AWS?

Fiecare plajă merge într-o singură regiune odată, dar un bloc mai mare poate fi împărțit în /24 și adus în regiuni diferite cu un singur ROA și o singură înregistrare de registru. Prin IPAM, setați lungimea maximă a ROA-ului la /24, ca blocul să poată fi împărțit.

Îmi poate anunța AWS plaja BYOIP din propriul ASN?

Da, prin opțiunea bring-your-own-ASN din VPC IPAM. Aveți nevoie atunci de un al doilea ROA pentru ASN-ul dvs. și de certificat în înregistrarea de registru a ASN-ului, iar AWS recomandă un obiect ASPA care trece AS16509 și AS14618 ca furnizorii dvs.

Pot aduce spațiu închiriat la AWS?

Da, dacă este înregistrat pe o organizație, nu pe o persoană fizică. Deținătorul adaugă certificatul dvs. în înregistrarea din registru și creează ROA-ul pentru ASN-urile AWS; pentru spațiul închiriat de la noi, le facem pe amândouă.