2016-11-28 46 views
9

我一直通過登錄AWS站點啓動EC2實例,點擊「啓動」按鈕並遵循被禁止的步驟。現在我想從Ansible腳本啓動實例,爲此我想(我想)需要我希望啓動的映像的AMI ID。如何在AWS Marketplace中查找CentOS 7映像的AMI ID?

問題是我從「市場」啓動圖像,並且找不到AMI ID。特別是我使用的是Centos 7映像。這很容易在網絡界面中找到,只要到市場上搜索「centos」,我想要的圖像是第一個找到的圖像,但提供的有關圖像的信息似乎沒有包含AMI ID需要從腳本啓動它。解決方法是手動啓動圖像,然後在檢查運行圖像時給出AMI ID。但有沒有更簡單的方法來找到它?

+0

它是否在市場中的「管理您的軟件訂閱」下? –

+0

它似乎沒有在那裏顯示 - 除了它顯示我的運行實例,它將顯示ami id。但是我想在運行之前找到它。 – bandjalong

回答

10

CentOS將他們的AMI產品代碼發佈到wiki。維基提供了最新的CentOS 7 AMI以下信息:

  • 業主:aws-marketplace
  • 產品編號:aw0evgkw8e5c1q413zgy5pjce

利用這些信息,我們可以查詢describe-images與AWS CLI:

例如:

aws ec2 describe-images \ 
    --owners 'aws-marketplace' \ 
    --filters 'Name=product-code,Values=aw0evgkw8e5c1q413zgy5pjce' \ 
    --query 'sort_by(Images, &CreationDate)[-1].[ImageId]' \ 
    --output 'text' 

輸出:

ami-6d1c2007 

該查詢返回單個AMI ID,通過創建日期排序集合,然後選擇集合中的最後的(最近的)元件中選擇。

由於CentOS維基multiple AMI ids may be associated with a product key,所以雖然此查詢目前只會返回一個AMI,因爲目前只有一個匹配此產品...在未來,如果出於任何原因爲此產品代碼創建了新的AMI查詢將返回它。

+0

工作,謝謝! – bandjalong