
Recupera tutti gli indirizzi IP pubblici associati al tuo account AWS. Funziona con IPv4/IPv6, rete Classic/VPC e attraverso tutti i servizi AWS.
aws_public_ips è uno strumento per recuperare tutti gli indirizzi IP pubblici (sia IPv4 che IPv6) associati a un account AWS.
Può essere utilizzato come libreria e come CLI, e supporta i seguenti servizi AWS (tutti con varianti Classic e VPC):
Se un servizio non è elencato (S3, ElastiCache, ecc.), molto probabilmente è perché non ha nulla da supportare (cioè potrebbe non essere distribuibile pubblicamente, potrebbe avere tutti gli indirizzi IP che risolvono verso l'infrastruttura globale AWS, ecc.).
Installa la gemma ed eseguila:
$ gem install aws_public_ips
# Uses default ~/.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
# With a custom profile
$ AWS_PROFILE=production aws_public_ips
52.84.11.159
La gemma può anche essere eseguita da Docker:
$ docker pull arkadiyt/aws_public_ips
# For credentials, ensure the appropriate environment variables are defined in the host environment:
$ 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
Per l'autenticazione, aws_public_ips utilizza la configurazione predefinita di aws-sdk-ruby, il che significa che vengono controllati nell'ordine:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_REGIONAWS_PROFILE~/.aws/credentials~/.aws/configPer maggiori informazioni, consulta la documentazione sulla configurazione di AWS SDK.
Per trovare gli IP pubblici da tutti i servizi AWS, la policy minima necessaria per il tuo utente IAM è:
{
"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. Questo progetto segue il versionamento semantico.
Consulta CONTRIBUTING.md.
Sentiti libero di twittarmi o mandarmi un messaggio diretto: @arkadiyt