
AWSアカウントに関連付けられたすべてのパブリックIPアドレスを取得します。IPv4/IPv6、Classic/VPCネットワーキング、およびすべてのAWSサービスで動作します。
aws_public_ipsは、AWSアカウントに関連するすべてのパブリックIPアドレス(IPv4/IPv6両方)を取得するツールです。
これはライブラリおよびCLIとして使用でき、以下のAWSサービスをサポートしています(すべてClassicとVPCの両方に対応):
リストにないサービス(S3、ElastiCacheなど)は、おそらくサポートするものがないためです(つまり、公開デプロイできないか、すべてのIPアドレスがグローバルなAWSインフラストラクチャに解決されるなど)。
gemをインストールして実行:
$ 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
gemは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
認証には、aws_public_ipsはデフォルトのaws-sdk-ruby設定を使用します。つまり、以下の順序でチェックされます:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_REGIONAWS_PROFILE~/.aws/credentials~/.aws/config詳細については、AWS SDKの設定に関するドキュメントを参照してください。
すべてのAWSサービスからパブリックIPを検出するために、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": "*"
}
]
}
詳細はCHANGELOG.mdを参照してください。このプロジェクトはセマンティックバージョニングに従っています。
詳細はCONTRIBUTING.mdを参照してください。
お気軽にツイートまたはダイレクトメッセージをお送りください:@arkadiyt