質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

4758閲覧

AWS CLIでセキュリティグループのインバウンドに設定されている特定のポートの設定を取得する方法

teketeke

総合スコア46

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2015/04/17 04:09

AWS CLIを利用して、セキュリティグループのインバウンドに設定されている特定のポートの設定を一覧で取得したいのですが、どのようにすればよいのでしょうか。

試したところ、以下のようにセキュリティグループの情報取得はできたので、それを加工すればできそうではありますが、できればAWS CLIのコマンドでもう少し出力結果を絞れないかと考えております。

以下の出力でしたら、tcp 443 のxxx/18とxxx/19の2行(できれば2列目のIPアドレス部分のみ)が取得できないかと考えております。

もしやり方がお分かりになる方がいらっしゃいましたら、よろしくお願い致します。

lang

1# aws ec2 describe-security-groups --group-ids sg-xxxxxxxx 2 3SECURITYGROUPS AWSCLI-test_20150416 sg-xxxxxxxx AWSCLI-test 465xxxxxxxxx vpc-xxxxxxxx 4IPPERMISSIONS 80 tcp 80 5IPRANGES xxx.xxx.xxx.xxx/32 6IPPERMISSIONS 443 tcp 443 7IPRANGES xxx.xxx.xxx.xxx/18 8IPRANGES xxx.xxx.xxx.xxx/19 9IPPERMISSIONSEGRESS -1 10IPRANGES 0.0.0.0/0 11

lang

1# aws ec2 describe-security-groups --group-ids sg-xxxxxxxx | grep "IPRANGES" |awk '{printf $2"\n"}' 2xxx.xxx.xxx.xxx/32 3xxx.xxx.xxx.xxx/18 4xxx.xxx.xxx.xxx/19 50.0.0.0/0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

無理やりですが、aws スクリプト:

lang

1awk 'BEGIN {target=0} $1 ~ /^IPPERMISSIONS/ && $2 ~ /^443$/ {target=1} $1 ~ /^IPPERMISSIONS/ && $2 !~ /^443$/ {target=0} /^IPRANGES/ {if (target==1) print $2}'

"--output json" で JSON形式を解析する方が確実だと思います。

投稿2015/04/17 07:09

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teketeke

2015/04/17 09:31

回答頂きありがとうございます。 頂いたコードでIPアドレスのみ取り出せることを確認しました。 >"--output json" で JSON形式を解析する方が確実だと思います。 jsonを使用したことが無かったので、先程ざっくり調べて、以下のコマンドでIPアドレスのみ取り出せました。 ========== # aws ec2 describe-security-groups --group-ids sg-xxxxxxxx --output json | jq '.SecurityGroups[].IpPermissions[]' | jq 'select( .ToPort == 443)' | jq '.IpRanges[].CidrIp' "1.0.64.0/18" "223.223.224.0/19" ==========
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問