Integrar seu intervalo de endereços para uso no Amazon EC2 - Amazon Elastic Compute Cloud

Integrar seu intervalo de endereços para uso no Amazon EC2

O processo de integração para BYOIP inclui as tarefas apresentadas a seguir, conforme suas necessidades.

Provisionamento de um intervalo de endereços anunciado publicamente na AWS

Ao provisionar um intervalo de endereços para uso com a AWS, você está confirmando que controla o intervalo de endereços e autoriza a Amazon a anunciá-lo. Também verificamos se você controla o intervalo por meio de uma mensagem de autorização assinada. Essa mensagem é assinada com o par de chaves X.509 autoassinadas que você usou ao atualizar o registro RDAP com o certificado X.509. A AWS requer uma mensagem de autorização assinada criptograficamente que é apresentada ao RIR. O RIR autentica a assinatura em relação ao certificado que você adicionou ao RDAP e verifica os detalhes da autorização em relação ao ROA.

Para provisionar o intervalo de endereços
  1. Compose message

    Componha a mensagem de autorização de texto simples. O formato da mensagem é o seguinte, em que a data é a data de expiração da mensagem:

    1|aws|account|cidr|YYYYMMDD|SHA256|RSAPSS

    Substitua o número da conta, o intervalo de endereços e a data de expiração por seus próprios valores para criar uma mensagem semelhante à seguinte:

    text_message="1|aws|0123456789AB|198.51.100.0/24|20211231|SHA256|RSAPSS"

    Não confundir com uma mensagem ROA, que tem uma aparência semelhante.

  2. Assinar mensagens

    Assine a mensagem de texto sem formatação usando a chave privada criada anteriormente. A assinatura retornada pelo comando é uma string longa que você precisará copiar para uso na próxima etapa.

    Importante

    Recomendamos que você copie e cole esse comando. Com exceção do conteúdo da mensagem, não modifique nem substitua nenhum dos valores.

    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")
  3. Endereço de provisão

    Use o comando provisiona-byoip-cidr da AWS CLI para provisionar o intervalo de endereços. A opção --cidr-authorization-context usa as strings de mensagem e assinatura que você criou anteriormente.

    Importante

    Você deve especificar a região da AWS em que o intervalo do BYOIP deve ser provisionado caso ele seja diferente da sua configuração da AWS CLI da Default region name.

    aws ec2 provision-byoip-cidr --cidr address-range --cidr-authorization-context Message="$text_message",Signature="$signed_message" --region us-east-1

    O provisionamento de um intervalo de endereços é uma operação assíncrona, de modo que a chamada retorna imediatamente, mas o intervalo de endereços não está pronto para uso até que seu status mude de pending-provision para provisioned.

  4. Monitorar o andamento

    Embora a maior parte do provisionamento seja concluída em duas horas, a conclusão do processo de provisionamento pode levar até uma semana para intervalos que permitam anúncios públicos. Use o comando describe-byoip-cidrs para monitorar seu progresso, como neste exemplo:

    aws ec2 describe-byoip-cidrs --max-results 5 --region us-east-1

    Se houver problemas durante o provisionamento e o status for para failed-provision, o comando provision-byoip-cidr deverá ser executado novamente após os problemas terem sido resolvidos.

Como provisionar um intervalo de endereços IPv6 que não seja anunciável publicamente

Por padrão, um intervalo de endereços é provisionado para ser publicamente anunciável na Internet. É possível provisionar um intervalo de endereços IPv6 que não será anunciável publicamente. Para rotas que não permitem anúncios públicos, o processo de provisionamento geralmente é concluído em minutos. Quando você associa um bloco CIDR IPv6 de um intervalo de endereços não públicos a uma VPC, o CIDR IPv6 só pode ser acessado por opções de conectividade híbrida compatíveis com IPv6, como AWS Direct Connect, AWS Site-to-Site VPN, ouGateways de trânsito da Amazon VPC.

Não é necessário ter um ROA para provisionar um intervalo de endereços não públicos.

Importante
  • Você só pode especificar se um intervalo de endereços é anunciável publicamente durante o provisionamento. Não é possível alterar o status de anúncio de um intervalo de endereços posteriormente.

  • A Amazon VPC não oferece suporte a CIDRs de endereço local exclusivo (ULA). Todas as VPCs devem ter CIDRs IPv6 exclusivos. Duas VPCs não podem ter o mesmo intervalo CIDR IPv6.

Para provisionar um intervalo de endereços IPv6 que não será anunciável publicamente, use o comando provision-byoip-cidr a seguir.

aws ec2 provision-byoip-cidr --cidr address-range --cidr-authorization-context Message="$text_message",Signature="$signed_message" --no-publicly-advertisable --region us-east-1

Anunciar o intervalo de endereços por meio da AWS

Após ser provisionado, o intervalo de endereços estará pronto para ser anunciado. É necessário anunciar o intervalo de endereço exato que você provisionou. Não é possível anunciar apenas uma parte do intervalo de endereço provisionado.

Se você provisionou um intervalo de endereços IPv6 que não será anunciado publicamente, não será necessário concluir esta etapa.

Recomendamos que você interrompa o anúncio do intervalo de endereços, ou qualquer parte dele, em outros locais antes de anunciá-lo por meio da AWS. Se você continuar a anunciar o seu intervalo de endereços IP, ou qualquer parte dele, em outros locais, não poderemos oferecer suporte nem solucionar os problemas do intervalo de forma confiável. Especificamente, não podemos garantir que o tráfego para o intervalo de endereços, ou qualquer parte dele, entre em nossa rede.

Para minimizar o tempo de inatividade, é possível configurar os recursos da AWS para usar um endereço do grupo de endereços antes de ele ser anunciado e, em seguida, interromper simultaneamente o anúncio no local atual e iniciar o anúncio por meio da AWS. Para obter mais informações sobre a alocação de um endereço IP elástico em seu grupo de endereços, consulte Alocar um endereço IP elástico.

Limitações
  • É possível executar o comando advertise-byoip-cidr no máximo uma vez a cada 10 segundos, mesmo que você especifique diferentes intervalos de endereços de cada vez.

  • É possível executar o comando withdraw-byoip-cidr no máximo uma vez a cada 10 segundos, mesmo que você especifique diferentes intervalos de endereços de cada vez.

Para anunciar o intervalo de endereços, use o seguinte comando advertise-byoip-cidr.

aws ec2 advertise-byoip-cidr --cidr address-range --region us-east-1

Para interromper o anúncio do intervalo de endereços, use o seguinte comando withdraw-byoip-cidr.

aws ec2 withdraw-byoip-cidr --cidr address-range --region us-east-1

Desprovisionar o intervalo de endereços

Para interromper o uso do intervalo de endereços com a AWS, primeiro libere todos os endereços IP elásticos e desassocie todos os blocos CIDR IPv6 que ainda estiverem alocados do grupo de endereços. Depois, pare de anunciar o intervalo de endereços e, por fim, desprovisione o intervalo de endereços.

Não é possível desprovisionar uma parte do intervalo de endereços. Se você quiser usar um intervalo de endereços mais específico com a AWS, cancele o provisionamento de todo o intervalo de endereços e provisione um intervalo de endereços mais específico.

(IPv4) Para liberar cada endereço IP elástico, use o seguinte comando release-address.

aws ec2 release-address --allocation-id eipalloc-12345678abcabcabc --region us-east-1

(IPv6) Para desassociar um bloco CIDR IPv6, use o seguinte comando disassociate-vpc-cidr-block.

aws ec2 disassociate-vpc-cidr-block --association-id vpc-cidr-assoc-12345abcd1234abc1 --region us-east-1

Para interromper o anúncio do intervalo de endereços, use o seguinte comando withdraw-byoip-cidr.

aws ec2 withdraw-byoip-cidr --cidr address-range --region us-east-1

Para desprovisionar o intervalo de endereços, use o seguinte comando deprovision-byoip-cidr.

aws ec2 deprovision-byoip-cidr --cidr address-range --region us-east-1

Pode levar até um dia para desprovisionar um intervalo de endereços.

Validar o BYOIP

  1. Valide o par de chaves x.509 autoassinado

    Valide se o certificado foi carregado e é válido por meio do comando whois.

    Para ARIN, use whois -h whois.arin.net r + 2001:0DB8:6172::/48 para procurar o registro RDAP do intervalo de endereços. Verifique a seção Public Comments para o NetRange (Intervalo de rede) na saída do comando. O certificado deve ser adicionado na seção Public Comments do intervalo de endereços.

    É possível inspecionar o Public Comments que contém o certificado usando o seguinte comando:

    whois -h whois.arin.net r + 2001:0DB8:6172::/48 | grep Comments | grep BEGIN

    Isso retorna a saída com o conteúdo da chave, que deve ser semelhante ao seguinte:

    Public Comments: -----BEGIN CERTIFICATE----- MIID1zCCAr+gAwIBAgIUBkRPNSLrPqbRAFP8RDAHSP+I1TowDQYJKoZIhvcNAQE LBQAwezELMAkGA1UEBhMCTloxETAPBgNVBAgMCEF1Y2tsYW5kMREwDwYDVQQHDA hBdWNrbGFuZDEcMBoGA1UECgwTQW1hem9uIFdlYiBTZXJ2aWNlczETMBEGA1UEC wwKQllPSVAgRGVtbzETMBEGA1UEAwwKQllPSVAgRGVtbzAeFw0yMTEyMDcyMDI0 NTRaFw0yMjEyMDcyMDI0NTRaMHsxCzAJBgNVBAYTAk5aMREwDwYDVQQIDAhBdWN rbGFuZDERMA8GA1UEBwwIQXVja2xhbmQxHDAaBgNVBAoME0FtYXpvbiBXZWIgU2 VydmljZXMxEzARBgNVBAsMCkJZT0lQIERlbW8xEzARBgNVBAMMCkJZT0lQIERlb W8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfmacvDp0wZ0ceiXXc R/q27mHI/U5HKt7SST4X2eAqufR9wXkfNanAEskgAseyFypwEEQr4CJijI/5hp9 prh+jsWHWwkFRoBRR9FBtwcU/45XDXLga7D3stsI5QesHVRwOaXUdprAnndaTug mDPkD0vrl475JWDSIm+PUxGWLy+60aBqiaZq35wU/x+wXlAqBXg4MZK2KoUu27k Yt2zhmy0S7Ky+oRfRJ9QbAiSu/RwhQbh5Mkp1ZnVIc7NqnhdeIW48QaYjhMlUEf xdaqYUinzz8KpjfADZ4Hvqj9jWZ/eXo/9b2rGlHWkJsbhr0VEUyAGu1bwkgcdww 3A7NjOxQbAgMBAAGjUzBRMB0GA1UdDgQWBBStFyujN6SYBr2glHpGt0XGF7GbGT AfBgNVHSMEGDAWgBStFyujN6SYBr2glHpGt0XGF7GbGTAPBgNVHRMBAf8EBTADA QH/MA0GCSqGSIb3DQEBCwUAA4IBAQBX6nn6YLhz521lfyVfxY0t6o3410bQAeAF 08ud+ICtmQ4IO4A4B7zV3zIVYr0clrOOaFyLxngwMYN0XY5tVhDQqk4/gmDNEKS Zy2QkX4Eg0YUWVzOyt6fPzjOvJLcsqc1hcF9wySL507XQz76Uk5cFypBOzbnk35 UkWrzA9KK97cXckfIESgK/k1N4ecwxwG6VQ8mBGqVpPpey+dXpzzzv1iBKN/VY4 ydjgH/LBfdTsVarmmy2vtWBxwrqkFvpdhSGCvRDl/qdO/GIDJi77dmZWkh/ic90 MNk1f38gs1jrCj8lThoar17Uo9y/Q5qJIsoNPyQrJRzqFU9F3FBjiPJF -----END CERTIFICATE-----

    Para RIPE, use whois -r -h whois.ripe.net 2001:0DB8:7269::/48 para procurar o registro RDAP do intervalo de endereços. Verifique a seção descr para o objeto inetnum (intervalo de rede) na saída do comando. O certificado deve ser adicionado como um novo campo descr para o intervalo de endereços.

    É possível inspecionar o descr que contém o certificado usando o seguinte comando:

    whois -r -h whois.ripe.net 2001:0DB8:7269::/48 | grep descr | grep BEGIN

    Isso retorna a saída com o conteúdo da chave, que deve ser semelhante ao seguinte:

    descr: -----BEGIN CERTIFICATE-----MIID1zCCAr+gAwIBAgIUBkRPNSLrPqbRAFP8 RDAHSP+I1TowDQYJKoZIhvcNAQELBQAwezELMAkGA1UEBhMCTloxETAPBgNVBAg MCEF1Y2tsYW5kMREwDwYDVQQHDAhBdWNrbGFuZDEcMBoGA1UECgwTQW1hem9uIF dlYiBTZXJ2aWNlczETMBEGA1UECwwKQllPSVAgRGVtbzETMBEGA1UEAwwKQllPS VAgRGVtbzAeFw0yMTEyMDcyMDI0NTRaFw0yMjEyMDcyMDI0NTRaMHsxCzAJBgNV BAYTAk5aMREwDwYDVQQIDAhBdWNrbGFuZDERMA8GA1UEBwwIQXVja2xhbmQxHDA aBgNVBAoME0FtYXpvbiBXZWIgU2VydmljZXMxEzARBgNVBAsMCkJZT0lQIERlbW 8xEzARBgNVBAMMCkJZT0lQIERlbW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwg gEKAoIBAQCfmacvDp0wZ0ceiXXcR/q27mHI/U5HKt7SST4X2eAqufR9wXkfNanA EskgAseyFypwEEQr4CJijI/5hp9prh+jsWHWwkFRoBRR9FBtwcU/45XDXLga7D3 stsI5QesHVRwOaXUdprAnndaTugmDPkD0vrl475JWDSIm+PUxGWLy+60aBqiaZq 35wU/x+wXlAqBXg4MZK2KoUu27kYt2zhmy0S7Ky+oRfRJ9QbAiSu/RwhQbh5Mkp 1ZnVIc7NqnhdeIW48QaYjhMlUEfxdaqYUinzz8KpjfADZ4Hvqj9jWZ/eXo/9b2r GlHWkJsbhr0VEUyAGu1bwkgcdww3A7NjOxQbAgMBAAGjUzBRMB0GA1UdDgQWBBS tFyujN6SYBr2glHpGt0XGF7GbGTAfBgNVHSMEGDAWgBStFyujN6SYBr2glHpGt0 XGF7GbGTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBX6nn6Y Lhz521lfyVfxY0t6o3410bQAeAF08ud+ICtmQ4IO4A4B7zV3zIVYr0clrOOaFyL xngwMYN0XY5tVhDQqk4/gmDNEKSZy2QkX4Eg0YUWVzOyt6fPzjOvJLcsqc1hcF9 wySL507XQz76Uk5cFypBOzbnk35UkWrzA9KK97cXckfIESgK/k1N4ecwxwG6VQ8 mBGqVpPpey+dXpzzzv1iBKN/VY4ydjgH/LBfdTsVarmmy2vtWBxwrqkFvpdhSGC vRDl/qdO/GIDJi77dmZWkh/ic90MNk1f38gs1jrCj8lThoar17Uo9y/Q5qJIsoN PyQrJRzqFU9F3FBjiPJF -----END CERTIFICATE-----

    Para AONIC, use whois -h whois.apnic.net 2001:0DB8:6170::/48 para procurar o registro RDAP do intervalo de endereços BYOIP. Verifique a seção remarks para o objeto inetnum (intervalo de rede) na saída do comando. O certificado deve ser adicionado como um novo campo remarks para o intervalo de endereços.

    É possível inspecionar o remarks que contém o certificado usando o seguinte comando:

    whois -h whois.apnic.net 2001:0DB8:6170::/48 | grep remarks | grep BEGIN

    Isso retorna a saída com o conteúdo da chave, que deve ser semelhante ao seguinte:

    remarks: -----BEGIN CERTIFICATE----- MIID1zCCAr+gAwIBAgIUBkRPNSLrPqbRAFP8RDAHSP+I1TowDQYJKoZIhvcNAQE LBQAwezELMAkGA1UEBhMCTloxETAPBgNVBAgMCEF1Y2tsYW5kMREwDwYDVQQHDA hBdWNrbGFuZDEcMBoGA1UECgwTQW1hem9uIFdlYiBTZXJ2aWNlczETMBEGA1UEC wwKQllPSVAgRGVtbzETMBEGA1UEAwwKQllPSVAgRGVtbzAeFw0yMTEyMDcyMDI0 NTRaFw0yMjEyMDcyMDI0NTRaMHsxCzAJBgNVBAYTAk5aMREwDwYDVQQIDAhBdWN rbGFuZDERMA8GA1UEBwwIQXVja2xhbmQxHDAaBgNVBAoME0FtYXpvbiBXZWIgU2 VydmljZXMxEzARBgNVBAsMCkJZT0lQIERlbW8xEzARBgNVBAMMCkJZT0lQIERlb W8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfmacvDp0wZ0ceiXXc R/q27mHI/U5HKt7SST4X2eAqufR9wXkfNanAEskgAseyFypwEEQr4CJijI/5hp9 prh+jsWHWwkFRoBRR9FBtwcU/45XDXLga7D3stsI5QesHVRwOaXUdprAnndaTug mDPkD0vrl475JWDSIm+PUxGWLy+60aBqiaZq35wU/x+wXlAqBXg4MZK2KoUu27k Yt2zhmy0S7Ky+oRfRJ9QbAiSu/RwhQbh5Mkp1ZnVIc7NqnhdeIW48QaYjhMlUEf xdaqYUinzz8KpjfADZ4Hvqj9jWZ/eXo/9b2rGlHWkJsbhr0VEUyAGu1bwkgcdww 3A7NjOxQbAgMBAAGjUzBRMB0GA1UdDgQWBBStFyujN6SYBr2glHpGt0XGF7GbGT AfBgNVHSMEGDAWgBStFyujN6SYBr2glHpGt0XGF7GbGTAPBgNVHRMBAf8EBTADA QH/MA0GCSqGSIb3DQEBCwUAA4IBAQBX6nn6YLhz521lfyVfxY0t6o3410bQAeAF 08ud+ICtmQ4IO4A4B7zV3zIVYr0clrOOaFyLxngwMYN0XY5tVhDQqk4/gmDNEKS Zy2QkX4Eg0YUWVzOyt6fPzjOvJLcsqc1hcF9wySL507XQz76Uk5cFypBOzbnk35 UkWrzA9KK97cXckfIESgK/k1N4ecwxwG6VQ8mBGqVpPpey+dXpzzzv1iBKN/VY4 ydjgH/LBfdTsVarmmy2vtWBxwrqkFvpdhSGCvRDl/qdO/GIDJi77dmZWkh/ic90 MNk1f38gs1jrCj8lThoar17Uo9y/Q5qJIsoNPyQrJRzqFU9F3FBjiPJF -----END CERTIFICATE-----
  2. Validar a criação de um objeto ROA

    Valide a criação bem-sucedida de objetos ROA usando a API RIPEstat Data. Certifique-se de testar o intervalo de endereços em relação aos Amazon ASNs 16509 e 14618, além dos ASNs atualmente autorizados a anunciar o intervalo de endereços.

    É possível inspecionar os objetos ROA de diferentes Amazon ASNs com seu intervalo de endereços usando o seguinte comando:

    curl --location --request GET "https://stat.ripe.net/data/rpki-validation/data.json?resource=ASN&prefix=CIDR

    Neste exemplo de saída, a resposta tem resultado de "status": "valid" para o Amazon ASN 16509. Isso indica que o objeto ROA para o intervalo de endereços foi criado com êxito:

    { "messages": [], "see_also": [], "version": "0.3", "data_call_name": "rpki-validation", "data_call_status": "supported", "cached": false, "data": { "validating_roas": [ { "origin": "16509", "prefix": "2001:0DB8::/32", "max_length": 48, "validity": "valid" }, { "origin": "14618", "prefix": "2001:0DB8::/32", "max_length": 48, "validity": "invalid_asn" }, { "origin": "64496", "prefix": "2001:0DB8::/32", "max_length": 48, "validity": "invalid_asn" } ], "status": "valid", "validator": "routinator", "resource": "16509", "prefix": "2001:0DB8::/32" }, "query_id": "20230224152430-81e6384e-21ba-4a86-852a-31850787105f", "process_time": 58, "server_id": "app116", "build_version": "live.2023.2.1.142", "status": "ok", "status_code": 200, "time": "2023-02-24T15:24:30.773654" }

Um status de “unknown” indica que o objeto ROA para o intervalo de endereços não foi criado. Um status de “invalid_asn” indica que o objeto ROA para o intervalo de endereços não foi criado com êxito.