Amazon EC2 現貨叢集角色 - AWS Batch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon EC2 現貨叢集角色

如果您建立使用 Amazon EC2 Spot 叢集執行個體的受管運算環境,則必須建立AmazonEC2SpotFleetTaggingRole政策。此原則授與 Spot 叢集權限,以代表您啟動、標記和終止執行個體。在您的 Spot Fleet 請求中指定角色。您還必須擁有 Amazon EC2 競價型AWSServiceRoleForEC2Spot和競價型叢集的和AWSServiceRoleForEC2SpotFleet服務連結角色。請使用下列指示來建立所有這些角色。如需詳細資訊,請參閱 IAM 使用者指南中的使用服務連結角色和建立將權限委派給AWS服務的角色。

在中建立 Amazon EC2 現貨叢集角色 AWS Management Console

為 Amazon EC2 競價型叢集建立 AmazonEC2SpotFleetTaggingRole IAM 服務連結角色
  1. 開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 對於「存取管理」,選擇「角色

  3. 對於角色,請選擇建立角色。

  4. [選取信任的實體型的信任實體] 中,選擇AWS 服務

  5. 對於其他使用案例 AWS 服務,請選擇 EC2,然後選擇 [EC2-競價型叢集標記]。

  6. 選擇下一步

  7. [原則名稱] 的 [權限原則] 中,確認AmazonEC2SpotFleetTaggingRole

  8. 選擇下一步

  9. 對於「名稱」、「檢閱」和「建立」:

    1. 角色名稱中,輸入用於識別角色的名稱。

    2. 在說中,輸入策略的簡短說明。

    3. (選擇性) 對於步驟 1:選取信任的實體,請選擇編輯以修改程式碼。

    4. (選擇性) 對於步驟 2:新增權限,請選擇編輯以修改程式碼。

    5. (選擇性) 在 [新增標籤] 中,選擇 [新增標籤] 以將標籤新增至資源。

    6. 選擇建立角色

注意

在過去,Amazon EC2 競價型叢集角色有兩個受管政策。

  • AmazonEC2 SpotFleetRole:這是競價型叢集角色的原始受管政策。不過,我們不再建議您搭配使用它AWS Batch。此原則不支援在運算環境中使用AWSServiceRoleForBatch服務連結角色所必須的 Spot 執行個體標記。如果您先前使用此原則建立 Spot 叢集角色,請將新建議的原則套用至該角色。如需詳細資訊,請參閱建立時未標記競價型執行個體

  • 亞馬遜 EC2 SpotFleetTaggingRole:此角色提供標記 Amazon EC2 競價型執行個體的所有必要許可。使用此角色,便能在 AWS Batch 運算環境中執行 Spot 執行個體標記。

建立 Amazon EC2 競價型叢集角色 AWS CLI

為您的競價型叢集運算環境建立亞馬遜 SpotFleetTaggingRole IAM 角色
  1. 使用執行下列命令AWS CLI。

    $ aws iam create-role --role-name AmazonEC2SpotFleetTaggingRole \ --assume-role-policy-document '{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal": { "Service":"spotfleet.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }'
  2. 若要將亞馬遜 EC2 SpotFleetTaggingRole 受管身分與存取權管理政策附加到您的 AmazonEC2 SpotFleetTaggingRole 角色,請使用. AWS CLI

    $ aws iam attach-role-policy \ --policy-arn \ arn:aws:iam::aws:policy/service-role/AmazonEC2SpotFleetTaggingRole \ --role-name \ AmazonEC2SpotFleetTaggingRole
若要為 Amazon EC2 競價型建立 AWSServiceRoleForEC2Spot IAM 服務連結角色
注意

如果 AWSServiceRoleForEC2Spot IAM 服務連結角色已存在,您會看到類似下列的錯誤訊息。

An error occurred (InvalidInput) when calling the CreateServiceLinkedRole operation: Service role name AWSServiceRoleForEC2Spot has been taken in this account, please try a different suffix.
  • 使用執行下列命令AWS CLI。

    $ aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
為 Amazon EC2 競價型叢集建立 AWSServiceRoleForEC2SpotFleet IAM 服務連結角色
注意

如果 AWSServiceRoleForEC2SpotFleet IAM 服務連結角色已存在,您會看到類似下列的錯誤訊息。

An error occurred (InvalidInput) when calling the CreateServiceLinkedRole operation: Service role name AWSServiceRoleForEC2SpotFleet has been taken in this account, please try a different suffix.
  • 使用執行下列命令AWS CLI。

    $ aws iam create-service-linked-role --aws-service-name spotfleet.amazonaws.com