Přeskočit na obsah
Networks

Bring your own IP

BYOIP u AWS: vlastní IPv4 adresy v EC2

BYOIP k dispoziciSpojené státyOvěřeno podle dokumentace AWS dne Přeloženo z angličtiny. Číst originál

Kontrolu nad rozsahem prokážete certifikátem v jeho záznamu v registru a ROA, který uvádí ASN AWS, provisionujete ho do poolu adres a přidělujete z něj Elastic IP adresy stejně jako z vlastních adres AWS. Na přinesené adresy se hodinový poplatek za veřejné IPv4 neúčtuje.

Tento návod popisuje EC2 přes AWS CLI. Stejný rozsah může jít také do AWS Global Accelerator, který má vlastní postup, nebo přes VPC IP Address Manager (IPAM), který přidává prokázání kontroly přes DNS a možnost announcovat z vlastního ASN.

Co AWS přijímá

Podle dokumentace AWS v den, kdy jsme ji kontrolovali:

  • Velikost. Nejspecifičtější IPv4 rozsah, který můžete přinést, je /24.
  • Registr. ARIN, RIPE NCC nebo APNIC, registrovaný na firmu nebo instituci, nikdy na osobu.
  • Historie. AWS může prověřit reputaci rozsahu a odmítnout takový, jehož adresy mají špatný záznam (jak udržet blok čistý).
  • Legacy prostor je přijímán, ale i tak potřebuje ROA.
  • Vždy jeden region na rozsah a ve výchozím stavu pět rozsahů na region; AWS Support to může navýšit.
  • Kde. Každý komerční region kromě regionů v Číně a seznam Local Zones.
  • Routing registru se nedotýkejte. AWS aktualizuje RADb sám a ruční změna, která obsahuje ASN AWS, způsobí selhání provisioningu.

Než začnete

ROA pro ASN AWS. Musí autorizovat AS16509 a AS14618 a každé ASN, které rozsah dnes announcuje, s maximální délkou nastavenou na velikost rozsahu, který přinášíte. V regionech AWS GovCloud (US) uvádí ROA místo toho AS8987 a v AWS European Sovereign Cloud AS16509 a AS214101; přes IPAM ji nastavte na /24, abyste mohli blok rozdělit. Pokud rozsah přesouváte ze své vlastní sítě, vytvořte nejprve ROA pro své současné ASN, aby nic, co nyní funguje, nebylo neplatné (RPKI a ROA). ROA se k AWS může dostat až za 24 hodin.

Pár klíčů a certifikát, vytvořené pomocí OpenSSL 1.0.2 nebo novějšího:

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

Certifikát v záznamu v registru, na jednom řádku, včetně značek BEGIN a END. Kam přijde, záleží na registru, a na poli záleží:

RegistrKam patří certifikát
RIPE NCCNový řádek descr v objektu inetnum. Ne remarks
ARINPublic Comments sítě, ne organizace
APNICremarks v objektu inetnum

Po dokončení provisioningu můžete certifikát odstranit.

Krok za krokem

01Podepište autorizační zprávu. Zpráva uvádí váš účet, rozsah a datum vypršení:

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

02Provisionujte rozsah v regionu, kde ho budete používat:

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

03Počkejte. Stav přejde z pending-provision na provisioned. AWS uvádí, že většina rozsahů je hotová do dvou hodin a některé trvají až týden; aws ec2 describe-byoip-cidrs --max-results 5 --region eu-central-1 ukáže, jak na tom jste.

04Připravte se, pak přepněte. Aby byl výpadek krátký, přidělte z nového poolu Elastic IP adresy a připojte je dřív, než se rozsah announcuje. aws ec2 describe-public-ipv4-pools vrátí ID poolu a aws ec2 allocate-address --public-ipv4-pool <pool-id> z něj vezme adresu.

05Announcujte. Přestaňte rozsah announcovat kdekoli jinde a pak:

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

AWS doporučuje nejprve rozsah stáhnout z ostatních míst; dokud ho announcuje někdo jiný, AWS nemůže slíbit, že provoz pro něj dorazí do jeho sítě. Musíte announcovat přesně ten rozsah, který jste provisionovali, nikdy jeho část.

06Ověřte zvenčí. whois -r -h whois.ripe.net 203.0.113.0/24 | grep descr by měl ukázat certifikát a validátor RIPEstat by měl rozsah pro AS16509 označit jako platný: curl "https://stat.ripe.net/data/rpki-validation/data.json?resource=16509&prefix=203.0.113.0/24".

Chyby, které stojí den

  • Certifikát ve špatném poli. U RIPE NCC čte AWS descr a výslovně ne remarks. Azure chce opak, takže blok přesouvaný mezi těmito dvěma cloudy potřebuje změnu záznamu.
  • ROA se špatnou maximální délkou. AWS vyžaduje, aby se rovnala velikosti přinášeného rozsahu, nebo /24 přes IPAM. Maximální délka specifičtější než přinášený rozsah zve k hijackům podprefixů a AWS si vyhrazuje právo přestat announcovat rozsah, jehož ROA nedodržují jeho pravidla.
  • Announcování části rozsahu. AWS announcuje přesně to, co jste provisionovali. Chcete-li použít menší rozsah, proveďte deprovisioning a provisionujte znovu.
  • Dvě sítě announcují současně. Provoz se mezi ně rozdělí a AWS to řešit nebude.

Vaše vlastní ASN

Přes VPC IPAM může AWS announcovat váš rozsah z vašeho vlastního ASN místo svého. Stejný certifikát přidáte do záznamu v registru svého ASN (u RIPE NCC jako řádek descr v aut-num), vytvoříte druhý ROA, který uvádí vaše ASN, a AWS doporučuje objekt ASPA, který uvádí AS16509 a AS14618 jako vaše poskytovatele; bez nich routy, které za vás AWS předává dál, neprojdou validací ASPA. Origin můžete kdykoli přepnout zpět na ASN AWS a na vaše nejvýše jednou za hodinu.

Pokud si blok pronajímáte

Pronajatý prostor funguje, pokud ho registr ukazuje jako držený organizací. Stranu registru zajistí držitel: certifikát v záznamu inetnum, který může upravit jen maintainer držitele, a ROA pro AS16509 a AS14618. Zbytek uděláte ze svého účtu AWS.

Kde se uplatní RTM Networks

Pronajímáme bloky /24 a větší z našeho vlastního adresního prostoru u RIPE NCC a prodáváme bloky v regionech RIPE NCC, ARIN a APNIC. U prostoru pronajatého od nás přidáme váš certifikát AWS do záznamu v registru a vytvoříme ROA pro ASN AWS, takže vám zbývá jen provisioning (pronájem IPv4). Pokud na instanci EC2 potřebujete méně než 256 adres, můžeme je místo toho doručit tunelem (tunely GRE a WireGuard). Jak se hodinový poplatek za IPv4 sčítá a kdy se vlastní adresy vyplatí: skutečné náklady na IPv4 v cloudu. Další poskytovatelé: návody BYOIP.

Kontakt

Přinášíte vlastní IP k AWS?

Napište nám poskytovatele, region a kolik adres potřebujete. Pronajímáme /24 a větší s hotovou prací s registrem pro vašeho poskytovatele, prodáváme bloky napevno, nebo dodáme menší počet adres přes tunel. Obvykle odpovídáme do 1 až 3 pracovních hodin.

Kontaktujte nás

Časté otázky

BYOIP u AWS: otázky

Účtuje AWS poplatky za adresy BYOIP?

Ne. AWS účtuje 0,005 USD za hodinu za každou veřejnou IPv4 adresu, kterou poskytuje, ať se používá, nebo ne, a jeho ceník uvádí, že adresy přinesené přes BYOIP se neúčtují. Instance, provoz a další služby stojí tolik co vždy.

Jak dlouho BYOIP u AWS trvá?

AWS uvádí, že většina provisioningu skončí do dvou hodin, a u veřejně announcovatelných rozsahů počítá až s jedním týdnem. ROA se k AWS může dostat až za 24 hodin a záznam v registru měněný ručně přes LIR může trvat dny.

Mohu stejný blok použít v několika regionech AWS?

Každý rozsah jde vždy do jednoho regionu, ale větší blok lze rozdělit na /24 a přinést do různých regionů s jedním ROA a jedním záznamem v registru. Přes IPAM nastavte maximální délku ROA na /24, aby šel blok rozdělit.

Může AWS announcovat můj rozsah BYOIP z mého vlastního ASN?

Ano, přes volbu bring-your-own-ASN ve VPC IPAM. Pak potřebujete druhý ROA pro své ASN a certifikát v záznamu registru svého ASN a AWS doporučuje objekt ASPA, který uvádí AS16509 a AS14618 jako vaše poskytovatele.

Mohu do AWS přinést pronajatý prostor?

Ano, pokud je registrován na organizaci, a ne na osobu. Držitel přidá váš certifikát do záznamu v registru a vytvoří ROA pro ASN AWS; u prostoru pronajatého od nás uděláme obojí.