監控服務連結角色 - AWS Elastic Beanstalk

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

監控服務連結角色

AWS Elastic Beanstalk 使用 AWS Identity and Access Management (IAM) 服務連結角色。服務連結角色是直接連結至 Elastic Beanstalk 的一種獨特 IAM 角色類型。服務連結角色由 Elastic Beanstalk 預先定義,並包含服務代表您呼叫其他 AWS 服務所需的所有權限。

服務連結角色讓設定 Elastic Beanstalk 變得更簡單,因為您不必手動新增必要的許可。Elastic Beanstalk 定義其服務連結角色的許可,除非另有定義,否則僅有 Elastic Beanstalk 可以擔任其角色。定義的許可包括信任政策和許可政策,且該許可政策無法附加至其他 IAM 實體。

您必須先刪除服務連結角色的相關資源,才能將其刪除。這可保護您的 Elastic Beanstalk 資源,避免您不小心移除資源的存取許可。

如需關於支援服務連結角色的其他服務的資訊,請參閱可搭配 IAM 運作的AWS 服務,並尋找 Service-Linked Role (服務連結角色) 欄顯示為 Yes (是) 的服務。選擇具有連結的,以檢視該服務的服務連結角色文件。

Elastic Beanstalk 的服務連結角色許可

Elastic Beanstalk 使用名為的服務連結角色 AWSServiceRoleForElasticBeanstalk— 允許 Elastic Beanstalk 監視執行環境的健全狀況,並發佈健康事件通知。

服 AWSServiceRoleForElasticBeanstalk 務連結角色會信任下列服務擔任該角色:

  • elasticbeanstalk.amazonaws.com

AWSServiceRoleForElasticBeanstalk 服務連結角色的權限原則包含 Elastic Beanstalk 代表您完成動作所需的所有權限:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudformationReadOperationsOnElasticBeanstalkStacks", "Effect": "Allow", "Action": [ "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources", "cloudformation:DescribeStacks" ], "Resource": [ "arn:aws:cloudformation:*:*:stack/awseb-*", "arn:aws:cloudformation:*:*:stack/eb-*" ] }, { "Sid": "AllowOperations", "Effect": "Allow", "Action": [ "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "autoscaling:DescribeNotificationConfigurations", "autoscaling:DescribeScalingActivities", "autoscaling:PutNotificationConfiguration", "ec2:DescribeInstanceStatus", "ec2:AssociateAddress", "ec2:DescribeAddresses", "ec2:DescribeInstances", "ec2:DescribeSecurityGroups", "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:DescribeTargetGroups", "sqs:GetQueueAttributes", "sqs:GetQueueUrl", "sns:Publish" ], "Resource": [ "*" ] } ] }

您必須設定許可,IAM 實體 (如使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。如需詳細資訊,請參閱《IAM 使用者指南》中的服務連結角色許可

或者,您可以使用 AWS 受管政策來提供對 Elastic Beanstalk 的完整存取權

為 Elastic Beanstalk 建立服務連結角色

您不需要手動建立一個服務連結角色。當您使用 Elastic Beanstalk API 建立 Elastic Beanstalk 環境,但未指定服務角色時,Elastic Beanstalk 會為您建立服務連結角色。

重要

如果您在 2017 年 9 月 27 日之前使用 Elastic Beanstalk 服務,當它開始支援服務 AWSServiceRoleForElasticBeanstalk 連結角色時,且您的帳戶需要該服務,則 Elastic Beanstalk 會在您的帳戶中建立該 AWSServiceRoleForElasticBeanstalk 角色。若要進一步了解,請參閱我的 IAM 帳戶中出現的新角色

當您建立環境時,Elastic Beanstalk 嘗試為您的帳戶建立 AWSServiceRoleForElasticBeanstalk 服務連結角色時,您必須擁有該權限。iam:CreateServiceLinkedRole如果您沒有此許可,環境建立會失敗,且您會看到一則說明問題的訊息。

或者,具有建立服務連結角色許可的另一個使用者可用 IAM 來預先建立服務連結角色。然後,即使沒有 iam:CreateServiceLinkedRole 權限,您也可以建立您的環境。

您 (或其他使用者) 可以使用 IAM 主控台透過 Elastic Beanstalk 使用案例建立服務連結角色。在 IAM CLI 或 IAM API 中,建立一個使用 elasticbeanstalk.amazonaws.com 服務名稱的服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南中的建立服務連結角色。如果您刪除此服務連結角色,您可以使用此相同的程序以再次建立該角色。

若您刪除此服務連結角色,之後需要再次建立,您可以在帳戶中使用相同程序重新建立角色。當您使用 Elastic Beanstalk API 建立 Elastic Beanstalk 環境,但未指定服務角色時,Elastic Beanstalk 會再次為您建立服務連結角色。

編輯 Elastic Beanstalk 的服務連結角色

Elastic Beanstalk 不允許您編輯 AWSServiceRoleForElasticBeanstalk 服務連結角色。因為有各種實體可能會參考服務連結角色,所以您無法在建立角色之後變更角色名稱。然而,您可使用 IAM 來編輯角色描述。如需更多資訊,請參閱 IAM 使用者指南中的編輯服務連結角色

刪除 Elastic Beanstalk 的服務連結角色

若您不再使用需要服務連結角色的功能或服務,我們建議您刪除該角色。如此一來,您就沒有未主動監控或維護的未使用實體。然而,在手動刪除服務連結角色之前,您必須先清除資源。

清除服務連結角色

您必須先確保所有 Elastic Beanstalk 環境皆使用不同的服務角色或已終止,才能使用 IAM 刪除服務連結角色。

注意

當您嘗試終止環境時,如果 Elastic Beanstalk 服務仍在使用該服務連結角色,則終止可能會失敗。若此情況發生,請等待數分鐘後並再次嘗試操作。

終止使用 AWSServiceRoleForElasticBeanstalk (控制台)的 Elastic Beanstalk 環境
  1. 開啟彈性魔豆控制台,然後在區域清單中選取您的. AWS 區域

  2. 在導覽窗格中,選擇環境,然後在清單中選擇您環境的名稱。

    注意

    如果您有許多環境,請使用搜尋列來篩選環境清單。

  3. 選擇 Actions (動作),然後選擇 Terminate Environment (終止環境)。

  4. 使用畫面顯示對話方塊來確認環境終止。

如需使用 EB CLI 終止 Elastic Beanstalk 環境的詳細資訊,請參閱eb terminate

TerminateEnvironment如需有關使用 API 終止 Elastic Beanstalk 環境的詳細資訊,請參閱。

手動刪除服務連結角色

使用 IAM 主控台、IAM CLI 或 IAM API 刪除 AWSServiceRoleForElasticBeanstalk 服務連結角色。如需詳細資訊,請參閱《IAM 使用者指南》中的刪除服務連結角色

Elastic Beanstalk 服務連結角色的支援區域

Elastic Beanstalk 在所有提供服務的區域中都支援使用服務連結角色。如需詳細資訊,請參閱 AWS Elastic Beanstalk 端點和配額