本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon ECS 服務定義參數
服務定義會定義您的 Amazon ECS 服務的執行方式。下列參數可以在服務定義中指定。
啟動類型
launchType
-
類型:字串
有效值:
EC2
|FARGATE
|EXTERNAL
必要:否
您服務執行所在的啟動類型。如果未指定啟動類型,預設會使用預設的
capacityProviderStrategy
。如需詳細資訊,請參閱Amazon ECS 啟動類型。若有指定
launchType
,則必須省略capacityProviderStrategy
參數。
容量提供者策略
capacityProviderStrategy
-
類型: 物件陣列
必要:否
要用於服務的容量提供者策略。
容量提供者策略包含一個或多個容量提供者,以及指派給這些容量提供者的
base
與weight
。容量提供者必須與要在容量提供者策略中使用的叢集相關聯。PutClusterCapacityProviders API 是用於將容量提供者與叢集相關聯。只能使用具有ACTIVE
或UPDATING
狀態的容量提供者。若有指定
capacityProviderStrategy
,則必須省略launchType
參數。如果沒有指定capacityProviderStrategy
或launchType
,則會使用叢集的defaultCapacityProviderStrategy
。如果您想要指定使用 Auto Scaling 群組的容量提供者,則必須已經建立該容量提供者。可以使用 CreateCapacityProvider API 操作來建立新的容量提供者。
若要使用 AWS Fargate 容量提供者,請指定
FARGATE
或FARGATE_SPOT
容量提供者。 AWS Fargate 容量提供者適用於所有帳戶,且只需要與要使用的叢集建立關聯。PutClusterCapacityProviders API 操作是用來在建立叢集之後,更新叢集的可用容量提供者清單。
capacityProvider
-
類型:字串
必要:是
容量提供者的簡短名稱或完整 Amazon Resource Name (ARN)。
weight
-
類型:整數
有效範圍:介於 0 到 1,000 之間的整數。
必要:否
加權值會指定應使用指定容量提供者其已啟動任務總數的相對百分比。
例如,假設您的策略包含兩個容量提供者,且兩者的加權值都是一。當基本條件符合時,工作會平均分配給兩個容量提供者。以此類推,假設您為 capacityProviderA 指定了加權值 1;並為 capacityProviderB 指定了加權值 4。那麼,每有一個任務使用 capacityProviderA 執行,就會有四個任務是使用 capacityProviderB 執行。
base
-
類型:整數
有效範圍:介於 0 到 100,000 之間的整數。
必要:否
基礎值指定至少要在指定容量提供者上執行多少任務數量。容量提供者策略中只有一個容量提供者可以定義基礎。
任務定義
taskDefinition
-
類型:字串
必要:否
family
和revision
(family:revision
) 或在您服務中執行的任務定義完整 Amazon Resource Name (ARN)。如果revision
未指定,則會使用指定系列的最新ACTIVE
修訂版。在使用循環更新 (
ECS
) 部署控制器時,必須指定任務定義。
平台作業系統
platformFamily
-
類型:字串
必要:有條件
預設:Linux
在 Fargate 上託管的 Amazon ECS 服務需要此參數。
Amazon EC2 上託管的 Amazon EC2 服務會忽略此參數。
執行服務的容器上的作業系統。有效值為
LINUX
、WINDOWS_SERVER_2019_FULL
、WINDOWS_SERVER_2019_CORE
、WINDOWS_SERVER_2022_FULL
與WINDOWS_SERVER_2022_CORE
。為服務指定的每個任務的
platformFamily
值必須與服務platformFamily
值相符。例如,如果您將platformFamily
設定為WINDOWS_SERVER_2019_FULL
,則所有任務的platformFamily
值都必須為WINDOWS_SERVER_2019_FULL
。
平台版本
platformVersion
-
類型:字串
必要:否
您服務中任務正在其上執行的平台版本。平台版本僅會為使用 Fargate 啟動類型的任務指定。如果尚未指定,預設會使用最新版本 (
LATEST
)。AWS Fargate 平台版本用於參考 Fargate 任務基礎設施的特定執行期環境。在您執行任務或建立服務時指定
LATEST
平台版本,即可取得任務所能使用的最新平台版本。當您擴展服務規模時,這些任務會收到於服務的目前部署上所指定的平台版本。如需詳細資訊,請參閱Amazon ECS 的 Fargate 平台版本。注意
並未針對使用 EC2 啟動類型的任務指定平台版本。
叢集
cluster
-
類型:字串
必要:否
您服務執行所在之叢集的 Amazon Resource Name (ARN) 簡稱或全稱。若您未指定叢集,即假設您會使用
default
叢集。
服務名稱
serviceName
-
類型:字串
必要:是
您的服務名稱。可以包含最多可達 255 個字元 (大小寫)、數字、連字號和底線。叢集中不得有相同的服務名稱,但一個區域內或多個區域間的多個叢集中可以有類似的服務名稱。
排程策略
schedulingStrategy
-
類型:字串
有效值:
REPLICA
|DAEMON
必要:否
使用的排程策略。如果未指定排程策略,則會使用
REPLICA
策略。如需詳細資訊,請參閱Amazon ECS 服務。現已推出兩個服務排程器策略概念:
所需計數
desiredCount
-
類型:整數
必要:否
於指定的任務定義中,要放置在您服務上並保持執行的實例數量。
如果使用
REPLICA
排程策略,則需要此參數。如果該服務使用DAEMON
排程策略,則此參數是選擇性的。當您使用服務自動擴展時,當您以
desiredCount
少於目前執行中的任務數量更新目前正在執行的服務時,該服務會縮減至指定的desiredCount
。
部署組態
deploymentConfiguration
-
類型:物件
必要:否
選用的部署參數,可控制在部署期間執行多少任務以及停止和啟動任務的順序。
maximumPercent
-
類型:整數
必要:否
如果服務使用滾動更新 (
ECS
) 部署類型,則maximumPercent
參數代表在部署期間,服務中允許處於RUNNING
、STOPPING
或PENDING
狀態的任務數量上限。以百分比表示desiredCount
即無條件捨去至最接近的整數。您可以使用此參數來定義部署批次大小。例如,如果您的服務使用REPLICA
服務排程器,且具有四個任務desiredCount
的 ,且maximumPercent
值為 200%,則排程器會在停止四個較舊任務之前啟動四個新任務。前提是有執行此操作所需的叢集資源。使用REPLICA
服務排程器的服務,其預設maximumPercent
值為 200%。Amazon ECS 排程器會使用此參數來取代運作狀態不佳的任務,方法是先啟動替代任務,然後停止運作狀態不佳的任務,只要有可用於啟動替代任務的叢集資源即可。如需排程器如何取代運作狀態不佳任務的詳細資訊,請參閱 Amazon ECS 服務。
如果您的服務使用
DAEMON
服務排程器類型,maximumPercent
應該維持 100%。這是預設值。部署期間的任務最大數量等於
desiredCount
乘以maximumPercent
/100,無條件捨去到最接近的整數值。如果服務使用藍/綠 (
CODE_DEPLOY
) 或EXTERNAL
部署類型,以及使用 EC2 啟動類型的任務,則百分比上限值會設為預設值。值用於定義在容器執行個體處於RUNNING
狀態時,服務中保持DRAINING
狀態的任務數量上限。注意
您無法為使用藍/綠 (
CODE_DEPLOY
) 或EXTERNAL
部署類型且具有使用 EC2 啟動類型的任務的服務指定自訂maximumPercent
值。如果服務使用藍/綠 (
CODE_DEPLOY
) 或EXTERNAL
部署類型,且服務中的任務使用 Fargate 啟動類型,則不會使用百分比上限值。描述您的服務時,仍會傳回 值。 minimumHealthyPercent
-
類型:整數
必要:否
如果服務使用滾動更新 (
ECS
) 部署類型,則minimumHealthyPercent
表示部署期間必須保持在RUNNING
狀態的服務任務數量下限。這表示為無條件進位到最接近整數的desiredCount
的百分比。您可以使用此參數,而無須使用額外的叢集容量進行部署。例如,如果您的服務有四個任務
desiredCount
的 ,即 50%minimumHealthyPercent
的 和 100%maximumPercent
的 ,則服務排程器會停止兩個現有任務,以在啟動兩個新任務之前釋放叢集容量。如果任何任務運作狀態不佳,且如果
maximumPercent
不允許 Amazon ECS 排程器啟動替代任務,排程器會使用minimumHealthyPercent
做為限制條件one-by-one停止運作狀態不佳的任務,以清除啟動替代任務的容量。如需排程器如何取代運作狀態不佳任務的詳細資訊,請參閱 Amazon ECS 服務。對於不使用負載平衡器的服務,請考慮下列事項:
-
如果服務中任務內的所有必要容器都通過了運作狀態檢查,則服務就會被視為狀態良好。
-
如果工作沒有已定義運作狀態檢查的必要容器,則服務排程器會在任務達到
RUNNING
狀態時等待 40 秒,然後再將任務計入運作狀態最低百分比總計。 -
如果任務有一或多個已定義運作狀態檢查的必要容器,服務排程器會等待任務達到正常狀態,然後將其計算為運作狀態最低百分比總計。當任務內的所有必要容器都通過其運作狀態檢查時,工作就會被視為狀態良好。服務排程器可以等待的時間,是由容器運作狀態檢查設定所決定。如需詳細資訊,請參閱運作狀態檢查。
對於會使用負載平衡器的服務,請考慮下列事項:
-
如果任務沒有定義運作狀態檢查的必要容器,則服務排程器會等待負載平衡器目標群組運作狀態檢查回傳狀況良好狀態,然後將任務計算為良好狀態最低百分比總計。
-
如果工作具有已定義運作狀態檢查的必要容器,服務排程器會等待工作達到正常狀態,以及負載平衡器目標群組運作狀態檢查回傳狀況良好狀態,然後再將工作計算為最低良好狀態百分比總計。
minimumHealthyPercent
的複本服務預設值是 100%。使用 服務排程DAEMON
的服務minimumHealthyPercent
預設值為 0% AWS CLI、 AWS SDKs 和 APIs,以及 50% AWS Management Console。部署期間運作良好任務的最低數量等於
desiredCount
乘以minimumHealthyPercent
/100,無條件進位到最接近的整數值。如果服務使用藍/綠 (
CODE_DEPLOY
) 或EXTERNAL
部署類型,且正在執行使用 EC2 啟動類型的任務,則運作狀態最低百分比值會設定為預設值。值用於定義當容器執行個體處於RUNNING
狀態時,服務中保持DRAINING
狀態之任務數量的下限。注意
您無法為使用藍/綠 (
CODE_DEPLOY
) 或EXTERNAL
部署類型且具有使用 EC2 啟動類型的任務的服務指定自訂maximumPercent
值。若服務使用的是藍/綠 (
CODE_DEPLOY
) 或EXTERNAL
部署類型,並且執行使用 Fargate 啟動類型的任務,則不使用運作良好百分比下限值,雖然描述服務時會傳回此值。 -
部署控制器
deploymentController
-
類型:物件
必要:否
用於服務的部署控制器。如果沒有指定部署控制器,則使用
ECS
控制器。如需詳細資訊,請參閱Amazon ECS 服務。type
-
類型:字串
有效值:
ECS
|CODE_DEPLOY
|EXTERNAL
必要:是
要使用的部署控制器類型。部署控制器有三種類型:
ECS
-
輪流更新 (
ECS
) 部署類型涉及以最新版本替換目前執行的容器版本。調整在服務部署期間允許的運作良好任務的最小和最大數量,可以控制 Amazon ECS 在滾動式更新期間新增或移除的容器數量,如同 deploymentConfiguration 中所指定。 CODE_DEPLOY
-
藍/綠部署類型 (
CODE_DEPLOY
) 使用 CodeDeploy 支援的藍/綠部署模式,讓您可以在傳送生產流量之前驗證新部署的服務。 EXTERNAL
-
當您想要使用任何第三方部署控制器,以完全控制 Amazon ECS 服務的部署程序時,請使用外部部署類型。
任務置放
placementConstraints
-
類型: 物件陣列
必要:否
您服務的任務要使用的置放限制物件陣列。每項任務您最多可以指定 10 項限制。此限制包含任務定義中的限制以及執行時間指定的限制。若您使用的是 Fargate 啟動類型,則不支援任務置放限制條件。
type
-
類型:字串
必要:否
限制類型。使用
distinctInstance
以確保特定群組中的每個任務執行於不同的容器執行個體。使用memberOf
,以將選擇限制於特定群組或有效的待選項目。任務定義並不支援distinctInstance
值。 expression
-
類型:字串
必要:否
限制所套用的叢集查詢語言運算式。如果限制條件類型為
distinctInstance
,則無法指定運算式。如需詳細資訊,請參閱建立表達式以定義 Amazon ECS 任務的容器執行個體。
placementStrategy
-
類型: 物件陣列
必要:否
您服務的任務要使用的置放策略物件。每項服務您最多可以指定四項策略規則。
type
-
類型:字串
有效值:
random
|spread
|binpack
必要:否
置放策略類型。
random
置放策略會將任務隨機置放於各個可用的待選項目。spread
置放策略根據field
參數,以平均分散的方式置放於各個可用的待選項目。binpack
策略會根據以field
參數指定的結果,將任務置放於資源最少的可用待選項目。例如,如果您在記憶體上進行 binpack,任務會放置在剩餘記憶體最少,但仍足以執行任務的執行個體上。 field
-
類型:字串
必要:否
套用置放策略的欄位。若是
spread
置放策略,有效的值為instanceId
(或擁有相同效果的host
),或任何平台以及套用至attribute:ecs.availability-zone
等容器執行個體的自訂屬性。若是binpack
置放策略,有效值為cpu
與memory
。若是random
置放策略,此欄位並不使用。
標籤
-
類型: 物件陣列
必要:否
您套用到服務以協助您分類和組織的中繼資料。每個標籤皆包含由您定義的一個金鑰與一個選用值。刪除服務時,也會一併刪除標籤。服務最多可套用 50 個標籤。如需詳細資訊,請參閱標記 Amazon ECS 資源。
key
-
類型:字串
長度限制:長度下限為 1。長度上限為 128。
必要:否
組成標籤的鍵值組的一部分。索引鍵是一般標籤,作用就像更特定標籤值的類別。
value
-
類型:字串
長度限制:長度下限為 0。長度上限為 256。
必要:否
組成標籤的鍵值組的選用部分。值就像標籤類別 (索引鍵) 內的描述項。
-
類型:布林值
有效值:
true
|false
必要:否
指定是否對服務內的任務使用 Amazon ECS 受管標籤。如未指定任何值,則預設值為
false
。如需詳細資訊,請參閱使用標籤計費。 propagateTags
-
類型:字串
有效值:
TASK_DEFINITION
|SERVICE
必要:否
指定是否將標籤從任務定義或服務複製到服務中的任務。如果沒有指定值,則不會複製標籤。標籤只能在建立服務期間複製到服務內的任務。若要在建立服務或任務後對任務新增標籤,請使用
TagResource
API 動作。
網路組態
networkConfiguration
-
類型:物件
必要:否
服務的網路組態。使用
awsvpc
網路模式的任務定義需要此參數,才能接收其自己的彈性網路介面,其他網路模式不支援此參數。如果使用 Fargate 啟動類型,則需要awsvpc
網路模式。如需 Amazon EC2 啟動類型聯網的詳細資訊,請參閱EC2 啟動類型的 Amazon ECS 任務聯網選項。如需 Fargate 啟動類型聯網的詳細資訊,請參閱 Fargate 啟動類型的 Amazon ECS 任務聯網選項。awsvpcConfiguration
-
類型:物件
必要:否
代表任務或服務之子網路和安全群組的物件。
subnets
-
類型:字串陣列
必要:是
與任務或服務相關聯的子網路。根據
awsvpcConfiguration
限制僅能指定 16 個子網路。 securityGroups
-
類型:字串陣列
必要:否
與任務或服務相關聯的安全群組。如果您未指定安全群組,則會使用預設的 VPC 安全群組。根據
awsvpcConfiguration
限制僅能指定五個安全群組。 assignPublicIP
-
類型:字串
有效值:
ENABLED
|DISABLED
必要:否
無論任務的彈性網路介面是否收到公有 IP 地址。如果未指定任何值,則會使用
DISABLED
的預設值。
healthCheckGracePeriodSeconds
-
類型:整數
必要:否
Amazon ECS 服務排程器在任務首次啟動後忽略運作狀態不佳 Elastic Load Balancing、VPC Lattice 和容器運作狀態檢查的期間,以秒為單位。如果您未指定運作狀態檢查寬限期值,則會使用預設值 0。如果您不使用任何運作狀態檢查,則
healthCheckGracePeriodSeconds
未使用。如果您服務的任務需要一些時間才能啟動和回應,您可以指定最多 2,147,483,647 秒 (約 69 年) 的運作狀態檢查寬限期。在此期間,Amazon ECS 服務排程器會忽略運作狀態檢查狀態。此寬限期可防止服務排程器將任務標示為狀況不良並在其來得及標示前加以停止。
loadBalancers
-
類型: 物件陣列
必要:否
用來代表您的服務所使用之負載平衡器的負載平衡器物件。針對使用 Application Load Balancer 或 Network Load Balancer 的任務,您最多僅能連接五個目標群組到一個服務。
建立服務之後,負載平衡器組態無法從 AWS Management Console變更。您可以使用 AWS Copilot AWS CloudFormation AWS CLI 或 SDK 來修改滾動
ECS
部署控制器的負載平衡器組態,而不是 AWS CodeDeploy 藍/綠或外部。當您新增、更新或移除負載平衡器組態時,Amazon ECS 會使用更新後的 Elastic Load Balancing 組態啟動新的部署。這會導致任務向負載平衡器註冊和取消註冊。我們建議您在更新 Elastic Load Balancing 組態之前,先在測試環境中驗證。如需有關如何修改組態的資訊,請參閱 Amazon Elastic Container Service API 參考 中的 UpdateService。針對 Application Load Balancer 和 Network Load Balancer,此物件必須包含負載平衡器目標群組 ARN、容器名稱 (這會出現在容器定義中) 和容器連接埠,以從負載平衡器存取。當此服務的任務置於容器執行個體,該容器執行個體和連接埠組合就會註冊為指定之目標群組中的目標。
targetGroupArn
-
類型:字串
必要:否
與服務相關聯的 Elastic Load Balancing 目標群組的完整 Amazon Resource Name (ARN)。
僅在使用 Application Load Balancer 或Network Load Balancer時,才指定目標群組 ARN。
loadBalancerName
-
類型:字串
必要:否
要與服務建立關聯的負載平衡器名稱。
如果您使用 Application Load Balancer 或 Network Load Balancer,請略去負載平衡器名稱參數。
containerName
-
類型:字串
必要:否
要與負載平衡器建立關聯的容器 (這會出現在容器定義中) 名稱。
containerPort
-
類型:整數
必要:否
要與負載平衡器建立關聯之容器的連接埠。此連接埠必須對應至服務中任務所使用之任務定義中的
containerPort
。針對使用 EC2 啟動類型的任務,容器執行個體必須允許傳入連接埠對應的hostPort
的流量。
role
-
類型:字串
必要:否
IAM 角色的簡稱或完整 ARN,此角色允許 Amazon ECS 代您呼叫您的負載平衡器。只有在您對服務使用具有單一目標群組的負載平衡器,且您的任務定義沒有使用
awsvpc
網路模式時,才允許此參數。如果您指定role
參數,您還必須以loadBalancers
參數指定負載平衡器物件。如果您指定的角色有
/
以外的路徑,則您必須指定完整的角色 ARN (建議項目) 或在角色名稱前加上路徑。例如,如果名稱為bar
的角色有路徑/foo/
,則您可指定/foo/bar
為角色名稱。如需詳細資訊,請參閱 IAM 使用者指南中的易記名稱和路徑。重要
若您的帳戶已建立 Amazon ECS 服務連結角色,則根據預設會為您的服務使用該角色,除非您在此處另行指定。若您的任務定義使用 awsvpc 網路模式,則服務連結角色為必要項目,此時您便不應在此處指定角色。如需詳細資訊,請參閱使用 Amazon ECS 的服務連結角色。
serviceConnectConfiguration
-
類型:物件
必要:否
可讓此服務探索及連線至服務,並可供命名空間內其他服務探索及連線的組態。
如需詳細資訊,請參閱使用 Service Connect 以短名稱連接 Amazon ECS 服務。
enabled
-
類型:布林值
必要:是
指定是否要搭配此服務使用 Service Connect。
namespace
-
類型:字串
必要:否
用於 Service Connect 之 AWS Cloud Map 命名空間的簡短名稱或完整 Amazon Resource Name (ARN)。命名空間必須位於與 Amazon ECS 服務和叢集相同的 AWS 區域 。命名空間的類型不會影響 Service Connect。如需 的詳細資訊 AWS Cloud Map,請參閱《 AWS Cloud Map 開發人員指南》中的使用 服務。
services
-
類型: 物件陣列
必要:否
Service Connect 服務物件的陣列。這些是其他 Amazon ECS 服務用來連線到此服務的名稱和別名 (又稱為端點)。
對於屬於命名空間成員且僅連線至命名空間內其他服務的「用戶端」Amazon ECS 服務來說,此欄位不是必要欄位。以接受傳入請求的前端應用程式為例,這些請求由連接到服務的負載平衡器傳入或透過其他方式傳入。
物件會從任務定義中選取連接埠、指派 AWS Cloud Map 服務的名稱,以及一組別名 (也稱為端點) 和連接埠,供用戶端應用程式參考此服務。
portName
-
類型:字串
必要:是
portName
必須符合此 Amazon ECS 服務任務定義中來自所有容器的其中一個portMappings
的name
。 discoveryName
-
類型:字串
必要:否
discoveryName
是 Amazon ECS 為此 Amazon ECS AWS Cloud Map 服務建立的新服務的名稱。此名稱在 AWS Cloud Map 命名空間中必須不重複。若沒有指定此欄位,則使用
portName
。 clientAliases
-
類型: 物件陣列
必要:否
此 Service Connect 服務的用戶端別名清單。您可以使用這些別名,指派用戶端應用程式可使用的名稱。您可以在此清單中擁有的用戶端別名數量上限為 1。
每個別名 (「端點」) 都是其他 Amazon ECS 服務 (「用戶端」) 可用來連線至此服務的 DNS 名稱和連接埠號碼。
每個名稱和連接埠組合在命名空間內必須不重複。
這些名稱在用戶端服務的每個任務中設定,而不是在 AWS Cloud Map中設定。解析這些名稱的 DNS 請求不會離開任務,也不會計入每個彈性網路介面每秒對 DNS 請求的配額。
port
-
類型:整數
必要:是
Service Connect Proxy 的接聽連接埠號碼。此連接埠可在相同命名空間內的所有任務中使用。
若要避免在用戶端 Amazon ECS 服務中變更應用程式,請將此設定為用戶端應用程式預設使用的相同連接埠。
dnsName
-
類型:字串
必要:否
dnsName
是您在用戶端任務應用程式中用來連線到此服務的名稱。名稱必須是有效的 DNS 標籤。如果未指定欄位,則預設值為
discoveryName.namespace
。如果未指定discoveryName
,則會使用來自任務定義的portName
。若要避免在用戶端 Amazon ECS 服務中變更應用程式,請將此設定為用戶端應用程式預設使用的相同名稱。例如,一些常見名稱為
database
、db
,或資料庫的小寫名稱,例如mysql
或redis
。
ingressPortOverride
-
類型:整數
必要:否
(選用) Service Connect Proxy 接聽所用的連接埠號碼。
使用此欄位的值以略過此應用程式任務定義中指定之
portMapping
所指定的連接埠號碼上流量的 Proxy,然後在 Amazon VPC 安全群組中使用此值,以允許流量進入此 Amazon ECS 服務的 Proxy。在
awsvpc
模式中,預設值是在此應用程式任務定義中指定之portMapping
所指定的容器連接埠號碼。在bridge
模式中,預設值是 Service Connect Proxy 的動態暫時性連接埠。 logConfiguration
-
類型:LogConfiguration 物件
必要:否
這會定義 Service Connect Proxy 日誌的發佈位置。在非預期事件期間使用日誌進行偵錯。此組態會在此 Amazon ECS 服務的每個任務中,設定 Service Connect Proxy 容器中的
logConfiguration
參數。未在任務定義中指定 Proxy 容器。我們建議您使用與此 Amazon ECS 服務任務定義的應用程式容器相同的日誌組態。對於 FireLens,這是應用程式容器的日誌組態。這不是使用
fluent-bit
或fluentd
容器映像的 FireLens 日誌路由器容器。
serviceRegistries
-
類型: 物件陣列
必要:否
您的服務探索組態詳細資訊。如需詳細資訊,請參閱使用服務探索將 Amazon ECS 服務與 DNS 名稱連線。
registryArn
-
類型:字串
必要:否
服務登錄檔的 Amazon Resource Name (ARN)。目前支援的服務登錄檔為 AWS Cloud Map。如需詳細資訊,請參閱 AWS Cloud Map 開發人員指南中的使用服務。
port
-
類型:整數
必要:否
如果您的服務探索服務指定了 SRV 記錄,則使用該連接埠值。如果已使用
awsvpc
網路模式和 SRV 記錄,則此欄位為必要項目。 containerName
-
類型:字串
必要:否
容器名稱值用於您的「服務探索」服務。該值已於任務定義中指定。如果服務任務指定的任務定義是使用
bridge
或host
網路模式,您必須透過任務定義指定containerName
與containerPort
組合。如果服務任務指定的任務定義使用awsvpc
網路模式,並已使用類型 SRV DNS 記錄,您必須指定containerName
和containerPort
組合或port
值,但不得同時指定兩者。 containerPort
-
類型:整數
必要:否
用於您的「服務探索」服務的連接埠值。該值已於任務定義中指定。如果服務任務指定的任務定義是使用
bridge
或host
網路模式,您必須透過任務定義指定containerName
與containerPort
組合。如果服務任務指定的任務定義使用awsvpc
網路模式,並已使用類型 SRV DNS 記錄,您必須指定containerName
和containerPort
組合或port
值,但不得同時指定兩者。
用戶端字符
clientToken
-
類型:字串
必要:否
由您提供的唯一且區分大小寫的識別符,以確保請求的等冪性。長度上限為 32 個 ASCII 字元。
可用區域重新平衡
availabilityZoneRebalancing
-
類型:字串
必要:否
指出服務是否使用可用區域重新平衡。有效值為
ENABLED
和DISABLED
。如需可用區域重新平衡的詳細資訊,請參閱 跨可用區域平衡 Amazon ECS 服務。
磁碟區組態
volumeConfigurations
-
類型:物件
必要:否
用於為由 服務管理的任務建立磁碟區的組態。只有任務定義
configuredAtLaunch
中標示為 的磁碟區,才能使用此物件進行設定。將 Amazon EBS 磁碟區連接至由 服務管理的任務時,需要此物件。如需詳細資訊,請參閱搭配 Amazon ECS 使用 Amazon EBS 磁碟區。
name
-
類型:字串
必要:是
建立或更新服務時設定的磁碟區名稱。最多允許 255 個字母 (大寫和小寫)、數字、底線 (
_
) 和連字號 (-
)。此值必須符合任務定義中指定的磁碟區名稱。 managedEBSVolume
-
類型:物件
必要:否
用於建立 Amazon EBS 磁碟區的磁碟區組態,這些磁碟區連接到服務建立或更新時由服務維護的任務。每個任務連接一個磁碟區。
encrypted
-
類型:布林值
必要:否
有效值:
true
|false
指定是否加密每個建立的 Amazon EBS 磁碟區。如果您已為 的特定 開啟 Amazon EBS 加密, AWS 區域 AWS 帳戶 但將此參數設定為
false
,則會覆寫此參數,且磁碟區將使用預設為加密指定的 KMS 金鑰進行加密。如需預設 Amazon EBS 加密的詳細資訊,請參閱《Amazon EBS 使用者指南》中的預設啟用 Amazon EBS 加密。 如需加密連接至 Amazon ECS 任務的 Amazon EBS 磁碟區的詳細資訊,請參閱 加密存放在連接至 Amazon ECS 任務的 Amazon EBS 磁碟區中的資料。 kmsKeyId
-
類型:字串
必要:否
用於 Amazon EBS 加密的 AWS Key Management Service (AWS KMS) 金鑰識別符。如果指定
kmsKeyId
,加密狀態必須是true
。使用此參數指定的金鑰會覆寫您可能指定的 Amazon ECS 受管儲存加密的 Amazon EBS 預設或任何叢集層級 KMS 金鑰。如需詳細資訊,請參閱加密存放在連接至 Amazon ECS 任務的 Amazon EBS 磁碟區中的資料。
您可以使用下列任一項來指定 KMS 金鑰:
-
金鑰 ID – 例如,
1234abcd-12ab-34cd-56ef-1234567890ab
。 -
金鑰別名 – 例如
alias/ExampleAlias
。 -
金鑰 ARN – 例如,
arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab
。 -
別名 ARN – 例如,
arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias
。
重要
AWS 會以非同步方式驗證 KMS 金鑰。因此,如果您指定無效的 ID、別名或 ARN,動作可能會看起來成功,但最終會失敗。如需詳細資訊,請參閱疑難排解 Amazon EBS 磁碟區連接問題。
-
volumeType
-
類型:字串
必要:否
有效值:
gp2
|gp3
|io1
|io2
sc1
|st1
|standard
Amazon EBS 磁碟區類型。如需磁碟區類型的詳細資訊,請參閱《Amazon EBS 使用者指南》中的 Amazon EBS 磁碟區類型。 預設磁碟區類型為
gp3
。注意
Fargate 任務不支援磁碟
standard
區類型。 sizeInGiB
-
類型:整數
必要:否
有效範圍:介於 1 到 16,384 之間的整數
EBS 磁碟區的大小,以 GB (GiB) 為單位。如果您未提供快照 ID 來設定連接磁碟區,則必須提供大小值。如果您使用快照設定連接磁碟區,預設值為快照大小。然後,您可以指定大於或等於快照大小的大小。
對於
gp2
和gp3
磁碟區類型,有效範圍為 1-16,384。對於
io1
和io2
磁碟區類型,有效範圍為 4-16,384。對於
st1
和sc1
磁碟區類型,有效範圍為 125-16,384。對於磁碟
standard
區類型,有效範圍為 1-1,024。 snapshotId
-
類型:字串
必要:否
現有 Amazon EBS 磁碟區的快照 ID,Amazon ECS 用來建立新磁碟區以供連接。您必須擇一指定
snapshotId
或sizeInGiB
。 volumeInitializationRate
-
類型:整數
必要:否
以 MiB/s 為單位的速率,該速率會從現有 Amazon EBS 磁碟區的快照擷取資料,以建立新的磁碟區進行連接。只有在您指定 時,才能指定此屬性
snapshotId
。如需此磁碟區初始化速率的詳細資訊,包括初始化支援的速率範圍,請參閱《Amazon EBS 使用者指南》中的初始化 Amazon EBS 磁碟區。 iops
-
類型:整數
必要:否
每秒 I/O 操作的次數 (IOPS)。對
gp3
、io1
和io2
磁碟區而言,這代表針對磁碟區佈建的 IOPS 數量。對於gp2
磁碟區,此值代表磁碟區的基準效能,以及磁碟區為爆量累積 I/O 額度的速率。這是io1
和io2
磁碟區的必要參數。gp2
、st1
sc1
或standard
磁碟區不支援此參數。對於磁碟
gp3
區,有效值範圍為 3,000 到 16,000。對於磁碟
io1
區,有效值範圍為 100 到 64,000。對於磁碟
io2
區,有效值範圍為 100 到 64,000。 throughput
-
類型:整數
必要:否
針對連接至由服務維護之任務的磁碟區佈建的輸送量。
重要
此參數僅支援
gp3
磁碟區。 roleArn
-
類型:字串
必要:是
基礎設施 (IAM) 角色的 Amazon Resource ARN AWS Identity and Access Management (ARN),提供 Amazon ECS 許可來管理任務的 Amazon EBS 資源。如需詳細資訊,請參閱Amazon ECS 基礎設施 IAM 角色。
tagSpecifications
-
類型:物件
必要:否
要套用至每個 Amazon EBS 磁碟區的標籤規格。
resourceType
-
類型:字串
必要:是
有效值:
volume
建立時要標記的資源類型。
-
類型: 物件陣列
必要:否
您套用至磁碟區的中繼資料,可協助您分類和組織它們。每個標籤都包含您定義的索引鍵和選用值。
AmazonECSCreated
和AmazonECSManaged
都是 Amazon ECS 代表您新增的預留標籤,因此您最多可以指定自己的 48 個標籤。刪除磁碟區時,也會刪除標籤。如需詳細資訊,請參閱標記 Amazon ECS 資源。key
-
類型:字串
長度限制:長度下限為 1。長度上限為 128。
必要:否
組成標籤的鍵/值對的一部分。索引鍵是一般標籤,作用就像更特定標籤值的類別。
value
-
類型:字串
長度限制:長度下限為 0。長度上限為 256。
必要:否
組成標籤之鍵值對的選用部分。值就像標籤類別 (索引鍵) 內的描述項。
propagateTags
-
類型:字串
有效值:
TASK_DEFINITION
|SERVICE
|NONE
必要:否
指定是否要將標籤從任務定義或服務複製到磁碟區。如果指定
NONE
或未指定 值,則不會複製標籤。
fileSystemType
-
類型:字串
必要:否
有效值:
xfs
|ext3
|ext4
|NTFS
磁碟區上的檔案系統類型。磁碟區的檔案系統類型決定如何在磁碟區中存放和擷取資料。對於從快照建立的磁碟區,您必須指定建立快照時磁碟區所使用的相同檔案系統類型。如果檔案系統類型不相符,任務將無法啟動。
Linux 的有效值為
xfs
、ext3, and ext4
。連接到 Linux 任務的磁碟區預設為XFS
。Windows 的有效值為
NTFS
。連接到 Windows 任務的磁碟區預設為NTFS
。