當向開發(fā)人員介紹亞馬遜云科技云服務時,通常會花一點時間來介紹并演示Amazon Lightsail。它是迄今為止開始使用亞馬遜云科技的最簡單方法。使用它,您在幾分鐘內即可在自己的虛擬服務器上運行您的應用程序。而后增加了在Amazon Lightsail上部署基于容器的工作負載的可能性。
Amazon Lightsail是一項易于使用的云服務,可為您提供部署應用程序或網站所需的一切,從而實現(xiàn)經濟高效且易于理解的月度計劃。它是部署簡單的工作負載、網站或開始使用亞馬遜云科技的理想選擇。典型的Amazon Lightsail客戶包括開發(fā)人員、小型企業(yè)或初創(chuàng)公司等,他們希望快速開始使用云和亞馬遜云科技。
部署到Amazon Lightsail時,您可以在六種操作系統(tǒng)(4個Linux發(fā)行版、FreeBSD或Windows)、七種應用程序(例如WordPress、Drupal、Joomla、Plesk…)和七種堆棧(例如Node.js、Lamp、GitLab、Django…)之間選擇。但是Docker容器呢?
Amazon Lightsail為開發(fā)人員提供一種簡單的方式來將其容器部署到云中。您只需要為您的容器提供一個Docker映像,亞馬遜云科技將為您自動容器化該映像。Amazon Lightsail為您提供了一個HTTPS終端節(jié)點,可以為在云容器中運行的應用程序提供服務。它會自動設置負載均衡的TLS終端節(jié)點,并處理TLS證書。它會為您自動替換無響應的容器,會為終端節(jié)點分配一個DNS名稱,維護舊版本,直到新版本運行正常并準備好上線等。
下面通過將簡單的Python Web應用程序部署為容器來看看它是如何工作的。假設您的筆記本電腦上安裝了亞馬遜云科技命令行界面(CLI)和Docker。不需要Python,它將僅安裝在容器中。
首先使用Flask簡單應用程序框架創(chuàng)建一個Python REST API。任何可以在容器內運行的編程語言和框架都可以工作。我選擇了Python和Flask,因為它們簡單又簡潔。
您可以安全地復制/粘貼以下命令:

然后創(chuàng)建一個Dockerfile,其中包含構建容器映像所需的步驟和信息:

現(xiàn)在可以構建容器了:

build命令在構建容器時會輸出許多行,它最終以以下消息結束(實際ID將不同):

可以通過在筆記本電腦上啟動容器來測試它:

并將瀏覽器連接到localhost:8080

當對應用程序感到滿意時,會將容器推送到Docker Hub。

現(xiàn)在,已經在Docker Hub上準備好容器,下面來創(chuàng)建Amazon Lightsail容器服務。
將瀏覽器指向Amazon Lightsail控制臺。可以看到容器服務已經部署好,可以管理它們。為創(chuàng)建新服務,我點擊Create container service(創(chuàng)建容器服務):

在下一個屏幕上,根據(jù)可供應用程序使用的vCPU和內存來選擇要使用的容器大小。出于高可用性或可擴展性的原因,還選擇了希望并行運行的容器實例的數(shù)量。可以隨時更改容器實例的數(shù)量或其能力(vCPU和RAM),而不會中斷服務。這兩個參數(shù)都會影響亞馬遜云科技每月收取的價格。
在屏幕稍微下面的位置,選擇現(xiàn)在跳過部署。將服務命名為(“hello-world”)。單擊Create container service(創(chuàng)建容器服務)。
創(chuàng)建服務后,單擊Create your first deployment(創(chuàng)建第一個部署)以創(chuàng)建部署。部署指的是要在剛創(chuàng)建的服務上部署的特定容器映像和版本的組合。
為映像選擇一個名稱,然后在Docker Hub上使用格式user/:tag提供映像的地址。在這個地方,也可以輸入環(huán)境變量、端口映射或啟動命令。
容器在端口TCP 8080上提供網絡服務,因此將該端口添加到部署配置中。開放端口配置指定哪些端口和協(xié)議對容器網絡中的其他系統(tǒng)開放。其他容器或虛擬機只能在端口在控制臺中顯式配置或公開在Dockerfile中時連接到我的容器。這些端口都不會在公共互聯(lián)網中公開。
最多可以為單個部署添加10個容器。準備好后,我單擊Save and deploy(保存并部署)。
過了一段時間,部署處于活動狀態(tài),可以測試終端節(jié)點。
終端節(jié)點DNS地址位于控制臺的右上角。如果必須的話,可以配置自己的DNS域名。
在瀏覽器中打開另一個選項卡并將它指向https終端節(jié)點URL:
當必須部署新版本時,再次使用控制臺來修改部署。可以省去修改應用程序代碼、構建和推送新版本容器的詳細信息。假設在名稱sebsto/lightsail-hello-world:v2下有第二個容器映像版本可用。返回到Amazon Lightsail控制臺,單擊Deployments(部署),然后單擊Modify your Deployments(修改部署)。輸入容器映像新版本的完整名稱,包括標簽,然后單擊Save and Deploy(保存并部署)。
過了一段時間后,部署并自動激活新版本。
在瀏覽器中打開一個新選項卡,然后將其指向Amazon Lightsail控制臺右上角提供的終端節(jié)點URI。觀察到JSON版本不同。它現(xiàn)在有一個值為2的版本屬性。
當部署過程中出現(xiàn)問題時,Amazon Lightsail會自動使上次部署保持活動狀態(tài),以避免任何服務中斷。還可以手動激活以前的部署版本以撤消任何不需要的更改。
剛從Docker Hub部署了第一個容器映像。還可以使用亞馬遜云科技命令行界面(CLI)管理我的服務并從筆記本電腦部署本地容器映像。要直接從筆記本電腦將容器映像推送到Amazon Lightsail容器服務,必須安裝LightSail控制器插件。為創(chuàng)建、列出或刪除容器服務,鍵入:


還可以使用CLI直接從筆記本電腦部署容器映像。確保已安裝lightsailctl。

過了一會,我看到以下輸出:

創(chuàng)建一個lc.json文件來保存部署配置的詳細信息。它在控制臺上看到的選項一致。

最后,用以下命令創(chuàng)建一個新的服務版本:

可以使用以下命令查詢部署狀態(tài)

過了一段時間后,狀態(tài)變?yōu)?a target="_blank">ACTIVE(活動),可以測試我的終端節(jié)點。

如果計劃稍后將容器部署到Amazon ECS或Amazon Elastic Kubernetes Service,則無需進行任何更改。您可以從存儲庫中提取容器映像,就像使用Amazon Lightsail一樣。
您可以在提供Amazon Lightsail的所有亞馬遜云科技區(qū)域中將容器部署到Lightsail上。截止今天,已在美國東部(俄亥俄)、美國東部(弗吉尼亞北部)、美國西部(俄勒岡)、亞太地區(qū)(孟買)、亞太地區(qū)(首爾)、亞太地區(qū)(新加坡)、亞太地區(qū)(悉尼)、亞太地區(qū)(東京)、加拿大(中部)、歐洲(法蘭克福)、歐洲(愛爾蘭)、歐洲(倫敦)和歐洲(巴黎)區(qū)域提供。
Amazon Lightsail在后臺由Amazon Elastic Compute Cloud(EC2)、Amazon Relational Database Service(RDS)、Application Load Balancer和其他亞馬遜云科技服務提供支持。它提供了您期望從亞馬遜云科技獲得的安全性、可靠性和可擴展性級別。
審核編輯 黃宇
-
python
+關注
關注
58文章
4881瀏覽量
90266 -
亞馬遜
+關注
關注
8文章
2733瀏覽量
85863 -
云服務器
+關注
關注
0文章
839瀏覽量
14740 -
Docker
+關注
關注
0文章
537瀏覽量
14378
發(fā)布評論請先 登錄
機智云在Amazon Alexa平臺發(fā)布Smarthome和Custom Skill,實現(xiàn)亞馬遜Echo直接控制Gokit
持續(xù)優(yōu)化云原生體驗,阿里云在Serverless容器與多云上的探索
云服務器有什么優(yōu)勢?怎么選對云服務器?
云服務器安全嗎?云服務器有哪些優(yōu)勢?
求一種在Arm服務器上Robox安卓容器的構建與使用方案
亞馬遜云科技推出新服務Amazon Telco Network Builder可自動部署和管理電信網絡
亞馬遜云科技VPS產品Amazon Lightsail已擴展至全球14個區(qū)域并推出新的全球控制臺
亞馬遜云科技虛擬專用服務器Amazon Lightsail優(yōu)勢及其如何為初創(chuàng)企業(yè)提升運營效率
亞馬遜云科技Amazon Lightsail(VPS)虛擬專用服務器,價格低廉且可預測
亞馬遜云科技中國區(qū)域推出Amazon FSx for NetApp ONTAP
亞馬遜云科技在中國區(qū)域推出Amazon Network Firewall
云服務器與容器的區(qū)別和聯(lián)系
亞馬遜云科技宣布Amazon Trainium2實例正式可用
亞馬遜云科技Amazon Lightsail:一種在云服務器上運行容器的簡單方法
評論