本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自動化規則
自動化規則會根據您定義的條件和排程,自動實作建議的動作。自動化規則是全域資源,可在可使用 Compute Optimizer Automation 的所有AWS 區域中管理自動化動作。您可以從可使用 Compute Optimizer Automation 的任何AWS區域中建立、更新和刪除自動化規則。
規則類型
規則有兩種類型:
帳戶規則:僅將建議動作套用至您帳戶的規則。
組織規則:將建議動作集中套用至成員帳戶的規則。
注意
只有管理帳戶或委派管理員可以建立組織規則。您只能選取已啟用自動化且允許組織規則的成員帳戶,才能套用規則。成員帳戶可以檢視套用至其帳戶但無法編輯的組織規則詳細資訊。組織規則可以設定為在成員帳戶規則之前或之後套用。
規則條件
設定規則時,請選擇您希望規則實作的建議動作類型,例如快照、刪除未連接的 Amazon EBS 磁碟區,以及升級 Amazon EBS 磁碟區類型。使用AWS區域和資源標籤等條件來精簡您的選擇。然後預覽目前相符的建議動作,以驗證您的條件。
重要
如果您未指定規則條件,Compute Optimizer 會將所有選取的建議動作類型套用至您在規則範圍中選取的帳戶,包括在可使用AWS 區域 Compute Optimizer Automation 的所有 中建議的動作。
自動化規則支援下列建議的動作屬性和比較運算子:
| 屬性 | 運算子 | 欄位類型 |
|---|---|---|
|
目前磁碟區大小 (GiB) |
|
Integer |
|
目前的磁碟區類型 |
|
String |
|
預估節省 ($) |
|
Double |
|
回顧期間 (天) |
|
Integer |
|
AWS區域 |
|
String |
|
資源 ARN |
|
String |
|
資源標籤 |
|
資源標籤 |
|
需要重新啟動 |
|
String |
每個屬性最多可以指定 20 個條件,每個條件最多可以指定 20 個值。如需詳細資訊,請參閱AWS Compute Optimizer自動化 API 參考中的條件。
比較運算子
在規則條件中使用比較運算子,將建議的動作屬性與您指定的值相符。
重要
如果您在規則條件中指定的屬性不存在於建議的動作中,則值不相符、條件為 false,且建議的動作會從規則中排除。此邏輯適用於所有比較運算子,但運算子除外,運算...IfExists子會在屬性不存在時評估為 true。...IfExists 運算子會測試建議的 動作上是否存在 屬性 (存在)。
字串條件運算子
字串條件運算子可讓您定義規則條件,將建議的動作屬性與您指定的字串進行比較。
| 條件運算子 | 說明 |
|---|---|
|
完全相符,區分大小寫。 |
|
確定完全相符,區分大小寫。 |
|
完全相符,忽略大小寫。 |
|
否定相符,忽略大小寫。 |
|
大小寫相符。這些值可以包含字串中任意位置的多字元比對萬用字元 ( |
|
否定大小寫相符。這些值可以包含字串中任意位置的多字元比對萬用字元 ( |
注意
* 單獨使用 做為 的值,StringLike符合任何存在的值。與 結合時StringNotLike, 值*表示「不符合任何項目」,有效排除屬性存在的所有建議動作。例如,在Application具有 值的標籤索引鍵StringNotLike上使用 *會排除具有 Application標籤的任何建議動作,無論標籤的值為何。
數位條件運算子
數值條件運算子可讓您定義規則條件,將建議的動作屬性與整數或小數進行比較。
| 條件運算子 | 說明 |
|---|---|
|
精確的數值比對。 |
|
必要數字比對。 |
|
「小於」相符項目。 |
|
「小於或等於」相符項目。 |
|
「大於」相符項目。 |
|
「大於或等於」相符項目。 |
例如,您可以使用 NumericGreaterThanEquals搭配 Lookback 期間屬性來建立規則,該規則只會自動化用於產生建議的回顧期間至少為 32 天的建議動作。
IfExists 運算子
附加IfExists到任何比較運算子 (例如,StringLikeIfExists),以變更當您指定的屬性不存在於建議動作時,評估條件的方式:
使用基本運算子時,缺少屬性會評估為 false,而建議的動作會從規則中排除。
使用
...IfExists變體時,缺少屬性會評估為 true,並包含建議的動作。
IfExists 當您想要從規則中排除特定資源群組,但仍包含未攜帶您正在篩選之標籤的資源時, 會很有幫助。例如,您可能想要包含一個團隊擁有的資源以外的所有項目。StringNotEquals 基礎 team = TeamA 會排除 TeamA 的資源,但也會排除完全不攜帶team標籤的所有資源,並排除您打算包含的資源。新增 IfExists以將這些未標記的資源保持在範圍內:
StringNotEquals 只會比對
team標籤設定為 以外值的資源TeamA。未標記的資源會被排除。StringNotEqualsIfExists 會比對沒有
team標籤的資源,以及設定為 以外任何值的資源TeamA。只有標記team= 的資源TeamA會被排除。
IfExists 當您想要讓資源擁有者將自己的資源從自動化中排除時, 也很有幫助。您可以指定專用選擇退出標籤,例如 automation-opt-out,讓擁有者套用至他們想要退出的任何資源。在這種情況下,標籤的存在很重要,而不是其值,因此請在automation-opt-out標籤索引鍵*上使用 StringNotLikeIfExists與 值。* 萬用字元符合任何值,因此 Compute Optimizer 會排除每個攜帶標籤的資源。IfExists 變體會將未攜帶標籤的資源保留在範圍內;如果沒有,則也會排除每個未標記的資源。
規則條件範例
範例:僅在特定區域中包含建議的動作
下列規則條件會在AWS區域屬性StringEquals上使用 ,以符合 us-east-1或 中資源的建議動作us-west-2。當您為條件指定多個值時,這些值具有 OR 關係 — 如果其屬性值符合任何一個值,則建議的動作會符合條件。
條件組態:
| 屬性 | 運算子 | 值 |
|---|---|---|
AWS區域 |
|
|
評估:
| 屬性值 | 結果 |
|---|---|
|
匹配 |
|
匹配 |
|
無相符項目 |
範例:僅包含最短回顧期間產生的建議動作
下列規則條件在 Lookback 期間 (天) 屬性NumericGreaterThanEquals上使用 ,僅自動化用於產生建議的回顧期間至少為 32 天的建議動作。這可讓您在建議的動作自動化之前,需要較長的觀察時段。
條件組態:
| 屬性 | 運算子 | 值 |
|---|---|---|
回顧期間 (天) |
|
|
評估:
| 屬性值 | 結果 |
|---|---|
|
匹配 |
|
無相符項目 |
範例:包含建議的動作,除非資源屬於特定團隊
考慮一個平台團隊,在許多帳戶中啟用 Compute Optimizer Automation,但想要將一個團隊的資源排除在規則之外。團隊已經為其他用途使用team標籤來標記資源,但不是每個資源都攜帶它。他們想要廣泛套用自動化,同時排除任何標記 team = 的資源TeamA。
下列規則條件會在資源標籤屬性StringNotEqualsIfExists上使用 ,並搭配標籤索引鍵 team 和值 TeamA。當資源完全沒有team標籤,或當標籤設定為 以外的任何值時,會包含建議的動作TeamA。由於許多資源不會攜帶標籤,因此 IfExists 是將它們保持在範圍內的原因 - 如果沒有它,則會排除每個未標記的資源。
條件組態:
| 屬性 | 運算子 | 標籤鍵 | 值 |
|---|---|---|---|
資源標籤 |
|
|
|
評估:
| 建議的動作狀態 | 結果 | 說明 |
|---|---|---|
資源沒有 |
匹配 |
屬性不存在,並將不存在的屬性 |
資源的標籤 |
匹配 |
標籤存在且值不符合 |
資源的標籤 |
無相符項目 |
標籤存在且值符合 |
範例:包含建議的動作,除非資源具有選擇退出標籤
您可以套用專用選擇退出標籤,讓資源擁有者從自動化中排除個別資源。在此範例中,擁有者會將automation-opt-out標籤新增至他們想要捨棄的任何資源。
下列規則條件會在資源標籤屬性StringNotLikeIfExists上使用 ,並搭配標籤索引鍵 automation-opt-out 和值 *。* 萬用字元符合任何值,因此會排除任何攜帶標籤的資源。當資源沒有 automation-opt-out標籤時,會包含建議的動作。
條件組態:
| 屬性 | 運算子 | 標籤鍵 | 值 |
|---|---|---|---|
資源標籤 |
|
|
|
評估:
| 建議的動作狀態 | 結果 | 說明 |
|---|---|---|
資源沒有 |
匹配 |
屬性不存在,並將不存在的屬性 |
資源的標籤 |
無相符項目 |
標籤存在,且 |
資源的標籤 |
無相符項目 |
標籤存在,且 |
範例:合併多個條件
您可以結合多個條件來縮小規則的範圍。所有條件都必須符合,才能在規則中包含建議的動作 (AND 邏輯)。
下列組態會自動執行 EBS 磁碟區建議的動作:
位於 us-east-1 和 us-west-2
產生的回顧期間至少為 32 天;以及
未選擇退出自動化 (無
automation-opt-out標籤)。
此規則只有在同時符合所有三個條件時,才會包含建議的動作。
條件組態:
| 屬性 | 運算子 | 值 |
|---|---|---|
AWS區域 |
|
|
回顧期間 (天) |
|
|
資源標籤 (索引鍵: |
|
|
Schedule
透過指定頻率 (每日、每週或每月)、開始時間、結束時間和時區,設定規則執行時的排程。在此時段內,Compute Optimizer 會開始實作符合您指定條件的建議動作。啟動的動作數量取決於排程時段的持續時間、運算最佳化工具自動化的並行限制,以及完成每個動作所需的時間。自動化動作會顯示為「進行中」,直到自動化工作流程中的所有步驟都完成為止。每個AWS區域的每個帳戶最多可同時進行 100 個動作。
規則順序
根據預設,規則會在其規則群組中以規則順序 1 (最高優先順序) 建立。例如,當管理帳戶建立設定為在成員帳戶規則之後套用的組織規則時,會收到規則順序 1,這是該群組中所有規則的最高優先順序。當帳戶中的建議動作符合多個規則時,規則群組和規則順序會決定套用哪個規則。Compute Optimizer 會將動作指派給規則順序值最低 (最高優先順序) 的作用中規則,無論該規則排定何時執行。
例如,如果建議的動作符合下表中的所有規則,Compute Optimizer 會將其指派給 Rule-C,並根據 Rule-C 的排程實作它。
| 規則群組 | 規則順序 | 規則名稱 | 狀態 | Schedule |
|---|---|---|---|---|
|
成員帳戶規則之前評估的組織規則 |
1 |
Rule-A |
非作用中 |
每週一 12:00 到 13:00 UTC |
|
2 |
Rule-B |
非作用中 |
每日 12:00 到 13:00 UTC |
|
|
成員帳戶規則 |
1 |
Rule-C |
作用中 |
每月 15 日 12:00 到 13:00 UTC |
|
2 |
Rule-D |
非作用中 |
每月 15 日 12:00 到 13:00 UTC |
|
|
成員帳戶規則之前 之後的組織規則 |
1 |
規則 E |
非作用中 |
每週一 12:00 到 13:00 UTC |
|
2 |
Rule-F |
作用中 |
每日 12:00 到 13:00 UTC |