

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

# 在快速模式之外更新資源
<a name="express-service-advanced-customization"></a>

快速模式透過代表您自動佈建和管理 AWS 資源來簡化部署，但請務必了解責任模型。雖然快速模式會建立和設定 Amazon ECS 服務、負載平衡器和自動擴展政策等資源，但所有資源都會保留在您的 AWS 帳戶中，並可供直接管理完整存取。您可以使用 AWS 主控台 AWS CLI或 APIs 在快速模式之外修改這些資源，但這樣做可能會影響快速模式管理服務的能力。本節說明快速模式管理哪些資源、如何在快速模式之外安全地進行變更，以及執行時會發生什麼情況。

## 了解共同責任模型
<a name="express-service-shared-responsibility"></a>

快速模式中的責任界限是由 API 用量定義。快速模式 APIs會透過跨多個 AWS 服務的協調更新來代表您管理資源。標準 AWS 服務 APIs 可讓您直接控制個別資源。這可讓您超越快速模式為組態提供的一組參數，並讓您控制每個資源的每個參數。兩組 APIs會在您帳戶中的相同基礎基礎設施上運作，兩者都會執行您請求的操作。 AWS 負責執行您請求的操作。快速模式不會驗證使用直接 APIs進行的資源修改是否會與快速模式組態衝突，也不會防止可能中斷服務功能的變更。這也表示您能夠進行變更，而且這些變更會持續存在。除非在快速模式更新中要求，否則快速模式不會覆寫變更。您有責任了解使用直接 APIs修改如何與快速模式的組態互動，以及解決任何產生的衝突或服務問題。

如需快速模式設定的預設值及其協調的資源的詳細資訊，請參閱 [Amazon ECS Express Mode 服務建立的資源](express-service-work.md)。

## 我是否需要執行任何動作，才能在快速模式服務中利用 Amazon ECS 功能？
<a name="express-service-migration"></a>

否，快速模式沒有漸層路徑或破碎玻璃。整個 Amazon ECS 功能集一律可供您的快速模式服務使用。如果您想要確保服務不會發生進一步的快速模式更新，有幾個選項。透過移除資源上的受管標籤，Amazon ECS 將無法再將其識別和操作為快速模式服務。或者，您也可以使用 IAM 將使用者許可限制為快速模式 APIs。

## 快速模式外的範例更新
<a name="express-service-customization-examples"></a>

### 將附屬項目新增至快速模式服務
<a name="express-service-add-sidecar"></a>

您可以將任何附屬容器新增至您的服務。此範例說明如何新增 Fluent Bit 記錄附屬項目。

您可以使用附屬容器定義任務定義，並使用 `taskDefinitionArn` 參數將其提供給快速模式服務。快速模式會依原狀使用您的任務定義，包括您設定的任何附屬容器。如需詳細資訊，請參閱[使用您自己的任務定義建立快速模式服務](express-service-getting-started.md#express-service-create-byotd)。

或者，您可以直接編輯快速模式建立的任務定義來新增附屬項目，如下列程序所述。

1. 開啟主控台，網址為 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)。

1. 在導覽窗格中，選擇**叢集**。

1. 選取您的快速模式服務所在的叢集，然後在**服務**面板中，選取它。

1. 前往**資源**索引標籤，然後選取任務定義。

1. 選取 **JSON** 索引標籤，然後選取頂端按鈕中標示**為建立新修訂**的向下箭頭。在這裡，您會找到名為**使用 JSON 建立新修訂**的動作。

1. 在主要容器定義之前或之後新增附屬容器。如需詳細資訊，請參閱[範例 Amazon ECS 任務定義：將日誌路由到 FireLens](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/firelens-taskdef.html)。

1. 如果您有記錄附屬項目，如本範例所示，您會想要變更主要容器中`logDriver`的 ：

   ```
   "logConfiguration": {
       "logDriver": "awsfirelens"
   }
   ```

1. 假設快速模式服務的預設設定，請將主要容器memoryReservation設定為 1998，並將 Fluent Bit 容器memoryReservation設定為 50。這可確保兩個容器的總記憶體保留不超過您在 Fargate 任務上執行的數量 （預設快速模式服務為 2048)。

1. 建立新的修訂版。

1. 按一下顯示**部署**的下拉式清單，然後選取**更新服務**。

1. 選取您要更新的**叢集****和服務**，然後選取**強制新部署**。應該自動選取您剛建立的任務定義修訂。選取 **Update** (更新)。

1. 觀看您的部署進行。此服務中的任務現在將有兩個容器。透過快速模式主控台或 APIs進行的其他更新不會覆寫對任務定義的變更，除非它們發生直接衝突 - 例如，在這種情況下，如果您為快速模式提供了新的日誌群組和日誌串流名稱，則 logDriver 會更新回 `awslogs`。

### 將自訂網域新增至您的服務
<a name="express-service-add-custom-domain"></a>

**先決條件：**本指南假設您的網域是由 Route 53 使用 ACM 憑證管理的託管區域。如果您的網域託管在其他地方，您將需要 CNAME 來指向 Application Load Balancer DNS 記錄。

1. 開啟主控台，網址為 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)。

1. 在導覽窗格中，選擇**叢集**。

1. 選取您的快速模式服務所在的叢集，然後在**服務**面板中，選取它。

1. 前往**資源**索引標籤，然後選取接聽程式規則。

1. 選取**動作**和**編輯規則**。

1. 複製目前的主機標頭值 （您的應用程式 URL)，然後**移除**規則，因為每種類型只能有一個。

1. 新增**主機標頭**類型的條件，將應用程式 URL 貼回 做為主機標頭條件值。

1. 按一下**新增 OR 條件值**。

1. 在此輸入您的自訂網域。

1. 按一下**下一步**並**儲存變更**。

1. 現在選取 Application Load Balancer 接聽程式的**憑證**索引標籤。

1. 按一下**新增憑證**。在這裡，您可以將憑證匯入接聽程式。

1. 在 Route 53 託管區域中，按一下**建立記錄**以建立路由記錄至您的服務。

1. 選取簡單的路由記錄。

1. 新增記錄名稱。

1. 選取記錄類型。

1. 將流量路由到**別名到 Application 和 Classic Load Balancer**。

1. 選擇您的區域。

1. 選取您的快速模式服務使用的負載平衡器。

傳播幾分鐘後，您的服務將開始接收自訂網域上的流量。如果您要將許多憑證新增至 Application Load Balancer，或從 Application Load Balancer 為許多快速模式服務提供服務，建議您考慮提高 Application Load Balancer 上憑證的服務限制。