阿里云提供了鏡像族系(ImageFamily)功能用于對一組相關鏡像進行分類,可以幫助用戶更好地管理和使用鏡像。當通過鏡像族系創建ECS實例時,系統會自動選取鏡像族系內處于可用狀態的最新鏡像。
功能特性
當前僅支持通過API設置鏡像族系創建ECS實例,當您通過RunInstances或CreateInstance接口創建ECS實例時,無需設置鏡像ID參數ImageId,只需要設置鏡像族系參數ImageFamily,系統會自動使用鏡像族系中可用的最新鏡像創建ECS實例。具體操作,請參見通過鏡像族系創建ECS實例。
說明最新鏡像的判斷依據為鏡像族系內可用鏡像的創建時間,創建時間最晚的鏡像為最新鏡像。例如,您的鏡像族系內有兩個可用的鏡像。一個是2020年01月01日創建的,另一個是2020年01月03日創建的,那么通過該鏡像族系創建ECS實例時,系統將默認選擇2020年01月03日創建的鏡像。
如果您將多個地域的鏡像指定為同一鏡像族系,則創建ECS實例時會自動匹配該地域的鏡像。
鏡像族系中的自定義鏡像可以設置為棄用或恢復可用。如果您需要使用較舊的鏡像版本創建ECS實例,只需要將鏡像族系內可用的最新自定義鏡像設置為棄用或直接刪除,然后通過鏡像族系創建ECS實例即可實現。您可以通過控制臺棄用鏡像或恢復可用鏡像,或調用API接口ModifyImageAttribute實現。
您可以調用API接口DescribeImageFromFamily查詢指定鏡像族系內最新的鏡像,也可以通過DescribeImages接口查詢某個鏡像所屬的鏡像族系名稱。
公共鏡像、自定義鏡像、共享鏡像和社區鏡像均支持鏡像族系,設置方法請參考下表。
鏡像類型
鏡像族系說明
默認攜帶鏡像族系信息。更多信息,請參見公共鏡像概述。
在創建自定義鏡像或者編輯自定義鏡像屬性時,支持為自定義鏡像設置鏡像族系。具體操作,請參見設置鏡像族系。
說明自定義鏡像的鏡像族系不允許以acs開頭。
復制自定義鏡像不會繼承鏡像族系信息。
共享的源自定義鏡像沒有設置鏡像族系,則共享鏡像不攜帶鏡像族系。
共享的源自定義鏡像設置了鏡像族系,則共享鏡像也攜帶鏡像族系。
共享者:自定義鏡像的鏡像族系
被共享者:
acs:<共享者的阿里云賬號ID>:鏡像族系名稱
發布的自定義鏡像沒有設置鏡像族系,則社區鏡像不攜帶鏡像族系。
發布的自定義鏡像設置了鏡像族系,則社區鏡像也攜帶鏡像族系。
鏡像提供者:自定義鏡像的鏡像族系
鏡像使用者:
acs:鏡像提供者的阿里云賬號ID:鏡像族系名稱
共享鏡像和社區鏡像族系使用示例:
假設有M、N兩個用戶:用戶M為其兩個自定義鏡像A1、B1指定了鏡像族系A,并把A1發布為社區鏡像A2,B1共享給了用戶N成為N的共享鏡像B2。則:
社區鏡像A2:鏡像族系名稱為
acs:<M用戶的UID>:A
共享鏡像B2:鏡像族系名稱也是
acs:<M用戶的UID>:A
示例一:
用戶N通過RunInstances或CreateInstance創建ECS實例時,如果指定了鏡像族系
acs:<M用戶的UID>:A
,系統會自動選取A2和B2中最新的可用的鏡像來創建實例。示例二:
用戶N將共享鏡像B2復制為其賬號下的自定義鏡像B3后,B3不會繼承B2的鏡像族系值,用戶需要重新設置鏡像族系。
示例三:
如果A1沒有發布為社區鏡像,僅共享了B1。則用戶N通過引用族系
acs:<M用戶的UID>:A
使用共享鏡像創建ECS實例時,只能獲取到B2,因為A1并沒有共享給用戶N。示例四:
由于自定義鏡像的鏡像族系不允許以acs開頭,因此不存在用戶N將其某個自定義鏡像的族系設置為
acs:<M的UID>:A
,與共享鏡像、社區鏡像隸屬于同一個族系的情況。鏡像族系的典型使用流程如下圖所示。
使用限制
自定義鏡像一旦設置了鏡像族系,支持修改但不支持刪除鏡像族系。
同一賬號相同地域下,鏡像族系名稱唯一;不同地域下,允許存在相同的鏡像族系名稱。
同一個鏡像族系內的鏡像數量不能超過100個。
同一個地域下,存在鏡像的鏡像族系數量不能超過100個。
棄用或恢復可用鏡像:
僅自定義鏡像支持設置為棄用或者恢復可用,其他類型的鏡像不支持設置。
如果自定義鏡像已經共享給其他用戶,需要先取消共享才可以修改為棄用狀態。
棄用狀態的自定義鏡像可以用于創建實例、更換系統盤操作,但是不允許再進行復制或共享。