Bring your own IP
BYOIP u AWS: vlastní IPv4 adresy v EC2
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:
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.pemCertifiká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ží:
| Registr | Kam patří certifikát |
|---|---|
| RIPE NCC | Nový řádek descr v objektu inetnum. Ne remarks |
| ARIN | Public Comments sítě, ne organizace |
| APNIC | remarks 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í:
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:
aws ec2 provision-byoip-cidr --cidr 203.0.113.0/24 \
--cidr-authorization-context Message="$text_message",Signature="$signed_message" \
--region eu-central-103Poč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:
aws ec2 advertise-byoip-cidr --cidr 203.0.113.0/24 --region eu-central-1AWS 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
descra výslovně neremarks. 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.

