5
5

More than 3 years have passed since last update.

「そのAMI、実は罠かも」AMIを選ぶ前には、必ず所有者を確認!

Posted at

AWSのAMIリストに潜む闇

AWSマネジメントコンソールからWindows Serverを構築する時、AMIを選びますよね。
今日も、いつもの感覚で、ウィザードを開きました。
image.png
さて、どのAMIを選ぶのが良いのでしょうか。

なんか、上から2番目が良さそうです。
「Japanese Language」「Support Include」と書いてあるので、一見、これが一番良さそうです。

でも、上記のAMIには、他のAMIと違うところがあります。
それは「provided by Amazon」とは書いてない点です。

なんか、急に怪しくなってきました。

そこで、AMIの一覧画面で確認してみます。
image.png

なんと、1つだけ所有者が違います。
他は、AWSの公式AMIのように見えますが、この1つだけは明らかに違います。

もしや、公式っぽく見せようとしている罠では・・・などと考えてしまいますが、それは果たして考えすぎなのでしょうか。。。

怪しいAMIは、今年の春にも存在していた

以下は、今年の4月頃の画面キャプチャーですが、公式に酷似した名前で、野良AMIと思わしきものがウィザードの1ページ目に出現していた様子です。
image.png
よく見ないと、間違って選んでしまいそうです。

この時もAMIの一覧画面を見ることで、AMIの怪しさに気づけました。
image.png

AMIって誰でも公開できるんだっけ?

AWSでは、次のドキュメントの手順で、誰でもAMIを公開できます。
今回のAMIも、名前を似せてこの手順に沿ってAMIを公開したと思われます。

「AMIを一般公開する」
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/sharingamis-intro.html

AMI を公開した後、コンソールを使用して同じリージョン内でインスタンスを起動すると、
その AMI が [Community AMIs] に表示されます。AMI は、公開してから [Community AMIs] に表示されるまでに、しばらく時間がかかることもあります。また、AMI を非公開にした場合も、[Community AMIs] から削除されるまでにしばらく時間がかかることがあります。

この他には、有償のマーケットプレイスで販売するという手段があります。

結論

AWSのEC2を構築する際には、必ずAMIの所有者を確認した方が良いです。

コミュニティAMIは、その仕様上、一般の方が作成されたAMIもあり、どんなソフトウェアがインストールされているか分かりませんので、トラブル防止の為、所有者がAmazonのものを選ぶようにすべきかと思います。(理由があって意図している場合は別ですが。)
AMI一覧からEC2を構築する手順であれば、所有者欄を見ながら気づけますので、トラブル回避できます。
怪しいAMIは、名前はそっくりですが、ソースと所有者が違うのが分かります。

最初の画面キャプチャーで示すウィザードでは、公式と野良を正確には区別できません。(Descriptionが偽装されていても気づかない)
CloudFormationやTerraformで最新のAMIを選択するコードでは、Amazon公式アカウントのID(12桁)または所有者でAMIを絞り込むコードに変更すべきでしょう。

5
5
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
5
5