精品軟體與實用教程
Amazon Lightsail 免費三個月VPS申請教程
Lightsail 是一種易於使用的虛擬專用伺服器(VPS),它以可預測的低價格提供對容器等雲資源的簡單管理。只需幾次點擊即可建立網站或應用程式。自動設定連網、存取和安全環境。快速建立自訂網站,使用預先配置的應用程序,如 WordPress、Magento、Prestashop 和 Joomla,只需幾次點擊,就可以建立和個人化您的部落格、電子商務或個人網站。
免費試用Lightsail 3 個月,在有限的時間內,Amazon Lightsail 可為客戶延長其免費套餐以包含免費使用精選捆綁包三個月的特權。
Amazon Lightsail。它是迄今為止開始使用 AWS 的最簡單方法。使用它,您在幾分鐘內即可在自己的虛擬伺服器上運行您的應用程式。今天,我們增加了在Amazon Lightsail 上部署基於容器的工作負載的可能性。現在您可以將您的容器映像部署到雲端中,其簡單性和捆綁定價與Amazon Lightsail 為您的虛擬伺服器提供的相同。
免費試用Lightsail
在免費試用Lightsail之前,首先要先擁有亞馬遜雲端的帳號,點選下方連線進行亞馬遜雲端帳號申請。
具體申請步驟,可參考:亞馬遜免費雲端伺服器帳號申請流程
Amazon Lightsail 是一項易於使用的雲端服務,可為您提供部署應用程式或網站所需的一切,從而實現經濟高效且易於理解的月度計劃。它是部署簡單的工作負載、網站或開始使用AWS 的理想選擇。典型的 Lightsail 客戶包括開發人員、小型企業或新創公司等,他們希望快速開始使用雲端和AWS。當您更熟悉AWS 雲端時,您可以稍後隨時採用廣泛的AWS 服務。
Lightsail 在後台由 Amazon Elastic Compute Cloud (EC2)、Amazon Relational Database Service (RDS)、Application Load Balancer 和其他AWS 服務提供支援。它提供了您期望從AWS 獲得的安全性、可靠性和可擴展性等級。
- 部署到 Lightsail 時,您可以在六種作業系統(4 個 Linux 發行版、FreeBSD 或 Windows)、七種應用程式(例如 WordPress、Drupal、Joomla、Plesk…)和七種堆疊(例如 Node.js、Lamp、GitLab、Django…)之間選擇。但是 Docker 容器呢?
- 即日起,Amazon Lightsail 為開發人員提供一種簡單的方式來將其容器部署到雲端。您只需要為您的容器提供一個 Docker 映像,我們將為您自動容器化該映像。Amazon Lightsail 為您提供了一個HTTPS 終端節點,可以為在雲端容器中運行的應用程式提供服務。它會自動設定負載平衡的 TLS 終端節點,並處理TLS 憑證。它會為您自動替換無回應的容器,會為終端節點分配一個 DNS 名稱,維護舊版本,直到新版本運行正常並準備好上線,等等。
讓我們透過將簡單的 Python Web 應用程式部署為容器來看看它是如何運作的。假設您的筆記型電腦上安裝了 AWS 命令列介面(CLI) 和 Docker。不需要Python,它將僅安裝在容器中。
我首先使用 Flask 簡單應用程式框架建立一個Python REST API。任何可以在容器內運行的程式語言和框架都可以工作。我選擇了Python 和Flask,因為它們簡單又簡潔。
您可以安全地複製/貼上以下命令:
然後我建立一個Dockerfile,其中包含建立容器映像所需的步驟和資訊:
# create a Dockerfile echo ' FROM python:3 ADD helloworld.py / RUN pip install flask RUN pip install flask_restful EXPOSE 8080 CMD [ "python", "./helloworld.py"] ' > Docker
現在我可以建置我的容器了:
docker build -t lightsail-hello-world
build 命令在建置容器時會輸出許多行,它最終以以下訊息結束(實際ID 將不同):
Successfully built 7848e055edff Successfully tagged lightsail-hello-world:latest
我透過在筆記型電腦上啟動容器來測試它:
docker run -it --rm -p 8080:8080 lightsail-hello-world
並將瀏覽器連接到 localhost:8080
當我對應用程式感到滿意時,我會將容器推送到 Docker Hub。
docker tag lightsail-hello-world sebsto/lightsail-hello-world docker login docker push sebsto/lightsail-hello-world
現在,我已經在 Docker Hub 上準備好容器,下面我們來創建 Lightsail 容器服務。
我將瀏覽器指向 Amazon Lightsail 主機。我可以看到容器服務已經部署好,我可以管理它們。為建立新服務,我點擊 Create container service(建立容器服務):
Lighsail 容器控制台
在下一個畫面上,我根據可供應用程式使用的vCPU 和記憶體來選擇要使用的容器大小。出於高可用性或可擴展性的原因,我還選擇了希望並行運行的容器實例的數量。我可以隨時更改容器執行個體的數量或其能力(vCPU 和RAM),而不會中斷服務。這兩個參數都會影響AWS 每月收取的價格。價格在螢幕上顯示並動態調整,如以下影片所示。
在螢幕稍微下面的位置,我選擇現在跳過部署。我將服務命名為(“hello-world」)。我單擊 Create container service(建立容器服務)。
創建服務後,我單擊 Create your first deployment(建立第一個部署)以建立部署。部署指的是要在我剛建立的服務上部署的特定容器映像和版本的組合。
我為我的映像選擇了一個名稱,然後在Docker Hub 上使用格式 user/ :tag
提供映像的位址。在這個地方,我也可以輸入環境變數、連接埠對映或啟動命令。
我的容器在連接埠TCP 8080 上提供網路服務,因此我將該連接埠新增至部署配置。開放埠配置指定哪些連接埠和協定對容器網路中的其他系統開放。其他容器或虛擬機器只能在連接埠在控制台中明確配置或公開
在我的 Dockerfile
中時連接到我的容器。這些連接埠都不會在公共互聯網中公開。
但在這個範例中,我還希望Lightsail 將流量從公共網際網路路由到此容器中。因此,我將此容器作為我剛剛創建的 hello-world 服務的終端節點添加。終端節點會為TLS 自動配置,沒有要安裝或管理的憑證。
我最多可以為單一部署新增10 個容器。準備好後,我單擊 Save and deploy(保存並部署)。
過了一段時間,我的部署處於活動狀態,我可以測試終端節點。
終端節點DNS 位址位於控制台的右上角。如果必須的話,我可以配置自己的DNS 網域。
我在瀏覽器中打開另一個選項卡並將它指向https 終端節點URL:
當我必須部署新版本時,我再次使用控制台來修改部署。我為您省去了修改應用程式程式碼、建置和推送新版本容器的詳細資訊。假設我在名稱
sebsto/lightsail-hello-world:v2
下有第二個容器映像版本可用。我回到 Amazon Lightsail 控制台,點擊 Deployments(部署),然後按一下 Modify your Deployments(修改部署)。我輸入容器映像新版本的完整名稱,包括標籤,然後按一下 Save and Deploy(保存並部署)。
過了一段時間後,部署並自動啟動新版本。
我在瀏覽器中開啟一個新選項卡,然後將其指向 Amazon Lightsail 控制台右上角提供的終端節點URI。我觀察到JSON 版本不同。它現在有一個值為
2
的版本
屬性。
當我的部署過程中出現問題時, Amazon Lightsail 會自動使上次部署保持活動狀態,以避免任何服務中斷。我還可以手動啟動先前的部署版本以撤消任何不需要的更改。
我剛從 Docker Hub 部署了我的第一個容器映像。我還可以使用 AWS 命令列介面(CLI) 管理我的服務並從筆記型電腦部署本機容器映像。要直接從筆記型電腦將容器映像推送到我的 Amazon Lightsail 容器服務,我必須安裝 LightSail 控制器插件。 (TL;DR curl
、cp
和 chmod
都適合您在此使用,我還維護了一個 DockerFile 來使用容器內的CLI)。
為建立、列出或刪除容器服務,我鍵入:
aws lightsail create-container-service --service-name myservice --power nano --scale 1 aws lightsail get-container-services { "containerServices": [{ "containerServiceName": "myservice", "arn": "arn:aws:lightsail:us-west-2:012345678901:ContainerService/1b50c121-eac7-4ee2-9078-425b0665b3d7", "createdAt": "2020-07-31T09:364989:36692 "availabilityZone": "all", "regionName": "us-west-2" }, "resourceType": "ContainerService", "power": "nano", "powerId": "", "state": "READY", "scale": 1, "privateDomainName", "state": "READY", "scale": 1, "privateDomainName": delete-container-service --service myservice
我還可以使用CLI 直接從筆記型電腦部署容器映像。確保已安裝 lightsailctl
。
# Build the new version of my image (v3) docker build -t sebsto/lightsail-hello-world:v3 . # Push the new image. aws lightsail push-container-image --service-name hello-lab-lab-n n而且
過了一會,我看到以下輸出:
Image "sebsto/lightsail-hello-world:v3" registered. Refer to this image as ":hello-world.hello-world.1" in deployments.
我創建一個 lc.json
文件來保存部署配置的詳細資訊。它與我在控制台上看到的選項一致。我報告了上一個命令映像
屬性中給出的名稱:
{ "serviceName": "hello-world", "containers": { "hello-world": { "image": ":hello-world.hello-world.1", "ports": { "8080": "HTTP" } } }, "publicEndpoint": { "containerName": "helloPort", "container?
最後,我用以下命令建立一個新的服務版本:
aws lightsail create-container-service-deployment --cli-input-json file://lc.json
我可以使用以下命令查詢部署狀態
aws lightsail get-container-services ... "nextDeployment": { "version": 4, "state": "ACTIVATING", "containers": { "hello-world": { "image": ":hello-world.hello-world.1", "command": { "image": ":hello-world.hello-world.1", "command": [00environment" } }, ...
過了一段時間後,狀態變成 ACTIVE
(活動),我可以測試我的終端節點。
curl https://hello-world.nxxxxxxxxxxx.lightsail.ec2.aws.dev/ {"message": "Hello Flask API World!", "version": 3}
如果您打算稍後將容器部署到 Amazon ECS 或 Amazon Elastic Kubernetes Service,則無需進行任何更改。您可以從儲存庫中提取容器映像,就像使用 Amazon Lightsail 一樣。
您可以在提供 Amazon Lightsail 的所有AWS 區域中將容器部署到 Lightsail 上。截止今天,已在美國東部(俄亥俄)、美國東部(維吉尼亞北部)、美國西部(俄勒岡)、亞太地區(孟買)、亞太地區(首爾)、亞太地區(新加坡)、亞太地區(雪梨)、亞太地區(東京)、加拿大(中)、歐洲(法蘭克福)、歐洲(愛爾蘭)、歐洲(倫敦)和歐洲(巴黎)區域提供。
像往常一樣,使用 Amazon Lightsail 時,定價易於理解且可預測。Amazon Lightsail 容器每月每個容器的價格固定,取決於容器的大小(您使用的vCPU/ 記憶體組合)。您需要按保持服務運作的時間按比例付費。每月價格是全天候運行服務時將向您收取的最高價格。所有AWS 區域的價格都相同。價格從Nano 容器每月7 USD(512MB 內存和0.25 vCPU)到X-Large 容器(8GB 內存和4 個vCPU 核心)每月160 USD 不等。這個價格不僅包括容器本身,還包括負載平衡器、DNS 和充足的資料傳輸層。其他AWS 區域的詳細資訊和價格在 Lightsail 定價頁面上。
亞馬遜帳戶後,從Amazon Lightsail申請之日起,亞馬遜免費提供三個月的試用期,趕快申請註冊Lightsail免費試用吧,我迫不及待地想要發現您將在 Amazon Lightsail 容器上建置和部署哪些解決方案!
參考原文:點擊這裡看原文