2016-09-16 3 views
0

こんにちは私は実行しているawsリージョンのAMIからipsをコピーするスクリプトを実行する必要があります。このIPをコピーした後、そのテキストファイルをテキストファイルに置きます。インスタンスがオフになっていれば、そのIPは削除され、テキストファイルは自動的に自動的に変更されます。これはすべてのリージョンで実行する必要があるため、「X」AMIを実行しているインスタンスは、スクリプトはそれを見つけ、そのIPをコピーして実行している場合はそれを保持し、シャットダウンモードに切り替えるとファイルから削除します。リストからIPをコピーするAWS

スタック

55.555.555.55

66.123.545.54

のようなテキストでのIP .....

.....

リアルタイム。

私は本当にaws cliを使用したことはありません。これは可能です。

+0

を適用したい場合があり、AWSの詳細についてはhttp://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.htmlは、CLIの場合は、コマンドを記述を参照してください重複を削除AMIまたはインスタンスのIPアドレス – error2007s

答えて

1

AWS CLIでdescribe-instancesコマンドを使用します。必要なすべての情報(AMI、インスタンス状態、IPアドレス)は、そのコマンドへの応答に含まれます。各地域ごとにdescribe-instancesを1回実行しなければならないことに注意してください。

CLIのJSON出力を解析できますが、必要な情報をテキストファイルに書き込むことができます。

+1

私の答えでは、アドレスを取り除くためにsedを使っただけですが、もっと良い解決策は '' jq''のようなJSONパーサを使うことです – Vorsprung

1

このコマンドでは、aws cliの "describe-instances"コマンドと、実行中のインスタンスのみのフィルタを使用します。

"PublicIp"フィールドを含む多くのデータを出力します。 sedコマンドストリップうち、その行からちょうどIPアドレスとuniq

aws ec2 describe-instances --filters 'Name=instance-state-name,Values=running' | sed -n 's/^.*"PublicIp": "\([0-9\.]*\)\",/\1/p'| uniq 

は、他のフィルタを含む、あなたが欲しい

関連する問題