本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon Lightsail 上部署和管理容器
Amazon Lightsail 容器服務是可高度擴展的運算和聯網資源,您可以在其上部署、執行和管理容器。容器是標準的軟體單位,可將程式碼及其依存項目封裝在一起,讓應用程式在各個運算環境間快速可靠地執行。
您可以將 Lightsail 容器服務視為可讓您在 AWS 基礎設施上執行容器的運算環境,方法是使用您在本機電腦上建立並推送至服務的映像,或使用線上儲存庫 (例如 Amazon ECR Public Gallery) 的映像檔,在基礎設施上執行容器。
也可以透過安裝諸如 Docker 等軟體,在本機電腦上執行容器。Amazon Elastic Container Service (Amazon ECS) 和 Amazon Elastic Compute Cloud (Amazon EC2) 是您可以在其中執行容器的 AWS 基礎設施內的其他資源。如需詳細資訊,請參閱《Amazon ECS 開發人員指南》。
內容
容器
容器是標準的軟體單位,可將程式碼及其依存項目封裝在一起,讓應用程式在各個運算環境間快速可靠地執行。您可以在開發環境中執行容器,將其部署至預生產環境,然後再部署至生產環境。無論開發環境是本機電腦,預生產環境是資料中心的實體伺服器,或生產環境是雲端中的虛擬私有伺服器,容器都會可靠地執行。
容器映像是一種輕量、獨立、可執行的軟體套件,包含執行應用程式所需的一切:程式碼、執行時間、系統工具、系統程式庫和設定。容器映像在執行時間會成為容器。藉由容器化應用程式及其依存項目,您不必再操心軟體部署至作業系統和基礎設施上之後是否會正確執行 – 您能用更多時間專注於程式碼。
如需有關容器和容器映像的詳細資訊,請參閱 Docker 文件中的何謂容器?
Lightsail 集裝箱服務元素
以下是您在開始之前應瞭解的 Lightsail 容器服務的關鍵要素。
Lightsail 貨櫃服務
容器服務是 Lightsail 運算資源,您可以在任何可使用 Lightsail AWS 區域 的地方建立。您可以隨時建立和刪除容器服務。如需詳細資訊,請參閱建立 Lightsail 容器服務和刪除 Lightsail 容器服務。
![Lightsail 集裝箱服務圖](images/amazon-lightsail-container-service-diagram.png)
容器服務容量 (規模和動力)
首次建立容器服務時,必須選擇下列容量參數:
-
Scale (規模) – 您希望容器工作負載在其中執行的運算節點數量。系統會跨服務的運算節點複製容器工作負載。您可為容器服務指定最多 20 個運算節點。您可以根據要為服務提供動力的節點數來挑選規模,以獲得更佳的可用性和更高容量。流向容器的流量將在所有節點中進行負載平衡。
-
Power (動力) – 容器服務中每個節點的記憶體和 vCPU。您可以選擇的動力包括超微型 (Na)、微型 (Mi)、小型 (Sm)、中型 (Md)、大型 (Lg) 和超大型 (XL),每個都有遞增的記憶體和 vCPU。
如果將容器服務的規模指定為 1 以上,則系統會跨服務的多個運算節點複製容器工作負載。例如,如果服務規模為 3,且動力為超微型,則會有三個容器工作負載複本在三個運算資源上執行,每個資源都有 512 MB RAM 和 0.25 vCPU。傳入流量會在三個資源之間進行負載平衡。為容器服務指定越大的容量,就能處理越多的流量。
如果發現容器服務佈建不足,則可隨時動態增加容器服務的動力和規模,而不需要停機;如果發現容器服務過度佈建,則可予以減少。Lightsail 會隨著您目前的部署自動管理容量變更。如需詳細資訊,請參閱變更容器服務的容量。
定價
容器服務每月計價方式是將動力價格乘以其運算節點數 (服務規模)。例如,服務具有中等動力(價格為 40 USD),且規模為 3 個運算節點,則每月費用為 120 USD。無論容器服務已啟用或停用,以及是否已有部署,都需要支付費用。您必須删除容器服務才會停止收費。
每個容器服務不分所設定的容量,皆包含 500 GB 的每月資料傳輸配額。無論為服務選擇的動力和規模為何,資料傳輸配額都維持不變。超出配額的資料傳出至網際網路時,會產生超額費用 AWS 區域 ,每 GB 0.09 USD 起。從網際網路傳入的資料傳輸超過配額,不會產生超額費用。如需詳細資訊,請參閱 Lightsail 定價頁面
部署
您可以在 Lightsail 容器服務中建立部署。部署是您希望在服務上啟動之容器工作負載的一組規格。
您可以為部署中的每個容器項目指定下列參數:
-
將啟動之容器的名稱
-
要用於容器的來源容器映像
-
啟動容器時要執行的命令
-
要套用至容器的環境變數
-
要在容器上開啟的網路連接埠
-
部署中要透過容器服務預設網域公開存取的容器
注意
每個容器服務只能讓部署中的一個容器公開存取。
下列運作狀態檢查參數會套用至部署的公用端點 (在其啟動後):
-
執行運作狀態檢查的目錄路徑。
-
進階運作狀態檢查設定,例如間隔秒數、逾時秒數、成功代碼、狀況良好的臨界值和狀況不良的臨界值。
容器服務一次可以有一個作用中的部署,而部署可有最多 10 個容器項目。您可以在建立容器服務的同時建立部署,也可在服務開始運作後建立部署。如需詳細資訊,請參閱建立和管理容器服務部署。
部署版本
您在容器服務中建立的每個部署都會儲存為部署版本。如果修改現有部署的參數,容器會重新部署至服務,而經修改的部署會產生新部署版本。每個容器服務的最新 50 個部署版本會儲存下來。您可使用 50 個部署版本之中任一個,在相同的容器服務中建立新部署。如需詳細資訊,請參閱建立和管理容器服務部署。
容器映像來源
建立部署時,您必須為部署中的每個容器項目指定來源容器映像。建立部署之後,容器服務會立即從您指定的來源提取映像,並用於建立容器。
指定的映像可取自以下來源:
-
公有登錄檔 (例如 Amazon ECR Public Gallery) 或一些其他公有容器映像登錄檔。如需有關 Amazon ECR Public 的詳細資訊,請參閱《Amazon ECR Public 使用者指南》中的什麼是 Amazon Elastic Container Registry Public?。
-
已從本機電腦將映像推送到容器服務。如果在本機電腦上建立容器映像,則可將其推送到容器服務,以便在建立部署時使用。如需詳細資訊,請參閱建立容器服務映像以及推送和管理容器映像。
Lightsail 容器服務支援以 Linux 為基礎的容器映像檔。目前不支援以視窗為基礎的容器映像檔,但您可以在 Windows 上執行泊塢視窗、 AWS Command Line Interface (AWS CLI) 和 Lightsail 控制項 (lightsailctl) 外掛程式,以建置並將您的 Linux 映像推送至 Lightsail 容器服務。
貨櫃服務 ARN
Amazon 資源名稱 (ARN) 可以唯一識別 AWS 資源。當您需要在所有項目 (例如 IAM 政策和 API 呼叫) 中明確指定資源時 AWS,我們需要 ARN。
若要取得容器服務的 ARN,請使用 GetContainerServices
Lightsail API 動作,並使用參數指定容器服務的名稱。serviceName
您的容器服務 ARN 將列在該動作的結果中,如下列範例所示。如需詳細資訊,請參閱亞馬遜 API 參考GetContainerServices中的。
輸出結果會類似如下:
{ "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" }, ..... }
公有端點和預設網域
建立部署時,您可以在部署中指定容器項目,作為容器服務的公有端點。公有端點容器上的應用程式可透過隨機產生的容器服務預設網域,在網際網路上公開存取。預設網域的格式為https://
,其中 <ServiceName>
.<RandomGUID>
.<AWSRegion>
.cs.amazonlightsail.com< ServiceName >
是容器服務的名稱,<RandomGUID>是 Lightsail 帳戶中隨機產生容器服務 AWS 區域 的全域唯一識別碼,而
< AWSRegion >
是建立容器服務的位置。 AWS 區域 Lightsail 容器服務的公用端點僅支援 HTTPS,而且不支援 TCP 或 UDP 流量。一項服務只能以一個容器為公有端點。因此,請務必選擇託管應用程式前端的容器作為公有端點,而其他容器則在內部存取。
您可以使用容器服務的預設網域,亦或使用自訂網域 (註冊的網域名稱)。如需有關搭配使用自訂域和容器服務的詳細資訊,請參閱啟用和管理容器服務的自訂域。
私有網域
所有容器服務也都有格式化為的私有網域
,其中 <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 憑證
容器服務最多可使用 4 個自訂網域,而不使用預設網域。例如,您可以將自訂網域 (例如 example.com
) 的流量引導至部署中標記為公有端點的容器。
若要搭配使用自訂網域與服務,則必須先針對要使用的網域請求 SSL/TLS 憑證。接著,您必須將一組 CNAME 記錄新增到網域的 DNS 來驗證 SSL/TLS 憑證。SSL/TLS 憑證驗證完畢後,您便可透過將有效的 SSL/TLS 憑證連接至服務,在容器服務上啟用自訂網域。如需詳細資訊,請參閱為您的 Lightsail 容器服務建立 SSL/TLS 憑證、驗證適用於您的 Lightsail 容器服務的 SSL/TLS 憑證,以及為您的 Lightsail 容器服務啟用和管理自訂網域。
容器日誌
容器服務中每個容器都會產生日誌,可讓您存取以診斷容器的操作。這些日誌會提供在容器中執行的 stdout 和 stderr 程序串流。如需詳細資訊,請參閱檢視容器服務日誌。
指標
請監控容器服務指標,以診斷可能由過度使用導致的問題。您亦可監控指標,以協助判斷服務是否佈建不足或過度佈建。如需詳細資訊,請參閱檢視容器服務指標。
使用 Lightsail 貨櫃服務
如果您打算將容器映像從本機電腦推送至服務,並在部署中使用這些映像,以下是管理 Lightsail 容器服務的一般步驟:
-
在 Lightsail 帳戶中建立容器服務。如需詳細資訊,請參閱建立 Lightsail 容器服務。
-
在本機電腦上安裝所需軟體來建立自己的容器映像,並將其推送到 Lightsail 容器服務。如需詳細資訊,請參閱下列指南:
-
在容器服務中建立部署,以設定和啟動容器。如需詳細資訊,請參閱建立和管理 Lightsail 容器服務的部署。
-
檢視容器服務的先前部署。您可以使用先前的部署版本來建立新部署。如需詳細資訊,請參閱檢視和管理 Lightsail 容器服務的部署版本。
-
檢視容器服務上的容器日誌。如需詳細資訊,請參閱檢視 Lightsail 容器服務的容器記錄。
-
針對要用於容器的網域建立 SSL/TLS 憑證。如需詳細資訊,請參閱為您的容器服務建立 SSL/TLS 憑證。
-
透過將記錄新增至網域的 DNS,驗證 SSL/TLS 憑證。如需詳細資訊,請參閱驗證您的容器服務 Lightsail SSL/TLS 憑證。
-
藉由將有效的 SSL/TLS 憑證連接至容器服務,啟用自訂網域。如需詳細資訊,請參閱啟用和管理 Lightsail 容器服務的自訂網域。
-
監控容器服務的使用率指標。如需詳細資訊,請參閱檢視容器服務指標。
-
(選用) 將容器服務提高動力規格來垂直擴展其容量,並且提高規模規格來水平擴展容量。如需詳細資訊,請參閱變更 Lightsail 容器服務的容量。
-
若未使用容器服務,請將其刪除,避免每月產生費用。如需詳細資訊,請參閱刪除 Lightsail 容器服務。
如果您計劃在部署中使用來自公用登錄的容器映像,以下是管理 Lightsail 容器服務的一般步驟:
-
在 Lightsail 帳戶中建立容器服務。如需詳細資訊,請參閱建立 Lightsail 容器服務。
-
如果您打算使用公有登錄檔中的容器映像,請從 Amazon ECR Public Gallery 之類的公有登錄檔中尋找要使用的容器映像。如需有關 Amazon ECR Public 的詳細資訊,請參閱《Amazon ECR Public 使用者指南》中的什麼是 Amazon Elastic Container Registry Public?。
-
在容器服務中建立部署,以設定和啟動容器。如需詳細資訊,請參閱建立和管理 Lightsail 容器服務的部署。
-
檢視容器服務的先前部署。您可以使用先前的部署版本來建立新部署。如需詳細資訊,請參閱檢視和管理 Lightsail 容器服務的部署版本。
-
檢視容器服務上的容器日誌。如需詳細資訊,請參閱檢視 Lightsail 容器服務的容器記錄。
-
針對要用於容器的網域建立 SSL/TLS 憑證。如需詳細資訊,請參閱為您的容器服務建立 SSL/TLS 憑證。
-
透過將記錄新增至網域的 DNS,驗證 SSL/TLS 憑證。如需詳細資訊,請參閱驗證您的容器服務 Lightsail SSL/TLS 憑證。
-
藉由將有效的 SSL/TLS 憑證連接至容器服務,啟用自訂網域。如需詳細資訊,請參閱啟用和管理 Lightsail 容器服務的自訂網域。
-
監控容器服務的使用率指標。如需詳細資訊,請參閱檢視容器服務指標。
-
(選用) 將容器服務提高動力規格來垂直擴展其容量,並且提高規模規格來水平擴展容量。如需詳細資訊,請參閱變更 Lightsail 容器服務的容量。
-
若未使用容器服務,請將其刪除,避免每月產生費用。如需詳細資訊,請參閱刪除 Lightsail 容器服務。