Przejdź do treści
Networks

Bring your own IP

BYOIP w AWS: własne adresy IPv4 w EC2

BYOIP dostępneStany ZjednoczoneSprawdzono z dokumentacją AWS w dniu Przetłumaczono z angielskiego. Przeczytaj oryginał

Dowodzisz kontroli nad zakresem certyfikatem w jego rekordzie rejestru i ROA wskazującym ASN AWS, udostępniasz go do puli adresów i przydzielasz z niej adresy Elastic IP tak jak z własnych adresów AWS. Wniesione adresy nie są obciążane godzinową opłatą za publiczne IPv4.

Ten przewodnik opisuje EC2 przez AWS CLI. Ten sam zakres może też trafić do AWS Global Accelerator, który ma własny proces, albo przez VPC IP Address Manager (IPAM), który dodaje sposób dowodzenia kontroli oparty na DNS i możliwość ogłaszania z własnego ASN.

Co przyjmuje AWS

Według dokumentacji AWS w dniu, w którym sprawdzaliśmy:

  • Rozmiar. Najbardziej szczegółowy zakres IPv4, jaki można wnieść, to /24.
  • Rejestr. ARIN, RIPE NCC lub APNIC, z rejestracją na firmę lub instytucję, nigdy na osobę.
  • Historia. AWS może sprawdzić reputację zakresu i odrzucić taki, którego adresy mają złą historię (jak utrzymać czysty blok).
  • Przestrzeń legacy jest przyjmowana, ale nadal wymaga ROA.
  • Jeden region naraz na zakres i domyślnie pięć zakresów na region; AWS Support może ten limit podnieść.
  • Gdzie. Każdy region komercyjny poza regionami w Chinach oraz lista Local Zones.
  • Nie ruszaj rejestru routingu. AWS sam aktualizuje RADb, a ręczna zmiana obejmująca ASN AWS sprawia, że udostępnianie się nie powiedzie.

Zanim zaczniesz

ROA dla ASN AWS. Musi autoryzować AS16509 i AS14618 oraz każdy ASN, który ogłasza zakres dziś, z maksymalną długością równą rozmiarowi wnoszonego zakresu. W regionach AWS GovCloud (US) ROA wskazuje zamiast tego AS8987, a w AWS European Sovereign Cloud AS16509 i AS214101; przez IPAM ustaw ją na /24, aby móc podzielić blok. Jeśli przenosisz zakres ze swojej sieci, najpierw utwórz ROA dla obecnego ASN, aby nic, co teraz działa, nie stało się nieważne (RPKI i ROA). ROA może docierać do AWS do 24 godzin.

Para kluczy i certyfikat, utworzone w OpenSSL 1.0.2 lub nowszym:

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

Certyfikat w rekordzie rejestru, w jednej linii, ze znacznikami BEGIN i END. To, gdzie trafia, zależy od rejestru, a pole ma znaczenie:

RejestrGdzie trafia certyfikat
RIPE NCCNowa linia descr w obiekcie inetnum. Nie remarks
ARINPublic Comments sieci, nie organizacji
APNICremarks w obiekcie inetnum

Po zakończeniu udostępniania możesz usunąć certyfikat.

Krok po kroku

01Podpisz komunikat autoryzacyjny. Komunikat zawiera Twoje konto, zakres i datę wygaśnięcia:

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

02Udostępnij zakres w regionie, w którym będziesz go używać:

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

03Poczekaj. Status zmienia się z pending-provision na provisioned. AWS podaje, że większość zakresów kończy się w ciągu dwóch godzin, a niektóre trwają do tygodnia; aws ec2 describe-byoip-cidrs --max-results 5 --region eu-central-1 pokazuje, na jakim etapie jesteś.

04Przygotuj, potem przełącz. Aby przestój był krótki, przydziel adresy Elastic IP z nowej puli i podłącz je, zanim zakres zostanie ogłoszony. aws ec2 describe-public-ipv4-pools podaje identyfikator puli, a aws ec2 allocate-address --public-ipv4-pool <pool-id> pobiera z niej adres.

05Ogłoś. Przestań ogłaszać zakres gdziekolwiek indziej, a potem:

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

AWS zaleca najpierw wycofać zakres z innych miejsc; dopóki ogłasza go ktoś inny, AWS nie może obiecać, że ruch do niego dotrze do jego sieci. Musisz ogłosić dokładnie ten zakres, który udostępniłeś, nigdy jego część.

06Sprawdź z zewnątrz. whois -r -h whois.ripe.net 203.0.113.0/24 | grep descr powinno pokazać certyfikat, a walidator RIPEstat powinien uznać zakres za ważny dla AS16509: curl "https://stat.ripe.net/data/rpki-validation/data.json?resource=16509&prefix=203.0.113.0/24".

Błędy, które kosztują dzień

  • Certyfikat w złym polu. Dla RIPE NCC AWS czyta descr, a wyraźnie nie remarks. Azure chce odwrotnie, więc blok przenoszony między tymi dwiema chmurami wymaga zmiany rekordu.
  • ROA ze złą maksymalną długością. AWS wymaga, aby była równa rozmiarowi wnoszonego zakresu albo /24 przez IPAM. Dłuższa zachęca do przejęć tras (hijacks), a AWS zastrzega sobie prawo do zaprzestania ogłaszania zakresu, którego ROA nie spełniają jego zasad.
  • Ogłaszanie części zakresu. AWS ogłasza dokładnie to, co udostępniłeś. Aby użyć mniejszego zakresu, cofnij udostępnienie i udostępnij ponownie.
  • Dwie sieci ogłaszające naraz. Ruch dzieli się między nie, a AWS nie będzie tego diagnozować.

Twój własny ASN

Przez VPC IPAM AWS może ogłaszać Twój zakres z Twojego własnego ASN zamiast ze swojego. Dodajesz ten sam certyfikat do rekordu rejestru swojego ASN (dla RIPE NCC jako linię descr w aut-num), tworzysz drugą ROA wskazującą Twój ASN, a AWS zaleca obiekt ASPA z AS16509 i AS14618 jako Twoimi dostawcami; bez nich trasy, które AWS przekazuje za Ciebie, nie przechodzą walidacji ASPA. Źródło możesz przełączyć z powrotem na ASN AWS w dowolnej chwili, a na swój najwyżej raz na godzinę.

Jeśli dzierżawisz blok

Dzierżawiona przestrzeń działa, pod warunkiem że rejestr pokazuje jako posiadacza organizację. Stronę rejestrową robi posiadacz: certyfikat w rekordzie inetnum, który może edytować tylko maintainer posiadacza, oraz ROA dla AS16509 i AS14618. Resztę robisz ze swojego konta AWS.

Gdzie pasuje RTM Networks

Dzierżawimy /24 i większe z naszej własnej przestrzeni adresowej RIPE NCC i sprzedajemy bloki w regionach RIPE NCC, ARIN i APNIC. Dla przestrzeni dzierżawionej od nas dodajemy Twój certyfikat AWS do rekordu rejestru i tworzymy ROA dla ASN AWS, więc po Twojej stronie zostaje tylko udostępnienie (dzierżawa IPv4). Jeśli potrzebujesz mniej niż 256 adresów na instancji EC2, możemy je zamiast tego dostarczyć przez tunel (tunele GRE i WireGuard). Jak sumuje się godzinowa opłata za IPv4 i kiedy wniesienie własnych adresów się opłaca: rzeczywisty koszt IPv4 w chmurze. Inni dostawcy: przewodniki BYOIP.

Kontakt

Własne adresy IP w AWS?

Podaj dostawcę, region i liczbę potrzebnych adresów. Dzierżawimy bloki /24 i większe z gotową pracą rejestrową dla Twojego dostawcy, sprzedajemy bloki na własność lub dostarczamy mniejszą liczbę adresów przez tunel. Zwykle odpowiadamy w ciągu 1–3 godzin roboczych.

Skontaktuj się z nami

FAQ

BYOIP w AWS: pytania

Czy AWS pobiera opłaty za adresy w BYOIP?

Nie. AWS pobiera 0,005 USD za godzinę za każdy publiczny adres IPv4, który udostępnia, używany lub nie, a jego cennik mówi, że adresy wniesione przez BYOIP nie są obciążane. Instancje, ruch i inne usługi kosztują tyle co zawsze.

Ile trwa BYOIP w AWS?

AWS podaje, że większość udostępnień kończy się w ciągu dwóch godzin, i dopuszcza do tygodnia dla zakresów ogłaszanych publicznie. ROA może docierać do AWS do 24 godzin, a rekord rejestru zmieniany ręcznie przez LIR może zająć kilka dni.

Czy mogę używać tego samego bloku w kilku regionach AWS?

Każdy zakres trafia naraz do jednego regionu, ale większy blok można podzielić na /24 i wnieść do różnych regionów z jednej ROA i jednym rekordem rejestru. Przez IPAM ustaw maksymalną długość ROA na /24, aby blok dało się podzielić.

Czy AWS może ogłaszać mój zakres BYOIP z mojego własnego ASN?

Tak, przez opcję bring-your-own-ASN w VPC IPAM. Potrzebujesz wtedy drugiego ROA dla swojego ASN i certyfikatu w rekordzie rejestru swojego ASN, a AWS zaleca obiekt ASPA z AS16509 i AS14618 jako Twoimi dostawcami.

Czy mogę wnieść do AWS dzierżawioną przestrzeń?

Tak, jeśli jest zarejestrowana na organizację, a nie na osobę. Posiadacz dodaje Twój certyfikat do rekordu rejestru i tworzy ROA dla ASN AWS; dla przestrzeni dzierżawionej od nas robimy jedno i drugie.