在 AWS 上部署容器實例
Amazon Elastic Container Service (Amazon ECS) 是一個高度擴展、快速的容器管理服務,使您可以輕鬆運行、停止和管理您的容器。您可以通過在 AWS Fargate 上啟動您的服務或任務,在 Amazon ECS 管理的無伺服器基礎設施上託管您的容器。關於 Fargate 的更多資訊,請參見 AWS Fargate 用於 Amazon ECS.
步驟1:登入AWS帳戶
登入AWS入口網站。
如果您沒有AWS帳戶,請按照以下步驟創建一個帳戶。 https://portal.aws.amazon.com/billing/signup.
步驟 2:建立虛擬私有雲
您可以使用 Amazon Virtual Private Cloud (亞馬遜 VPC) 在您已定義的虛擬網路中啟動 AWS 資源。我們強烈建議您在 VPC 中啟動容器實例。
如果您有預設的 VPC,可以跳過此部分並移至下一個任務,創建安全群組。要確認是否有預設的 VPC,請參閱 Amazon EC2 使用者指南中的 Amazon EC2 控制台的支持平台。否則,您可以按照以下步驟在帳戶中創建非預設 VPC。
有關如何創建 VPC 的資訊,請參閱 Amazon VPC 使用者指南中的“創建 VPC”,並使用以下表格來確定要選擇的選項。
選項 | 值 | |
---|---|---|
創建的資源 | 僅 VPC | |
名稱 | 可以選擇為您的 VPC 提供名稱 | |
IPv4 CIDR 塊 | 手動輸入 IPv4 CIDR | CIDR 區塊大小必須介於 /16 和 /28 之間 |
IPv6 CIDR 區塊 無 IPv6 CIDR 區塊
租賃 預設
有關 Amazon VPC 的更多信息,請參見 Amazon VPC 使用者指南中的“什麼是 Amazon VPC?”
第三步:創建安全組
安全組充當與其相關的容器實例的防火牆,控制容器實例等級的入站和出站流量。您可以向安全組添加規則,允許您使用SSH從您的IP地址連接到您的容器實例。您還可以添加規則,允許來自任何地方的入站和出站HTTP和HTTPS訪問。 添加任何任務所需的開放端口規則。容器實例需要外部網絡訪問,以便與Amazon ECS服務端點通信。
有關如何創建安全組的信息,請參見Amazon EC2用戶指南中的創建安全組,並使用以下表格確定要選擇的選項。
選項 | 值 | |
---|---|---|
區域 | 創建金鑰對的相同區域 | |
名稱 | 容易記住的名稱,如ecs-instances-default-cluster | |
VPC | 默認VPC | (標記為 "(默認)請提供您想要翻譯的內容。 注意 如果您的帳戶支援 Amazon EC2 Classic,請選擇您在先前任務中創建的 VPC。 |
第 4 步: 建立 ECS 叢集
在 AWS 入口網站首頁的搜尋框中搜尋“ECS”,然後選擇“Elastic Container Service”。或打開主控台在 https://console.aws.amazon.com/ecs/v2.
選擇「建立叢集」。
輸入「叢集名稱」。僅選擇「AWS Fargate」 (無伺服器)在基礎設施部分。
將其他值保留為默認值,然後選擇 Create。
步驟 5:建立任務定義
集群建立後,選擇任務定義。
選擇建立新的任務定義,然後選擇建立新的任務定義。
在 任務定義配置 部分,輸入 任務定義系列 的值。
在基礎設施需求部分,輸入以下值到啟動類型、CPU、內存、任務角色和任務執行角色中。
- 啟動類型:只選擇
AWS Fargate
- CPU:
1 vCPU
- 內存:
2 GB
- 任務角色:
ecsTaskExecutionRole
- 任務執行角色:
ecsTaskExecutionRole
在 Container - 1 部分,輸入以下值給 Name、Image URI、Container port、Port name 和 Environment variables。
- Name:
mycontainer
- Image URI:
ironsoftwareofficial/ironsecuredoc
為最新版本或指定標籤ironsoftwareofficial/ironsecuredoc:2024.7.1
- Container port:
8080
- Port name:
8080
新增 Environment variables:
ENVIRONMENT:
Production
HTTP_PORTS:
8080
- IronSecureDoc_LicenseKey:
YOUR-LICENSE-KEY
對於 IronSecureDoc_LicenseKey,我們不建議直接添加到 Environment variables 中以保安全。建議從加密的 Amazon S3 bucket 取回環境文件,詳情見 將敏感數據傳遞到 Amazon ECS 容器.
將其他值保留為默認值,然後選擇 Create。
步驟6:建立服務
返回叢集頁面 > 選擇您的叢集 (IronSecureDoc).
選擇服務索引標籤 > 然後選擇創建。
在環境節中,為計算選項和啟動類型輸入以下值。
- 計算選項:選擇
Launch type
- 啟動類型:選擇
FARGATE
在部署配置部分,為應用程式類型、系列、修訂版、服務名稱和預期任務輸入以下數值。
- 應用程式類型:選擇
Service
任務定義:
- 系列:選擇已創建的任務定義
ironsecuredoc
- 系列:選擇已創建的任務定義
- 修訂版:選擇任務定義修訂版
1
(最新)` - 服務名稱:
myservice
- 所需任務:
1
請注意,對於網路設置,您可能需要創建VPC 和 安全組,如果它們不存在的話。
其他的值保持默認,然後選擇 創建。
當部署開始時,將會顯示通知,指示部署正在進行中。當服務部署完成時,會顯示另一個通知。
查看您的服務 > 然後打開任務。
在任務配置中,您可以使用公共 IP 來運行 curl 命令,檢查 API 是否正常工作,應該返回 pong
。
curl http://18.118.166.206:8080/v1/document-services/ping
恭喜! 只需配置幾個設定,您便在 Amazon Elastic Container Service 部署了可公開存取的應用程式。