Hoppa till innehållet
Networks

Bring your own IP

BYOIP hos AWS: ta med dina egna IPv4-adresser till EC2

BYOIP finnsUSAKontrollerad mot dokumentationen från AWS den Översatt från engelska. Läs originalet

Du visar att du kontrollerar intervallet med ett certifikat i dess registerpost och en ROA som anger AWS:s ASN, provisionerar det i en adresspool och tilldelar Elastic IP-adresser ur den som du skulle göra ur AWS:s egna. Adresser du tar med debiteras inte timavgiften för publik IPv4.

Den här guiden gäller EC2 via AWS CLI. Samma intervall kan också gå till AWS Global Accelerator, som har en egen process, eller via VPC IP Address Manager (IPAM), som lägger till ett DNS-baserat sätt att visa kontroll och möjligheten att annonsera från ditt eget ASN.

Vad AWS godtar

Enligt AWS:s dokumentation, den dag vi kontrollerade:

  • Storlek. Det mest specifika IPv4-intervall du kan ta med är ett /24.
  • Register. ARIN, RIPE NCC eller APNIC, och registrerat på ett företag eller en institution, aldrig på en person.
  • Historik. AWS kan kontrollera intervallets rykte och avvisa ett med adresser som har dålig historik (att hålla ett block rent).
  • Legacy-utrymme godtas men behöver ändå en ROA.
  • En region åt gången per intervall, och fem intervall per region som standard; AWS Support kan höja det.
  • Var. Alla kommersiella regioner utom regionerna i Kina, och en lista över Local Zones.
  • Rör inte routingregistret. AWS uppdaterar RADb själv, och en manuell ändring som inkluderar AWS:s ASN får provisioneringen att misslyckas.

Innan du börjar

En ROA för AWS:s ASN. Den måste godkänna AS16509 och AS14618, och varje ASN som annonserar intervallet i dag, med maxlängden satt till storleken på intervallet du tar med. I AWS GovCloud (US)-regionerna anger ROA:n i stället AS8987, och i AWS European Sovereign Cloud AS16509 och AS214101; via IPAM sätter du den till /24 så att du kan dela blocket. Flyttar du intervallet från ditt eget nät, skapa först ROA:n för ditt nuvarande ASN, så att inget som fungerar nu blir ogiltigt (RPKI och ROA). En ROA kan ta upp till 24 timmar att nå AWS.

Ett nyckelpar och ett certifikat, skapade med OpenSSL 1.0.2 eller senare:

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

Certifikatet i registerposten, på en rad, inklusive markeringarna BEGIN och END. Var det ska stå beror på registret, och fältet spelar roll:

RegisterVar certifikatet ska stå
RIPE NCCEn ny descr-rad i inetnum-objektet. Inte remarks
ARINPublic Comments för nätet, inte för organisationen
APNICremarks i inetnum-objektet

Du kan ta bort certifikatet när provisioneringen är klar.

Steg för steg

01Signera godkännandemeddelandet. Meddelandet anger ditt konto, intervallet och ett utgångsdatum:

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")

02Provisionera intervallet i den region där du ska använda det:

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

03Vänta. Statusen går från pending-provision till provisioned. AWS säger att de flesta intervall blir klara inom två timmar och att vissa tar upp till en vecka; aws ec2 describe-byoip-cidrs --max-results 5 --region eu-central-1 visar var det står.

04Förbered, byt sedan. För att hålla avbrottet kort, tilldela Elastic IP-adresser ur den nya poolen och koppla dem innan intervallet annonseras. aws ec2 describe-public-ipv4-pools ger poolens ID, och aws ec2 allocate-address --public-ipv4-pool <pool-id> tar en adress ur den.

05Annonsera. Sluta annonsera intervallet någon annanstans, och kör sedan:

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

AWS rekommenderar att du först drar tillbaka intervallet från andra platser; så länge någon annan annonserar det kan AWS inte lova att trafiken till det når dess nät. Du måste annonsera exakt det intervall du provisionerat, aldrig en del av det.

06Kontrollera utifrån. whois -r -h whois.ripe.net 203.0.113.0/24 | grep descr ska visa certifikatet, och RIPEstats validator ska kalla intervallet giltigt för AS16509: curl "https://stat.ripe.net/data/rpki-validation/data.json?resource=16509&prefix=203.0.113.0/24".

Misstag som kostar en dag

  • Certifikatet i fel fält. För RIPE NCC läser AWS descr och uttryckligen inte remarks. Azure vill ha det omvända, så ett block som flyttas mellan de två molnen behöver en ändrad post.
  • En ROA med fel maxlängd. AWS kräver att den är lika med storleken på intervallet du tar med, eller /24 via IPAM. En maxlängd som är mer specifik än intervallet du tar med bjuder in till kapning av delprefix, och AWS förbehåller sig rätten att sluta annonsera ett intervall vars ROA inte följer dess regler.
  • Att annonsera en del av intervallet. AWS annonserar exakt det du provisionerat. För att använda ett mindre intervall, avprovisionera och provisionera igen.
  • Två nät som annonserar samtidigt. Trafiken delas mellan dem, och AWS felsöker det inte.

Ditt eget ASN

Via VPC IPAM kan AWS annonsera ditt intervall från ditt eget ASN i stället för sitt eget. Du lägger in samma certifikat i ditt ASN:s registerpost (för RIPE NCC som en descr-rad i aut-num), skapar en andra ROA som anger ditt ASN, och AWS rekommenderar ett ASPA-objekt som anger AS16509 och AS14618 som dina leverantörer; utan dem underkänns de routes som AWS skickar vidare åt dig vid ASPA-validering. Du kan byta origin tillbaka till AWS:s ASN när som helst, och till ditt högst en gång i timmen.

Om du hyr blocket

Hyrt utrymme fungerar, förutsatt att registret visar att en organisation innehar det. Innehavaren sköter registersidan: certifikatet i inetnum-posten, som bara innehavarens maintainer kan redigera, och ROA:n för AS16509 och AS14618. Resten gör du från ditt AWS-konto.

Var RTM Networks passar in

Vi hyr ut /24 och större från vårt eget adressutrymme hos RIPE NCC, och säljer block i regionerna för RIPE NCC, ARIN och APNIC. För utrymme du hyr av oss lägger vi in ditt AWS-certifikat i registerposten och skapar ROA:n för AWS:s ASN, så att provisioneringen är det enda steg som återstår för dig (hyr IPv4). Behöver du färre än 256 adresser på en EC2-instans kan vi leverera dem via en tunnel i stället (GRE- och WireGuard-tunnlar). Hur timavgiften för IPv4 summeras, och när det lönar sig att ta med egna: den verkliga kostnaden för IPv4 i molnet. Andra leverantörer: BYOIP-guider.

Kontakt

Tar du med din egen IP till AWS?

Berätta leverantör, region och hur många adresser du behöver. Vi hyr ut /24 och större med registerarbetet för din leverantör gjort, säljer block direkt eller levererar färre adresser över en tunnel. Vi svarar oftast inom 1 till 3 timmar under kontorstid.

Kontakta oss

Vanliga frågor

BYOIP hos AWS: frågor

Tar AWS betalt för BYOIP-adresser?

Nej. AWS tar 0,005 USD i timmen för varje publik IPv4-adress det tillhandahåller, i bruk eller inte, och dess prissida säger att adresser som tas med via BYOIP inte debiteras. Instanser, trafik och andra tjänster kostar vad de alltid gör.

Hur lång tid tar BYOIP hos AWS?

AWS säger att de flesta provisioneringar blir klara inom två timmar och räknar med upp till en vecka för intervall som kan annonseras publikt. ROA:n kan ta upp till 24 timmar att nå AWS, och en registerpost som ändras för hand via en LIR kan ta dagar.

Kan jag använda samma block i flera AWS-regioner?

Varje intervall går till en region åt gången, men ett större block kan delas i /24 och tas till olika regioner med en enda ROA och en enda registerpost. Via IPAM sätter du ROA:ns maxlängd till /24 så att blocket kan delas.

Kan AWS annonsera mitt BYOIP-intervall från mitt eget ASN?

Ja, via alternativet bring-your-own-ASN i VPC IPAM. Du behöver då en andra ROA för ditt ASN och certifikatet i ditt ASN:s registerpost, och AWS rekommenderar ett ASPA-objekt som anger AS16509 och AS14618 som dina leverantörer.

Kan jag ta med hyrt adressutrymme till AWS?

Ja, om det är registrerat på en organisation och inte på en person. Innehavaren lägger in ditt certifikat i registerposten och skapar ROA:n för AWS:s ASN; för utrymme du hyr av oss gör vi båda.