LoginSignup
3
1

More than 3 years have passed since last update.

AWSのSecurity Groupが外された経緯を知る方法

Last updated at Posted at 2019-05-31

はじめに

AWSの開発に関わっていると、ある日突然EC2が通信できなくなったと連絡があり、原因を調べると「アタッチしていたはずのSecurity Groupがデタッチされていたため」ということがあります。
この場合、一次対処としてはSecurity Groupをアタッチし直すことになるでしょう。
その後、業務では根本原因を追求するため、どうしてSecurity Groupが外れたのかを調査することになります。
CloudTrailのイベント履歴画面で、イベント名「ModifyNetworkInterfaceAttribute」を確認すればOKです。

ModifyNetworkInterfaceAttributeがないか調査

試しにSecurity Groupを複数アタッチしたEC2を用意し、Security Groupをデタッチします。
その後CloudTrailを見ると、以下のようにイベントが上がっています。
このイベントが、Security Groupの変更によって発生したものです。
image.png
上記の画面から、誰がどこから、どのENI(ネットワークインタフェース)に対してSecurity Groupの操作をしたかが分かります。

何が外された(デタッチされた)のかを知る

同じ画面上では、この操作によって、結果、ENIにどのSecurity Groupがアタッチされている状態となったかが分かります。
image.png
つまり、過去のModifyNetworkInterfaceAttributeのイベントを追いかけていけば、Security Groupのアタッチ状態の遷移を追うことができます。

検索条件(フィルタ)でENI IDを指定して調査

EC2にアタッチされているENIのID(eni-)が分かれば、イベント履歴画面でリソース名にENIのIDを指定して検索すると、ENIを絞り込んで、遷移を追うことができます。
Security Groupをデタッチする操作は、厳密にはSecurity Groupに対する操作ではなく、ENIに対する操作になりますので、ENIで絞り込んで調査します。
image.png

※参考※ 検索条件(フィルタ)でSecurity Group IDを指定して調査

Security GroupのID(sg-)が分かれば、イベント履歴画面でリソース名にSecurity GroupのIDを指定して検索すると、そのSecurity Groupだけに絞り込んで調査できます。
ただし上記で説明したように、Security GroupのデタッチはENIに対する操作ですので、デタッチを追うにはENIで絞り込む必要があります。
image.png

これでSecurity Groupがデタッチされた経緯を調査でき、犯人探しができるようになります。

えっ・・・経緯って言うけど、そもそも何でデタッチしたのかが分からないじゃないかって?
それを知るには、当事者にカツ丼を食べさせる必要があります。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1