Intervalos de endereços IP da AWS - Amazon Virtual Private Cloud

Intervalos de endereços IP da AWS

A AWS publica seus intervalos de endereços IP atuais em formato JSON. Com essas informações, é possível identificar o tráfego da AWS. Também é possível usar essas informações para permitir ou negar tráfego de ou para alguns serviços da AWS.

nota
  • Somente alguns intervalos de endereços IP de serviços da AWS são publicados em ip-ranges.json; publicamos os intervalos de endereços IP para serviços nos quais os clientes geralmente desejam realizar a filtragem de saída.

  • Os serviços podem usar os intervalos de endereços IP para se comunicar com outros serviços ou os serviços podem usar os intervalos de IP para se comunicar com a rede de um cliente.

Para visualizar os intervalos atuais, baixe o arquivo .json. Para manter o histórico, salve versões sucessivas do arquivo .json em seu sistema. Para determinar se eles foram alterados desde a última vez que você salvou o arquivo, marque a hora da publicação no arquivo atual e compare-a com a hora da publicação no último arquivo que você salvou.

Os intervalos de endereços IP que você traz para a AWS por meio de “traga seus próprios endereços IP” (BYOIP) não estão incluídos no arquivo .json.

Como alternativa, alguns serviços publicam seus intervalos de endereços usando listas de prefixos gerenciadas pela AWS. Para ter mais informações, consulte Listas de prefixos gerenciados pela AWS disponíveis.

Baixar

Faça download de ip-ranges.json.

Se você acessar esse arquivo programaticamente, é sua responsabilidade garantir que o aplicativo faz download do arquivo somente após a verificação bem-sucedida do certificado TLS apresentado pelo servidor.

Sintaxe

A sintaxe de ip-ranges.json é como segue.

{ "syncToken": "0123456789", "createDate": "yyyy-mm-dd-hh-mm-ss", "prefixes": [ { "ip_prefix": "cidr", "region": "region", "network_border_group": "network_border_group", "service": "subset" } ], "ipv6_prefixes": [ { "ipv6_prefix": "cidr", "region": "region", "network_border_group": "network_border_group", "service": "subset" } ] }
syncToken

A hora da publicação em formato de horário epoch Unix.

Tipo: sequência

Exemplo: "syncToken": "1416435608"

createDate

A data e hora da publicação, no formato UTC AA-MM-DD-hh-mm-ss.

Tipo: sequência

Exemplo: "createDate": "2014-11-19-23-29-02"

prefixos

Os prefixos IP para os intervalos de endereços IPv4.

Tipo: matriz

ipv6_prefixes

Os prefixos IP para os intervalos de endereços IPv6.

Tipo: matriz

ip_prefix

O intervalo de endereços IPv4 públicos, na notação CIDR. Observe que a AWS pode publicar um prefixo em intervalos mais específicos. Por exemplo, o prefixo 96.127.0.0/17 no arquivo pode ser publicado como 96.127.0.0/21, 96.127.8.0/21, 96.127.32.0/19 e 96.127.64.0/18.

Tipo: sequência

Exemplo: "ip_prefix": "198.51.100.2/24"

ipv6_prefix

O intervalo de endereços IPv6 públicos, na notação CIDR. Observe que a AWS pode publicar um prefixo em intervalos mais específicos.

Tipo: sequência

Exemplo: "ipv6_prefix": "2001:db8:1234::/64"

network_border_group

O nome do grupo de borda de rede, que é um conjunto exclusivo de zonas de disponibilidade ou zonas locais das quais a AWS publica endereços IP ou GLOBAL. O tráfego para serviços GLOBAL pode ser originado ou atraído para várias (até todas) zonas de disponibilidade ou zonas locais das quais a AWS publica endereços IP.

Tipo: sequência

Exemplo: "network_border_group": "us-west-2-lax-1"

região

A região da AWS ou GLOBAL. O tráfego para serviços GLOBAL pode ser originado ou atraído para várias (até todas) as regiões da AWS.

Tipo: sequência

Valores válidos: af-south-1 | ap-east-1 | ap-northeast-1 | ap-northeast-2 | ap-northeast-3 | ap-south-1 | ap-south-2 | ap-southeast-1 | ap-southeast-2 | ap-southeast-3 | ap-southeast-4 | ca-central-1 | cn-north-1 | cn-northwest-1 | eu-central-1 | eu-central-2 | eu-north-1 | eu-south-1 | eu-south-2 | eu-west-1 | eu-west-2 | eu-west-3 | me-central-1 | me-south-1 | sa-east-1 | us-east-1 | us-east-2 | us-gov-east-1 | us-gov-west-1 | us-west-1 | us-west-2 | GLOBAL

Exemplo: "region": "us-east-1"

serviço

O subconjunto de intervalos de endereços IP. Os endereços listados para a API_GATEWAY são apenas de saída. Especifique AMAZON para obter todos os intervalos de endereços IP (o que significa que cada subconjunto também está no subconjunto AMAZON). No entanto, alguns intervalos de endereços IP estão apenas no subconjunto AMAZON (o que significa que eles também não estão disponíveis em outro subconjunto).

Tipo: sequência

Valores válidos: AMAZON | AMAZON_APPFLOW | AMAZON_CONNECT | API_GATEWAY | CHIME_MEETINGS | CHIME_VOICECONNECTOR | CLOUD9 | CLOUDFRONT | CLOUDFRONT_ORIGIN_FACING | CODEBUILD | DYNAMODB | EBS | EC2 | EC2_INSTANCE_CONNECT | GLOBALACCELERATOR | IVS_REALTIME | KINESIS_VIDEO_STREAMS | MEDIA_PACKAGE_V2 | ROUTE53 | ROUTE53_HEALTHCHECKS | ROUTE53_HEALTHCHECKS_PUBLISHING | ROUTE53_RESOLVER | S3 | WORKSPACES_GATEWAYS

Exemplo: "service": "AMAZON"

Sobreposições de intervalos

Os intervalos de endereços IP retornados por qualquer código de serviço também são retornados pelo código de serviço AMAZON. Por exemplo, todos os intervalos de endereços IP retornados pelo código de serviço S3 também são retornados pelo código de serviço AMAZON.

Quando o serviço A usa recursos do serviço B, há intervalos de endereços IP que são retornados pelos códigos de serviço para o serviço A e o serviço B. Porém, esses intervalos de endereços IP são usados exclusivamente pelo serviço A e não podem ser usados pelo serviço B. Por exemplo, o Amazon S3 usa recursos do Amazon EC2 e, portanto, há intervalos de endereços IP que são retornados pelo códigos de serviço S3 e EC2. Porém, esses intervalos de endereços IP são usados exclusivamente pelo Amazon S3. Portanto, o código de serviço S3 retorna todos os intervalos de endereços IP usados exclusivamente pelo Amazon S3. Para identificar os intervalos de endereços IP que são usados exclusivamente pelo Amazon EC2, localize aqueles que são retornados pelo código de serviço EC2, mas não pelo código de serviço S3.

Filtragem do arquivo JSON

Você pode fazer o download de uma ferramenta de linha de comando para ajudá-lo a filtrar as informações para apenas o que está procurando.

Windows

O AWS Tools for Windows PowerShell inclui um cmdlet, Get-AWSPublicIpAddressRange, para analisar este arquivo JSON. Os exemplos a seguir demonstram sua utilização. Para obter mais informações, consulte Consultar os intervalos de endereços IP públicos da AWS e Get-AWSPublicIpAddressRange.

exemplo 1. Obter a data de criação
PS C:\> Get-AWSPublicIpAddressRange -OutputPublicationDate Wednesday, August 22, 2018 9:22:35 PM
exemplo 2. Obter as informações de uma Região específica
PS C:\> Get-AWSPublicIpAddressRange -Region us-east-1 IpPrefix Region NetworkBorderGroup Service -------- ------ ------- ------- 23.20.0.0/14 us-east-1 us-east-1 AMAZON 50.16.0.0/15 us-east-1 us-east-1 AMAZON 50.19.0.0/16 us-east-1 us-east-1 AMAZON ...
exemplo 3. Obter todos os endereços IP
PS C:\> (Get-AWSPublicIpAddressRange).IpPrefix 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ... 2406:da00:ff00::/64 2600:1fff:6000::/40 2a01:578:3::/64 2600:9000::/28
exemplo 4. Obter todos os endereços IPv4
PS C:\> Get-AWSPublicIpAddressRange | where {$_.IpAddressFormat -eq "Ipv4"} | select IpPrefix IpPrefix -------- 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ...
exemplo 5. Obter todos os endereços IPv6
PS C:\> Get-AWSPublicIpAddressRange | where {$_.IpAddressFormat -eq "Ipv6"} | select IpPrefix IpPrefix -------- 2a05:d07c:2000::/40 2a05:d000:8000::/40 2406:dafe:2000::/40 ...
exemplo 6. Obter todos os endereços IP de um serviço específico
PS C:\> Get-AWSPublicIpAddressRange -ServiceKey CODEBUILD | select IpPrefix IpPrefix -------- 52.47.73.72/29 13.55.255.216/29 52.15.247.208/29 ...

Linux

Os comandos de exemplo a seguir usam a ferramenta jq para analisar uma cópia local do arquivo JSON.

exemplo 1. Obter a data de criação
$ jq .createDate < ip-ranges.json "2016-02-18-17-22-15"
exemplo 2. Obter as informações de uma Região específica
$ jq '.prefixes[] | select(.region=="us-east-1")' < ip-ranges.json { "ip_prefix": "23.20.0.0/14", "region": "us-east-1", "network_border_group": "us-east-1", "service": "AMAZON" }, { "ip_prefix": "50.16.0.0/15", "region": "us-east-1", "network_border_group": "us-east-1", "service": "AMAZON" }, { "ip_prefix": "50.19.0.0/16", "region": "us-east-1", "network_border_group": "us-east-1", "service": "AMAZON" }, ...
exemplo 3. Obter todos os endereços IPv4
$ jq -r '.prefixes | .[].ip_prefix' < ip-ranges.json 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ...
exemplo 4. Obter todos os endereços IPv6
$ jq -r '.ipv6_prefixes | .[].ipv6_prefix' < ip-ranges.json 2a05:d07c:2000::/40 2a05:d000:8000::/40 2406:dafe:2000::/40 ...
exemplo 5. Obter todos os endereços IPv4 de um serviço específico
$ jq -r '.prefixes[] | select(.service=="CODEBUILD") | .ip_prefix' < ip-ranges.json 52.47.73.72/29 13.55.255.216/29 52.15.247.208/29 ...
exemplo 6. Obter todos os endereços IPv4 de um serviço específico em uma Região específica
$ jq -r '.prefixes[] | select(.region=="us-east-1") | select(.service=="CODEBUILD") | .ip_prefix' < ip-ranges.json 34.228.4.208/28
exemplo 7. Obter informações para determinado grupo de borda de rede
$ jq -r '.prefixes[] | select(.region=="us-west-2") | select(.network_border_group=="us-west-2-lax-1") | .ip_prefix' < ip-ranges.json 70.224.192.0/18 52.95.230.0/24 15.253.0.0/16 ...

Como implementar o controle de saída

Para permitir que os recursos que você criou com um serviço da AWS acessem somente outros serviços da AWS, você pode usar as informações do intervalo de endereços IP no arquivo ip-ranges.json para realizar a filtragem de saída. Certifique-se de que as regras do grupo de segurança permitam tráfego de saída para os blocos CIDR na lista AMAZON. Existem cotas para grupos de segurança. Dependendo do número de intervalos de endereços IP em cada região, talvez vários grupos de segurança sejam necessários por região.

nota

Alguns serviços da AWS são criados no EC2 e usam o espaço de endereço IP do EC2. Se você bloquear o tráfego para o espaço de endereço IP do EC2, também bloqueará o tráfego para esses serviços que não são do EC2.

Notificações de intervalos de endereços IP da AWS

Sempre que houver uma alteração em intervalos de endereços IP da AWS, poderemos enviar notificações para os assinantes do tópico AmazonIpSpaceChanged. A carga útil contém informações no seguinte formato:

{ "create-time":"yyyy-mm-ddThh:mm:ss+00:00", "synctoken":"0123456789", "md5":"6a45316e8bc9463c9e926d5d37836d33", "url":"https://ip-ranges.amazonaws.com/ip-ranges.json" }
create-time

A data e hora de criação.

As notificações podem ser entregues fora de ordem. Portanto, recomendamos que você verifique as marcas de data/hora para garantir a ordem correta.

synctoken

A hora da publicação em formato de horário epoch Unix.

md5

O valor de hash criptográfico do arquivo ip-ranges.json. Você pode usar esse valor para verificar se o arquivo baixado está corrompido.

url

A localização do arquivo ip-ranges.json.

Se você deseja ser notificado sempre que houver uma alteração nos intervalos de endereços IP da AWS, é possível fazer a assinatura como segue para receber notificações usando o Amazon SNS.

Para assinar as notificações de intervalo de endereço IP da AWS
  1. Abra o console do Amazon SNS em https://console.aws.amazon.com/sns/v3/home.

  2. Na barra de navegação, altere a região para Leste dos EUA (Norte da Virgínia), se necessário. É necessário selecionar esta Região porque as notificações do SNS que você está assinando foram criadas nesta Região.

  3. No painel de navegação, escolha Subscriptions.

  4. Selecione Create subscription.

  5. Na caixa de diálogo Criar assinatura, faça o seguinte:

    1. Para o ARN do tópico, copie o seguinte ARN (nome de recurso da Amazon):

      arn:aws:sns:us-east-1:806199016981:AmazonIpSpaceChanged
    2. Para o Protocolo, escolha o protocolo a ser usado (por exemplo, Email).

    3. Para o Endpoint, digite o endpoint no qual receber a notificação (por exemplo, seu endereço de e-mail).

    4. Selecione Criar assinatura.

  6. Você será contatado no endpoint especificado, pedindo que confirme sua assinatura. Por exemplo, se você tiver especificado um endereço de e-mail, receberá uma mensagem de e-mail com a linha de assunto AWS Notification - Subscription Confirmation. Siga as instruções para confirmar sua assinatura.

As notificações estão sujeitas à disponibilidade do endpoint. Portanto, você deve verificar o arquivo JSON periodicamente para garantir que tem os intervalos mais recentes. Para obter mais informações sobre confiabilidade do Amazon SNS, consulte https://aws.amazon.com/sns/faqs/#Reliability.

Se não deseja mais receber essas notificações, use o procedimento a seguir para cancelar a assinatura.

Para cancelar a assinatura de notificações de intervalos de endereço IP da AWS
  1. Abra o console do Amazon SNS em https://console.aws.amazon.com/sns/v3/home.

  2. No painel de navegação, escolha Subscriptions.

  3. Marque a caixa de seleção da assinatura.

  4. Selecione Ações, Excluir assinaturas.

  5. Quando a confirmação for solicitada, escolha Excluir.

Para obter mais informações sobre tópicos do Amazon SNS, consulte o Guia do desenvolvedor do Amazon Simple Notification Service.

Notas de release

A tabela a seguir descreve as atualizações da sintaxe do ip-ranges.json. Também adicionamos novos códigos de região com cada lançamento da região.

Descrição Data de lançamento
Adicionado o código de serviço IVS_REALTIME. 11 de junho de 2024
Adicionado o código de serviço MEDIA_PACKAGE_V2. 9 de maio de 2023
Adicionado o código de serviço CLOUDFRONT_ORIGIN_FACING. 12 de outubro de 2021
Adicionado o código de serviço ROUTE53_RESOLVER. 24 de junho de 2021
Adicionado o código de serviço EBS. 12 de maio de 2021
Adicionado o código de serviço KINESIS_VIDEO_STREAMS. 19 de novembro de 2020
Adicionados os códigos de serviço CHIME_MEETINGS e CHIME_VOICECONNECTOR. 19 de junho de 2020
Adicionado o código de serviço AMAZON_APPFLOW. 9 de junho de 2020
Adicione suporte para o grupo de borda de rede. 7 de abril de 2020
Adicionado o código de serviço WORKSPACES_GATEWAYS. 30 de março de 2020
Adicionado o código de serviço ROUTE53_HEALTHCHECK_PUBLISHING. 30 de janeiro de 2020
Adicionado o código de serviço API_GATEWAY. 26 de setembro de 2019
Adicionado o código de serviço EC2_INSTANCE_CONNECT. 26 de junho de 2019
Adicionado o código de serviço DYNAMODB. 25 de abril de 2019
Adicionado o código de serviço GLOBALACCELERATOR. 20 de dezembro de 2018
Adicionado o código de serviço AMAZON_CONNECT. 20 de junho de 2018
Adicionado o código de serviço CLOUD9. 20 de junho de 2018
Adicionado o código de serviço CODEBUILD. 19 de abril de 2018
Adicionado o código de serviço S3. 28 de fevereiro de 2017
Adicionado suporte para intervalos de endereços IPv6. 22 de agosto de 2016
Lançamento inicial 19 de novembro de 2014

Saiba mais