

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

# 在 上部署和管理容器 Amazon Lightsail
<a name="amazon-lightsail-container-services"></a>

Amazon Lightsail 容器服務是一種可高度擴展的運算和聯網資源，您可以在其上部署、執行和管理容器。容器是標準的軟體單位，可將程式碼及其依存項目封裝在一起，讓應用程式在各個運算環境間快速可靠地執行。

您可以將Lightsail容器服務視為一種運算環境，可讓您使用在本機機器上建立的映像，從 Amazon ECR Public Gallery 等線上儲存庫推送至您的服務或映像，在 AWS 基礎設施上執行容器。

也可以透過安裝諸如 Docker 等軟體，在本機電腦上執行容器。Amazon Elastic Container Service (Amazon ECS) 和 Amazon Elastic Compute Cloud (Amazon EC2) 是您可以在其中執行容器的 AWS 基礎設施內的其他資源。如需詳細資訊，請參閱《[Amazon ECS 開發人員指南](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html)》。

**內容**
+ [容器](#understanding-containers)
+ [Lightsail 容器服務元素](#understanding-lightsail-container-services)
  + [Lightsail 容器服務](#lightsail-container-services)
  + [容器服務容量 (規模和動力)](#container-services-capacity)
  + [定價](#container-services-pricing)
  + [部署](#container-services-deployments)
  + [部署版本](#container-services-deployment-versions)
  + [容器映像來源](#container-services-image-sources)
  + [容器服務 ARN](#container-services-arn)
  + [公有端點和預設網域](#container-services-endpoints-domains)
  + [自訂網域和 SSL/TLS 憑證](#container-services-custom-domains-certificates)
  + [容器日誌](#container-services-container-logs)
  + [指標](#container-services-metrics)
+ [使用 Lightsail 容器服務](#using-lightsail-container-services)

## 容器
<a name="understanding-containers"></a>

容器是標準的軟體單位，可將程式碼及其依存項目封裝在一起，讓應用程式在各個運算環境間快速可靠地執行。您可以在開發環境中執行容器，將其部署至預生產環境，然後再部署至生產環境。無論開發環境是本機電腦，預生產環境是資料中心的實體伺服器，或生產環境是雲端中的虛擬私有伺服器，容器都會可靠地執行。

容器映像是一種輕量、獨立、可執行的軟體套件，包含執行應用程式所需的一切：程式碼、執行時間、系統工具、系統程式庫和設定。容器映像在執行時間會成為容器。藉由容器化應用程式及其依存項目，您不必再操心軟體部署至作業系統和基礎設施上之後是否會正確執行 – 您能用更多時間專注於程式碼。

如需有關容器和容器映像的詳細資訊，請參閱 *Docker 文件*中的[何謂容器？](https://www.docker.com/resources/what-container)。

## Lightsail 容器服務元素
<a name="understanding-lightsail-container-services"></a>

開始之前，應該先了解的 Lightsail 容器服務關鍵元素如下。

### Lightsail 容器服務
<a name="lightsail-container-services"></a>

容器服務是一種 Lightsail 運算資源，可在任何可使用 Lightsail 的 AWS 區域 中建立。您可以隨時建立和刪除容器服務。如需詳細資訊，請參閱[建立 Lightsail 容器服務](amazon-lightsail-creating-container-services.md)以及[刪除 Lightsail 容器服務](amazon-lightsail-deleting-container-services.md)。

![\[Lightsail 容器服務圖表\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/amazon-lightsail-container-service-diagram.png)


### 容器服務容量 (規模和動力)
<a name="container-services-capacity"></a>

首次建立容器服務時，必須選擇下列容量參數：
+ **Scale** (規模) – 您希望容器工作負載在其中執行的運算節點數量。系統會跨服務的運算節點複製容器工作負載。您可為容器服務指定最多 20 個運算節點。您可以根據要為服務提供動力的節點數來挑選規模，以獲得更佳的可用性和更高容量。流向容器的流量將在所有節點中進行負載平衡。
+ **Power** (動力) – 容器服務中每個節點的記憶體和 vCPU。您可以選擇的動力包括超微型 (Na)、微型 (Mi)、小型 (Sm)、中型 (Md)、大型 (Lg) 和超大型 (XL)，每個都有遞增的記憶體和 vCPU。

如果將容器服務的規模指定為 1 以上，則系統會跨服務的多個運算節點複製容器工作負載。例如，如果服務規模為 3，且動力為超微型，則會有三個容器工作負載複本在三個運算資源上執行，每個資源都有 512 MB RAM 和 0.25 vCPU。傳入流量會在三個資源之間進行負載平衡。為容器服務指定越大的容量，就能處理越多的流量。

如果您發現容器服務佈建不足，則可隨時動態增加容器服務的動力和規模，而不需要停機；如果發現容器服務過度佈建，則可予以減少。Lightsail 會自動管理容量變更以及現行部署。如需詳細資訊，請參閱[變更容器服務的容量](amazon-lightsail-changing-container-service-capacity.md)。

### 定價
<a name="container-services-pricing"></a>

容器服務每月計價方式是將動力價格乘以其運算節點數 (服務規模)。例如，服務具有中等動力(價格為 40 USD)，且規模為 3 個運算節點，則每月費用為 120 USD。無論容器服務已啟用或停用，以及是否已有部署，都需要支付費用。您必須删除容器服務才會停止收費。

每個容器服務不分所設定的容量，皆包含 500 GB 的每月資料傳輸配額。無論為服務選擇的動力和規模為何，資料傳輸配額都維持不變。超出配額的資料傳輸到網際網路會導致超額費用，因 而異 AWS 區域 ，每 GB 的起始費用為 0.09 USD。從網際網路傳入的資料傳輸超過配額，不會產生超額費用。如需詳細資訊，請參閱 [Lightsail 定價頁面](https://aws.amazon.com/lightsail/pricing/)。

### 部署
<a name="container-services-deployments"></a>

您可以在 Lightsail 容器服務中建立部署。部署是您希望在服務上啟動之容器工作負載的一組規格。

您可以為部署中的每個容器項目指定下列參數：
+ 將啟動之容器的名稱
+ 要用於容器的來源容器映像
+ 啟動容器時要執行的命令
+ 要套用至容器的環境變數
+ 要在容器上開啟的網路連接埠
+ 部署中要透過容器服務預設網域公開存取的容器
**注意**  
每個容器服務只能讓部署中的一個容器公開存取。

下列運作狀態檢查參數會套用至部署的公用端點 (在其啟動後)：
+ 執行運作狀態檢查的目錄路徑。
+ 進階運作狀態檢查設定，例如間隔秒數、逾時秒數、成功代碼、狀況良好的臨界值和狀況不良的臨界值。

容器服務一次可以有一個作用中的部署，而部署可有最多 10 個容器項目。您可以在建立容器服務的同時建立部署，也可在服務開始運作後建立部署。如需詳細資訊，請參閱[建立和管理容器服務部署](amazon-lightsail-container-services-deployments.md)。

### 部署版本
<a name="container-services-deployment-versions"></a>

您在容器服務中建立的每個部署都會儲存為部署版本。如果修改現有部署的參數，容器會重新部署至服務，而經修改的部署會產生新部署版本。每個容器服務的最新 50 個部署版本會儲存下來。您可使用 50 個部署版本之中任一個，在相同的容器服務中建立新部署。如需詳細資訊，請參閱[建立和管理容器服務部署](amazon-lightsail-container-services-deployments.md)。

### 容器映像來源
<a name="container-services-image-sources"></a>

建立部署時，您必須為部署中的每個容器項目指定來源容器映像。建立部署之後，容器服務會立即從您指定的來源提取映像，並用於建立容器。

指定的映像可取自以下來源：
+ **公有登錄檔** (例如 Amazon ECR Public Gallery) 或一些其他公有容器映像登錄檔。如需有關 Amazon ECR Public 的詳細資訊，請參閱《Amazon ECR Public 使用者指南》**中的[什麼是 Amazon Elastic Container Registry Public？](https://docs.aws.amazon.com/AmazonECR/latest/public/what-is-ecr.html)。
+ **已從本機電腦將映像推送**到容器服務。如果在本機電腦上建立容器映像，則可將其推送到容器服務，以便在建立部署時使用。如需詳細資訊，請參閱[建立容器服務映像](amazon-lightsail-creating-container-images.md)以及[推送和管理容器映像](amazon-lightsail-pushing-container-images.md)。

Lightsail 容器服務支援 Linux 型容器映像。目前不支援 Windows 型容器映像，但您可以在 Windows 上執行 Docker、 AWS Command Line Interface (AWS CLI) 和 Lightsail Control (lightsailctl) 外掛程式，以建置 Linux 型映像並將其推送至Lightsail容器服務。

### 容器服務 ARN
<a name="container-services-arn"></a>

Amazon Resource Name (ARNs可唯一識別 AWS 資源。當您需要在所有 中明確指定資源時 AWS，例如在 IAM 政策和 API 呼叫中，我們需要 ARN。

若要取得容器服務的 ARN，請使用 `GetContainerServices` Lightsail API 動作，並使用 `serviceName` 參數指定容器服務的名稱。您的容器服務 ARN 會列在該動作的結果中，如下列範例所示。如需詳細資訊，請參閱 *Amazon Lightsail API 參考*中的 [GetContainerServices](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetContainerServices.html)。

您將會看到類似下列的輸出：

```
{
    "containerServices": [
        {
            "containerServiceName": "container-service-1",
            "arn": "arn:aws:lightsail: :111122223333:ContainerService/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "createdAt": "2024-01-01T00:00:00+00:00",
            "location": {
                "availabilityZone": "all",
                "regionName": "us-west-2"
        },
        .....
}
```

### 公有端點和預設網域
<a name="container-services-endpoints-domains"></a>

建立部署時，您可以在部署中指定容器項目，作為容器服務的公有端點。公有端點容器上的應用程式可透過隨機產生的容器服務預設網域，在網際網路上公開存取。預設網域的格式為 `https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com`，其中 *<ServiceName>* 是您的容器服務名稱，*<RandomGUID>* 是 AWS 區域 針對您Lightsail帳戶在 中隨機產生的容器服務全域唯一識別符，而 *<AWSRegion>* 是建立容器服務的 AWS 區域 。Lightsail 容器服務的公有端點僅支援 HTTPS，不支援 TCP 或 UDP 流量。一項服務只能以一個容器為公有端點。因此，請務必選擇託管應用程式前端的容器作為公有端點，而其他容器則在內部存取。

您可以使用容器服務的預設網域，亦或使用自訂網域 (註冊的網域名稱)。如需有關搭配使用自訂域和容器服務的詳細資訊，請參閱[啟用和管理容器服務的自訂域](amazon-lightsail-enabling-container-services-custom-domains.md)。

**私有網域**

所有容器服務也有格式如 `<ServiceName>.service.local` 的私有網域，其中 *<ServiceName>* 是容器服務名稱。使用私有域，從與您的服務相同 AWS 區域的另一個 Lightsail 資源中存取容器服務。如果您未在服務的部署中指定公有端點，則私有網域是存取容器服務的唯一方法。即使您未指定公有端點，系統仍會為容器服務產生預設網域，但在您嘗試瀏覽時會顯示 `404 No Such Service` 錯誤訊息。

若要使用容器服務的私有網域來存取特定容器，則必須指定容器的開放連接埠，以接受您的連線請求。若要執行此操作，可以將請求的網域變為此格式：`<ServiceName>.service.local:<PortNumber>`，其中 *<ServiceName>* 是容器服務名稱，*<PortNumber>* 是您想連接的容器的開放連接埠。例如，如果在名為 `container-service-1` 的容器服務上建立部署，並指定連接埠 `6379` 開啟的 Redis 容器，則請求的網域格式應該為 `container-service-1.service.local:6379`。

### 自訂網域和 SSL/TLS 憑證
<a name="container-services-custom-domains-certificates"></a>

容器服務最多可使用 4 個自訂網域，而不使用預設網域。例如，您可以將自訂網域 (例如 `example.com`) 的流量引導至部署中標記為公有端點的容器。

若要搭配使用自訂網域與服務，則必須先針對要使用的網域請求 SSL/TLS 憑證。接著，您必須將一組 CNAME 記錄新增到網域的 DNS 來驗證 SSL/TLS 憑證。SSL/TLS 憑證驗證完畢後，您便可透過將有效的 SSL/TLS 憑證連接至服務，在容器服務上啟用自訂網域。如需詳細資訊，請參閱[為 Lightsail 容器服務建立 SSL/TLS 憑證](amazon-lightsail-creating-container-services-certificates.md)、[驗證 Lightsail 容器服務的 SSL/TLS 憑證](amazon-lightsail-validating-container-services-certificates.md)，以及[啟用和管理 Lightsail 容器服務的自訂域](amazon-lightsail-enabling-container-services-custom-domains.md)。

### 容器日誌
<a name="container-services-container-logs"></a>

容器服務中每個容器都會產生日誌，可讓您存取以診斷容器的操作。這些日誌會提供在容器中執行的 *stdout* 和 *stderr* 程序串流。如需詳細資訊，請參閱[檢視容器服務日誌](amazon-lightsail-viewing-container-service-container-logs.md)。

### 指標
<a name="container-services-metrics"></a>

請監控容器服務指標，以診斷可能由過度使用導致的問題。您亦可監控指標，以協助判斷服務是否佈建不足或過度佈建。如需詳細資訊，請參閱[檢視容器服務指標](amazon-lightsail-viewing-container-services-metrics.md)。

## 使用 Lightsail 容器服務
<a name="using-lightsail-container-services"></a>

以下是管理Lightsail容器服務的一般步驟，以及將映像從本機電腦推送至服務，或使用公有登錄檔中的容器映像。

**管理您的Lightsail容器服務，並在部署中使用容器映像**

1. 在 Lightsail 帳戶中建立容器服務。如需詳細資訊，請參閱[建立 Lightsail 容器服務](amazon-lightsail-creating-container-services.md)。

1. 使用下列其中一個選項，將容器映像與Lightsail容器服務搭配使用：
   + **使用本機電腦上的容器映像** – 您可以在本機電腦上安裝軟體，以建立您自己的容器映像，然後將它們推送到您的Lightsail容器服務。如需詳細資訊，請參閱下列指南：
     + [安裝軟體以管理 Lightsail 容器服務的容器映像](amazon-lightsail-install-software.md)
     + [為 Lightsail 容器服務建立容器映像](amazon-lightsail-creating-container-images.md)
     + [推送和管理 Lightsail 容器服務上的容器映像](amazon-lightsail-pushing-container-images.md)
   + **使用公有登錄檔中的容器映像** – 您可以從 Amazon ECR Public Gallery 等公有登錄檔尋找並使用容器服務的Lightsail容器映像。如需 Amazon ECR Public Gallery 的詳細資訊，請參閱[《Amazon ECR Public 使用者指南》中的什麼是 Amazon Elastic Container Registry Public？](https://docs.aws.amazon.com/AmazonECR/latest/public/what-is-ecr.html)。 **

1. [安裝 軟體來管理容器服務的Lightsail容器映像](amazon-lightsail-install-software.md)。

1. [為您的容器服務建立Lightsail容器映像](amazon-lightsail-creating-container-images.md)。

1. 在[容器服務上推送和管理Lightsail容器映像](amazon-lightsail-pushing-container-images.md)。

1. 在容器服務中建立部署，以設定和啟動容器。如需詳細資訊，請參閱[建立和管理 Lightsail 容器服務的部署](amazon-lightsail-container-services-deployments.md)。

1. 檢視容器服務的先前部署。您可以使用先前的部署版本來建立新部署。如需詳細資訊，請參閱[檢視和管理 Lightsail 容器服務的部署版本](amazon-lightsail-container-services-deployment-versions.md)。

1. 檢視容器服務上的容器日誌。如需詳細資訊，請參閱[檢視 Lightsail 容器服務的容器日誌](amazon-lightsail-viewing-container-service-container-logs.md)。

1. 針對要用於容器的網域建立 SSL/TLS 憑證。如需詳細資訊，請參閱[為 Lightsail 容器服務建立 SSL/TLS 憑證](amazon-lightsail-creating-container-services-certificates.md)。

1. 透過將記錄新增至網域的 DNS，驗證 SSL/TLS 憑證。如需詳細資訊，請參閱[驗證 Lightsail 容器服務的 SSL/TLS 憑證](amazon-lightsail-validating-container-services-certificates.md)。

1. 藉由將有效的 SSL/TLS 憑證連接至容器服務，啟用自訂網域。如需詳細資訊，請參閱[啟用和管理 Lightsail 容器服務的自訂域](amazon-lightsail-enabling-container-services-custom-domains.md)。

1. 監控容器服務的使用率指標。如需詳細資訊，請參閱[檢視容器服務指標](amazon-lightsail-viewing-container-services-metrics.md)。

1. (選用) 將容器服務提高動力規格來垂直擴展其容量，並且提高規模規格來水平擴展容量。如需詳細資訊，請參閱[變更 Lightsail 容器服務的容量](amazon-lightsail-changing-container-service-capacity.md)。

1. 若未使用容器服務，請將其刪除，避免每月產生費用。如需詳細資訊，請參閱[刪除 Lightsail 容器服務](amazon-lightsail-deleting-container-services.md)。