一般

問:什麼是 Amazon Elastic Container Service?

Amazon Elastic Container Service (ECS) 是可高度擴展的高效能容器管理服務,可支援 Docker 容器,並讓您在 Amazon EC2 執行個體的受管叢集上輕鬆執行應用程式。使用 Amazon ECS,就不再需要安裝、操作、擴展自己的叢集管理基礎設施。只需進行簡單的 API 呼叫,便可以啟動和停止啟用容器的應用程式,查詢叢集的完整狀態,使用許多熟悉的功能,包括安全群組、Elastic Load Balancing、EBS 磁碟區和 IAM 角色。您可以使用 Amazon ECS 來根據資源需求及可用性需求,在叢集排程放置容器。還可以整合自己的排程器或第三方排程器,以符合商業或應用程式的特定要求。

問:為什麼應該使用 Amazon ECS?

使用 Amazon ECS,您將不再需要安裝、操作、擴展自己的叢集管理基礎設施,讓您可輕鬆地使用容器,將其作為應用程式的建構區塊。Amazon ECS 讓您可以使用 Docker 容器來排程長時間執行的應用程式、服務和批次處理。Amazon ECS 維持應用程式的可用性,讓您擴展或縮減容器來符合應用程式的容量需求。Amazon ECS 整合了您熟悉的功能,包括 Elastic Load Balancing、EBS 磁碟區、VPC 和 IAM。簡單的 API 讓您可以整合並使用自己的排程器,或將 Amazon ECS 連接到現有的軟體交付程序。

問:Amazon ECS 的定價為何?

使用 Amazon ECS 不會收取其他費用。您要支付為存放和執行應用程式所建立的 AWS 資源 (例如,EC2 執行個體或 EBS 磁碟區) 的費用。您只需按實際用量付費;既沒有最低費用,也沒有前期承諾。

問:Amazon ECS 與 AWS Elastic Beanstalk 有什麼區別?

AWS Elastic Beanstalk 是一個應用程式管理平台,可協助客戶輕鬆部署和擴展 Web 應用程式和服務。其讓使用者無須費心於佈建建構區塊 (例如 EC2、RDS、Elastic Load Balancing、Auto Scaling、CloudWatch)、部署應用程式以及監控運作狀態,只需專注於撰寫程式碼。您只需指定要部署的容器映像、CPU 和記憶體需求、連接埠映射和容器連結。

Elastic Beanstalk 將自動處理所有細節,例如佈建 Amazon ECS 叢集、平衡負載、自動調整規模、監控以及在叢集中放置容器。如果您希望利用容器的各種優勢,但只想透過上傳容器映像,簡化從開發到生產等部署應用程式的程序,則 Elastic Beanstalk 是非常理想的選擇。如果您需要對自訂應用程式架構進行更多精確的控制,則可以直接使用 Amazon ECS。

問:Amazon ECS 與 AWS Lambda 有什麼區別?

Amazon ECS 是可高度擴展的 Docker 容器管理服務,可讓您執行和管理在 Docker 容器中執行的分散式應用程式。而 AWS Lambda 是一種事件驅動型任務運算服務,可執行程式碼來回應「事件」(例如,資料變更、網站點擊) 或其他 AWS 服務中的訊息,而您無須管理任何運算基礎設施。

使用 Amazon ECS

問:如何開始使用 Amazon ECS?

請瀏覽我們的入門頁面,進一步了解有關如何開始使用 ECS。

問: Amazon ECS 是否支援任何其他容器類型?

否。Amazon ECS 目前只支援 Docker 容器平台。

問:我想啟動容器。為什麼必須啟動任務?

Docker 鼓勵您將應用程式分成單一元件,而且 Elastic Container Service 針對此模式進行了優化。任務可讓您定義一組您想將其置放在一起 (或相同置放決策的一部分) 的容器、其屬性以及可能的連結方式。任務包括 Amazon ECS 做出置放決策所需的所有資訊。要啟動單一容器,您的任務定義應只包含一個容器定義。

問:Amazon ECS 是否支援應用程式和服務?

是。Amazon ECS 服務排程器可以管理長時間執行的應用程式和服務。使用服務排程器可協助您維持應用程式的可用性,讓您擴展或縮減容器來符合應用程式的容量需求。服務排程器讓您可以使用 Elastic Load Balancing 在各個容器間分配流量。Amazon ECS 將自動從關聯的負載平衡器中註冊和取消註冊您的容器。

服務排程器也會自動恢復運作狀態不佳 (ELB 運作狀態檢查失敗) 的容器或停止執行,以確保您擁有所需數量的運作狀態良好的容器來支援應用程式。

變更您希望服務執行的容器數量,可以擴展和縮減應用程式的規模。變更應用程式的定義或使用新的映像可以更新應用程式。排程器將自動啟動使用新定義的新容器並停止執行舊版本的容器 (如果使用 ELB,則會等待 ELB 連接耗盡)。

問:Amazon ECS 是否支援動態連接埠映射?

是。對於 Elastic Load Balancing (ELB) 服務,可以將 Amazon ECS 上的服務與 Application Load Balancer (ALB) 建立關聯。ALB 支援包含一組執行個體連接埠的目標群組。您可以在 ECS 任務定義中指定動態連接埠,這麼做可為 EC2 執行個體上排程的容器提供一個未使用的連接埠。ECS 排程器會自動將任務新增到 Application Load Balancer 上使用該連接埠的目標群組。

問:Amazon ECS 是否支援批次任務?

是。您可以使用 Amazon ECS Run 任務一次執行一個或多個任務。Run 任務在符合任務要求 (包括 CPU、記憶體和連接埠) 的執行個體中開始執行任務。

問:是否能對 Amazon ECS 使用自己的排程器?

ECS 提供 Blox,這是用於容器管理和協調的開放原始碼專案集合。Blox 可輕鬆地透過 API 使用 Amazon ECS 的事件、在本機存放叢集狀態以及查詢本機資料存放區。Blox 還包含協助程式排程器,可做為如何使用叢集狀態伺服器的參考。請參閱 Blox GitHub 頁面以進一步了解。

問:是否能使用自己的 AMI?

是。您可以使用符合 Amazon ECS AMI 規格的任何 AMI。我們建議先從啟用 Amazon ECS 的 Amazon Linux AMI 開始使用。您也可以使用與 Amazon ECS 相容的合作夥伴 AMI。您可以檢閱相關文件了解 Amazon ECS AMI 規格。

問:如何設定容器執行個體,以從 Amazon Elastic Container Registry 提取?

Amazon ECR 已與 Amazon ECS 整合,讓您可輕鬆存放、執行及管理在 Amazon ECS 執行的應用程式容器映像。您只需要在任務定義中指定 Amazon ECR 儲存庫,並將 AmazonEC2ContainerServiceforEC2Role 連接到您的執行個體。然後 Amazon ECS 就會替應用程式擷取適合的映像。

問:AWS Fargate 如何與 Amazon ECS 搭配使用?

Fargate 會為您打理伺服器佈建、叢集管理和協同等繁雜的工作。Amazon ECS 使用 Fargate 佈建的容器來自動擴展、平衡負載和管理容器的可用性調度,提供一種更簡單的容器化應用程式建立和操作方法。

問:AWS Fargate 和 Amazon ECS 如何搭配使用,還是只要使用 ECS 就可以了?

Amazon ECS 支援 Fargate 技術,客戶可以選擇 AWS Fargate 來啟動他們的容器,無需佈建或管理 EC2 執行個體。要想在 AWS 上啟動和執行容器,最快的方法就是使用 AWS Fargate。客戶如果想要更好地控制 EC2 執行個體,以便滿足各種合規和監管規定,或者希望能有更多的自訂選項可供選擇,能在不動用 Fargate 的情況下,只借助 ECS 來啟動 EC2 執行個體。

安全與合規

問:Amazon ECS 如何隔離屬於不同客戶的容器?

Amazon ECS 在客戶控制的 Amazon EC2 執行個體中排程要執行的容器,或者利用 AWS Fargate 並同時以 EC2 客戶可使用的相同隔離控制功能和合規性為基礎來進行建構。您的運算執行個體位於 Virtual Private Cloud (VPC) 中,且包含您指定的 IP 範圍。您可以決定哪些執行個體向網際網路公開,哪些執行個體保持私有狀態。

  • 您的 EC2 執行個體使用 IAM 角色來存取 ECS 服務。
  • 您的 ECS 任務使用 IAM 角色來存取服務和資源。
  • 安全群組和網路 ACL 可讓您控制對您執行個體的入站和出站網路存取。
  • 您可以使用行業標準加密的 IPsec VPN 連線,將現有 IT 基礎架構連接至 VPC 中的資源。
  • 您可以將您的 EC2 資源佈建為專用執行個體。專用執行個體是為了增加額外的隔離,在單一客戶的專用硬體上執行的 Amazon EC2 執行個體。

問:是否能對容器執行個體套用額外的安全設定和隔離架構?

是。做為 Amazon EC2 客戶,您擁有對容器執行個體作業系統的根存取權限,讓您在掌控作業系統安全設定的同時還能控制其他軟體元件的載入和設定,以獲得更多安全功能,例如監控、修補程式管理、日誌管理和主機入侵偵測。

問:是否能以不同的安全設定來操作容器執行個體,或者將不同的任務隔離在不同的環境中?

是。您可以使用您選擇的工具設定不同的容器執行個體。透過建構叢集和設定目標啟動,Amazon ECS 允許您控制在不同容器執行個體中放置任務的情況。

問:Amazon ECS 是否支援從私有或內部來源擷取 Docker 影像?

是。客戶可以設定容器執行個體來存取 VPC 中的私有 Docker 影像登錄檔,或是 VPC 外可以存取的登錄檔,例如,Amazon ECR

問:如何為 ECS 任務設定 IAM 角色?

首先,您需要使用 'Amazon EC2 Container Service Task Role’ 服務角色並連接具有所需許可的政策,為任務建立 IAM 角色。當您建立新任務定義或任務定義修訂時,可以從 ’Task Role’ 下拉式清單選取角色或使用 JSON 格式的 ‘taskRoleArn’ 欄位來指定角色。

問:Amazon ECS 遵循哪些合規計劃?

Amazon ECS 符合 PCI DSS 第 1 級、ISO 9001、ISO 27001、ISO 27017、ISO 27018、SOC 1、SOC 2、SOC 3 等標準,也符合 HIPAA 規範。

如需詳細資訊,請參閱我們的合規頁面

問:是否可以使用 Amazon ECS 處理受保護醫療資訊 (PHI) 和其他受 HIPAA 管制的工作負載?

是。Amazon ECS 是 HIPAA 合規服務。若您已與 AWS 簽訂商業夥伴增訂合約 (BAA),可利用 Amazon ECS 使用部署於 AWS Fargate 啟動類型或 Amazon EC2 運算執行個體的 Docker 容器,處理加密的受保護健康資訊 (PHI)。

如需詳細資訊,請參閱我們的 HIPAA 合規頁面。如果打算處理、存放或傳輸 PHI,但尚未與 AWS 簽訂任何 BAA,請聯絡我們取得詳細資訊。

問:是否可以使用 Amazon ECS 處理美國政府管制的工作負載或敏感的受管制非機密資訊 (CUI)?

是。透過使用 AWS GovCloud (US) 區域,Amazon ECS 管理的容器和叢集可透過您的容器滿足敏感資料和受管制工作負載的需求。

如需詳細資訊,請參閱我們的 AWS GovCloud 頁面。

服務水準協議 (SLA)

問:Amazon ECS SLA 能保證什麼?

我們的運算 SLA 保證 Amazon ECS 每個月正常執行時間百分比至少為 99.99%。

問:如何知道自己是否符合 SLA 服務抵扣的資格?

如果您在一個以上的可用區域內執行某項任務,而且在每個月結算週期內,同一個區域每個月的正常執行時間百分比低於 99.99%,則根據運算 SLA,您有資格獲得 Amazon ECS 的 SLA 積分。

如需 SLA 所有條款與條件的完整詳細資訊,以及如何提交索賠的詳細資訊,請參閱運算 SLA 詳細資訊頁面

轉換成新的 ARN 與 ID 格式

問:哪些項目會有所變更?

從 2018 年 11 月 15 日開始,Amazon ECS 資源將轉換成 Amazon Resource Name (ARN) 與識別符 (ID) 的新格式。Amazon Resource Name 格式變更將影響 ECS 任務、ECS 容器執行個體以及 ECS 服務。識別符格式變更將影響 ECS 任務與 ECS 容器執行個體。這些變更可啟用最近推出的標記與成本分配功能。

從今天開始,您可以為 ECS 資源選擇使用新的標記功能,並採用新的 ARN 與 ID 格式。在您選擇使用之後,新的 ARN 與 ID 格式將套用到新建立的資源;現有資源不受影響,且會保留它們現有的 ARN 與 ID。請瀏覽這個文件取得指示。

問:這會對我造成什麼影響?

在許多情況下,您不需要進行任何系統變更即可處理新格式。如果您只使用主控台管理 AWS 資源,將不受影響,但應該更新您的設定以使用新的 ARN 與 ID 格式。如果您是透過 API、SDK 或 AWS CLI 與 AWS 資源互動,則可能會受到影響,這視您的軟體是否會在驗證或保留資源 ARN 或 ID 時,對 ARN 或 ID 格式做出假設而定。如果是這種情況,您可能需要更新系統才能處理新格式。

故障模式可能包括:

如果您的系統使用規則表達式來驗證 ARN 或 ID 格式,或是解析它以從中擷取資訊,則您可能在遇到新格式時看到錯誤。

如果系統對資料庫結構描述內的 ARN 或 ID 長度有所預期,則您可能無法存放它們。特別是新的 ARN 包含更多資訊,因此較長。新的 ID 較短。

問:是否會對現有的資源造成影響?

不會。只有您選擇使用新格式之後所建立的資源會採用新格式。資源一旦接受 ARN/ID (新或舊) 的指派,無論您之後是選擇使用或選擇不使用,該資源在整個生命週期中將保有它的 ARN/ID。例如,您在選擇使用之前已經有 ECS 服務,該 ECS 服務在您選擇使用之後將保有它的舊 ARN/ID。在您選擇使用之後由該 ECS 服務啟動的任何新任務將擁有新的 ARN。

問:哪些 ECS 資源 ARN 會改變?

ARN 變更將影響 3 種資源:ECS 服務、ECS 任務以及 ECS 容器執行個體。

問:新 ARN 看起來是什麼樣子?

ECS 容器執行個體、服務以及任務的新 ARN 將包含叢集名稱,並且如下表所示:

image1

問:哪些 ECS 資源 ID 會改變?

ID 變更將影響 2 種資源:ECS 任務與 ECS 容器執行個體。

問:新 ID 看起來是什麼樣子?

新 ID 的長度較短 (32 個字元) 而且不包含連字號。請參閱下表以取得新舊 ID 的範例。

image2

問:我現在已經選擇使用,該如何將資源轉換成新格式,好讓我能標記它們?

為了確保持續性,現有的全部 ECS 資源在整個生命週期中將保有它們的 ARN 與 ID。這表示只有新建立的資源會取得新格式。如要轉換在服務中執行的現有任務,您可以觸發新的服務部署。如要轉換您的 ECS 服務,可以刪除並重新建立 ECS 服務。最後,為了轉換您的 ECS 容器執行個體,您需要耗盡容器執行個體,並註冊新的執行個體。

問:採用新格式的截止日期為何?

到 2019 年 12 月底,可透過 API 和 ECS 主控台選擇使用新 ARN/ID。所有帳戶都可視需要選擇使用和不使用來進行測試。從 2020 年 1 月 1 日開始,不再提供切換格式的選項,而且新建立的 ECS 資源都會收到新的 ARN 與 ID 格式。

問:新帳戶會自動選擇使用嗎?

直到 2019 年 3 月 31 日為止,所有新建立的 AWS 帳戶預設將繼續使用現有格式。從 2019 年 4 月 1 日開始,所有新建立的帳戶將自動選擇使用新格式,但在 2019 年 12 月 31 日之前,您仍保有選擇使用或選擇不使用的選項。

問:如何選擇是否接收新的 ARN/ID?

在整個轉換期間 (從現在到 2019 年 12 月底),您可以使用新的 ECS API 或 EC2 主控台選擇要接收新格式。這個文件提供相關指示。

問:是否可以選擇只使用我帳戶中的特定 IAM 使用者或 IAM 角色?

是。您可以選擇使用特定的 IAM 角色或 IAM 使用者。由 IAM 角色或 IAM 使用者建立的資源,將根據選擇使用狀態、建立的時間點以及建立該資源的使用者或角色,來取得 ARN/ID 格式。此外,選擇使用或選擇不使用超級使用者會將變更套用到整個 AWS 帳戶,除非 IAM 使用者或角色明確覆寫他們本身的選擇使用狀態。

問:如果我不採取任何動作,會發生什麼事?

如果您沒有在轉換期間選擇使用新格式,將從 2020 年 1 月 1 日起自動開始接收新格式。我們不建議使用此方法。我們建議在轉換期間先測試新格式,以找出和解決任何潛在的問題。

問:我想在 2019 年 12 月 31 日之後建立的資源繼續使用舊 ARN/ID,該怎麼辦?

很遺憾,從 2020 年 1 月 1 日開始,所有新建立的資源將採用新的 ARN 與 ID 格式。這可讓您從現有和即將推出的 ECS 功能獲益,例如標記和成本分配。

問:如果我選擇使用新 ARN/ID 格式,然後在轉換期間選擇不使用,則之前使用新格式建立的資源會發生什麼情況?

資源一旦獲指派 ARN/ID,該 ARN/ID 就不會變更。無論之後進行何種動作,使用新 ARN/ID 建立的資源將保有新的 ARN/ID。移除新 ARN/ID 的唯一方法是刪除或終止對應的資源。因此請您務必謹慎,在測試過工具與自動化之前避免使用新格式建立關鍵資源。

問:如果我的系統在轉換期間結束之前無法如預期般運作,該怎麼辦?

如果系統在轉換期間無法如預期般運作,您可以暫時選擇不使用新格式並修復您的系統。從 2020 年 1 月 1 日開始,不論您的帳戶設定為何,所有新資源都將接收新的 ARN 與 ID 格式,所以在轉換期間結束之前,先測試系統是否可使用新格式的 ARN 與 ID 是非常重要的。越早進行測試和選擇使用,就能有越多寶貴的時間來修改您的工具和工作流程,而且能將對系統造成任何衝擊的風險降到最低。

問:如果我在轉換期間於多個區域啟動資源,會發生什麼情況?

您擁有按照區域來選擇區域的彈性。這表示您可以混用具備不同選擇使用狀態的區域。如果 Amazon ECS 在轉換期間啟動新區域,這些區域的行為方式會與現有區域類似。換句話說,在 2019 年 12 月 31 日之前,您將能夠選擇使用新或舊的 ARN 格式。

開始使用 Amazon ECS

瀏覽 Amazon ECS 主控台
準備好開始使用了嗎?
註冊
還有其他問題嗎?
聯絡我們