

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

# 管理 Elastic Beanstalk 執行個體描述檔
<a name="iam-instanceprofile"></a>

執行個體描述檔是 AWS Identity and Access Management (IAM) 角色的容器，您可以在執行個體啟動時用來將角色資訊傳遞至 Amazon EC2 執行個體。

如果 AWS 您的帳戶沒有 EC2 執行個體描述檔，您必須使用 IAM 服務建立一個。然後，您可以將 EC2 執行個體設定檔指派給您建立的新環境。Elastic Beanstalk 主控台中的**建立環境**步驟可讓您存取 IAM 主控台，以便建立具有所需許可的 EC2 執行個體描述檔。

**注意**  
先前，Elastic Beanstalk 會在 AWS 帳戶`aws-elasticbeanstalk-ec2-role`第一次建立環境時建立名為 的預設 EC2 執行個體描述檔。此執行個體設定檔包含預設受管政策。如果您的帳戶已經擁有此執行個體設定檔，您仍然可以將其指派給您的環境。  
不過，最近的 AWS 安全準則不允許 AWS 服務自動建立對其他 AWS 服務 EC2 具有信任政策的角色。基於這些安全性準則，Elastic Beanstalk 不再建立預設 `aws-elasticbeanstalk-ec2-role` 執行個體設定檔。



**受管政策**  
Elastic Beanstalk 提供多種受管政策，讓您的環境能夠滿足不同的使用案例。若要符合環境的預設使用案例，這些政策必須附加至 EC2 執行個體設定檔的角色。
+ **AWSElasticBeanstalkWebTier** – 授予應用程式許可，以將日誌上傳至 Amazon S3，以及將除錯資訊上傳至 AWS X-Ray。若要檢視受管政策內容，請參閱《*AWS  受管政策參考指南*》中的 [AWSElasticBeanstalkWebTier](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkWebTier.html)。
+ **AWSElasticBeanstalkWorkerTier** - 授予許可來上傳日誌、除錯、指標發佈及工作者執行個體任務 (包括佇列管理、領導者選舉及周期性任務)。若要檢視受管政策內容，請參閱《*AWS  受管政策參考指南*》中的 [AWSElasticBeanstalkWorkerTier](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkWorkerTier.html)。
+ **AWSElasticBeanstalkMulticontainerDocker** - 授予 Amazon Elastic Container Service 的許可，以協調 Docker 環境的叢集任務。若要檢視受管政策內容，請參閱《*AWS  受管政策參考指南*》中的 [AWSElasticBeanstalkMulticontainerDocker](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkMulticontainerDocker.html)。



**重要**  
Elastic Beanstalk 受管政策不提供精細許可，其會授予使用 Elastic Beanstalk 應用程式可能需要的所有許可。在某些情況下，您可能想要進一步限制我們受管政策的許可。如需一個使用案例的範例，請參閱 [防止跨環境 Amazon S3 儲存貯體存取](AWSHowTo.iam.cross-env-s3-access.md)。  
此外，我們的受管政策也不涵蓋您可能新增至解決方案，並且不由 Elastic Beanstalk 管理的自訂資源許可。若要實作更精細的許可、最低必要許可或自訂資源許可，請使用[自訂政策](AWSHowTo.iam.managed-policies.md#AWSHowTo.iam.policies)。

**EC2 的信任關係政策**  
為了讓環境中的 EC2 執行個體能夠擔任必要的角色，執行個體設定檔必須在信任關係政策中，將 Amazon EC2 指定為受信任實體，如下所示。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

若要自訂許可，您可將政策新增至連接預設執行個體描述檔的角色，或自行建立具備一組受限許可的執行個體描述檔。

若要使用 [AI 驅動的環境分析](health-ai-analysis.md)功能，請將 `bedrock:InvokeModel`、`elasticbeanstalk:DescribeEvents`、 `bedrock:ListFoundationModels`和 `elasticbeanstalk:DescribeEnvironmentHealth`許可新增至執行個體描述檔。這些許可允許 Elastic Beanstalk 使用 Amazon Bedrock 和存取環境資料來分析日誌、事件和執行個體運作狀態。

**Topics**
+ [建立執行個體描述檔](#iam-instanceprofile-create)
+ [於預設執行個體描述檔新增許可](#iam-instanceprofile-addperms)
+ [驗證指派給執行個體設定檔的許可](#iam-instanceprofile-verify)
+ [更新過時的預設執行個體描述檔](#iam-instanceprofile-update)

## 建立執行個體描述檔
<a name="iam-instanceprofile-create"></a>

執行個體描述檔為標準 IAM 角色的包裝函式，可允許 EC2 執行個體擔任該角色。您可以使用預設 Elastic Beanstalk 受管政策建立執行個體描述檔。您也可以建立其他執行個體描述檔，以自訂不同應用程式的許可。或者，如果您不使用這些功能，您可以建立不包含授予工作者層或 ECS 受管 Docker 環境許可的兩個受管政策的執行個體描述檔。

**使用預設受管政策建立執行個體描述檔**

1. 在 IAM 主控台中開啟 [**Roles (角色)** 頁面](https://console.aws.amazon.com/iam/home#roles)。

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

1. 針對**信任的實體類型**，請選擇 **AWS 服務**。

1. 針對**服務或使用案例**，選擇 **Elastic Beanstalk**。

1. 針對**使用案例**，選擇** Elastic Beanstalk – Compute**。

1. 選擇**下一步**。

1. 輸入 **Role name (角色名稱)**。

   您可以輸入 Elastic Beanstalk 主控台建議的預設角色名稱：`aws-elasticbeanstalk-ec2-role`。

1. 確認**許可政策**包含下列項目，然後選擇**下一步**：
   + `AWSElasticBeanstalkWebTier`
   + `AWSElasticBeanstalkWorkerTier`
   + `AWSElasticBeanstalkMulticontainerDocker`

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

**使用您特定的受管政策選擇來建立執行個體描述檔**

1. 在 IAM 主控台中開啟 [**Roles (角色)** 頁面](https://console.aws.amazon.com/iam/home#roles)。

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

1. 在**受信任的實體類型**下，選擇 **AWS  服務**。

1. 在 **Use case** (使用案例) 下，選擇 **EC2**。

1. 選擇**下一步**。

1. 連接 Elastic Beanstalk 提供的合適受管政策，以及為您的應用程式提供所需許可的其他政策。

1. 選擇**下一步**。

1. 輸入角色的名稱。

1. (選用) 附加標籤至角色。

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

## 於預設執行個體描述檔新增許可
<a name="iam-instanceprofile-addperms"></a>

如果您的應用程式存取未在預設執行個體描述檔中授予許可 AWS APIs 或資源，請在 IAM 主控台中新增授予許可的政策。

**若要在連接至預設執行個體描述檔的角色中新增政策**

1. 在 IAM 主控台中開啟 [Roles (角色) 頁面](https://console.aws.amazon.com/iam/home#roles)。

1. 選擇指派為 EC2 執行個體設定檔的角色。

1. 在 **Permissions** (許可) 標籤上，選擇 **Attach policies** (連接政策)。

1. 為您的應用程式使用的其他服務，選取受管原則，例如 `AmazonS3FullAccess` 或 `AmazonDynamoDBFullAccess`。

1. 選擇**連接政策**。

## 驗證指派給執行個體設定檔的許可
<a name="iam-instanceprofile-verify"></a>

指派給您預設執行個體描述檔的許可，可能會根據其建立的時間、上次啟動環境的時間和使用的用戶端，而有所不同。您可以在 IAM 主控台中，驗證預設執行個體描述檔上的許可。

**若要驗證預設執行個體描述檔的許可**

1. 在 IAM 主控台中開啟 [**Roles (角色)** 頁面](https://console.aws.amazon.com/iam/home#roles)。

1. 選擇指派為 EC2 執行個體設定檔的角色。

1. 在 **Permissions** (許可) 索引標籤中，請檢閱角色連接的政策清單。

1. 若要查看政策所授予的許可，請選擇政策。

## 更新過時的預設執行個體描述檔
<a name="iam-instanceprofile-update"></a>

如果預設執行個體設定檔缺少必要的許可，您可手動將受管政策新增至指派為 EC2 執行個體設定檔的角色。

**若要在連接至預設執行個體描述檔的角色中新增受管政策**

1. 在 IAM 主控台中開啟 [**Roles (角色)** 頁面](https://console.aws.amazon.com/iam/home#roles)。

1. 選擇指派為 EC2 執行個體設定檔的角色。

1. 在 **Permissions** (許可) 標籤上，選擇 **Attach policies** (連接政策)。

1. 輸入 **AWSElasticBeanstalk** 來篩選政策。

1. 選擇下列的政策，然後選擇 **Attach policy** (連接政策)：
   + `AWSElasticBeanstalkWebTier`
   + `AWSElasticBeanstalkWorkerTier`
   + `AWSElasticBeanstalkMulticontainerDocker`