使用帳戶設定存取 Amazon ECS 功能 - Amazon Elastic Container Service

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

使用帳戶設定存取 Amazon ECS 功能

您可以前往 Amazon ECS 帳戶設定以選擇加入或退出特定功能。針對每個 AWS 區域,您可以在帳戶層級或針對特定的使用者或角色選擇加入或退出每個帳戶設定。

如果以下任何一項與您相關,則您可能會想要選擇加入或退出特定功能:

  • 使用者或角色可以為其個別帳戶選擇加入或退出特定帳戶設定。

  • 使用者或角色可以為帳戶上的所有使用者設定預設選擇加入或退出設定。

  • 根使用者或具有管理員權限的使用者可以選擇加入或退出帳戶上的任何特定角色或使用者。如果根使用者的帳戶設定發生變更,對於未選取個別帳戶設定的所有使用者和角色,將會設為預設值。

注意

聯合身分使用者會採用根使用者的帳戶設定,而且無法另外為他們設定明確的帳戶設定。

下列帳戶設定可供使用。您必須分別選擇加入和退出每個帳戶設定。

資源名稱 進一步了解
containerInsights Container Insights
serviceLongArnFormat

taskLongArnFormat

containerInstanceLongArnFormat

Amazon Resource Name (ARN) 和 ID
tagResourceAuthorization 標記授權
fargateFIPSMode AWS Fargate 聯邦資訊處理標準 (FIPS-140) 合規
fargateTaskRetirementWaitPeriod AWS Fargate 任務淘汰等待時間
guardDutyActivate 執行期監控 (Amazon GuardDuty 整合)
dualStackIPv6 雙堆疊 IPv6 VPC
awsvpcTrunking 增加 Linux 容器執行個體網路介面
defaultLogDriverMode 預設日誌驅動程式模式

Amazon Resource Name (ARN) 和 ID

建立 Amazon ECS 資源時,會將唯一的 Amazon Resource Name (ARN) 和資源識別符 (ID) 指派給每個資源。若您透過命令列工具或 Amazon ECS API 來使用 Amazon ECS,則特定命令會需要資源 ARN 或 ID。例如,如果您使用 stop-task AWS CLI 命令來停止任務,您必須在命令中指定任務 ARN 或 ID。

Amazon ECS 為 Amazon ECS 服務、任務和容器執行個體引進了 Amazon Resource Name (ARNs) 和資源 IDs 的新格式。每個資源類型的選擇加入狀態會決定資源使用的 Amazon Resource Name (ARN) 格式。您必須選擇加入新的 ARN 格式,以便使用適合該資源類型的功能,例如資源標記。

您可以在每個區域的基礎上,選擇加入和退出新的 Amazon Resource Name (ARN) 和資源 ID 格式。目前,預設會選擇加入建立的所有新帳戶。

您可以隨時選擇加入或退出新的 Amazon Resource Name (ARN) 和資源 ID 格式。選擇加入後,您建立的任何新資源都會使用新的格式。

注意

資源 ID 在建立之後即不會變更。因此,選擇加入或退出新格式並不會影響現有的資源 ID。

下列章節說明 ARN 和資源 ID 格式如何改變。有關轉換至新格式的詳細資訊,請參閱 Amazon Elastic Container Service 常見問答集

Amazon Resource Name (ARN) 格式

部分資源具有使用者易記名稱 (例如,名為 production 的服務)。在其他情況下,您必須使用 Amazon Resource Name (ARN) 格式來指定資源。Amazon ECS 任務、服務和容器執行個體的新 ARN 格式包含叢集名稱。如需選擇加入新 ARN 格式的資訊,請參閱 修改 Amazon ECS 帳戶設定

下表顯示每個資源類型的當前格式和新格式。

資源類型 ARN
容器執行個體

當前:arn:aws:ecs:region:aws_account_id:container-instance/container-instance-id

新:arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

Amazon ECS 服務

當前:arn:aws:ecs:region:aws_account_id:service/service-name

新:arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

Amazon ECS 任務

當前:arn:aws:ecs:region:aws_account_id:task/task-id

新:arn:aws:ecs:region:aws_account_id:task/cluster-name/task-id

資源 ID 長度

資源 ID 的形式採用字母和數字的唯一組合。新資源 ID 格式包括 Amazon ECS 任務和容器執行個體的較短 ID。當前資源 ID 格式長度為 36 個字元。新 ID 採用 32 個字元的格式,且不包含任何連字號。如需選擇加入新資源 ID 格式的資訊,請參閱 修改 Amazon ECS 帳戶設定

預設值為 enabled

只有在加入後啟動的資源才會收到新的 ARN 和資源 ID 格式。所有現有的資源不會受到影響。若要讓 Amazon ECS 服務和任務轉換至新的 ARN 和資源 ID 格式,您必須重新建立服務或任務。若要將容器執行個體轉換至新 ARN 和資源 ID 格式,必須排空容器執行個體,且必須啟動新的容器執行個體,並使其向叢集註冊。

注意

只有在 Amazon ECS 服務建立時間為或晚於 2018 年 11 月 16 日,而且建立該服務的使用者已決定為任務加入新格式時,該服務所啟動的任務才會收到新的 ARN 和資源 ID 格式。

ARN 和資源 ID 格式時間表

Amazon ECS 資源的新 Amazon Resource Name (ARN) 和資源 ID 格式的選擇加入和退出期間截止時間為 2021 年 4 月 1 日。根據預設,所有帳戶都會選擇加入新格式。所有建立的新資源都會收到新格式,且您無法再選擇退出。

Container Insights

2024 年 12 月 2 日, AWS 發行 Container Insights 並增強了 Amazon ECS 的可觀測性。此版本支援使用 Amazon EC2 和 Fargate 啟動類型的 Amazon ECS 叢集增強可觀測性。在 Amazon ECS 上以增強的可觀測性設定 Container Insights 之後,Container Insights 會自動收集從叢集層級到環境中容器層級的詳細基礎設施遙測,並在儀表板中顯示您的資料,其中顯示各種指標和維度。然後,您可以在 Container Insights 主控台上使用這些out-of-the-box儀表板,以進一步了解您的容器運作狀態和效能,並透過識別異常狀況更快速地解決問題。

我們建議您使用 Container Insights 搭配增強的可觀測性,而不是 Container Insights,因為它可在您的容器環境中提供詳細的可見性,從而縮短解決的平均時間。如需詳細資訊,請參閱《 Amazon CloudWatch 使用者指南》中的具有增強型可觀測性指標的 Amazon ECS Container Insights

containerInsights 帳戶設定的預設值為 disabled

具有增強可觀測性的容器洞見

使用下列命令,以增強可觀測性開啟 Container Insights。

containerInsights帳戶設定設為 enhanced

aws ecs put-account-setting --name containerInsights --value enhanced

範例輸出

{ "setting": { "name": "containerInsights", "value": "enhanced", "principalArn": "arn:aws:iam::123456789012:johndoe", "type": user } }

設定此帳戶設定之後,所有新叢集都會自動使用 Container Insights 與增強的可觀測性。使用 update-cluster-settings命令將具有增強型可觀測性的 Container Insights 新增至現有叢集,或將叢集從 Container Insights 升級為具有增強型可觀測性的 Container Insights。

aws ecs update-cluster-settings --cluster cluster-name --settings name=containerInsights,value=enhanced

您也可以使用 主控台,以增強可觀測性來設定 Container Insights。如需詳細資訊,請參閱 修改 Amazon ECS 帳戶設定

Container Insights

當您將containerInsights帳戶設定設定為 時enabled,所有新叢集預設都會啟用 Container Insights。您可以使用 修改現有的叢集update-cluster-settings

若要使用 Container Insights,請將containerInsights帳戶設定設為 enabled。使用下列命令來開啟 Container Insights。

aws ecs put-account-setting --name containerInsights --value enabled

範例輸出

{ "setting": { "name": "containerInsights", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:johndoe", "type": user } }

當您將containerInsights帳戶設定設定為 時enabled,所有新叢集預設都會啟用 Container Insights。使用 update-cluster-settings命令將 Container Insights 新增至現有叢集。

aws ecs update-cluster-settings --cluster cluster-name --settings name=containerInsights,value=enabled

您也可以使用 主控台來設定 Container Insights。如需詳細資訊,請參閱 修改 Amazon ECS 帳戶設定

AWS Fargate 聯邦資訊處理標準 (FIPS-140) 合規

Fargate 支援聯邦資訊處理標準 (FIPS-140),該標準具體說明了保護敏感資訊的加密模組的安全要求。這是目前的美國和加拿大政府標準,且適用於需要符合聯邦資訊安全管理法案 (FISMA) 或聯邦風險和授權管理計劃 (FedRAMP) 的系統。

資源名稱為 fargateFIPSMode

預設值為 disabled

您必須在 Fargate 上開啟聯邦資訊處理標準 (FIPS-140) 法規遵循。如需詳細資訊,請參閱AWS Fargate 聯邦資訊處理標準 (FIPS-140)

重要

只能使用 Amazon ECS API 或 AWS CLI變更 fargateFIPSMode 帳戶設定。如需詳細資訊,請參閱修改 Amazon ECS 帳戶設定

執行 put-account-setting-default 並將 fargateFIPSMode 選項設定為 enabled。如需詳細資訊,請參閱 Amazon Elastic Container Service API 參考中的 《put-account-setting-default》

  • 您可以使用下列命令來開啟 FIPS-140 合規。

    aws ecs put-account-setting-default --name fargateFIPSMode --value enabled

    範例輸出

    { "setting": { "name": "fargateFIPSMode", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root", "type": user } }

您可以執行 list-account-settings 以檢視目前的 FIPS-140 法規遵循狀態。使用 effective-settings 選項來檢視帳戶層級設定。

aws ecs list-account-settings --effective-settings

標記授權

Amazon ECS 正在為資源建立引入標記授權。使用者必須具有建立資源之動作的標記許可,例如 ecsCreateCluster。當您建立資源並指定該資源的標籤時, AWS 會執行額外的授權,以確認有建立標籤的許可。因此,您必須授予使用 ecs:TagResource 動作的明確許可。如需詳細資訊,請參閱在建立時授予標記資源的許可

若要選擇加入標記授權,請執行 put-account-setting-default,並將 tagResourceAuthorization 選項設為 enable。如需詳細資訊,請參閱 Amazon Elastic Container Service API 參考中的 《put-account-setting-default》。您可以執行 list-account-settings 以檢視目前的標記授權狀態。

  • 您可以使用下列命令來啟用標記授權。

    aws ecs put-account-setting-default --name tagResourceAuthorization --value on --region region

    範例輸出

    { "setting": { "name": "tagResourceAuthorization", "value": "on", "principalArn": "arn:aws:iam::123456789012:root", "type": user } }

啟用標記授權後,您必須設定適當的許可,以允許使用者在建立時標記資源。如需詳細資訊,請參閱在建立時授予標記資源的許可

您可以執行 list-account-settings 以檢視目前的標記授權狀態。使用 effective-settings 選項來檢視帳戶層級設定。

aws ecs list-account-settings --effective-settings

標記授權時間表

您可以透過執行 list-account-settings 檢視 tagResourceAuthorization 值來確認標記授權是否處於作用中狀態。當值為 on 時,表示正在使用標記授權。如需詳細資訊,請參閱 Amazon Elastic Container Service API 參考中的 《list-account-settings》。

以下是與標記授權相關的重要日期。

  • 2023 年 4 月 18 日 – 引入標記授權。所有新帳戶和現有帳戶均須選擇加入使用該功能。您可以選擇加入以開始使用標記授權。選擇加入後,您必須授予適當的許可。

  • 2024 年 2 月 9 日至 2024 年 3 月 6 日 – 根據預設,所有新帳戶和非受影響的現有帳戶都會標記授權。您可以啟用或停用tagResourceAuthorization帳戶設定,以驗證您的 IAM 政策。

    AWS 已通知受影響的帳戶。

    若要停用此功能,請在 tagResourceAuthorization選項設定為 put-account-setting-default的情況下執行 off

  • 2024 年 3 月 7 日 – 如果您已啟用標記授權,則無法再停用帳戶設定。

    我們建議您在此日期之前完成 IAM 政策測試。

  • 2024 年 3 月 29 日 – 所有帳戶都使用標記授權。帳戶層級設定將無法再於 Amazon ECS 主控台或 中使用 AWS CLI。

AWS Fargate 任務淘汰等待時間

AWS 當您在標記為淘汰的平台版本修訂版上執行 Fargate 任務時, 會傳送通知。如需詳細資訊,請參閱Amazon ECS 上 AWS Fargate 的任務淘汰和維護

AWS 負責修補和維護 AWS Fargate 的基礎基礎設施。當 AWS 判斷在 Fargate 上託管的 Amazon ECS 任務需要安全或基礎設施更新時,需要停止任務並啟動新任務來取代它們。您可以設定任務淘汰以進行修補之前的等待期。您可以選擇立即淘汰任務、等待 7 個日曆天,或等待 14 個日曆天。

此設定位於帳戶層級。

您可以設定 Fargate 開始任務淘汰的時間。對於需要立即套用更新的工作負載,請選擇立即設定 (0)。當您需要更多控制項時,例如當任務只能在特定時段中停止時,請設定 7 日 (7) 或 14 日 (14) 選項。

我們建議您選擇較短的等待期,以便更快獲得更新的平台版本修訂版。

透過執行 put-account-setting-defaultput-account-setting做為根使用者或管理使用者來設定等待期間。對 name 使用 fargateTaskRetirementWaitPeriod 選項,並將 value 選項設定為以下值之一:

  • 0 - AWS 傳送通知,並立即開始淘汰受影響的任務。

  • 7 - AWS 傳送通知,並等待 7 個日曆天,再開始淘汰受影響的任務。

  • 14 - AWS 傳送通知,並等待 14 個日曆日,然後再開始淘汰受影響的任務。

預設值是 7 天。

如需詳細資訊,請參閱《Amazon Elastic Container Service API 參考》中的 put-account-setting-defaultput-account-setting

您可以執行下列命令,將等待期間設定為 14 天。

aws ecs put-account-setting-default --name fargateTaskRetirementWaitPeriod --value 14

範例輸出

{ "setting": { "name": "fargateTaskRetirementWaitPeriod", "value": "14", "principalArn": "arn:aws:iam::123456789012:root", "type: user" } }

您可以執行 list-account-settings 以檢視目前的 Fargate 任務淘汰等待時間。設定 effective-settings 選項。

aws ecs list-account-settings --effective-settings

增加 Linux 容器執行個體網路介面

每個使用 awsvpc 網路模式的 Amazon ECS 任務都會收到自己的彈性網路界面 (ENI),其會連接到託管它的容器執行個體。Amazon EC2 執行個體可連接的網路介面數量有預設限制,主要網路介面計算在內。例如,根據預設,c5.large 執行個體最多可連接三個 ENI。執行個體的主要網路界面計算在內,所以您可以再連接兩個 ENI 到執行個體。由於使用 awsvpc 網路模式的每個任務都需要 ENI,因此您通常只能在此執行個體類型上執行兩個這類任務。

Amazon ECS 支援使用支援的 Amazon EC2 執行個體類型啟動ENI密度更高的容器執行個體。當您使用這些執行個體類型並開啟awsvpcTrunking帳戶設定時,新啟動的容器執行個體會提供額外的 ENIs。此組態可讓您在每個容器執行個體中安排更多任務。

例如,具有 的c5.large執行個體awsvpcTrunking具有 12 個的增加ENI限制。容器執行個體會有主要網路介面,而 Amazon ECS 會建立「幹線」網路介面,並將它連接到容器執行個體。因此,此組態可讓您在容器執行個體中啟動十項任務,而不是目前的兩項任務。

執行期監控 (Amazon GuardDuty 整合)

執行期監控是一種智慧型威脅偵測服務,可透過持續監控 AWS 日誌和聯網活動來識別惡意或未經授權的行為,來保護 Fargate 和 EC2 容器執行個體上執行的工作負載。

guardDutyActivate 參數在 Amazon ECS 中為唯讀,並指出 Amazon ECS 帳戶中的安全管理員是否開啟或關閉執行期監控。GuardDuty 會代表您控制此帳戶設定。如需詳細資訊,請參閱使用執行期監控保護 Amazon ECS 工作負載

您可以執行 list-account-settings來檢視目前的 GuardDuty 整合設定。

aws ecs list-account-settings

範例輸出

{ "setting": { "name": "guardDutyActivate", "value": "on", "principalArn": "arn:aws:iam::123456789012:doej", "type": aws-managed" } }

雙堆疊 IPv6 VPC

除了主要私有 IPv4 地址之外,Amazon ECS 還支援提供具有 IPv6 地址的任務。

若要讓任務接收 IPv6 地址,任務必須使用 awsvpc 網路模式,必須在針對雙堆疊模式設定的 VPC 中啟動,且必須啟用 dualStackIPv6 帳戶設定。如需其他需求的詳細資訊,請參閱 在雙堆疊模式下使用 VPC EC2 啟動類型和 Fargate 在雙堆疊模式下使用 VPC 啟動類型。

重要

只能使用 Amazon ECS API 或 AWS CLI變更 dualStackIPv6 帳戶設定。如需詳細資訊,請參閱修改 Amazon ECS 帳戶設定

如果您有一個正在執行的任務,它在 2020 年 10 月 1 日和 2020 年 11 月 2 日之間的已啟用 IPv6 的子網路中使用 awsvpc 網路模式,則正執行該任務的區域中的預設 dualStackIPv6 帳戶設定為 disabled。如果不符合該條件,則該區域中的預設 dualStackIPv6 設定為 enabled

預設值為 disabled

預設日誌驅動程式模式

Amazon ECS 支援設定從容器到所選日誌驅動程式的日誌訊息預設傳遞模式。從容器到日誌驅動程式的日誌流程中斷時,交付模式會影響應用程式的穩定性。

defaultLogDriverMode 設定支援兩個值: blockingnon-blocking。如需這些交付模式的詳細資訊,請參閱《Amazon Elastic Container Service API 參考》中的 LogConfiguration

如果您未在容器定義的 中指定交付模式logConfiguration,則會使用此帳戶設定指定的模式做為預設值。

重要

只能使用 Amazon ECS API 或 AWS CLI變更 defaultLogDriverMode 帳戶設定。如需詳細資訊,請參閱修改 Amazon ECS 帳戶設定

預設交付模式為 blocking

注意

在 2025 年 6 月 25 日,Amazon ECS 將預設日誌驅動程式模式從 blocking 變更為 non-blocking,以排定任務可用性的優先順序,而非日誌記錄。若要在此變更後繼續使用 blocking 模式,請執行下列其中一項操作:

  • 將容器定義 中的 mode選項logConfiguration設定為 blocking

  • defaultLogDriverMode帳戶設定設為 blocking

若要將預設日誌驅動程式模式設定為 non-blocking,您可以執行下列命令。

aws ecs put-account-setting-default --name defaultLogDriverMode --value "non-blocking"