本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
標記新的或現有的 Spot 機群請求及其啟動的執行個體和磁碟區
為便於將 Spot 機群請求及其啟動的執行個體和磁碟區分類並進行管理,您可以利用自訂中繼資料來標記這些請求。您可以在建立 Spot Fleet 請求時或之後將標記指派給請求。同樣地,您可以在機群啟動執行個體和磁碟區時或之後,將標籤指派給執行個體和磁碟區。
當您標記機群請求時,由機群啟動的執行個體和磁碟區不會自動加上標記。您需要明確標記由機群啟動的執行個體和磁碟區。您可以選擇僅將標籤指派給機群請求,或僅指派給機群啟動的執行個體,或僅指派給連接至機群啟動之執行個體的磁碟區,或指派給前述所有項目。
注意
您只能為連接至隨需執行個體的磁碟區加標籤。您無法為連接至 競價型執行個體 的磁碟區加標籤。
您可以使用 Amazon EC2 主控台或命令列工具來指派標籤。
如需標籤運作方式的詳細資訊,請參閱標記您的 Amazon EC2 資源。
必要條件
授予使用者標記資源的許可。如需詳細資訊,請參閱範例:標籤資源。
授予使用者標記資源的許可
建立包含下列項目的 IAM 政策:
-
ec2:CreateTags
動作。這會授予使用者建立標籤的許可。 -
ec2:RequestSpotFleet
動作。這會授予使用者建立 Spot 機群請求的許可。 -
對於
Resource
,您必須指定"*"
。這可讓使用者標記所有資源類型。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagSpotFleetRequest", "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "*" } ] }
重要
我們目前不支援 spot-fleet-request
資源的資源層級許可。如果您指定 spot-fleet-request
作為資源,當您嘗試標記機群時,會收到未經授權的例外狀況。下列範例說明如何不要設定政策。
{ "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "arn:aws:ec2:
us-east-1
:111122223333
:spot-fleet-request/*" }
若要提供存取權,請新增權限至您的使用者、群組或角色:
-
中的使用者和群組 AWS IAM Identity Center:
建立權限合集。請按照 AWS IAM Identity Center 使用者指南 中的 建立權限合集 說明進行操作。
-
透過身分提供者在 IAM 中管理的使用者:
建立聯合身分的角色。遵循「IAM 使用者指南」的為第三方身分提供者 (聯合) 建立角色中的指示。
-
IAM 使用者:
-
建立您的使用者可擔任的角色。請按照「IAM 使用者指南」的為 IAM 使用者建立角色中的指示。
-
(不建議) 將政策直接附加至使用者,或將使用者新增至使用者群組。請遵循 IAM 使用者指南的新增許可到使用者 (主控台) 中的指示。
-
標記新的 Spot Fleet 以及執行個體和其啟動的磁碟區
若要標記新的 Spot 機群請求及其使用主控台啟動的執行個體和磁碟區
-
新增標籤的方式取決於您是手動設定機群,還是使用啟動範本。
-
如果您是手動設定機群,請執行下列動作:
若要新增標籤,請展開其他啟動參數,選擇新增標籤,然後輸入標籤鍵和值。針對每個標籤,重複執行上述動作。
對於每個標籤,您可以標記 Spot Fleet 請求和具有相同標籤的執行個體。若要標記兩者,請確定已同時選取執行個體和機群。若只要標記 Spot Fleet 請求,請清除 Instances (執行個體)。若只要標記由機群啟動的執行個體,請清除 Fleet (機群)。
注意
當您手動設定機群時,並沒有標記磁碟區的選項。磁碟區標籤僅支援連接至 隨需執行個體 的磁碟區。當您手動設定機群時,無法指定隨需執行個體。
-
如果您是使用啟動範本,請執行下列動作:
若要將標籤新增至機群請求,請在標籤下選擇建立標籤,然後輸入標籤鍵和值。針對每個標籤,重複執行上述動作。
若要標記機群中的資源,您必須在啟動範本中指定標籤。
-
使用 標記新的 Spot Fleet 請求及其啟動的執行個體和磁碟區 AWS CLI
若要在建立 Spot Fleet 請求時加上標記,並在機群啟動執行個體和磁碟區時給它們加上標記,請依下列方式設定 Spot Fleet 請求組態:
Spot Fleet 請求標籤:
-
在
SpotFleetRequestConfig
中指定 Spot Fleet 請求的標籤。 -
對於
ResourceType
,請指定spot-fleet-request
。若指定其他值,機群請求將會失敗。 -
對於
Tags
,指定金鑰值對。您可以指定多個金鑰值對。
執行個體標籤:
-
在
LaunchSpecifications
中指定執行個體的標籤。 -
對於
ResourceType
,請指定instance
。若指定其他值,機群請求將會失敗。 -
對於
Tags
,指定金鑰值對。您可以指定多個金鑰值對。或者,您可以在 Spot Fleet 請求中參照的啟動範本中,指定執行個體的標籤。
磁碟區標籤:
-
在 Spot Fleet 請求中參照的啟動範本中,指定磁碟區的標籤。不支援在
LaunchSpecifications
中標記磁碟區。
在下面的例子中,Spot Fleet 請求標記了兩個標籤:Key=Environment and Value=Production 和 Key=Cost-Center and Value=123。由機群啟動的執行個體標記了一個標籤 (這與 Spot Fleet 請求的標籤之一相同):Key=Cost-Center and Value=123。
{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large", "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "
Cost-Center
", "Value": "123
" } ] } ] } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1, "TagSpecifications": [ { "ResourceType": "spot-fleet-request", "Tags": [ { "Key": "Environment
", "Value":"Production
" }, { "Key": "Cost-Center
", "Value":"123
" } ] } ] } }
使用 標記 Spot 機群啟動的執行個體 AWS CLI
若要在機群啟動執行個體時加上標記,您可以在 Spot Fleet 請求中參照的啟動範本中指定標籤,或者您可以指定 Spot Fleet 請求組態中的標籤,如下所示:
-
在
LaunchSpecifications
中指定執行個體的標籤。 -
對於
ResourceType
,請指定instance
。若指定其他值,機群請求將會失敗。 -
對於
Tags
,指定金鑰值對。您可以指定多個金鑰值對。
在下列範例中,機群啟動的執行個體均標記了一個標籤:Key=Cost-Center and Value=123。
{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large", "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "
Cost-Center
", "Value": "123
" } ] } ] } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1 } }
使用 標記連接至 Spot 機群啟動之隨需執行個體的磁碟區 AWS CLI
若要在機群建立磁碟區時標記磁碟區,請在 Spot Fleet 請求中參考的啟動範本中指定標籤。
注意
磁碟區標籤僅支援連接至 隨需執行個體 的磁碟區。您無法為連接至 競價型執行個體 的磁碟區加標籤。
不支援在 LaunchSpecifications
中標記磁碟區。
標記現有 Spot Fleet
若要使用主控台標記現有的 Spot Fleet 請求
建立 Spot 機群請求後,您可以使用主控台為機群請求新增標籤。
-
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在瀏覽窗格中,選擇 Spot 請求。
-
選取您的 Spot Fleet 請求。
-
選擇標籤索引標籤,然後選擇建立標籤。
使用 標記現有的 Spot Fleet 請求 AWS CLI
使用 create-tags
aws ec2 create-tags \ --resources
sfr-11112222-3333-4444-5555-66666EXAMPLE
\ --tags Key=purpose
,Value=test
檢視 Spot Fleet 請求標籤
若要使用主控台檢視 Spot Fleet 請求標籤
-
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在瀏覽窗格中,選擇 Spot 請求。
-
選取您的 Spot Fleet 請求並選擇 Tags (標籤)。
若要描述 Spot Fleet 請求標籤
使用 describe-tag
aws ec2 describe-tags \ --filters "Name=resource-id,Values=
sfr-11112222-3333-4444-5555-66666EXAMPLE
"
{
"Tags": [
{
"Key": "Environment",
"ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
"ResourceType": "spot-fleet-request",
"Value": "Production"
},
{
"Key": "Another key",
"ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
"ResourceType": "spot-fleet-request",
"Value": "Another value"
}
]
}
您也可以透過描述 Spot Fleet 請求來檢視 Spot Fleet 請求的標籤。
使用 describe-spot-fleet-requests
aws ec2 describe-spot-fleet-requests \ --spot-fleet-request-ids
sfr-11112222-3333-4444-5555-66666EXAMPLE
{
"SpotFleetRequestConfigs": [
{
"ActivityStatus": "fulfilled",
"CreateTime": "2020-02-13T02:49:19.709Z",
"SpotFleetRequestConfig": {
"AllocationStrategy": "capacityOptimized",
"OnDemandAllocationStrategy": "lowestPrice",
"ExcessCapacityTerminationPolicy": "Default",
"FulfilledCapacity": 2.0,
"OnDemandFulfilledCapacity": 0.0,
"IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
"LaunchSpecifications": [
{
"ImageId": "ami-0123456789EXAMPLE",
"InstanceType": "c4.large"
}
],
"TargetCapacity": 2,
"OnDemandTargetCapacity": 0,
"Type": "maintain",
"ReplaceUnhealthyInstances": false,
"InstanceInterruptionBehavior": "terminate"
},
"SpotFleetRequestId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
"SpotFleetRequestState": "active",
"Tags": [
{
"Key": "Environment",
"Value": "Production"
},
{
"Key": "Another key",
"Value": "Another value"
}
]
}
]
}