
Obtén todas las direcciones IP públicas vinculadas a tu cuenta de AWS. Funciona con IPv4/IPv6, redes Classic/VPC y en todos los servicios de AWS.
aws_public_ips es una herramienta para obtener todas las direcciones IP públicas (tanto IPv4 como IPv6) asociadas a una cuenta de AWS.
Puede usarse como librería y como CLI, y es compatible con los siguientes servicios de AWS (todos en sus variantes Classic y VPC):
Si un servicio no está listado (S3, ElastiCache, etc.) es muy probable porque no tiene nada que soportar (es decir, puede que no sea desplegable públicamente, o que todas las direcciones IP se resuelvan a la infraestructura global de AWS, etc.).
Instala la gema y ejecútala:
$ gem install aws_public_ips
# Usa las credenciales por defecto de ~/.aws/credentials
$ aws_public_ips
52.84.11.13
52.84.11.83
2600:9000:2039:ba00:1a:cd27:1440:93a1
2600:9000:2039:6e00:1a:cd27:1440:93a1
# Con un perfil personalizado
$ AWS_PROFILE=production aws_public_ips
52.84.11.159
La gema también puede ejecutarse desde Docker:
$ docker pull arkadiyt/aws_public_ips
# Para las credenciales, asegúrate de que las variables de entorno apropiadas estén definidas en el entorno anfitrión:
$ docker run -e AWS_REGION -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN arkadiyt/aws_public_ips
$ aws_public_ips --help
Usage: aws_public_ips [options]
-s, --services <s1>,<s2>,<s3> List of AWS services to check. Available services: apigateway,cloudfront,ec2,elasticsearch,elb,elbv2,lightsail,rds,redshift. Defaults to all.
-f, --format <format> Set output format. Available formats: json,prettyjson,text. Defaults to text.
-v, --[no-]verbose Enable debug/trace output
--version Print version
-h, --help Show this help message
Para la autenticación, aws_public_ips usa la configuración por defecto de aws-sdk-ruby, lo que significa que se revisan en el siguiente orden:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_REGIONAWS_PROFILE~/.aws/credentials~/.aws/configPara más información, consulta la documentación de configuración del SDK de AWS.
Para encontrar las IPs públicas de todos los servicios de AWS, la política mínima que necesita tu usuario IAM es:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"apigateway:GET",
"cloudfront:ListDistributions",
"ec2:DescribeInstances",
"elasticloadbalancing:DescribeLoadBalancers",
"lightsail:GetInstances",
"lightsail:GetLoadBalancers",
"rds:DescribeDBInstances",
"redshift:DescribeClusters",
"es:ListDomainNames"
],
"Resource": "*"
}
]
}
Consulta CHANGELOG.md. Este proyecto sigue versionado semántico.
Consulta CONTRIBUTING.md.
No dudes en enviarme un tweet o un mensaje directo: @arkadiyt