

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

# Amazon EC2 Auto Scaling 的服務連結角色
<a name="autoscaling-service-linked-role"></a>

Amazon EC2 Auto Scaling 使用服務連結角色，來獲得代表您呼叫其他 AWS 服務 所需的許可。服務連結角色是直接連結至 的唯一 IAM 角色類型 AWS 服務。

服務連結角色提供安全的方式對其他 AWS 服務 委派許可，因為只有連結的服務能夠擔任服務連結角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[建立服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html)。服務連結角色也可透過 顯示所有 API 呼叫 AWS CloudTrail。因為這可讓您追蹤 Amazon EC2 Auto Scaling 代表您執行的所有動作，所以有助於監控和稽核要求。如需詳細資訊，請參閱 [使用 記錄 Amazon EC2 Auto Scaling API 呼叫 AWS CloudTrail](logging-using-cloudtrail.md)。

以下幾節描述如何建立和管理 Amazon EC2 Auto Scaling 服務連結角色。一開始請先設定許可，以允許 IAM 身分 (例如使用者或角色) 可以建立、編輯或刪除服務連結角色。

**Contents**
+ [概要](#autoscaling-service-linked-role-overview)
+ [服務連結角色授予的許可](#service-linked-role-permissions)
+ [Amazon EC2 Auto Scaling 服務連結角色的支援區域](#slr-regions)
+ [建立、編輯和刪除服務連結角色](#create-edit-delete-service-linked-role)
  + [建立服務連結角色 (自動)](#create-service-linked-role)
  + [建立服務連結角色 (手動)](#create-service-linked-role-manual)
  + [編輯服務連結角色](#edit-service-linked-role)
  + [刪除服務連結角色](#delete-service-linked-role)

## 概要
<a name="autoscaling-service-linked-role-overview"></a>

Amazon EC2 Auto Scaling 服務連結角色有兩種類型：
+ 適用於帳戶的預設服務連結角色，名稱為 AWSServiceRoleForAutoScaling。系統會自動將此角色指派至您的 Auto Scaling 群組 (除非您指定不同的服務連結角色)。
+ 服務連結角色，具有您在建立角色時指定的自訂尾碼，例如 AWSServiceRoleForAutoScaling\_{{mysuffix}}。

自訂字尾服務連結角色的許可與預設服務連結角色的許可完全相同。但不論是哪種角色，您都無法編輯，而且也無法在仍由 Auto Scaling 群組使用中的情況下加以刪除。兩者的差別只在角色名稱的字尾。

您可以在編輯 AWS Key Management Service 金鑰政策時指定任一角色，以允許使用客戶受管金鑰加密由 Amazon EC2 Auto Scaling 啟動的執行個體。不過，如果您打算對特定的客戶受管金鑰提供精密存取權時，請使用自訂字尾服務連結角色。使用自訂字尾服務連結角色可讓您：
+ 提升對客戶受管金鑰的控制力
+ 在 CloudTrail 日誌中追蹤有哪些 Auto Scaling 群組發出 API 呼叫

如果您建立客戶受管金鑰，但不想讓所有使用者皆可存取，請依照以下步驟來允許自訂字尾服務連結角色的使用：

1. 使用自訂字尾建立服務連結角色。如需詳細資訊，請參閱 [建立服務連結角色 (手動)](#create-service-linked-role-manual)。

1. 對服務連結角色授予客戶受管金鑰的存取權。如需如何讓金鑰政策允許服務連結角色使用金鑰的詳細資訊，請參閱 [搭配加密磁碟區使用的必要 AWS KMS 金鑰政策](key-policy-requirements-EBS-encryption.md)。

1. 允許使用者存取您建立的服務連結角色。如需建立 IAM 政策的詳細資訊，請參閱 [控制可傳遞哪些服務連結角色 (使用 PassRole)](security_iam_id-based-policy-examples.md#policy-example-pass-role)。如果使用者嘗試在未經許可的情況下，指定服務連結角色將該角色傳遞給服務，他們會收到錯誤。

## 服務連結角色授予的許可
<a name="service-linked-role-permissions"></a>

Amazon EC2 Auto Scaling 使用名為 的服務連結角色AWSServiceRoleForAutoScaling或您的自訂尾碼服務連結角色。

服務連結角色信任下列服務來擔任此角色：
+ `autoscaling.amazonaws.com`

角色許可政策 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AutoScalingServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AutoScalingServiceRolePolicy.html)可讓 Amazon EC2 Auto Scaling 完成下列動作：
+ `ec2` – 建立、描述、修改、啟動/停止和終止 EC2 執行個體。
+ `iam` – 將 [IAM 角色傳遞](us-iam-role.md)至 EC2 執行個體，讓執行個體上執行的應用程式可以存取角色的臨時登入資料。
+ `iam` – 建立 **AWSServiceRoleForEC2Spot** 服務連結角色，以允許 Amazon EC2 Auto Scaling 代表您啟動 Spot 執行個體。
+ `elasticloadbalancing` – 向 Elastic Load Balancing 註冊和取消註冊執行個體，並檢查已註冊目標的運作狀態。
+ `cloudwatch` – 建立、描述、修改和刪除用於擴展政策的 CloudWatch 警示，並擷取用於預測擴展的指標。
+ `sns` – 執行個體啟動或終止時，將通知發佈至 Amazon SNS。
+ `events` – 代表您建立、描述、更新和刪除 EventBridge 規則。
+ `ssm` – 使用 Systems Manager 參數做為啟動範本中 AMI ID 的別名時，從參數存放區讀取參數。
+ `vpc-lattice` – 向 VPC Lattice 註冊和取消註冊執行個體，並檢查已註冊目標的運作狀態。
+ `resource-groups` – 取得屬於指定資源群組成員之資源的所有資源名稱 (ARNs)。

## Amazon EC2 Auto Scaling 服務連結角色的支援區域
<a name="slr-regions"></a>

Amazon EC2 Auto Scaling 支援 AWS 區域 在提供服務的所有 中使用服務連結角色。

## 建立、編輯和刪除服務連結角色
<a name="create-edit-delete-service-linked-role"></a>

### 建立服務連結角色 (自動)
<a name="create-service-linked-role"></a>

除非手動建立自訂字尾服務連結角色，並在建立群組時予以指定，否則 Amazon EC2 Auto Scaling 會在首次建立 Auto Scaling 群組時，為您建立 AWSServiceRoleForAutoScaling 服務連結角色。

您必須具備 IAM 許可才能建立服務連結角色。否則自動建立會失敗。如需詳細資訊，請參閱《IAM 使用者指南》**中的[服務連結角色許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html#service-linked-role-permissions)，以及本指南中的 [建立服務連結角色](security_iam_id-based-policy-examples.md#ec2-auto-scaling-slr-permissions)。

### 建立服務連結角色 (手動)
<a name="create-service-linked-role-manual"></a>

**建立服務連結角色 (主控台)**

1. 前往網址 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇 **Roles** (角色)、**Create role** (建立新角色)。

1. 對於 **Select trusted entity** (選取信任的實體) 區段，選擇 **AWS service** (AWS 服務)。

1. 針對 **Choose the service that will use this role** (選擇將使用此角色的服務)，選擇 **EC2 Auto Scaling** 和 **EC2 Auto Scaling** 使用案例。

1. 選擇 **Next: Permissions (下一步：許可)**、**Next: Tags (下一步：標籤)** 及 **Next: Review (下一步：檢閱)**。注意：您不能在建立角色時，將標籤連接到服務連結角色。

1. 在 **Review (檢閱)** 頁面上，讓 **Role name (角色名稱)** 保持空白以建立名稱為 **AWSServiceRoleForAutoScaling** 的服務連結角色，或輸入字尾來建立名稱為 **AWSServiceRoleForAutoScaling\_{{字尾}}** 的服務連結角色。

1. (選用) 針對 **Role description** (角色描述)，編輯服務連結角色的描述。

1. 選擇建**立角色**。

**建立服務連結角色 (AWS CLI)**  
使用下列 [create-service-linked-role](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-service-linked-role.html) CLI 命令，為名為 **AWSServiceRoleForAutoScaling\_{{suffix}}** 的 Amazon EC2 Auto Scaling 建立服務連結角色。

```
aws iam create-service-linked-role --aws-service-name autoscaling.amazonaws.com --custom-suffix {{suffix}}
```

此命令的輸出包含服務連結角色的 ARN，您可以使用它來授予服務連結角色存取客戶受管金鑰權限。

```
{
    "Role": {
        "RoleId": "ABCDEF0123456789ABCDEF",
        "CreateDate": "2018-08-30T21:59:18Z",
        "RoleName": "AWSServiceRoleForAutoScaling_suffix",
        "Arn": "arn:aws:iam::123456789012:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling_suffix",
        "Path": "/aws-service-role/autoscaling.amazonaws.com/",
        "AssumeRolePolicyDocument": {
            "Version": "2012-10-17",		 	 	 
            "Statement": [
                {
                    "Action": [
                        "sts:AssumeRole"
                    ],
                    "Principal": {
                        "Service": [
                            "autoscaling.amazonaws.com"
                        ]
                    },
                    "Effect": "Allow"
                }
            ]
        }
    }
}
```

如需詳細資訊，請參閱《*IAM 使用者指南*》中的[建立服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html)。

### 編輯服務連結角色
<a name="edit-service-linked-role"></a>

您不能編輯針對 Amazon EC2 Auto Scaling 所建立的服務連結角色。在建立服務連結角色後，就無法變更角色的名稱或其許可。不過，您可以編輯角色的描述。如需詳細資訊，請參閱 *IAM 使用者指南*中的[編輯服務連結角色描述](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-service-linked-role.html#edit-service-linked-role-iam-console)。

### 刪除服務連結角色
<a name="delete-service-linked-role"></a>

如果您不會使用 Auto Scaling 群組，建議您刪除其服務連結角色。刪除該角色後，您就不會有未使用或主動監控和維護的實體。

您必須先刪除相關的相依資源，才能刪除服務連結角色。這可避免您意外撤銷 Amazon EC2 Auto Scaling 使用資源的許可。如果某個服務連結角色與多個 Auto Scaling 群組搭配使用，您必須先刪除使用該服務連結角色的所有 Auto Scaling 群組，才能刪除該角色。如需詳細資訊，請參閱 [刪除 Auto Scaling 基礎設施](as-process-shutdown.md)。

您可以使用 IAM 來刪除服務連結角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html#id_roles_manage_delete_slr)。

在刪除 AWSServiceRoleForAutoScaling 服務連結角色之後，Amazon EC2 Auto Scaling 會在您建立 Auto Scaling 群組時再次建立角色，但不指定不同的服務連結角色。