AMIのパブリック共有機能をブロックする方法

記事タイトルとURLをコピーする

こんにちは!イーゴリです。

下記のAWSアップデートが発表されたため、この記事では、AWSアカウントでAMIのパブリック共有機能をブロックする方法を試してみたいと思います。

aws.amazon.com

UPD: AMI ブロックパブリックアクセスが2023年10月16日から全リージョンでデフォルト有効となります

下記のブログの通り、2023年10月16日から、現在のデフォルト設定「無効」が、デフォルト「有効」となります。対象は全ての AWS アカウント(新規・既存)、全ての AWS リージョンです。

blog.serverworks.co.jp

AWSマネジメントコンソールでAMIのパブリック共有機能をブロックする

[EC2] > EC2ダッシュボードにある[Data protection and security]をクリックします。

[Data protection and security]タブにて「Public access」の下に「New public sharing allowed」が表示されています。AMIのパブリック共有機能をブロックしたい場合、[Manage]をクリックします。

[Block new public sharing]にチェックを入れて、[Update]をクリックします。

Updateする時に緑枠内に[There are currently no publicity shared AMIs in this Region]のメッセージが表示される場合、リージョン内にパブリック的に共有されているAMIが存在しないという意味です。

※オレンジ枠内に[Publicly shared AMIs will continue being shared publicly]のメッセージが表示されている場合、リージョン内にパブリック的に共有されているAMIが存在しているため、AMIのパブリック共有機能をブロックしても、共有されているAMIが共有のままになります。

「10分以内に設定が反映されます」というメッセージが表示されますが、私の場合、この設定が1~2分で反映されました。

「Public access」に「New public sharing blocked」のメッセージが表示されたら、設定の反映は完了です。

AMI共有設定を見ますと、下記の画面の通り、[AMI可用性]で[パブリック]を押せない状態です。

AMIのパブリック共有機能をブロックする前:

AMIのパブリック共有機能をブロックした後:

注意点

リージョンについて

AMIのパブリック共有機能の無効化がリージョンごとに設定されているため、例えば、東京リージョンでAMIのパブリック共有機能を無効にしても、他のリージョンではAMIのパブリック共有機能が有効のままなのでご注意ください。

アカウント数が多い、もしくはすべてのリージョンで無効にしたい場合、AWS CLIで行ったほうが効率が良いと思います。

既存のパブリックAMIについて

AMIのパブリック共有機能をブロックしても、既存のパブリックAMIが有効のままになっているので、手動で無効にする必要がありますのでご注意ください。

スナップショットは対象外(対策方法)

UPD: 下記の記事をご参照ください。

blog.serverworks.co.jp

アップデート書いてある通り「Amazon EC2 に、AMI ブロックパブリックアクセス (BPA) のサポートが追加されました。」なので、AMIのパブリック共有機能をブロックしても、RDS/EC2のスナップショットをパブリックアクセスできるようになってしまいますので、ご注意ください。

まとめ

複数アカウント/リージョンでAMIのパブリック共有機能をブロックしたい場合、Bash Scriptを作成し、実行したほうが効率がよいため、下記の記事にてこの方法を紹介したいと思います。

blog.serverworks.co.jp

以上、御一読ありがとうございました。

本田 イーゴリ (記事一覧)

カスタマーサクセス部

・2024 Japan AWS Top Engineers (Security)
・AWS SAP, DOP, SCS, DBS, SAA, DVA, CLF
・Azure AZ-900
・EC-Council CCSE

趣味:日本国内旅行(47都道府県制覇)・ドライブ・音楽