AWS BYOIP em 2026: $43.80 por IPv4 ou o seu próprio /24
Resposta curta (verificado em 2026-11-04): a AWS cobra $0.005 por hora por cada endereço IPv4 público que fornece, em uso ou parado: $3.65 por mês, $43.80 por ano por endereço. Os endereços que traz consigo (BYOIP) não têm essa cobrança. Com a mediana de mercado de outubro de 2026 (cerca de $6,500 por um /24), um /24 comprado paga-se em cerca de 7 meses se usar os 256 endereços, e em cerca de 36 meses com 50. Um /24 alugado à média de outubro de 2026 ($0.49 por IP, cerca de $125 por mês) fica mais barato do que os endereços da AWS a partir de cerca de 35 IP públicos. Abaixo disso, continue a pagar à AWS. Os preços de mercado são observações datadas; para uma cotação veja preços IPv4.
O que a AWS cobra e o que o BYOIP elimina
Desde fevereiro de 2024 a AWS fatura cada endereço IPv4 público. A página de preços da Amazon VPC (verificada em 2026-11-04) indica $0.005 por hora para um endereço em uso e os mesmos $0.005 para um parado, e diz dos endereços BYOIP: "These public IPv4 addresses are not charged." A página não mostra nível gratuito para IPv4 público; o nível gratuito que descreve é o do Amazon VPC IP Address Manager (IPAM).
Um mês tem 730 horas na faturação da AWS, portanto:
- 1 endereço: $3.65 por mês, $43.80 por ano;
- 50 endereços: $182.50 por mês, $2,190 por ano;
- 256 endereços: $934.40 por mês, $11,212.80 por ano.
A última linha pesa mais do que parece: depois do BYOIP, a AWS deixa usar todos os endereços de um /24, incluindo o de rede e o de broadcast (requisitos do EC2 BYOIP). O IPAM é gratuito para BYOIP numa região e numa conta; o Advanced Tier, necessário a partir de duas regiões ou contas, custa $0.00027 por IP ativo por hora, cerca de $0.20 por mês por endereço.
As regras da AWS para um intervalo trazido
Da documentação do EC2 BYOIP, verificada em 2026-11-04:
- Registo. O intervalo tem de estar registado na ARIN, no RIPE NCC ou na APNIC, em nome de uma empresa ou instituição, não de uma pessoa. A LACNIC e a AFRINIC não estão na lista.
- Tamanho. O intervalo IPv4 mais específico é um /24. Não é possível trazer um /25.
- ROA. Uma Route Origin Authorization para os ASN da Amazon 16509 e 14618, com comprimento máximo igual ao intervalo trazido (o IPAM exige /24). Crie primeiro uma ROA para o seu ASN de origem atual, ou as rotas existentes podem falhar. A European Sovereign Cloud usa em vez disso os ASN 16509 e 214101.
- Prova de controlo. Um certificado X.509 autoassinado no registo (no RIPE: uma nova linha
descrnoinetnum, nãoremarks), ou o método DNS TXT do IPAM. - Reputação. A AWS "might investigate the reputation" e pode recusar um intervalo com mau histórico. Verifique um bloco antes de o comprar: veja a nossa verificação de listas negras IPv4.
- Limites. Cinco intervalos BYOIP por região e por conta (mais a pedido), cada intervalo numa só região de cada vez. A maior parte do aprovisionamento termina em duas horas; a AWS reserva-se até uma semana.
Verifique um intervalo antes de começar: byoip_check.js
O script só lê dados públicos (RIPEstat e RDAP, sem conta AWS) e responde a duas perguntas: o prefixo está pronto para aprovisionar, e a partir de quantos IP públicos um /24 bate o preço da AWS? Passe-lhe prefixos ou um ASN. Guarde-o como byoip_check.js:
// byoip_check.js - is a prefix ready for AWS BYOIP, and when does a /24 beat AWS public IPv4?
// usage: bun byoip_check.js <prefix | ASN> [prefix ...] e.g. bun byoip_check.js AS204057
// Public data only (RIPEstat, RDAP), no AWS account needed.
const AWS_IP_HOUR = 0.005 // aws.amazon.com/vpc/pricing/, in-use or idle, checked 2026-11-04
const BUY_IP = 25.40 // ip4.market /24 90-day median per IP, 80 sales to 2026-10-26
const LEASE_IP_MONTH = 0.49 // IPv4Center all-region /24 lease average, page updated 2026-10-28
const AMAZON = [16509, 14618] // ASNs the ROA must authorize (EC2 BYOIP prerequisites)
const stat = async (call, q) =>
(await (await fetch(`https://stat.ripe.net/data/${call}/data.json?${q}`)).json()).data
let prefixes = process.argv.slice(2)
if (prefixes.length === 1 && /^as\d+$/i.test(prefixes[0])) {
const d = await stat('announced-prefixes', `resource=${prefixes[0]}`)
prefixes = d.prefixes.map(p => p.prefix).filter(p => p.includes('.')).sort().slice(0, 5)
}
for (const pfx of prefixes) {
const len = +pfx.split('/')[1]
const rdap = await (await fetch(`https://rdap.org/ip/${pfx}`)).json().catch(() => ({}))
const raw = JSON.stringify(rdap)
const origins = (await stat('prefix-overview', `resource=${pfx}`)).asns.map(a => a.asn)
const rpki = {}
for (const asn of [...origins, ...AMAZON])
rpki[asn] = (await stat('rpki-validation', `resource=AS${asn}&prefix=${pfx}`)).status
const ok = len <= 24 && AMAZON.every(a => rpki[a] === 'valid') && raw.includes('BEGIN CERTIFICATE')
console.log(`\n${pfx} ${rdap.handle ?? '?'} ${rdap.type ?? '?'} ${rdap.country ?? ''}`)
console.log(` size /${len} (AWS takes /24 or larger): ${len <= 24 ? 'ok' : 'too small'}`)
for (const [asn, s] of Object.entries(rpki))
console.log(` ROA AS${asn}${AMAZON.includes(+asn) ? ' (Amazon)' : ' (origin today)'}: ${s}`)
console.log(` X.509 certificate in the registry record: ${raw.includes('BEGIN CERTIFICATE') ? 'yes' : 'no'}`)
console.log(` ready to provision: ${ok ? 'yes' : 'no'}`)
}
// Cost: AWS-provided public IPv4 vs a /24 brought in (BYOIP addresses carry no AWS IPv4 charge)
const awsMonth = n => n * AWS_IP_HOUR * 730
const buy = 256 * BUY_IP, lease = 256 * LEASE_IP_MONTH
const usd = v => '$' + Math.round(v).toLocaleString('en-US')
console.log(`\npublic IPs | AWS per month | AWS per year | lease /24 per month | buy /24 pays back in`)
for (const n of [10, 35, 50, 100, 256])
console.log(`${String(n).padStart(10)} | ${usd(awsMonth(n)).padStart(13)} | ${usd(awsMonth(n) * 12).padStart(12)} | ${
(usd(lease) + (awsMonth(n) > lease ? ' (cheaper)' : ' (dearer)')).padStart(19)} | ${
(buy / awsMonth(n)).toFixed(1).padStart(6)} months`)
console.log(`/24 to buy: ${usd(buy)} once (+ broker fee, LIR or sponsoring LIR); lease: ${usd(lease)} a month`)
bun byoip_check.js AS204057
Saída, executado num servidor cloud da DCXV com Bun 1.4.4 em 2026-11-04 (o nosso próprio AS204057; os outros quatro prefixos deram o mesmo resultado que o primeiro):
116.204.153.0/24 116.204.153.0 - 116.204.153.255 ALLOCATED PA CZ
size /24 (AWS takes /24 or larger): ok
ROA AS14618 (Amazon): invalid_asn
ROA AS16509 (Amazon): invalid_asn
ROA AS204057 (origin today): valid
X.509 certificate in the registry record: no
ready to provision: no
public IPs | AWS per month | AWS per year | lease /24 per month | buy /24 pays back in
10 | $37 | $438 | $125 (dearer) | 178.1 months
35 | $128 | $1,533 | $125 (cheaper) | 50.9 months
50 | $183 | $2,190 | $125 (cheaper) | 35.6 months
100 | $365 | $4,380 | $125 (cheaper) | 17.8 months
256 | $934 | $11,213 | $125 (cheaper) | 7.0 months
/24 to buy: $6,502 once (+ broker fee, LIR or sponsoring LIR); lease: $125 a month
Os nossos prefixos, como seria de esperar, não estão prontos: só o AS204057 os anuncia e não têm ROA da Amazon nem certificado. invalid_asn para 16509 e 14618 é exatamente o que verá antes do passo 3, e valid é o que precisa depois. As constantes de preço estão datadas no início do script: substitua-as quando tiver uma cotação.
Comprar, alugar ou continuar a pagar à AWS
| IPv4 públicos na AWS | Caminho mais barato (preços de outubro de 2026) | Atenção a |
|---|---|---|
| Menos de cerca de 35 | Manter os endereços da AWS | Um Elastic IP parado custa os mesmos $0.005 por hora |
| Cerca de 35 a 100 | Alugar um /24 e trazê-lo | O locador tem de criar a ROA da Amazon e o certificado |
| Cerca de 100 a 256 | Comprar um /24 | Retorno em 7 a 18 meses; o bloco continua a ser um ativo |
| Várias regiões | Comprar um /22 ou maior e dividi-lo em /24 | Uma ROA e um registo cobrem todos |
| Sair da AWS mais tarde | Comprar | O bloco vai consigo; os endereços da AWS não |
A tabela usa os números de outubro de 2026 do script: a mediana de 90 dias da ip4.market, $25.40 por IP em 80 vendas de /24 até 2026-10-26, e a média de aluguer de /24 de todas as regiões da IPv4Center, $0.49 por IP por mês (página atualizada em 2026-10-28). Uma compra exige ainda um LIR ou um LIR patrocinador e uma comissão de corretagem; a comissão publicada da DCXV para um negócio de /24 é de EUR 2.00 por IP. Depois de uma transferência no RIPE o bloco não pode voltar a ser transferido durante 24 meses, o que não impede usá-lo na AWS. Compare os dois caminhos em alugar ou comprar IPv4.
Dois pontos práticos. Num aluguer, o BYOIP só funciona se o locador aceitar acrescentar os ASN da Amazon à ROA e o seu certificado ao registo: pergunte antes de assinar. E se também paga suporte da AWS, lembre-se de que é uma percentagem de toda a fatura, cobranças de IPv4 incluídas, como mostra o nosso guia de suporte e faturação da AWS.
Onde entra a DCXV
A DCXV é corretora de IPv4 nas regiões RIPE, ARIN e APNIC: encontramos um /24 limpo para compra ou aluguer, verificamos o histórico e tratamos da transferência, para que os passos de ROA e certificado comecem assim que o bloco estiver em seu nome. Diga-nos quantos endereços usa na AWS e em que regiões na área IPv4 da DCXV ou em ipv4@dcxv.com.
